PNÿÛDSD SOURCE ROOT SET VOLUME #1 1 NOV 78 22-2362 Ó&P ÿý ÿ02313-18002 1840 S 0122 2313 ON-LINE VERIF.              H0101 û@þúASMB,L,C HED HP2313 RTE VERIFICATION -- MAIN NAM !2313,3,90 02313-16002 REV. 1840 SUP * * * SOURCE TAPE HP PART NO. 02313-18002 * BINARY TAPE HP PART NO. 02313-16002 * * * EXT A2313,B2313,D2313,E2313,P2313,R2313,S2313 EXT EXEC,SQRT,SIN,FLOAT,IFIX * !2313 NOP START EQU * DEF *+1 LDA D2 MUST READ AT LEAST 2 CHARS CLB NORMAL PROMPTER JSB CREAD READ COMMAND INPUT LDA INBFR FETCH TWO CHARS * DECODE COMMON COMMANDS CPA AD IS IT AD? JMP .AD EXECUTE AD CPA CL IS IT CL? JMP .CL EXECUTE CL CPA CO IS IT CO? JMP .CO EXECUTE CO CPA DA IS IT DA? JMP .DA EXECUTE DA CPA EX IS IT EX? JMP !TERM TERMINATE CPA NO IS IT NO? JMP .NO EXECUTE NO CPA SE IS IT SE? JMP .SE GO FIND IF SET OR SEQ CPA TR IS IT TR? JMP .TR EXECUTE TR * LDB .ADC CHECK ADC OR DAC MODE SSB IF ADC JMP ADC GO TO ADC DECODE SKP DAC EQU * DAC COMMAND DECODE CPA AL IS IT AL? JMP .AL EXECUTE AL CPA ER IS IT ER? JMP .ER EXECUTE ER CPA GR IS IT GR? JMP .GR EXECUTE GR CPA LI IS IT LI? JMP .LI EXECUTE LI CPA RA IS IT RA? JMP .RA EXECUTE RA CPA RE IS IT RE? JMP .RE EXECUTE RE CPA SI IS IT SI? JMP .SI EXEECUTE SI JMP RREAD COMMAND NOT VALID IN DAC MODE SKP ADC EQU * ADC COMMAND DECODE CPA LI IS IT LI? JMP ..LI EXECUTE LI CPA RE IS IT RE? JMP ..RE EXECUTE RE CPA SI IS IT SI? JMP ..SI EXECUTE SI CPA TW IS IT TW? JMP ..TW EXECUT ¤þúE TW JMP RREAD COMMAND NOT VALID IN ADC MODE SKP .AD EQU * SET ADC MODE LDA ADPMT GET ADC PROMPTER STA PRMT STORE AS NORMAL PROMPT CCA SET STA .ADC ADC MODE FLAG CLA STA DRPOK DISALLOW DAC REPEAT JMP START GET NEXT COMMAND SPC 5 .DA EQU * SET DAC MODE LDA DAPMT GET DAC PROMPTER STA PRMT STORE AS NORMAL PROMPT CLA CLEAR STA .ADC ADC MODE FLAG STA RPTOK DISALLOW ADC REPEAT STA LSTOK DISALLOW ADC LIST JMP START GET NEXT COMMAND SKP .AL EQU * DAC ALTERNATE JSB DACCL CLEAR PAST TEST FLAGS CCA STA .ALT SET AL TEST FLAG JSB DACEX INTIALIZE FOR TEST LDB D5 JSB BCCG GET BOX,CARD,CHANL JMP DABRT IF ANY < 0 ABORT IOR D1 SET WAIT BIT STA CHNLS SAVE STA CHNL1 SAVE FOR IMMEDIATE JSB DDATA GET FIRST DATA VALUE JMP DABRT IF OUT OF RANGE ABORT STA DATA SAVE STA GAIN1 SAVE FOR IMMEDIATE JSB .CNVT SET IMMEDIATE JSB DDATA GET SECOND DATA VALUE JMP DABRT IF OUT OF RANGE ABORT STA GAIN1 SAVE FOR IMMEDIATE XOR DATA SET UP DATA SWITCH STA ALTMP SAVE MASK JSB .CNVT SET IMMEDIATE ALLUP EQU * .ALRP EQU * CLA CLB,INB JSB .DAC. SET TO A VALUE LDA DATA GET DATA XOR ALTMP CHANGE TO OTHER VALUE STA DATA SAVE JMP ALLUP REPEAT ALTMP NOP SKP .CL EQU * CLEAR CONDITION LDA T.LOG IF < 7 CHARS ADA DM7 THEN NOT A SSA VALID CLEAR JMP RREAD SO READ A NEW COMMAND LDA INBFR+1 \ CPA EA \ RSS \ JMP RREAD IS CLEAR SPELLED OUT? LDA INBFR+2 / CPA R!íþú / RSS / JMP RREAD NO - READ NEW COMMAND LDA INBFR+3 CLEAR WHICH FLAG? AND UPPER FETCH CHARACTER AND MASK IOR B40 AND STICK A BLANK IN LOW HALF LDB .ADC ADC MODE? SSB TEST JMP C.ADC YES - GO CLEAR ADC FLAG(S) C.DAC EQU * CLEAR DAC FLAG(S) CPA A! CLEAR ALL? JMP CLDA YES - DO IT CPA P! CLEAR PACER? JMP CLDP YES - DO IT CPA R! CLEAR REPEAT? JMP CLDR YES - DO IT JMP RREAD NOT VALID DAC CLEAR CLDA EQU * STB DREPT CLEAR DAC REPEAT CLDP EQU * STB DPACR CLEAR DAC PACER JMP START GET NEXT COMMAND CLDR EQU * STB DREPT CLEAR DAC REPEAT JMP START GET NEXT COMMAND C.ADC EQU * CLEAR ADC FLAG(S) CLB CPA A! CLEAR ALL? JMP CLAA YES - DO IT CPA P! CLEAR PACER? JMP CLAP YES - DO IT CPA L! CLEAR LAD? JMP CLAL YES - DO IT CPA R! CLEAR REPEAT? JMP CLAR YES - DO IT CPA G! CLEAR GAIN? JMP CLAG YES - DO IT CPA D! CLEAR DELAY? JMP CLAD YES - DO IT JMP RREAD NOT VALID ADC CLEAR CLAP EQU * STB PACER CLEAR PACER JMP START GET NEXT COMMAND CLAL EQU * STB LAD CLEAR LAD JMP START GET NEXT COMMAND CLAR EQU * STB RPEAT CLEAR REPEAT STB LSTOK DISALLOW LIST JMP START GET NEXT COMMAND CLAG EQU * STB GAIN CLEAR GAIN STB RPTOK DISALLOW REPEAT STB LSTOK DISALLOW LIST JMP START GET NEXT COMMAND CLAA EQU * CLEAR ALL LDA GAIN CHECK FOR GAIN SSA STB RPTOK GAIN SET - DISALLOW REPEAT SSA STB LSTOK GAIN SET - DISALLOW LIST LDA RPEAT CHECK FOR REPEAT SSA STB LSTOÑLþúK REPEAT SET - DISALLOW LIST STB PACER CLEAR PACER STB LAD CLEAR LAD STB RPEAT CLEAR REPEAT STB GAIN CLEAR GAIN CLAD EQU * STB DELAY CLEAR DELAY JMP START GET NEXT COMMAND SKP .CO EQU * LIST CONDITIONS LDA DM5 \ STA CNTR1 \ LDA BLANK \ LDB AINBF \ CLR EQU * CLEAR PRINT BUFFER STA B,I / INB / ISZ CNTR1 / JMP CLR / LDB AINBF GET PRINT BUFFER ADDR LDA .ADC CHECK FOR ADC OR DAC MODE SSA JMP ADCCO ADC MODE - PRINT ADC COND LDA DPACR GET DAC PACER FLAG SSA,RSS TEST JMP TDR NOT SET LDA P! PUT "P" IN BUFFER STA B,I : INB : TDR EQU * LDA DREPT FETCH DAC REPEAT FLAG SSA,RSS TEST JMP DCO NOT SET LDA R! PUT "R" IN BUFFER STA B,I : INB : DCO EQU * LDA AINBF COMPARE BEGIN & END BUFFER ADDRS CMA,INA : ADA B : SZA,RSS IF EQUAL JMP NOCO THEN NO CONDITIONS - PRINT NONE COOUT EQU * PRINT CONDITIONS BUFFER JSB EXEC DEF *+5 DEF D2 DEF LU.FB AINBF DEF INBFR DEF DM10 JMP START GET NEXT COMMAND ADCCO EQU * ADC CONDITION REQUEST LDA PACER GET ADC PACER FLAG SSA,RSS TEST JMP TAR NOT SET LDA P! PUT "P" IN BUFFER STA B,I : INB : TAR EQU * LDA RPEAT GET ADC REPEAT FLAG SSA,RSS TEST JMP TAL NOT SET LDA R! PUT "R" IN BUFFER STA B,I : INB : TAL EQU * LDA LAD GET ADC LAD FLAG SSA,RSS TEST JMP TAG NOT SET LDA L! PUT "L" IN BUFFER 7ýþú STA B,I : INB : TAG EQU * LDA GAIN GET ADC GAIN FLAG SSA,RSS TEST JMP TAD NOT SET LDA G! PUT "G" IN BUFFER STA B,I : INB : TAD EQU * LDA DELAY GET ADC DELAY FLAG SSA,RSS TEST JMP ACO NOT SET LDA D! PUT "D" IN BUFFER STA B,I : INB : ACO EQU * LDA AINBF COMPARE BEGIN & END BUFFER ADDRS CMA,INA : ADA B : SZA,RSS IF EQUAL JMP NOCO THEN NO CONDITIONS - PRINT NONE JMP COOUT PRINT CONDITIONS BUFFER NOCO EQU * NO CONDITIONS SET LDA NO STORE "NONE" STA INBFR IN THE CONDITIONS LDA NE BUFFER STA INBFR+1 AND PRINT JMP COOUT NE ASC 1,NE SKP .ER EQU * DAC ERASE JSB DACCL CLEAR PAST TEST FLAGS CCA STA .ERS SET ERASE TEST FLAG JSB DACEX INITIALIZE FOR TEST LDA RDGS GET # OF CHANLS CMA,INA SET UP LOOP STA XCNTR TO READ CHANL #'S LDA ACHLS POINT TO STA XTEMP CHANL BUFFER ERLUP EQU * ISZ XTEMP BUMP ADDR POINTER CLB,INB GET BOX,CARD JSB BCCG : JMP DABRT IF ANY < 0 ABORT STA XTEMP,I SAVE ADDR ISZ XCNTR DONE? JMP ERLUP NO - CONTINUE .ERRP EQU * JSB E2313 CALL I/F TO DO ERASES DEF *+5 DEF LU.SS DEF RETRN DEF CHNLS DEF RDGS CLA,INA GET EXPECTED RETURN CODE JSB C2313 CHECK RETURN CODE JMP .ERRP ERROR JMP .ERRP ERROR LDA DREPT CHECK FOR SSA REPEAT JMP .ERRP REPEAT JMP START GET NEXT COMMAND SKP .GR EQU * DAC GROUP JSB DACCL CLEAR PAST TEST FLAGS CCA STA .GRP Æþú SET GROUP TEST FLAG JSB DACEX INITIALIZE FOR TEST LDA ACHLS GET CHANL STORE ADDR STA XTEMP SAVE LDA ADATA GET DATA STORE ADDR STA CNTR1 SAVE LDA RDGS GET # CHANLS IN 1ST GR NXTGR EQU * CMA,INA SET UP LOOP STA XCNTR TO GET DATA GRLUP EQU * ISZ XTEMP BUMP ADDR POINTER ISZ CNTR1 BUMP DATA POINTER LDB D5 GET BOX,CARD,CHANL JSB BCCG : JMP DABRT IF ANY < 0 ABORT STA XTEMP,I SAVE JSB DDATA GET DATA JMP DABRT IF OUT OF RANGE ABORT STA CNTR1,I SAVE ISZ XCNTR DONE? JMP GRLUP NO - CONTINUE LDA XTEMP,I GET LAST CHANL IOR D1 AND TURN ON WAIT BIT STA XTEMP,I SAVE CLA,INA READ >= 1 CHAR LDB M13 PRMPT W/MESSAGE 13 JSB CREAD GET REPLY LDA IMAX GET MAX INTEGER STA FF1 DEFAULT RESPONSE JSB FFIN CONVERT # LDA FF1 GET # SSA IF < 0 JMP DABRT THEN ABORT ADA RDGS ADD TO TOTAL LDB A MOVE TO (B) CMB,INB NEGATE ADB D200 IF SSB > 200 JMP RREAD THEN BAD - REREAD STA RDGS SAVE TOTAL LDA FF1 GET # SZA IF = 0 THEN DONE JMP NXTGR OTHERWISE NEXT GROUP LDA DPACR CHECK FOR PACER SSA,RSS PACER? JMP NOPCE NO - ERROR .GRRP EQU * LDA D1 MODE IS 1 LDB RDGS CONVERT RDGS CHANLS JSB .DAC. CONVERT LDA DREPT GET REPEAT FLAG SSA REPEAT? JMP .GRRP YES - DO IT AGAIN JMP START GET NEXT COMMAND SPC 5 NOPCE EQU * LDA LU.FB GET FALL BACK LU LDB M5 GET MESSAGE ADDR JSB PRMPT WRITE NO PACE MESSAGE JMP START GET NEXT COMMAND JMP START SKP .LI EQzRþúU * DAC LISSAJOUS JSB DACCL CLEAR PAST TEST FLAGS CCA STA .LISA SET LI TEST FLAG JSB DACEX INITIALIZE FOR TEST CLB,INB GET BOX,CARD JSB BCCG : JMP DABRT IF ANY < 0 ABORT IOR BIT12 SET PACE BIT ON CHANL 0 STA CHNLS SAVE XOR BIT12 CLEAR PACE BIT IOR D17 SET WAIT BIT ON CHANL 1 STA CHNLS+1 SAVE LDA LU.IN GET INPUT LU LDB M24 GET MESSAGE ADDR JSB PRMPT PRINT "FOR" LDA LU.IN GET INPUT LU LDB M25 GET MESSAGE ADDR JSB PRMPT PRINT "X=SIN(W1*T)" LDA LU.IN GET INPUT LU LDB M26 GET MESSAGE ADDR JSB PRMPT PRINT "Y=SIN(W2*T+@)" LDB M27 PROMPT W/"W1 = " JSB RFFIN READ W1 DST W1 SAVE LDB M28 PROMPT W/"W2 = " JSB RFFIN READ W2 DST W2 SAVE LDB M29 PROMPT W/"@ = " JSB RFFIN READ PHASE DST PHASE SAVE CLA STA TIME START AT STA TIME+1 T = 0 LDA RDGS GET # OF POINTS JSB FLOAT MAKE REAL DST DEL.T SAVE DLD TWOPI FDV DEL.T DIVIDE INTO PARTS DST DEL.T SAVE DELTA T LDA RDGS SET UP CMA,INA LOOP TO STA XCNTR CALCULATE POINTS LDA ADATA SET UP STA XTEMP DATA POINTER LILUP EQU * ISZ XTEMP BUMP DATA POINTER DLD W1 FETCH W1 FMP TIME W1*T JSB SIN FIND SIN(W1*T) HLT 0 FMP LIFCT CONVERT VOLTS JSB IFIX TO BITS AND DDMSK MASK JUNK STA XTEMP,I SAVE ISZ XTEMP MOVE TO Y VALUE DLD W2 FETCH W2 FMP TIME W2*T FAD PHASE W2*T+@ JSB SIN FIND SIN(W2*T+@) HLT 0 FMP LIFCT CONVERT VOLTS JSB IFIX TO BITS AND DDMSK MASK JUNK Ÿ9þúSTA XTEMP,I SAVE DLD TIME FAD DEL.T T + DELTA T DST TIME ISZ XCNTR DONE? JMP LILUP NO - CONTINUE .LIRP EQU * LDA D2 MODE IS 2 (SEQ) LDB RDGS RDGS PAIRS BLS MULTIPLY BY 2 JSB .DAC. CONVERT POINTS LDA DREPT REPEAT? SSA : JMP .LIRP REPEAT - DO IT AGAIN JMP START GET NEXT COMMAND BIT12 OCT 10000 D17 DEC 17 LIFCT DEC 32752. TWOPI DEC 6.2832 SPC 5 SKP ..LI EQU * ADC LIST * LISTER LDA LSTOK CHECK IF LIST ALLOWED SSA,RSS JMP RREAD NOT ALLOWED LDA LU.PO DEFAULT TO DEFAULT LIST DEVICE JSB GETLU BUT SEE IF ALTERNATE SUPPLIED JMP RREAD ALTERNATE IS BAD STA LSTDV SAVE LU OF LIST DEVICE LDA D2 READ >= 2 CHARS LDB M11 PROMPT W/MSG 11 JSB CREAD READ LIMITS FOR LIST LDA IMAX GET MAX INTEGER STA FF1 DEFAULT START STA FF2 DEFAULT FINISH JSB FFIN CONVERT START AND FINISH LDA FF2 FETCH FINISH LDB FF1 FETCH START IOR B COMBINE SSA CHECK FOR < 0 JMP START IF < 0 THEN QUIT SZB,RSS CHECK FOR ZERO JMP RREAD ZERO INVALID - ERROR CMB,INB SEE IF ADB FF2 START > FINISH SSB IF SO JMP RREAD THEN ERROR LDA RDGS SEE IF MPY GRUPS CHNLS GROUP*GROUPS LDB .SCLD (IF SCALED SEQUENTIAL) SSB,RSS LDA RDGS OR RDGS (IF NOT) LDB FF1 CMB,INB ADB A SSB < START JMP RREAD THEN ERROR LDB FF2 SET FINISH = CMB,INB ADB A MIN(RDGS,FINISH) SSB,RSS LDA FF2 STA FF2 JSB LF OUTPUT LINE FEED LDA .TC CHECK FOR TWO CHANNEL LIST SSA JMP ªÔþúTCLST TWO CHANNEL LIST - TWO COLUMNS CLA FBLST EQU * \ ADA RDGS \ LDB FF1 \ CMB,INB \ ADB A \ SSB \ JMP FBLST FIND WHICH GROUP START IS IN ADA D2 FOR SCALED SEQUENTIAL LDB FF1 / CMB,INB / ADA B / CMA,INA / STA CTEMP / LLP1 EQU * ISZ CTEMP IF DONE WITH A GROUP JMP NOLF NOT DONE SO NO LINE FEED JSB LF THEN OUTPUT LINE FEED LDA RDGS RESTORE COUNTER CMA,INA STA CTEMP NOLF EQU * NOT END OF GROUP LDA BLANK GET BLANK STA INBFR BLANK FIRST CHAR JSB DFTCH FETCH NEXT VALUE LDA D2 GET BUFFER OFFSET LDB AINBF GET BUFFER ADDR JSB FMTOT AND CALL FORMAT OUTPUT LDA DM11 OUTPUT 11 CHARS JSB LISTO ON LIST DEVICE LDA FF1 DONE? CPA FF2 : JMP DOLF YES - FINISH UP ISZ FF1 INCREMENT COUNTER JMP LLP1 DO NEXT VALUE TCLST EQU * TWO COLUMN LIST FOR T.C. CLB SET INITIAL LDA FF1 VALUE OF COLUMN SLA,RSS NUMBER CCB (1 OR 2(-1)) STB CTEMP : LDA DM8 STA XCNTR SET UP LOOP-BLANK PRINT BUFFER LDA BLANK BLANK LDB AINBF BUFFER ADDR TCLBL EQU * STA B,I STORE BLANK INB MOVE POINTER ISZ XCNTR DONE? JMP TCLBL NO-CONTINUE LLP2 EQU * LDA CTEMP FETCH COLUMN FLAG SSA CHECK JMP CLMN2 SET FOR COLUMN 2 JSB DFTCH FETCH VALUE LDA D2 GET BUFFER OFFSET LDB AINBF GET BUFFER ADDR JSB FMTOT CALL FORMAT OUTPUT LDA CTEMP REVERSE CMA COLUMN STA CTEMP FLAG JMP ELLP2 CHEC¯wþúK FOR DONE CLMN2 EQU * COLUMN 2 JSB DFTCH FETCH VALUE LDA D16 GET 2ND COLUMN BUFFER OFFSET LDB AINBF GET BUFFER ADDR JSB FMTOT CALL FORMAT OUTPUT LDA DM25 OUTPUT 25 CHARS JSB LISTO ON LIST DEVICE LDA CTEMP REVERSE CMA COLUMN STA CTEMP FLAG ELLP2 EQU * LDA FF1 CHECK CPA FF2 FOR END JMP LDONE OF LIST ISZ FF1 MORE SO BUMP COUNTER JMP LLP2 AND CONTINUE LDONE EQU * LIST DONE LDA CTEMP IF SOMETHING IN SSA,RSS COLUMN 1 JMP DOLF LDA DM11 THEN OUTPUT 11 CHARS JSB LISTO ON LIST DEVICE DOLF EQU * OUTPUT LINE FEED JSB LF AT END OF LIST JMP START GET NEXT COMMAND D16 DEC 16 DM25 DEC -25 DM8 DEC -8 LSTDV NOP SKP .NO EQU * SYSTEM NORMALIZE JSB S2313 CALL I/F ROUTINE DEF *+3 DEF LU.SS DEF RETRN JSB C2313 CHECK RETURN CODE JMP .NO ERROR - REPEAT REQUEST JMP .NO ERROR - REPEAT REQUEST JMP START GET NEXT COMMAND SKP .RA EQU * DAC RANDOM JSB DACCL CLEAR PAST TEST FLAGS CCA STA .RAN SET RA TEST FLAG JSB DACEX INITIALIZE FOR TEST LDA RDGS GET # OF POINTS CMA,INA SET UP LOOP TO STA XCNTR READ CHANLS AND DATA LDA ACHLS POINT TO STA XTEMP CHANL BUFFER LDA ADATA POINT TO STA CNTR1 DATA BUFFER RALUP EQU * ISZ XTEMP BUMP CHANL POINTER ISZ CNTR1 BUMP DATA POINTER LDB D5 SET BOX,CARD,CHANL JSB BCCG : JMP DABRT IF ANY < 0 ABORT IOR D1 TURN ON WAIT BIT STA XTEMP,I SAVE CHANL ADDR STA CHNL1 SAVE FOR IMMEDIATE CONVERT JSB DDATA GET DATA JMP DABRT IF OUT OF RANGE ABÜöÿÿÿÿÿÿÿÿþú< 5 SSA JMP RREAD < 5 - NOT VALID SET LDA INBFR+1 FOR SET BLANK CPA T! MUST FOLLOW T RSS JMP RREAD NOT "T " SO ERROR LDA INBFR+2 SET WHICH FLAG? AND UPPER FETCH CHAR AND MASK IOR B40 STICK BLANK IN LOW HALF LDB .ADC ADC MODE? SSB TEST JMP S.ADC YES - GO SET ADC FLAG S.DAC EQU * SET DAC FLAG CPA P! SET PACER? JMP SDP YES - DO IT CPA R! SET REPEAT? JMP SDR YES - GO DO IT JMP RREAD NOT VALID DAC SET S.ADC EQU * SET ADC FLAG CPA P! SET PACER? JMP SAP YES - GO DO IT CPA L! SET LAD? JMP SAL YES - GO DO IT CPA R! SET REPEAT? JMP SAR YES - GO DO IT CPA D! SET DELAY? JMP SAD YES - GO DO IT CPA G! SET GAIN? JMP SAG YES - GO DO IT CPA K! PROGRAM GAIN IMMEDIATE? JMP SAK YES - GO DO IT JMP RREAD NOT VALID ADC SET SDP EQU * LDA DACPP JSB PPRAM GET DAC PACER PARAMS JMP DABRT ABORT IF ANY < 0 JMP START GET NEXT COMMAND SDR EQU * CCA STA DREPT SET DAC REPEAT JMP START GET NEXT COMMAND SAP EQU * LDA ADCPP JSB PPRAM GET ADC PACER PARAMS JMP AABRT ABORT IF ANY < 0 JMP START GET NEXT COMMAND SAR EQU * CCA STA RPEAT SET ADC REPEAT CLA STA LSTOK DISALLOW LIST JMP START GET NEXT COMMAND SAL EQU * LDA DELAY DELAY SET? SSA JMP DLYER YES - CAN'T HAVE LAD CCA STA LAD SET ADC LAD CLB,INB JSB BCCG GET LAD ADDR JMP LABRT ABORT IF ANY < 0 STA LADAD SAVE LAD ADDR JMP START GET NEXT COMMAND LABRT EQU * CLA STA LAD CLEAR ADC LAD ON ABORT,²ÿÿÿÿÿÿÿÿþúLAD SECTION LDA LU.IN LDB M21 JSB PRMPT ASK FOR LAST CHANL LDB D2 JSB BCCG GET BOX,CARD,CHANL JMP AABRT IF ANY < 0 ABORT STA LSTCH SAVE LAST CHANL NOLAD EQU * LDB M14 JSB QYNA ASK IF DIFFERENTIAL SZA,RSS AB? JMP AABRT ABORT CLB SSA,RSS STB DIFF NO - CLEAR DEFAULT SEQS EQU * LDA RDGS GET READINGS STA MPX1 STORE FOR MPX CALL JSB MPX CALL FOR MPX DEF D2 DEF CHNL1 DEF GAIN1 DEF EXTSS MPX1 NOP DEC 1 DLD RD1 SET REAL GAIN = 1 DST RG1 DST RG2 LDA RDGS GET READINGS CLB,INB SET ORIGIN JSB CNVRT CONVERT TO VOLTS JMP PCERR PACE FAST ERROR LDA RPEAT GET REPEAT FLAG SSA,RSS JMP TAKEN JMP SEQS SPC 5 TAKEN EQU * LDA LU.IN LDB M17 JSB PRMPT OUTPUT "RDGS TAKEN" JMP START GET NEXT COMMAND SKP SCSEQ EQU * ADC SCALED SEQUENTIAL LDA D1 READ >= 1 CHARACTERS LDB M19 JSB CREAD READ # OF GROUPS LDA IMAX GET MAX INTEGER STA FF1 DEFAULT # OF GROUPS JSB FFIN CONVERT # OF GROUPS LDA FF1 GET # OF GROUPS SSA IF < 0 JMP AABRT THEN ABORT SZA,RSS IF ZERO JMP RREAD THEN BAD STA GRUPS SAVE # OF GROUPS CMA,INA NEGATE ADA D25 ADD 25 SSA IF > 25 JMP RREAD THEN BAD LDA RDGS GET CHNLS/GRP MPY GRUPS FIND CHNLS/GRP*GROUPS SZB CHECK FOR OVERFLOW JMP RREAD OVERFLOW - BAD CMA,INA NEGATE ADA D200 ADD 200 SSA IF > 200 JMP RREAD THEN BAD CLA SET UP LOOP STA XCNTR TO GET START CHANLS GLOOP EQU * ISZ XC¯¬þúNTR BUMP LOOP COUNTER LDA XCNTR \ JSB I.OUT \ JSB CMOVE \ DEC 1 CALL FRMTR TO DEF I.B CONVERT GROUP # DEC 6 / DEF GR.FT / DEC 6 / LDA LU.IN OUTPUT GROUP # LDB GRFMT : JSB PRMPT : LDB D3 GET BOX,CARD, JSB BCCG CHANL,GAIN JMP AABRT IF ANY < 0 THEN ABORT STA XTEMP SAVE CHANL ADDR LDA XCNTR COMPUTE STORE ADA AGANS ADDR & STB A,I STORE GAIN LDB XTEMP GET CHANL ADDR LDA XCNTR COMPUTE CHANL ADA ACHLS STORE ADDR & STB A,I STORE CHANL LDA XCNTR GET LOOP COUNT CPA GRUPS DONE? RSS JMP GLOOP NO - CONTINUE CCA STA DIFF LLMPX ALWAYS DIFFERENTIAL SCS EQU * CLA SET UP LOOP STA XCNTR TO TAKE READINGS SCSLP EQU * ISZ XCNTR BUMP LOOP COUNTER CCA \ ADA XCNTR \ MPY RDGS COMPUTE BUFFER ADDR INA / STA FIRST / LDA RDGS SET UP STA CHPGP NUMBER OF READINGS LDA XCNTR COMPUTE GAIN ADDR ADA AGANS & SET STA SCSGN IN CALL LDA XCNTR COMPUTE CHANL ADDR ADA ACHLS & SET STA SCSCH IN CALL JSB MPX CALL FOR READINGS DEF D2 SCSCH NOP SCSGN NOP DEF EXTSS CHPGP NOP FIRST NOP LDA XCNTR GET LOOP COUNTER CPA GRUPS DONE? RSS JMP SCSLP NO - CONTINUE CLA SET UP LOOP STA XCNTR TO CONVERT READINGS SCSCV EQU * ISZ XCNTR BUMP LOOP COUNTER LDA XCNTR COMPUTE CMA,INA GAIN ADA GRUPS ADDR STA XTEMP INA AND ADA AGANS GET LDA A,I GAIN JSB GETGN LOOK UP REAL¥Eþú GAIN DST RG1 STORE GAIN FOR CONVERSION DST RG2 STORE GAIN FOR CONVERSION LDA XTEMP COMPUTE BUFFER MPY RDGS SUBSCRIPT FOR INA CONVERSION (LAST GROUP FIRST) LDB A : LDA RDGS GET # OF READINGS JSB CNVRT CONVERT DATA JMP PCERR PACE FAST - ABORT LDA XCNTR GET LOOP COUNTER CPA GRUPS DONE? RSS JMP SCSCV NO - CONTINUE LDA RPEAT GET REPEAT FLAG SSA,RSS TEST JMP TAKEN NO REPEAT JMP SCS REPEAT D200 DEC 200 D25 DEC 25 XTEMP NOP EXECUTION TEMPORARY XCNTR NOP EXECUTION COUNTER GRFMT DEF *+1 DM11 DEC -11 GR.FT ASC 6,GROUPXXXXXX SKP .SI EQU * DAC SINGLE JSB DACCL CLEAR PAST TEST FLAGS CCA STA .SICH SET SI TEST FLAG JSB DACEX INITIALIZE FOR TEST LDA RDGS SET UP CMA,INA LOOP TO STA XCNTR GET DATA LDA ADATA SET UP STA XTEMP ADDR POINTER LDB D5 SET BOX,CARD,CHANL JSB BCCG : JMP DABRT IF ANY < 0 ABORT IOR D1 TURN ON WAIT BIT STA CHNLS SAVE STA CHNL1 SAVE FOR IMMEDIATE CONVERT SILUP EQU * ISZ XTEMP BUMP DATA POINTER JSB DDATA READ DATA JMP DABRT IF OUT OF RANGE ABORT STA XTEMP,I SAVE STA GAIN1 SAVE FOR IMMEDIATE CONVERT JSB .CNVT CONVERT NOW ISZ XCNTR DONE? JMP SILUP NO - CONTINUE .SIRP EQU * LDA DREPT REPEAT? SSA,RSS JMP START GET NEXT COMMAND SI.RP EQU * CLA MODE IS 0 (SINGLE) LDB RDGS JSB .DAC. CONVERT CHANLS JMP .SIRP REPEAT SKP ..SI EQU * ADC SINGLE CHANNEL TEST LDA LU.PO DEFAULT TO DEFAULT LIST DEVICE JSB GETLU BUT SEE IF ALTERNATE SUPPLIED JMP RREAD UÌþú ALTERNATE IS BAD STA LSTDV SAVE LU OF LIST DEVICE JSB ADCCL CLEAR PAST TEST FLAGS CCA STA .SC SET SINGLE CHANNNEL TEST FLAG JSB ADCEX INTIALIZE FOR TEST LDB D2 \ LDA GAIN GET BOX,CARD, SSA CHANL & INB GAIN IF NECESSARY JSB BCCG / JMP AABRT IF ANY < 0 ABORT STA CHNL1 SAVE CHANL ADDR STA CHNL2 STB GAIN1 SAVE GAIN STB GAIN2 SIRD EQU * LDA RDGS SET # OF READINGS LDB DELAY DELAY? SSB,RSS JMP SIMPX NO CMA,INA YES STA D.CNT SAVE # READINGS CLA,INA SET UP FOR 1 READING SIMPX EQU * STA SIRGS CLA SET UP STA SIOFS DATA BUFFER OFFSET MPXSI EQU * ISZ SIOFS INCREMENT BUFFER OFFSET JSB MPX CALL FOR READINGS DEF ZERO DEF CHNL1 DEF GAIN1 DEF EXTSS SIRGS NOP SIOFS NOP LDB DELAY DELAY? SSB,RSS JMP SISTS NO ISZ D.CNT YES - DECREMENT READINGS COUNT JMP MPXSI IF NOT DONE, CONTINUE READINGS JMP SISTS IF DONE, PRINT STATS SISTS EQU * LDA GAIN1 GET GAIN JSB GETGN LOOK UP REAL GAIN DST RG1 STORE GAIN FOR CONVERSION DST RG2 STORE GAIN FOR CONVERSION LDA RDGS GET # OF READINGS CLB,INB POINT TO START OF DATA BUFFER JSB CNVRT CONVERT DATA JMP PCERR PACE FAST - ABORT LDA RDGS CLB JSB STATS CALCULATE & OUTPUT STATISTICS LDA RPEAT GET REPEAT FLAG SSA,RSS IF FLAG IS CLEAR, JMP START GET NEXT COMMAND JMP SIRD ELSE REPEAT SKP .TR EQU * TRANSFER INPUT CONTROL CLA DEFAULT TO POP JSB GETLU GET LU IF ANY JMP RREAD BAD LU SZA,RSS IF NO LU JMP POP THEN ²WþúPOP LU STACK LDB LU.IN PUSH CURRENT LU STA LU.IN ON STACK STB LUSTK AND SET CURRENT LU TO NEW JSB DVR IS NEW LU A KEYBOARD? CPA D5 DVR05 SAME AS DVR00 CLA LDB LU.IN GET NEW LU SZA IF DVR00 JMP START GET NEXT COMMAND LDA LU.FB SAVE FALLBACK LU STB LU.FB SET NEW LU AS FALLBACK ALSO CPA LU.PO FB SAME AS LIST LU? STB LU.PO YES - SET NEW LIST LU ALSO JMP START GET NEXT COMMAND POP EQU * JSB POPLU POP LU STACK JMP START GET NEXT COMMAND SPC 1 D.CNT NOP SKP ..TW EQU * ADC TWO CHANNEL TEST LDA LU.PO DEFAULT TO DEFAULT LIST DEVICE JSB GETLU BUT SEE IF ALTERNATE SUPPLIED JMP RREAD ALTERNATE IS BAD STA LSTDV SAVE LU OF LIST DEVICE JSB ADCCL CLEAR PAST TEST FLAGS CCA STA .TC SET TWO CHANNEL TEST FLAG JSB ADCEX INITIALIZE FOR TEST LDB D2 \ LDA GAIN GET BOX,CARD, SSA CHANL & INB GAIN IF NECESSARY JSB BCCG / JMP AABRT IF ANY < 0 ABORT STA CHNL1 SAVE FIRST CHANL ADDR STB GAIN1 SAVE FIRST CHANL GAIN LDB D2 \ LDA GAIN GET BOX,CARD, SSA CHANL & INB GAIN IF NECESSARY JSB BCCG / JMP AABRT IF ANY < 0 ABORT STA CHNL2 SAVE SECOND CHANL ADDR STB GAIN2 SAVE SECOND CHANL GAIN LDA DM100 SET UP LOOP STA XCNTR TO CONSTRUCT CHANL BUFFER LDA ACHLS GCLUP EQU * INA COMPUTE 1ST CH ADDR STORE ADDR LDB CHNL1 GET CHANL ADDR STB A,I STORE CHANL ADDR INA COMPUTE 2ND CH ADDR STORE ADDR LDB CHNL2 GET CHANL ADDR STB A,I STORE CHANL ADDR ISZ XCNTR DONE? JMP GCLUP NO - CONTINUE ž©þú TWX EQU * LDA RDGS STA TWRGS SET # OF READINGS JSB MPX CALL FOR READINGS DEF D1 DEF CHNLS DEF GAINS DEF EXTSS TWRGS NOP DEC 1 LDA GAIN1 GET GAIN FOR CHANL 1 JSB GETGN LOOK UP REAL GAIN DST RG1 STORE GAIN FOR CONVERSION LDA GAIN2 GET GAIN CHANL 2 JSB GETGN LOOK UP REAL GAIN DST RG2 STORE GAIN FOR CONVERSION LDA RDGS CLB,INB JSB CNVRT CONVERT DATA JMP PCERR PACE FAST - ABORT LDA RPEAT GET REPEAT FLAG SSA TEST JMP TWWT REPEAT LDA LSTDV CMA,INA \ LDB M31 OUTPUT "1ST CH" JSB PRMPT / LDA RDGS \ CLB,INB COMPUTE & OUTPUT STATISTICS JSB STATS / LDA LSTDV CMA,INA \ LDB M16 OUTPUT "2ND CH" JSB PRMPT / LDA RDGS \ LDB D2 COMPUTE & OUTPUT STATISTICS JSB STATS / JMP START GET NEXT COMMAND TWWT EQU * JMP TWX DM100 DEC -100 SKP PCERR EQU * PACE FAST LDA LU.FB \ LDB PCMSG OUTPUT "PACE ERROR" JSB PRMPT / AABRT EQU * ADC TEST ABORT LDA LU.FB \ LDB ABMSG OUTPUT "ABORT" JSB PRMPT / CLA STA LSTOK DISALLOW LIST STA RPTOK DISALLOW REPEAT JMP .NO NORMALIZE AND GET NEXT COMMAND DABRT EQU * DAC TEST ABORT CLA STA DRPOK DISALLOW REPEAT LDA LU.FB \ LDB ABMSG OUTPUT "ABORT" JSB PRMPT / JMP .NO NORMALIZE AND GET NEXT COMMAND DLYER EQU * LDA LU.FB \ LDB DLMSG OUTPUT "CAN'T HAVE LAD AND DELAY" JSB PRMPT / JMP START !TERM EQU * TERMINATE VERIFICATION JSB EXEC DEF *+2 DEF D6 ADPMT ASC 1,>_ ADC MODE PROMPTER DAPMT ASC Γþú1,<_ DAC MODE PROMPTER ABMSG DEF *+1 DEC -5 ASC 3,ABORT PCMSG DEF *+1 DEC -10 ASC 5,PACE ERROR DLMSG DEF *+1 DEC -22 ASC 11,CAN'T HAVE LAD & DELAY SKP HED HP2313 RTE VERIFICATION -- LISTER UTILITIES LF NOP OUTPUT A LINE FEED ON LIST DEVICE JSB EXEC DEF *+5 DEF D2 DEF LSTDV DEF BLANK DEF DM1 JMP LF,I SPC 5 LISTO NOP LIST (A) CHARS ON LIST DEVICE STA CNTR1 JSB EXEC DEF *+5 DEF D2 DEF LSTDV DEF INBFR DEF CNTR1 JMP LISTO,I SPC 5 DFTCH NOP FETCH REAL VALUE AND STUFF IN FMTO1 LDB FF1 BLS ADB ADTA2 DLD B,I DST FMTO1 JMP DFTCH,I SKP * EXTRACT LU FROM COMMAND IN BUFFER * * LDA DFLT * JSB GETLU * (ERROR RETURN) * : * * DFLT - DEFAULT VALUE FOR LU IF NONE GIVEN * * DFLT NOP GETLU NOP STA DFLT SAVE DEFAULT VALUE LDA T.LOG FETCH T-LOG CPA D2 IF = 2 JMP ENDLU THEN RETURN DEFAULT VALUE STA CTEMP SAVE T-LOG ADA DM80 SUBTRACT 80 SSA,RSS IF > 80 JMP NOFIL THEN NO BLANK FILL STA CNTR1 SET COUNT = 80-T-LOG BFILL EQU * BLANK FILL ISZ CTEMP BUMP CHARACTER POINTER LDA CTEMP GET CHARACTER POINTER LDB AINBF GET BUFFER ORIGIN JSB CSTOR STORE CHARACTER OCT 40 BLANK ISZ CNTR1 BUMP COUNTER JMP BFILL DO NEXT CHAR NOFIL EQU * LDA INBFR+1 3 RD COMMAND CHARACTER AND UPPER MUST BE A BLANK ALF,ALF CPA B40 RSS JMP GETLU,I ERROR RETURN LDA D4 \ LDB AINBF \ JSB .FFB. CALL FRMTR TO CONVERT LU JSB .FFI. / JMP LUOK? / ENDLU EQU * LDA DFLT SEND BACK JMP GRTRN °,þúDEFAULT LU LUOK? EQU * JSB LUCHK CHECK LU FOR VALID JMP GETLU,I ERROR RETURN - NOT VALID GRTRN EQU * ISZ GETLU GOOD VALUE JMP GETLU,I RETURN DM80 DEC -80 HED HP2313 RTE VERIFICATION -- UTILITIES SKP ADCCL NOP CLEAR PAST ADC TEST FLAGS CLB STB .SC CLEAR SINGLE CH FLAG STB .TC CLEAR 2 CH FLAG STB .SS CLEAR SEQ SCAN FLAG STB .SCLD CLEAR SCALED SEQ FLAG JMP ADCCL,I RETURN SKP ADCEX NOP ADC EXECUTION INITIALIZATION CCA STA RPTOK ALLOW REPEAT STA LSTOK ALLOW LIST STA DIFF DEFAULT TO DIFFERENTIAL LDA .SS GET SEQUENTIAL SCAN FLAG AND GAIN IF SEQ AND GAIN STA .SCLD THEN SCALED SEQUENTIAL LDB M13 ASK FOR RDGS SSA LDB M18 OR CHANLS/GROUP LDA D1 READ >= 1 CHAR JSB CREAD READ REPLY LDA .SCLD GET SCALED SEQ FLAG CLB SSA IF SET STB .SS THEN CLEAR SEQ FLAG JSB .NUMR GET NO = JMP AABRT IF < 0 ABORT LDA .TC GET TWO CHANNEL FLAG SSA IF TWO CHANNEL JMP TCCHK MUST BE # 1 LDA .SCLD GET SCALED SEQ FLAG SSA,RSS IF SCALED SEQ JMP ADCEX,I NOT SCALED SEQ ADB D25 THEN MUST BE <=25 SSB JMP RREAD > 25 JMP ADCEX,I RETURN TCCHK EQU * TWO CHANNEL CPB DM1 READINGS CANNOT BE 1 JMP RREAD = 1 - ERROR JMP ADCEX,I RETURN SKP DACCL NOP CLEAR PAST DAC TEST FLAGS CLB STB .ALT CLEAR AL FLAG STB .ERS CLEAR ER FLAG STB .GRP CLEAR GR FLAG STB .LISA CLEAR LI FLAG STB .RAN CLEAR RA FLAG STB .SICH CLEAR SI FLAG JMP DACCL,I RETURN SKP DACEX NOP DAC EXECUTION INITIALIZATION CCA STA ÝþúDRPOK ALLOW REPEAT LDA .ALT IF AL SSA JMP DACEX,I SKIP "NO" REQUEST LDA D1 READ >= 1 CHAR LDB M13 PROMPT W/M13 JSB CREAD READ REPLY JSB .NUMR GET NO = JMP DABRT IF < 0 THEN ABORT JMP DACEX,I RETURN SKP .NUMR NOP LDA IMAX GET LARGEST INTEGER STA FF1 DEFAULT RDGS JSB FFIN CONVERT REPLY LDA FF1 FETCH RDGS SSA IF < 0 JMP .NUMR,I THEN ABORT SZA,RSS IF = 0 JMP RREAD THEN BAD STA RDGS SET RDGS CMA,INA NEGATE LDB A MOVE TO B ADA D200 ADD 200 SSA IF RDGS>200 JMP RREAD THEN ERROR ISZ .NUMR ADJUST RETURN ADDR JMP .NUMR,I RETURN SKP * LOOK UP GAIN IN GAIN TABLE FROM GAIN CODE * * LDA GAIN * JSB GETGN * * GAIN - GAIN CODE (0-8) * * GETGN NOP ALS MULTIPLY BY 2 ADA GTABL ADD GAIN TABLE BASE DLD A,I LOAD VALUE JMP GETGN,I RETURN * GTABL DEF *+1 DEC 1000. DEC 500. DEC 250. DEC 125. DEC 100. DEC 50. DEC 25. DEC 12.5 RD1 DEC 1. SKP * LOGICAL UNIT VALIDITY CHECK * * LDA LU * JSB LUCHK * (ERROR RETURN) * : * * LUCHK NOP LU VALIDITY CHECK LDB A MOVE LU TO (B) CMB,INB NEGATE SSB,RSS IF <= 0 JMP LUCHK,I THEN ERROR ADB 1653B IF > MAX LU SSB IN SYSTEM JMP LUCHK,I THEN ERROR ISZ LUCHK GOOD JMP LUCHK,I RETURN SKP * DVR62 INTERFACE RETURN CHECK * * LDA XPCTD * JSB C2313 * (ERROR RETURN IF XPCTD = 0) * (ERROR RETURN IF XPCTD = 1) * : * * XPCTD - RETURN CODE EXPECTED * * C2313 NOP DVR62-I/F RETURN CODE CHECKER CPA RETRN Wöþú RETURN CODE = EXPECTED? JMP RGOOD YES - GOOD CPA D1 NO - EXPECTED = 1? JSB RSTQ YES - RE-ISSUE ALL CALLS LDA RETRN WAS ERROR CPA DM4 TRANSMISSION ERROR? JMP XMSNR YES - PRINT ERROR MESSAGE LDA RETRN \ JSB I.OUT \ JSB CMOVE \ DEC 1 CALL FRMTR TO DEF I.B CONVERT ERROR NUMBER DEC 16 / DEF M.23 / DEC 6 / LDA LU.FB \ LDB M23 OUTPUT ERROR MESSAGE JSB PRMPT / JMP C2313,I RETURN XMSNR EQU * LDA LU.FB \ LDB M22 OUTPUT ERROR MESSAGE JSB PRMPT / JMP C2313,I RETURN RGOOD EQU * ISZ C2313 ADJUST ISZ C2313 RETURN ADDR & JMP C2313,I RETURN SPC 5 RSTQ NOP RESET 2313 Q BUFFER JSB B2313 DEF *+3 DEF Q DEF QLEN ISZ C2313 TAKE SECOND ERROR EXIT JMP RSTQ,I SPC 3 M23 DEF *+1 DEC -21 M.23 ASC 11,INTERNAL ERROR XXXXXX SKP * FREE FIELD INPUT ROUTINE * * ENTRY POINTS: * * LDA OFSET * LDB BUFFR * JSB .FFB. * * OFSET - STARTING CHARACTER POSITION IN BUFFER * BUFFR - CHARACTER BUFFER * * * JSB .FFI. * (NORMAL RETURN) * (DEFAULT RETURN) * * INTEGER RETURNED IN (A) * * * JSB .FFR. * (NORMAL RETURN) * ----- * (DEFAULT RETURN) * * REAL VALUE RETURNED IN (B,A) * * .FFB. NOP INITIALIZATION ENTRY STA .OFS. SAVE OFFSET STB B.F.R SAVE BUFFER ADDR CCA STA E.O.C SET END ON COMMA FLAG JMP .FFB.,I RETURN .I.R. NOP INT/REAL FLAG * * .FFI. NOP INTEGER ENTRY CCA STA DPA? SET DEC PT ALLOWED FLAG CLA STA .I.R. SET INT/REAL FLAG TO INT JMP .SKP. GO CONVERT * * .FFR. NOòAþúP REAL ENTRY CCA STA DPA? SET DEC PT ALLOWED FLAG STA .I.R. SET INT/REAL FLAG TO REAL SKP .SKP. EQU * CCA STA .NEG. CLEAR < 0 FLAG STA #NEG# #SKP# EQU * LDA .OFS. GET OFFSET LDB B.F.R GET BUFFER ADDR JSB CFTCH GET A CHAR CPA COMMA COMMA? JMP DFLT? MAY BE DEFAULT CPA MINUS MINUS? JMP LTZRO YES - SET < 0 FLAG CPA PLUS PLUS? JMP .BMP. YES - IGNORE CPA DOT DEC PT? JMP .GO. YES - GO CONVERT CPA E "E"? JMP .GO. YES - GO CONVERT JSB D.CHK DIGIT CHECK RSS JMP .GO. NUMERIC - GO CONVERT .BMP. EQU * ISZ .OFS. BUMP CHAR POINTER JMP #SKP# TRY NEXT CHAR LTZRO EQU * CLA STA .NEG. SET < 0 FLAG STA #NEG# JMP .BMP. TRY ANOTHER CHAR DFLT? EQU * POSSIBLE DEFAULT LDB E.O.C GET END ON COMMA FLAG SSB SET? JMP D.FLT YES - ITS A DEFAULT CCA STA E.O.C SET END ON COMMA FLAG JMP .BMP. NO - SKIP THIS COMMA D.FLT EQU * ISZ .OFS. POINT PAST COMMA ISZ .FFI. ADJUST INT RETURN ADDR ISZ .FFR. ADJUST REAL ISZ .FFR. RETURN ADDR LDA .I.R. GET INT/REAL FLAG SSA,RSS SET? JMP .FFI.,I NO - RETURN INTEGER JMP .FFR.,I YES - RETURN REAL .NEG. NOP NEGATIVE MANTISSA FLAG #NEG# NOP SKP .GO. EQU * CLA STA DECXP ZERO DEC EXPONENT CLB JSB .INT. INPUT INTEGER STA .RR.+1 SAVE STB .RR. RESULT LDB DGTS GET DIGIT COUNT SZB 0? JMP XDGTS NO - MUST BE OVERFLOW DIGITS LDA .OFS. GET OFFSET LDB B.F.R GET BUFFER ADDR JSB CFTCH GET CHAR ISZ .OFS. BUMP CHAR POINTER CPA DOT DEC PT? Q½þú JMP .FRAC YES - GO GET FRACTION JMP .XPNT MUST BE "E" - GO GET EXP SPC 2 .DX. EQU * ADA DECXP UPDATE DEC EXPONENT STA DECXP SAVE XDGTS EQU * GET OVERFLOW DIGITS-DISCARD CLA CLB JSB .INT. COUNT DIGITS FOR EXPONENT LDA DGTS GET DIGIT COUNT SZA ANY? JMP .DX. YES - ADD TO EXPONENT LDA .OFS. \ LDB B.F.R GET CHAR THAT TERM INTEGER JSB CFTCH / CPA COMMA COMMA? JMP F.C YES - DONE INPUTTING CPA DOT DEC PT? JMP FRAC. YES - GET FRACTION CPA E "E"? JMP X.PNT YES - GET EXPONENT CPA PLUS PLUS? JMP .XSGN YES - GET EXPONENT CPA MINUS MINUS? JMP .XSGN YES - GET EXPONENT F.C EQU * ISZ .OFS. POINT PAST COMMA CCA,RSS SET END ON COMMA FLAG B.PNT EQU * CLA CLEAR END ON COMMA FLAG STA E.O.C SAVE END ON COMMA FLAG LDA D31 INITIALIZE BINARY POINT STA BINXP : DLD .RR. GET INTEGER JSB NORML NORMALIZE LDA DECXP GET DEC EXPONENT CMA,SSA,RSS CHECK FOR < 0 JMP NEGXP DEC EX < 0 STA DECXP SAVE COMPLEMENT RSS INCREMENT FIRST TIME TO NEGATE POSXP EQU * JSB MPY10 MULTIPLY BY 10 ISZ DECXP DONE? JMP POSXP NO - CONTINUE LDA .RR. RESTORE (A) - (B) OK JMP .PACK EXIT NEGXP EQU * JSB DIV10 DIVIDE BY 10 ISZ DECXP DONE? JMP NEGXP NO - CONTINUE JMP .PACK EXIT SKP * * * EXPONENT INPUT SECTION * * X.PNT EQU * ISZ .OFS. POINT PAST E RSS .XPNT EQU * ISZ .RR.+1 IF NO MANTISSA SET TO 1 .XSGN EQU * CLA STA DPA? CLEAR DEC PT ALLOWED FLAG STA .NXP. CLEAR XP < 0 FLAG X.SLP EQU * LDA .OFS. GET OFFSET |ãþú LDB B.F.R GET BUFFER ADDR JSB CFTCH GET CHAR CPA COMMA COMMA? JMP F.C YES - DONE CPA SPACE BLANK? JMP B.PNT YES - DONE CPA MINUS MINUS? JMP LZROX SET XPNT < 0 CPA PLUS PLUS? JMP .BP. YES - IGNORE JSB D.CHK DIGIT CHECK RSS JMP X.SGN NUMERIC - CONVERT EXPONENT .BP. EQU * ISZ .OFS. BUMP CHAR POINTER JMP X.SLP TRY ANOTHER CHAR LZROX EQU * CCA STA .NXP. SET XP < 0 FLAG JMP .BP. TRY NEXT CHAR X.SGN EQU * CLA CLB JSB .INT. INPUT EXPONENT SZB LDA IMAX GET MAX INTEGER AND B77 DON'T KEEP MORE THAN NEEDED LDB .NXP. GET XP < 0 FLAG SSB SET? CMA,INA YES - NEGATE ADA DECXP UPDATE DEC EXPONENT STA DECXP SAVE XSGN. EQU * LDA DGTS GET DIGIT COUNT SZA,RSS 0? JMP X.X YES - DONE CLA CLB JSB .INT. THROW AWAY OTHER DIGITS JMP XSGN. SEE IF DONE X.X EQU * LDA .OFS. LDB B.F.R JSB CFTCH CPA COMMA END ON COMMA? JMP F.C YES - SET FLAG JMP B.PNT NO - NO FLAG, SAVE CHAR .NXP. NOP NEGATIVE EXPONENT FLAG SKP * * * FRACTION INPUT SECTION * * .FRAC EQU * CLA STA DPA? CLEAR DEC PT ALLOWED FLAG CLB JSB .INT. INPUT FRACTION JMP F.RAC FRAC. EQU * ISZ .OFS. POINT PAST DEC PT CLA STA DPA? CLEAR DEC PT ALLOWED FLAG LDA .RR.+1 GET INTEGER LDB .RR. PART JSB .INT. CONTINUE INPUTTING NUMBER F.RAC EQU * STA .RR.+1 SAVE STB .RR. RESULT LDA DGTS GET DIGIT COUNT CMA,INA NEGATE ADA DECXP UPDATE DEC XPNT STA DECXP SAVE FRA.C EQU * CLA STA DPA? ]þúCLEAR DEC PT ALLOWED FLAG CPA DGTS CHECK FOR NO DIGITS JMP FR.AC IF NONE THEN DONE CLB JSB .INT. THROW AWAY UNUSED PRECISION JMP FRA.C SEE IF DONE FR.AC EQU * LDA .OFS. \ LDB B.F.R GET CHAR THAT TERM FRAC JSB CFTCH / CPA COMMA COMMA? JMP F.C YES - DONE CPA E "E"? JMP X.PNT YES - GET EXPONENT CPA PLUS PLUS? JMP .XSGN YES - GET EXPONENT CPA MINUS MINUS? JMP .XSGN YES - GET EXPONENT JMP B.PNT DONE SKP .PACK EQU * ISZ #NEG# CHECK < 0 FLAG RSS - (SKIP) JMP .P1 + CONTINUE BELOW CMA DOUBLE WORD NEGATE CMB,INB,SZB,RSS INA .P1 CLE,SZA,RSS IF ZERO, THEN EXIT JMP .P3 * * ROUNDING SECTION * ADB B177 ADD IN ROUND FOR NEGATIVE NUM SSA,RSS IF POSITIVE INB 1 MORE IS NECESSARY CLO CLEAR TO TEST FOR A OVFL SEZ TEST FOR OVFLO OUT OF B CLE,INA IF SO, BUMP A REG SOS IF THE BUMP CAUSES OVERFLO RAL SKIP THIS SHIFT(A=100000,B=0) STA .RR. SAVE UPPER MANTISSA SSA,SLA,RSS TEST FOR TOP 2 BITS=1 JMP .P2 IF STILL NORMALIZED, SKIP * * IF ROUND CAUSED UNNORMALIZED NUMBER * CCA THEN DECREMENT EXPONENT ADA BINXP STA BINXP LDA .RR. ARS,SLA,ALS DUMP LO BIT, AND SKIP(UNCOND) .P2 RAR UNDOES "RAL" ABOVE IF N NORMAL * * AT THIS POINT, A&B ARE NORMALIZED & ROUNDED, AND THE * TRUE EXPONENT WILL BE "BINXP" * STA .RR. SAVE MANTISSA AGAIN LDA B REMOVE LOW ORDER 8 BITS OF B. AND BM400 (177400) MASK STA B REPLACE LDA BINXP SOC INA ADA B200 TEST FOR EXPON UNDERFLOW SSA JMP XUNDR ADA BM400 TEST FOR EXpåþúPON OVERFLOW SSA,RSS JMP XOVER ADA B200 RESTORE ORIGINAL EXPON RAL POSITION SIGN TO LSB AND B377 MASK TO 8 BITS ADB A PACK INTO B LDA .RR. RESTORE HIGH PART JMP .P3 EXIT B177 OCT 177 B200 OCT 200 B377 OCT 377 BM400 OCT -400 * * OVERFLOW UNDERFLOW SECTION ***** * XUNDR CLA RETURN ZERO FOR UNDERFLOW CLB JMP .P3 XOVER LDA IMAX LDB DM2 INFIN= 77777 177776 * INSURE PROPER SIGN ON OVERFLOW ISZ .NEG. TEST < 0 FLAG RSS <0 JMP .P3 > 0 LDA RMAXN LDB RMAXN+1 .P3 EQU * DST .RR. SAVE VALUE LDA .I.R. GET INT/REAL FLAG SSA SET? JMP .REAL YES - RETURN REAL DLD .RR. GET VALUE JSB IFIX FIX IT SOS CHECK OVERFLOW JMP .FFI.,I NO OVERFLOW - RETURN * INSURE PROPER SIGN WHEN OVERFLOW LDB .RR. GET SIGN SSB <0? CMA,INA YES - RETURN BIG NEGATIVE JMP .FFI.,I RETURN .REAL EQU * DLD .RR. GET VALUE JMP .FFR.,I RETURN .OFS. NOP B.F.R NOP .R. BSS 2 .RR. BSS 2 BINXP NOP DECXP NOP DGTS NOP DPA? NOP E.O.C NOP COMMA OCT 54 DOT OCT 56 E OCT 105 MINUS OCT 55 PLUS OCT 53 SPACE OCT 40 SKP D.CHK NOP ADA BM60 CHAR < "0"? SSA JMP D.CHK,I YES - RETURN LDB A MOVE TO (B) ADB DM10 > "9"? SSB ISZ D.CHK DIGIT IS OK JMP D.CHK,I RETURN BM60 OCT -60 SKP .INT. NOP DST .R. SAVE INITIAL VALUE CLA STA DGTS CLEAR DIGIT COUNT OCHK EQU * RRL 5 CHECK IMPENDING OVERFLOW SZA JMP R.INT OVERFLOW RETURN LDA .OFS. \ LDB B.F.R GET CHAR JSB CFTCH / JSB D.CHK DIGIT CHECK JMP .SCHK CHECK FOR VALID SPEC CHAR SÉþú STA .TMP. SAVE DIGIT VALUE ISZ DGTS BUMP DIGIT COUNTER ISZ .OFS. BUMP CHAR POINTER DLD .R. \ LSL 1 \ DST .R. *10 (*2+*8) LSL 2 / JSB .ADD. / DEF .R. CLE ADA .TMP. ADD NEW DIGIT VALUE SEZ OVERFLOW LOW 16 BITS? INB YES - INCREMENT HI 16 BITS DST .R. SAVE CLA JMP OCHK TRY NEXT DIGIT R.INT EQU * DLD .R. GET VALUE TO RETURN JMP .INT.,I RETURN .TMP. NOP .SCHK EQU * IGNORE INVALID CHARS LDA .OFS. \ LDB B.F.R GET CHAR JSB CFTCH / CPA E "E"? JMP R.INT YES - OK CPA PLUS PLUS? JMP R.INT YES - OK CPA COMMA COMMA? JMP R.INT YES - OK CPA MINUS MINUS? JMP R.INT YES - OK CPA SPACE BLANK? JMP R.INT YES - OK LDB DPA? GET DEC PT ALLOWED FLAG SSB,RSS CLEAR JMP NODPA YES - DEC PT NOT ALLOWED CPA DOT DEC PT? JMP R.INT YES - OK NODPA EQU * ISZ .OFS. SKIP CHAR CLA JMP OCHK TRY NEXT CHAR SKP NORML NOP SZA,RSS IF A=B=0 SZB JMP NRML1 STA BINXP SET EXP=0 ALSO JMP NRML3 AND RETURN NRML2 STA .RR. COME HERE TO SHIFT LEFT. CCA THIS GOES ONE SHIFT TOO FAR, ADA BINXP WE BACK UP LATER STA BINXP SUBTRACT ONE FROM EXPONENT LDA .RR. CLE,ELB ELA NRML1 SSA,RSS SHIFTED INTO SIGN BIT?? JMP NRML2 NO, SHIFT LEFT SOME MORE. CLE,ERA SHIFT RIGHT ONE. ERB ISZ BINXP BUMP EXPONENT AND NOP NRML3 STA .RR. STORE NORMALIZED VALUE STB .RR.+1 JMP NORML,I RETURN SKP .ADD. NOP 32 BIT ADD STB T.M.P SAVE HI BITS LDB .ADD.,I îbþú GET ADDR CLE ADA B,I ADD LOW BITS SEZ,INB OVERFLOW? ISZ T.M.P BUMP HI BITS ON OVERFLOW LDB B,I GET HI BITS ADB T.M.P ADD HI BITS ISZ .ADD. ADJUST RETURN ADDR JMP .ADD.,I RETURN T.M.P NOP SKP MPY10 NOP MULTIPLIES MANTISSA BY 10 LDA .RR. IF NUMBER IS ZERO, SZA,RSS JMP MPY10,I RETURN. LDB BINXP ELSE MULTIPLY BY 8 ADB D3 STB BINXP LDB .RR.+1 GET MANTISSA CLE,ERA DIVIDE ERB BY CLE,ERA 4. ERB,CLE ADB .RR.+1 DOUBLE ADD, GIVING 1.25*.RR. SEZ INA CARRY TO HIGH ORDER ADA .RR. JSB NORML NORMALIZE AND STORE BACK JMP MPY10,I RETURN TENTH OCT 63146 SKP DIV10 NOP DIVIDES MANTISSA BY 10 LDA .RR. IF NUMBER IS ZERO, SZA,RSS JMP DIV10,I RETURN. LDB DM2 ADJUST EXPONENT ADB BINXP STB BINXP LDA .RR.+1 MULTIPLY LOWER MANTISSA CLE,ERA BY 63146B AFTER SHIFTING MPY TENTH SO THAT SIGN BIT IS ZERO CLE,ELA SHIFT BACK ELB,CLE THE [B,A] RESULT ADA B ADD HIGH PART OF RESULT TO LOW SEZ PART FOR CROSS PRODUCT INB STB .RR.+1 LDA .RR. MULTIPLY HIGH MANTISSA MPY TENTH THE SAME WAY CLE ADA B ADA .RR.+1 SEZ INB CARRY STB .RR. & EXCHANGE STA B THE REGISTERS LDA .RR. AND JSB NORML NORMALIZE JMP DIV10,I SKP * FREE FIELD INPUT * * CLA OR CCA * JSB FFIN * * FF1 NOP FF2 NOP FF3 NOP FF4 NOP NOP FFIN NOP FREE FIELD INPUT ROUTINE STA FF3 SAVE "ACCEPT 3RD INTEGER" FLAG CLA,INA \ LDB AINBF INITIALIZE FORMATTER JSB .FFB. / øRþú JSB .FFI. READ 1 ST INTEGER STA FF1 SAVE 1 ST INTEGER JSB .FFI. READ 2 ND INTEGER STA FF2 SAVE 2 ND INTEGER ISZ FF3 CHECK "3 RD INTEGER" FLAG RSS JMP FREAL SKIP 3 RD INTEGER READ JSB .FFI. READ 3 RD INTEGER STA FF3 SAVE 3 RD INTEGER FREAL EQU * READ A REAL JSB .FFR. READ REAL STA FF4 SAVE UPPER STB FF4+1 SAVE LOWER JMP FFIN,I RETURN SKP * FORMATTED OUTPUT * * DLD VALUE * DST FMTO1 * LDA OFFST * LDB BUFR * JSB FMTOT * * VALUE - VALUE TO BE PRINTED * FMTO1 - PARAM STORE FOR FMTOT * OFFST - CHARACTER NO. IN BUFFER TO START FIELD * BUFR - BUFFER ADDR * * FMTO1 NOP NOP FMTOT NOP STA .OFF. SAVE OFFSET STB .BFR. SAVE BUFFER ADDR DLD FMTO1 \ JSB R.OUT \ JSB CMOVE \ DEC 1 CALL FORMATTER DEF R.B TO CONVERT REAL DATA .OFF. NOP / .BFR. NOP / DEC 10 / JMP FMTOT,I RETURN SKP * YES,NO,ABORT READER * * LDB AMESS * JSB QYNA * * AMESS - MESSAGE ADDRESS * * * QYNA NOP LDA D2 JSB CREAD CALL READER TO READ RESPONSE CLA LDB INBFR FETCH FIRST TWO INPUT CHARS CPB YE CHECK FOR YES CCA YES - RETURN -1 CPB NO CHECK FOR NO CLA,INA NO - RETURN 1 SZA IF NEITHER YES OR NO JMP QYNA,I YES OR NO SO RETURN CPB AB THEN MUST BE AB JMP QYNA,I OK JMP RREAD ELSE ERROR YE ASC 1,YE AB ASC 1,AB SKP * INTEGER OUTPUT FORMATTER * * LDA VALUE * JSB I.OUT * * VALUE - INTEGER VALUE TO BE CONVERTED TO ASCII * CHARS WILL BE IN BUFFER "I.B" * * I.V NOP I.OUT NOP STA I.‡GþúV SAVE VALUE TO CONVERT CPA MXNEG =-32768? JMP BIGM YES - SPECIAL CASE SSA,RSS > 0? JMP I.POS YES - NO SIGN CMA,INA NEGATE STA I.V SAVE CCA,RSS SET < 0 FLAG I.POS EQU * CLA CLEAR < 0 FLAG STA I.M? SAVE < 0 FLAG CLA,INA INITIALIZE LEADING STA I.LZ ZERO COUNT LDB AI.B GET BUFFER ADDR JSB CSTOR STORE BLANK IN FIRST CHAR OCT 40 LDA DM5 SET UP LOOP STA I.CNT TO CONVERT I.LUP EQU * CLB CLEAR FOR DIVIDE LDA I.V GET VALUE DIV D10 DIVIDE BY 10 STA I.V SAVE REST OF NUMBER SZB = 0? JMP N.Z # 0 SZA ALL OTHER DIGITS 0? JMP N.Z NO - ISZ I.LZ YES - BUMP LEADING ZERO COUNT LDB BM20 BLANK LEADING ZERO N.Z EQU * ADB B60 MAKE CHARACTER STB I.CHR SAVE FOR STORE LDA I.CNT FIND CHARACTER CMA,INA POSITION TO INA STORE CHARACTER LDB AI.B GET ADDR JSB CSTOR STORE CHARACTER I.CHR NOP ISZ I.CNT DONE? JMP I.LUP NO - CONTINUE LDA I.B+2 IOR B60 STA I.B+2 LDA I.M? SEE IF NEED "-" SSA,RSS JMP I.OUT,I RETURN LDA I.LZ GET CHAR POSITION FOR "-" LDB AI.B GET BUFFER ADDR JSB CSTOR STORE "-" OCT 55 JMP I.OUT,I RETURN BIGM EQU * LDA BIG.M GET "-3" STA I.B PUT IN BUFFER LDA BIG.M+1 GET "27" STA I.B+1 PUT IN BUFFER LDA BIG.M+2 GET "68" STA I.B+2 PUT IN BUFFER JMP I.OUT,I RETURN B60 OCT 60 D10 DEC 10 BM20 OCT -20 I.LZ NOP I.M? NOP I.CNT NOP MXNEG OCT 100000 I.B BSS 3 BIG.M ASC 3,-32768 SKP * REAL OUTPUT FORMATTER * * DLD VALUE * JSB R.OUT * * ƒÕþú VALUE - REAL VALUE TO BE CONVERTED TO ASCII (ABS VALUE * MUST BE < 99.999999 TO AVOID FORMAT OVRFLO) * CHARS WILL BE IN BUFFER "R.B" * * R.V BSS 2 R.OUT NOP DST R.V SAVE VALUE SSA,RSS < 0? JMP R.POS NO - NO MINUS SIGN CLA CLB FSB R.V NEGATE VALUE DST R.V SAVE CCA,RSS SET < 0 FLAG R.POS EQU * CLA CLEAR < 0 FLAG STA R.M? SAVE < 0 FLAG LDA BL.NK GET BLANK LDB .DOT. GET DEC PT STA R.B RESTORE BUFFER STB R.B+1 : STA R.B+2 : STA R.B+3 : STA R.B+4 : DLD R.V GET VALUE FSB R.MAX SUBTRACT MAX SSA,RSS > MAX? JMP R.BAD YES - BAD DLD R.V GET VALUE JSB IFIX EXTRACT INTEGER PART STA R.T SAVE INTEGER PART SZA,RSS = 0? JMP R.ZI YES - SKIP CONVERSION LDB R.M? GET < 0 FLAG SSB SET? CMA,INA YES - MAKE SURE TO GET "-" JSB I.OUT CONVERT INTEGER PART JSB CMOVE MOVE TO BUFFER DEC 4 AI.B DEF I.B DEC 1 AR.B DEF R.B D3 DEC 3 R.ZR EQU * LDA R.T GET INTEGER PART JSB FLOAT FLOAT DST R.T SAVE DLD R.V GET VALUE FSB R.T SUBTRACT INTEGER PART FMP D.1K MULTIPLY BY 1000 DST R.V SAVE AS VALUE JSB IFIX EXTRACT NEXT 3 DIGITS STA R.T SAVE JSB I.OUT CONVERT JSB CMOVE PUT CHARS IN BUFFER DEC 4 DEF I.B DEC 5 DEF R.B DEC -3 TURN BLANKS TO ZEROES LDA R.T GET 3 DIGITS JSB FLOAT FLOAT DST R.T SAVE DLD R.V GET VALUE FSB R.T SUBTRACT OUT DIGITS FMP D.1K MULTIPLY BY 1000 FAD ROUND ROUND LAST DIGIT JSB IFIX éþúEXTRACT 3 DIGITS JSB I.OUT CONVERT JSB CMOVE MOVE CHARS TO BUFFER DEC 4 DEF I.B DEC 8 DEF R.B DEC -3 TURN BLANKS TO ZEROES JMP R.OUT,I RETURN R.ZI EQU * LDB R.M? NO INTEGER PART SO SSB,RSS CHECK IF NEED "-" JMP R.ZR NO "-" NEEDED LDA D3 LDB AR.B GET BUFFER ADDR JSB CSTOR STORE "-" OCT 55 JMP R.ZR FINISH FRACTION R.BAD EQU * FORMAT OVERFLOW LDA DM10 SET UP LOOP STA I.CNT TO STORE "$" R.BLP EQU * LDA I.CNT GET CHAR # TO CMA,INA STORE INTO LDB AR.B GET BUFFER ADDR JSB CSTOR STORE "$" OCT 44 ISZ I.CNT DONE? JMP R.BLP NO - CONTINUE JMP R.OUT,I RETURN .DOT. ASC 1, . BL.NK ASC 1, R.M? NOP R.T NOP NOP R.MAX DEC 99.999999 ROUND DEC .5 D.1K DEC 1000. R.B ASC 5,XXX.XXXXXX SKP * CHARACTER MOVE * * JSB CMOVE * DEC FOFST * DEF FBUFR * DEC SOFST * DEF SBUFR * DEC NUMBR * * FOFST - FETCH CHARACTER OFFSET * FBUFR - FETCH BUFFER ORIGIN * SOFST - STORE CHARACTER OFFSET * SBUFR - STORE BUFFER ORIGIN * NUMBR - # OF CHARS TO MOVE (IF < 0 OR ALL * MOVED CHARS WITH "0") * * FOFST NOP FBUFR NOP SOFST NOP SBUFR NOP CMOVE NOP LDA CMOVE,I GET FETCH BUFFER OFFSET STA FOFST SAVE ISZ CMOVE POINT TO NEXT PARAM LDA CMOVE,I GET FETCH BUFFER ADDR STA FBUFR SAVE ISZ CMOVE POINT TO NEXT PARAM LDA CMOVE,I GET STORE BUFFER OFFSET STA SOFST SAVE ISZ CMOVE POINT TO NEXT PARAM LDA CMOVE,I GET STORE BUFFER ADDR STA SBUFR SAVE ISZ CMOVE POINT TO NEXT PARAM LDA CMOVE,I GET COUNT CLB SSA CHECK FOR "OR" OPTION CCB SE ùþúT "OR" OPTION FLAG STB C.FLG SAVE FLAG SSA,RSS IF NO "OR" OPTION CMA,INA NEGATE COUNT STA CCNTR SAVE ISZ CMOVE ADJUST RETURN ADDR MLOOP EQU * LDA FOFST GET FETCH OFFSET LDB FBUFR AND BUFFER ADDR JSB CFTCH FETCH CHARACTER LDB C.FLG GET "OR" OPTION FLAG SSB SET? IOR B60 YES - OR STA M.CHR SAVE FOR STORE LDA SOFST GET STORE OFFSET LDB SBUFR AND BUFFER ADDR JSB CSTOR STORE CHARACTER M.CHR NOP ISZ FOFST BUMP FETCH OFFSET ISZ SOFST BUMP STORE OFFSET ISZ CCNTR DONE? JMP MLOOP NO - CONTINUE JMP CMOVE,I RETURN C.FLG NOP CCNTR NOP SKP * CHARACTER FETCH * * LDA OFSET * LDB BUFR * JSB CFTCH * * BUFR - CHARACTER BUFFER * OFSET - CHARACTER NUMBER (FIRST IS 1) * CFTCH NOP CLE,ELB SHIFT TO MAKE CHAR ADDR ADA DM1 ADJUST OFFSET ADB A COMPUTE CHAR ADDR CLE,ERB COMPUTE WORD ADDR LDA B,I GET WORD WITH CHAR SEZ,RSS HI OR LO NEEDED? ALF,ALF HI NEEDED AND LOWER MASK JMP CFTCH,I RETURN SKP * CHARACTER STORE * * LDA OFSET * LDB BUFR * JSB CSTOR *CHAR NOP (SET TO CHARACTER) * * CHAR - CHARACTER TO STORE * BUFR - BUFFER TO STORE INTO * OFSET - CHARACTER NUMBER (FIRST IS 1) * * CSTOR NOP CLE,ELB SHIFT TO MAKE CHAR ADDR ADA DM1 ADJUST OFFSET ADB A COMPUTE CHAR ADDR CLE,ERB COMPUTE WORD WITH CHAR LDA LOWER FETCH MASK AND CSTOR,I MASK CHAR TO STORE SEZ,RSS HI OR LO CHAR ALF,ALF HI CHAR STA TEMP SAVE LDA LOWER GET MASK SEZ MASK OUT LO OR HI CHAR? ALF,ALF MASK OUT LO CHAR AND B,I IOR „+þúTEMP PUT IN NEW CHAR STA B,I STORE IT ISZ CSTOR ADJUST RETURN ADDR JMP CSTOR,I RETURN * LOWER OCT 377 TEMP NOP SKP * CHARACTER STRING READER * * * LDA CMIN * LDB AMESS * JSB CREAD * * CMIN - MINIMUM NUMBER OF CHARS THAT MUST BE READ * AMESS - MESSAGE ADDRESS (OR 0) * * CMESS NOP CMIN NOP CREAD NOP READ CHARACTER STRING STA CMIN SAVE MINIMUM READ LENGTH STB CMESS STORE PROMPT MESSAGE ADDR READ EQU * LDB CMESS GET MESSAGE ADDR SSB CHECK FOR NO PROMPT JMP NOPMT NO PROMPT LDA LU.IN \ LDB CMESS PROMPT W/SPECIFIED MESSAGE JSB PRMPT / NOPMT EQU * LDA DM40 SET UP STA CTEMP TO BLANK LDA BLANK INPUT LDB AINBF BUFFER CLEAR EQU * \ STA B,I \ INB BLANK INPUT BUFFER ISZ CTEMP / JMP CLEAR / LDA LU.IN READ DEVICE IOR BIT08 WITH ECHO STA CLU JSB EXEC CALL EXEC TO DO READ DEF *+5 DEF D1 DEF CLU DEF INBFR DEF DM80 READ UP TO 80 CHARS STB T.LOG SAVE T-LOG (# OF CHARS) STA TEMP SAVE STATUS LDA LU.IN JSB DVR FIND OUT DVR TYPE LDB A PUT RESULT IN (B) LDA BIT05 SET UP TO CHECK BIT 5 CPB D1 DVR01? CLB YES-SAME AS DVR00 CPB D5 DVR05? CLB YES-SAME AS DVR00 SZB FOR DVR00 CHECK BIT 5 LDA BIT07 FOR OTHERS CHECK BIT 7 AND TEMP MASK EOF BIT IN STATUS SZA,RSS CHECK FOR EOF JMP NOEOF NO EOF JSB POPLU ON EOF POP LU STACK JMP READ & READ FROM NEW LU NOEOF EQU * LDA T.LOG FETCH # OF CHARS READ STRIP EQU * STRIP TRAILING BLANKS FR INPUT SZA,RSS IF NO CHø-þúARS JMP READ THEN REREAD LDA T.LOG LDB AINBF JSB CFTCH FETCH LAST CHAR IN LINE CPA BIT05 COMPARE FOR BLANK RSS BLANK SO DELETE JMP FDLET NOT BLANK SO DELETE DONE CCA \ ADA T.LOG DELETE CHARACTER STA T.LOG / JMP STRIP CHECK NEXT CHARACTER FDLET EQU * LDA LU.IN FETCH INPUT LU CPA LU.FB COMPARE TO ECHO LU JMP CKSTR EQUAL SO NO ECHO LDA T.LOG GET NUMBER OF CHARS CMA,INA NEGATE STA CTEMP STORE AS OUTPUT COUNT JSB EXEC CALL EXEC TO OUTPUT ECHO DEF *+5 DEF D2 DEF LU.FB DEF INBFR DEF CTEMP CKSTR EQU * LDA INBFR CHECK CHAR 1 AND UPPER FOR A CPA STAR STAR "*" JMP READ STAR = COMMENT SO IGNORE LDA CMIN CHECK FOR CMA,INA MINIMUM ADA T.LOG # OF CHARACTERS SSA IN READ JMP RREAD < MIN SO ERROR JMP CREAD,I RETURN RREAD EQU * JSB ?? PRINT ERROR MESSAGE "??" JMP READ AND READ AGAIN * CLU NOP T.LOG NOP CTEMP NOP DM40 DEC -40 BIT05 OCT 40 BIT07 OCT 200 BIT08 OCT 400 UPPER OCT 177400 STAR OCT 25000 D1 DEC 1 B7 OCT 7 B17 OCT 17 B37 OCT 37 BLANK OCT 20040 SPC 5 * POP LU STACK * * JSB POPLU * * POPLU NOP POP LU FROM LU STACK LDA LUSTK GET LUSTK SSA IF < 0 (EMPTY) LDA LU.FB THEN POP TO FALLBACK LU STA LU.IN SET NEW LU CCB STB LUSTK MARK STACK EMPTY JSB DVR IS NEW LU A KEYBOARD? CPA D5 DVR05 SAME AS DVR00 CLA LDB LU.IN GET NEW LU SZA IF KEYBOARD JMP POPLU,I RETURN LDA LU.FB SAVE FALLBACK LU STB LU.FB THEN MAKE FALLBACK LU NEW CPA LU.PO LIST LU SAME AS FB? STB LU.PušþúO YES - SET LIST LU NEW ALSO JMP POPLU,I RETURN SKP * PROMPT AND MESSAGE PRINTER * * * LDA LU * LDB AMESS * JSB PRMPT * * LU - DEVICE TO OUTPUT TO (IF < 0 THEN NO * DRIVER TYPE CHECK) * AMESS - MESSAGE ADDRESS (OR 0) * * PLU NOP PMESS NOP PRMPT NOP STA PLU SAVE LU TO PROMPT SZB,RSS IF MESSAGE ADDR = 0 LDB APRMT THEN USE NORMAL COMMAND PROMPT STB PMESS SAVE MESSAGE ADDR SSA CHECK FOR UNCONDITIONAL OUTPUT JMP UNCND SKIP DRIVER TYPE CHECK JSB DVR CHECK DRIVER TYPE CPA D5 DVR05 SAME AS DVR00 CLA : SZA IF NOT DVR00 JMP PRMPT,I THEN DON'T PROMPT MSGLK EQU * LDA PMESS,I GET MESSAGE LENGTH STA PLEN SAVE ISZ PMESS POINT TO MESSAGE CHARS JSB EXEC CALL EXEC TO OUTPUT MESSAGE DEF *+5 DEF D2 DEF PLU DEF PMESS,I DEF PLEN JMP PRMPT,I RETURN UNCND EQU * OUTPUT TO LU UNCONDITIONAL CMA,INA SET LU POSITIVE STA PLU SAVE JMP MSGLK LOOK UP MESSAGE PLEN NOP APRMT DEF *+1 DEC -2 PRMT ASC 1,>_: SKP * DRIVER TYPE EXTRACTER * * * LDA LU * JSB DVR * * * LU - LOGICAL UNIT OF DRIVER * * DLU NOP DVR NOP STA DLU SAVE LU JSB EXEC FETCH EQT5 DEF *+4 DEF D13 DEF DLU DEF DLU LDA DLU GET EQT5 ALF,ALF MOVE DRIVER CODE TO LOW HALF AND B77 MASK JMP DVR,I RETURN B77 OCT 77 D13 DEC 13 SKP * ERROR PRINTER * * JSB ?? * * ?? NOP ENTRY ERROR MESSAGE PRINTER LDA LU.FB GET FALLBACK DEVICE LU LDB .??. GET ADDR OF ERROR MESSAGE JSB PRMPT OUTPUT ERROR MESSAGE JMP ??,I RETURN .??. DEF T‘þú*+1 DEC -2 ASC 1,?? SKP * BOX,CARD,CHANL,GAIN GETTER, CHECKER AND ASSEMBLER * * LDB INDEX * JSB BCCG * (ABORT RETURN) * : * * INDEX - MODE SETTER 1 = BOX,CARD * 2 = BOX,CARD,CHANL * 3 = BOX,CARD,CHANL,GAIN * 4 = BOX,CARD,GAIN * 5 = BOX,CARD,CHANL (DAC) * * INDEX NOP BCCG NOP STB INDEX SAVE MODE CPB D5 MODE 5 LDB D2 SAME AS MODE 2 ADB AM LOOKUP MESSAGE LDB B,I LDA D2 READ AT LEAST 2 CHARS JSB CREAD READ INPUT LDA IMAX GET MAX INTEGER STA FF1 STA FF2 STA FF3 CLA STA FF4 STA FF4+1 LDB INDEX FETCH MODE CLA PREPARE TO READ ALL 4 VARIABLES CPB D4 CCA IF MODE=4 READ ONLY 3 VARIABLES JSB FFIN CONVERT INPUT LDA FF1 GET FIRST PARAM IOR FF2 OR IN SECOND SSA CHECK FOR <0 JMP BCCG,I LDA FF1 GET FIRST PARAM CMA,INA NEGATE ADA D7 CHECK FOR >7 SSA JMP RREAD >7 LDA FF2 GET SECOND PARAM CMA,INA NEGATE ADA D11 CHECK FOR >11 SSA JMP RREAD >11 CLB LDA INDEX FETCH MODE CPA D1 IF MODE = 1 STB FF3 SET CHANL = 0 LDB FF1 ADB FF2 IF BOX+CARD SZB,RSS =0 THEN JMP RREAD ERROR CPA D1 IF MODE=1 JMP RTN3 THEN DONE CLB CPA D4 IF MODE=4 STB FF3 SET CHANL=0 CPA D4 JMP ONLY3 LDB FF3 FETCH THIRD PARAM SSB IF < 0 JMP BCCG,I THEN ABORT CPA D5 DAC? JMP .DAC YES CMB,INB NEGATE ADB D31 CHECK FOR >31 ó¶þúSSB IF CHANL >31 JMP RREAD THEN ERROR CPA D2 JMP RTN3 ONLY3 EQU * LDA FF4 FETCH GAIN MSB'S SSA CHECK SIGN JMP BCCG,I ABORT IF < 0 LDB FF4+1 GET LSB'S * CHECK FOR VALID GAIN STB RGAIN SAVE EXPONENT LDB DM4 SET COUNT TO 4 STB TEMP FOR LOOP CPA MANT1 COMPARE WITH MANTISSA 1? JMP GT100 YES - > 100 CPA MANT2 COMPARE WITH MANTISSA 2? JMP LT125 YES - < 125 BADGN EQU * CCA BAD GAIN - RETURN -1 JMP CHKD GT100 EQU * CCA LDB B26 LOOPX EQU * INA BUMP GAIN CODE ADB DM2 SUBTRACT 2 FROM EXPONENT CPB RGAIN EXPONENTS COMPARE? JMP CHKD YES - RETURN GAIN CODE ISZ TEMP CHECK FOR 4 TIMES JMP LOOPX NOT DONE - TRY NEW EXPONENT JMP BADGN NO EXPONENT COMPARE - BAD LT125 EQU * LDB B20 LDA D3 JMP LOOPX CHKD EQU * SSA IF BAD GAIN JMP RREAD THEN ERROR LDB A SAVE GAIN CODE IN B RSS RTN3 EQU * LDB D8 IF NO GAIN SET GAIN CODE TO 8 LDA FF1 FETCH BOX AND B7 MASK ALF,ALF SHIFT RAL,RAL SHIFT STA TEMP SAVE IT LDA FF2 FETCH CARD AND B17 MASK ALF,RAL SHIFT IOR TEMP COMBINE WITH BOX STA TEMP SAVE IT LDA FF3 FETCH CHANL AND B37 MASK IOR TEMP COMBINE WITH BOX AND CARD ISZ BCCG JMP BCCG,I RETURN .DAC EQU * CMB,INB NEGATE INB ONLY 0 OR 1 SSB ALLOWED JMP RREAD BAD LDA FF3 GET CHANL ALF ADJUST TO BIT 4 STA FF3 SAVE JMP RTN3 AM DEF * DEF M10+1 DEF M12+1 DEF M20+1 DEF M6+1 MANT1 OCT 76400 MANT2 OCT 62000 B26 þú OCT 26 B20 OCT 20 DM4 DEC -4 RGAIN NOP SKP * PACER PARAMETER FETCHER * * LDA ADDR * JSB PPRAM * (ABORT RETURN) * : * * ADDR - ADDRESS OF PACER PARAMETER LIST * (EXTSS,PACER,PRATE,PMULT) * * PLST NOP PPRAM NOP STA PLST SAVE PARAM POINTER CLB INA STB A,I CLEAR PACER CONDITION LDA D2 READ AT LEAST 2 CHARS LDB M7 PROMPT W\MESSAGE 7 JSB CREAD READ REPLY LDA IMAX FETCH MAX INTEGER STA FF1 SET FIRST PARAM STA FF2 SET SECOND PARAM INVALID JSB FFIN CONVERT REPLY LDA FF1 FETCH FIRST PARAM IOR FF2 AND SECOND SSA CHECK FOR < 0 JMP PPRAM,I ABORT IF < 0 LDA FF1 GET FIRST PARAM CMA,INA NEGATE ADA D255 CHECK FOR > 255 SSA JMP RREAD > 255 SO ERROR LDA FF2 F ETCH SECOND PARAM CMA,INA NEGATE ADA D7 CHECK FOR > 7 SSA JMP RREAD >7 SO ERROR LDB M8 PROMPT W/MESSAGE 8 JSB QYNA GET ANSWER SZA,RSS CHECK FOR AB JMP PPRAM,I ABORT CLB SSA CHECK FOR YE CCB YE STB PLST,I SET EXTSS CCB ISZ PLST STB PLST,I SET PACER CONDITION ISZ PLST BUMP POINTER LDA FF1 FETCH PRATE STA PLST,I SET PRATE ISZ PLST BUMP POINTER LDA FF2 FETCH PMULT STA PLST,I SET PMULT ISZ PPRAM JMP PPRAM,I RETURN SKP * CONVERT 2313 READINGS TO VOLTS * * DLD GAINA * DST RG1 * DLD GAINB * DST RG2 * LDA COUNT * LDB VOLTS * JSB CNVRT * (PACE ERROR RETURN) * : * * GAINA - GAIN FOR CHANL 1 * RG1 - STORE FOR GAIN1 * GAINB - GAIN FOR CHANL 2 * RG2 - STORE FOR GAIN2ñaÿÿÿÿÿÿÿÿþúUMBER OF READINGS TO TAKE * OFSET - OFSET IN DATA BUFFER TO STORE READINGS * * MPX NOP LDA MPX,I GET MODE ADDR STA !MODE STORE IN CALL ISZ MPX POINT TO NEXT PARAM LDA MPX,I GET CHANL ADDR ADDR STA !CHNL STORE IN CALL LDB A,I GET CHANL ADDR STB .CHNL SAVE INA POINT TO SECOND CHANL ADDR LDB A,I GET SECOND CHANL ADDR STB .CH2 SAVE ISZ MPX POINT TO NEXT PARAM LDA MPX,I GET GAIN ADDR LDB A,I GET GAIN STB .GAIN SAVE INA POINT TO SECOND GAIN LDB A,I GET SECOND GAIN STB .GN2 SAVE ISZ MPX POINT TO NEXT PARAM LDA MPX,I GET PACER PARAM ADDR STA P.SET SAVE INA POINT TO PACER FLAG LDA A,I GET PACER FLAG STA .PCR SAVE ISZ MPX POINT TO NEXT PARAM LDA MPX,I GET NUMBER OF READINGS STA !CNT STORE FOR CALL ISZ MPX POINT TO NEXT PARAM LDA MPX,I FETCH DATA OFFSET ADA ADATA CALCULATE BUFFER ADDR STA .DATA STORE IN CALL ISZ MPX ADJUST RETURN ADDR MPXRP EQU * LDA LAD GET LAD FLAG AND .SS AND SEQUENTIAL SCAN FLAG SSA,RSS BOTH? JMP SGMPX NO - DON'T SET LAD MPXLD EQU * TURN ON LAD LDA LU.SS USE CMA,INA NEGATIVE STA XTEMP LU JSB A2313 CALL I/F TO TURN ON LAD DEF *+6 DEF XTEMP DEF RETRN DEF DM1 DEF LADAD DEF LSTCH CLA CHECK JSB C2313 I/F CALL JMP MPXLD ERROR JMP MPXRP ERROR SGMPX EQU * GAIN? LDA GAIN GET GAIN FLAG SSA,RSS GAIN? JMP RPMPX NO - DON'T PROGRAM GAIN LDA LU.SS USE CMA,INA NEGATIVE LDB G.ON LU JSB SETGÕýþúN PROGRAM 1 ST CH GAIN DEF MPXRP LDA !MODE GET MODE ADDR LDA A,I GET MODE CPA D1 IF RANDOM RSS MUST BE 2 CH JMP RPMPX NOT 2 CH LDA LU.SS USE CMA,INA NEGATIVE LDB G.ON2 LU JSB SETGN PROGRAM 2 ND CH GAIN DEF MPXRP RPMPX EQU * LDA .PCR GET PACER FLAG SSA,RSS PACER? JMP RRSS NO - DON'T REPROGRAM LDA P.SET,I GET EXTSS FLAG SSA IF SET JMP PRXTN THEN DON'T PREPROGRAM PACER (EXTSS) LDA LU.SS USE CMA,INA NEGATIVE LDB P.ON LU CMB,INB JSB STPCR PREPROGRAM DEF MPXRP PRXTN EQU * (EXTSS) LDA LU.SS USE CMA,INA NEGATIVE LDB P.SET LU JSB STPCR PROGRAM PACER TO FINAL VALUES DEF MPXRP RRSS EQU * LDB LU.SS LDA LAD IF LAD AND .SS AND SEQUENTIAL IOR .PCR OR PACER SSA CMB,INB THEN USE -LU : THIS IS NOT LAST CALL STB XTEMP JSB R2313 CALL I/F FOR READINGS DEF *+9 DEF XTEMP DEF RETRN DEF .PCR !MODE NOP !CHNL NOP DEF !CNT .DATA NOP DEF DIFF CLA \ LDB XTEMP \ SSB,RSS CHECK I/F RETURN CODE INA / JSB C2313 / JMP RRSS ERROR JMP MPXRP ERROR LDA DELAY DELAY? SSA,RSS JMP CKLAD NO LDA DCNTR SAVE DELAY COUNTER DLYLP LDB MSEC GET 1 MSEC COUNTER ISZ B \ JMP *-1 \ EXECUTE ISZ DCNTR / DELAY JMP DLYLP / STA DCNTR RESTORE DELAY COUNTER CKLAD LDA LAD IF LAD AND .SS AND SEQUENTIAL SSA,RSS : JMP POFF NO - SKIP LAD TURNOFF LDB LU.SS TURN«þú OFF LAD LDA .PCR BUT CHECK FOR PACER SSA IF PACER THIS IS NOT LAST CALL CMB,INB STB XTEMP LADOF EQU * JSB A2313 CALL I/F TO TURN OFF LAD DEF *+6 DEF XTEMP DEF RETRN DEF ZERO DEF LADAD DEF ZERO CLA \ LDB XTEMP \ SSB,RSS CHECK I/F RETURN CODE INA / JSB C2313 / JMP LADOF ERROR JMP MPXRP ERROR POFF EQU * LDA .PCR IF SSA,RSS PACER JMP MPX,I NO - DONE SO RETURN LDA LU.SS LDB P.OFF CMB,INB JSB STPCR TURN OFF PACER DEF MPXRP JMP MPX,I !CNT NOP P.SET NOP P.ON DEF *+1 NOP .PCR NOP DEC 10 DEC 3 P.X NOP G.ON DEF *+1 .CHNL NOP .GAIN NOP P.OFF DEF *+1 NOP NOP NOP NOP G.ON2 DEF *+1 .CH2 NOP .GN2 NOP MSEC DEC -450 MUST LOOP 450 TIMES FOR FASTEST * COMPUTER: F-SERIES W\HP MEMORY SKP * DAC DATA GETTER * * JSB DDATA * (ABORT RETURN) * * DATA WORD RETURNED IN (A) * * DDATA NOP LDB M30 PROMPT WITH MESSAGE 30 JSB RFFIN GET DATA VALUE DST VALUE SAVE DLD DCMAX GET MAX FSB VALUE IF DATA SSA > 10.235 JMP DDATA,I ABORT DLD VALUE GET DATA FSB DCMIN IF DATA SSA < -10.240 JMP DDATA,I ABORT DLD VALUE CONVERT VALUE FDV CVOLT TO BITS JSB IFIX FIX AND DDMSK MASK JUNK ISZ DDATA ADJUST RETURN ADDR JMP DDATA,I RETURN DDMSK OCT 177760 SKP RFFIN NOP CLA,INA \ JSB CREAD / CLA,INA \ LDB AINBF \ JSB .FFB. CONVERT DATA JSB .FFR. / JMP RFFIN,I / NOP JMP RREAD SPC 5 ¼îþúDCMAX DEC 10.235 DCMIN DEC -10.240 CVOLT DEC .0003125 SKP .CNVT NOP OUTPUT 1 DAC DATA POINT CN.VT EQU * JSB D2313 CALL I/F ROUTINE TO OUTPUT DEF *+8 DEF LU.SS DEF RETRN DEF ZERO DEF ZERO DEF CHNL1 DEF D1 DEF GAIN1 CLA,INA CHECK JSB C2313 I/F RETURN CODE JMP CN.VT ERROR JMP CN.VT ERROR JMP .CNVT,I SKP * DAC OUTPUT * * LDA MODE * LDB RDGS * JSB .DAC. * * MODE - DAC MODE * RDGS - NUMBER OF POINTS TO OUTPUT * * .DAC. NOP STA !MODE SAVE MODE STB !CNT SAVE # DACRP EQU * LDA DPACR GET PACER FLAG SSA,RSS PACER? JMP .CVT. NO PACER LDA DXTSS GET EXTERNAL START/STOP FLAG IOR .SICH SINGLE CHANL IOR .ALT ALTERNATE IOR .RAN RANDOM SSA ANY SET? JMP .XTRN YES - NO PACE DELAY LDA LU.SS USE CMA,INA NEGATIVE LU LDB P.ON CHANGE PACE CMB,INB IMMEDIATE JSB STPCR TURN ON PACER DEF DACRP .XTRN EQU * LDA LU.SS USE CMA,INA NEGATIVE LU LDB DACPP CHANGE PACE ON NEXT PULSE JSB STPCR REPROGRAM PACER DEF DACRP .CVT. EQU * LDA DPACR GET PACER FLAG LDB LU.SS GET LU SSA IF PACER CMB,INB USE NEGATIVE LU STB XTEMP SAVE LU JSB D2313 CALL I/F TO OUTPUT POINTS DEF *+8 DEF XTEMP DEF RETRN DEF DPACR DEF !MODE DEF CHNLS DEF !CNT DEF DATA CLA \ LDB XTEMP \ SSB,RSS CHECK I/F RETURN CODE INA / JSB C2313 / JMP .CVT. ERROR JMP DACRP ERROR LDA DPACR GET PACER FLAG SSA,RSS PACER? JMP .DAC.,I NO - DONE »ôþú LDA LU.SS LDB P.OFF CMB,INB TURN OFF IMMEDIATE JSB STPCR TURN OFF PACER DEF DACRP JMP .DAC.,I RETURN SKP * MPX GAIN SETTER * * LDA SSLU * LDB PRMAD * JSB SETGN * DEF BAD * * SSLU - SUBSYSTEM LU * PRMAD - ADDR OF PARAMETER TABLE * (CHANL,GAIN) * BAD - RETURN ADDR TO REPEAT ALL I/F CALLS * * SETGN NOP STA ST.LU SAVE LU STB G.ADR SAVE CH ADDR INB FIND GAIN ADDR STB G.COD SAVE GAIN ADDR CLB \ SSA,RSS SET EXPECTED RETURN CODE INB / STB P.X SAVE LDA SETGN,I FETCH REPEAT ALL ADDR STA BRTN1 SAVE G. EQU * JSB A2313 CALL I/F TO PROGRAM GAIN DEF *+6 DEF ST.LU DEF RETRN DEF ZERO G.ADR NOP G.COD NOP LDA P.X GET EXPECTED RETURN CODE JSB C2313 CHECK I/F RETURN CODE JMP G. ERROR JMP BRTN1,I ERROR ISZ SETGN ADJUST RETURN ADDR JMP SETGN,I RETURN BRTN1 NOP SKP * PACER SETTER * * LDA SSLU * LDB PRMAD * JSB STPCR * DEF BAD * * SSLU - SUBSYSTEM LU * PRMAD - ADDRESS OF PACER PARAM TABLE * (IF < 0 THEN IMMED PACE CHANGE OTHERWISE * CHANGE ON NEXT PACE PULSE) * (EXTSS,PACER,PRATE,PMULT) * BAD - RETURN ADDR TO REPEAT ALL I/F CALLS * * STPCR NOP STA ST.LU SAVE LU LDA AZERO SET FOR IMMED. PACE CHANGE SSB,RSS IF > 0 THEN LDA ADM1 NEXT PACE CHANGE STA PCHNG SAVE SSB IF < 0 CMB,INB NEGATE STB P.XSS SAVE EXTSS FLAG ADDR ADB D2 FIND PACE RATE ADDR STB P.RAT SAVE INB FIND PACE MULTIPLIER ADDR STB P.MLT SAVE LDA ST.LU GET LU FOR TEST CLB xQþú \ SSA,RSS SET EXPECTED RETURN CODE INB / STB P.X SAVE LDA STPCR,I GET REPEAT ALL ADRR STA BRTN1 SAVE P. EQU * JSB P2313 CALL I/F TO PROGRAM PACER DEF *+8 DEF ST.LU DEF RETRN PCHNG NOP P.XSS NOP P.RAT NOP P.MLT NOP DEF ZERO LDA P.X GET EXPECTED RETURN CODE JSB C2313 CHECK I/F RETURN CODE JMP P. ERROR JMP BRTN1,I ERROR ISZ STPCR ADJUST RETURN ADDR JMP STPCR,I RETURN SPC 5 ST.LU NOP ZERO DEC 0 ADM1 DEF DM1 AZERO DEF ZERO SKP * STATISTICS CALCULATOR * * LDA NUMBR * LDB MODE * JSB STATS * * NUMBR - NUMBR OF VALUES IN BUFFER * MODE - =0 SINGLE CHANNEL * =1 TWO CNANNEL CHANNEL 1 * =2 TWO CHANNEL CHANNEL 2 * * ASSUMED ON CALL THAT LSTDV IS SET UP * * SCNTR NOP STEP NOP STATS NOP STA SCNTR SAVE COUNT CLA,INA SZB IF 2 CH MODE INA STA STEP THEN STEP SIZE IS 2 ELSE 1 CLA,INA CPB D2 IF 2 CH INA STA CTEMP THEN START VALUE IS VALUE 2 STA TEMP CLA \ STA RMS \ STA RMS+1 ZERO RMS STA AVG AND AVERAGE STA AVG+1 / STA CNTR1 / DLD RMAXP SET LO TO DST LO MAX POSITIVE DLD RMAXN SET HI TO DST HI MAX NEGATIVE LDA CTEMP LOOK UP ALS FIRST DATA ADA ADTA2 VALUE AND DLD A,I USE FOR DST BIAS BIAS STAT1 EQU * SUMMING LOOP FOR AVERAGE ISZ CNTR1 BUMP VALUE COUNTER LDA CTEMP GET DATA VALUE ALS : ADA ADTA2 : DLD A,I : DST VALUE SAVE FSB LO SSA,RSS VALUE < LO? JMP $LOOK NO jÒþúDLD VALUE YES - MAKE LO DST LO = VALUE $LOOK EQU * DLD HI FSB VALUE SSA,RSS VALUE > HI? JMP $HIOK NO DLD VALUE MAKE HI DST HI = VALUE $HIOK EQU * DLD VALUE FETCH VALUE FSB BIAS SUBTRACT OUT BIAS FAD AVG ADD TO SUM DST AVG SAVE SUM LDA CTEMP GET DATA SUBSCRIPT ADA STEP ADD STEP STA CTEMP SAVE CMA,INA \ ADA SCNTR DONE? SSA,RSS / JMP STAT1 NO - CONTINUE LDA CNTR1 CONVERT VALUE JSB FLOAT COUNT TO REAL DST VALUE SAVE FOR DIVIDE DLD AVG GET SUM FDV VALUE DIVIDE FAD BIAS ADD BIAS TO GET AVERAGE DST AVG SAVE FOR PRINT STAT2 EQU * LOOP TO FIND RMS LDA TEMP GET DATA VALUE ALS : ADA ADTA2 : DLD A,I : FSB AVG SUBTRACT AVERAGE DST BIAS SAVE DEVIATION FMP BIAS SQUARE DEVIATION FAD RMS ADD TO SUM DST RMS SAVE SUM LDA TEMP GET DATA SUBSCRIPT ADA STEP ADD STEP STA TEMP SAVE CMA,INA \ ADA SCNTR DONE? SSA,RSS / JMP STAT2 NO - CONTINUE DLD RMS FETCH SUM FDV VALUE DIVIDE BY COUNT JSB SQRT TAKE SQ ROOT TO FIND RMS HLT 0 : DST RMS SAVE FOR PRINT DLD HI TAKE HI FSB LO - LO DST PTOP = PEAK TO PEAK * OUTPUT DLD AVG GET AVERAGE DST FMTO1 SAVE LDA D6 \ LDB AFRMT CONVERT JSB FMTOT / DLD PTOP GET PEAK TO PEAK DST FMTO1 SAVE LDA D20 \ LDB AFRMT CONVERT JSB FMTOT / DLD HI GET HI DST FMTO1 SAVE LDA D34 \ LDB AFRMT CONVERT JSB FM¾7þúTOT / DLD LO GET LO DST FMTO1 SAVE LDA D48 \ LDB AFRMT CONVERT JSB FMTOT / DLD RMS GET RMS DST FMTO1 SAVE LDA D63 \ LDB AFRMT CONVERT JSB FMTOT / JSB CMOVE MOVE TO OUTPUT BUFFER DEC 1 AFRMT DEF FORMT DEC 1 DEF INBFR DEC 72 LDA DM72 JSB LISTO OUTPUT RESULTS ON LIST DEVICE JMP STATS,I AVG NOP NOP BIAS NOP NOP RMS NOP NOP RMAXP OCT 77777,177776 RMAXN OCT 100000,000376 DM72 DEC -72 D20 DEC 20 D34 DEC 34 D48 DEC 48 D63 DEC 63 HI NOP NOP LO NOP NOP PTOP NOP NOP VALUE NOP NOP FORMT ASC 18, AVG=XXXXXXXXXX PP=XXXXXXXXXX HI=XXX ASC 18,XXXXXXX LO=XXXXXXXXXX RMS=XXXXXXXXXX HED HP2313 RTE VERIFICATION -- MESSAGES SKP SUP M5 DEF *+1 DEC -14 ASC 7,NO PACE SIGNAL M6 DEF *+1 DEC -14 ASC 7,BX,CD,GAIN = _: M7 DEF *+1 DEC -15 ASC 8,PERIOD,MULT = _: M8 DEF *+1 DEC -15 ASC 8,EXT STRT/STP? _: M9 DEF *+1 DEC -9 ASC 5,DELAY = _: M10 DEF *+1 DEC -9 ASC 5,BX,CD = _: M11 DEF *+1 DEC -16 ASC 8,START,FINISH = _: M12 DEF *+1 DEC -12 ASC 6,BX,CD,CH = _: M13 DEF *+1 DEC -6 ASC 3,NO = _: M14 DEF *+1 DEC -7 ASC 4,DIFF? _: M15 DEF *+1 DEC -6 ASC 3,1ST CH M16 DEF *+1 DEC -7 ASC 4, 2ND CH M17 DEF *+1 DEC -10 ASC 5,RDGS TAKEN M18 DEF *+1 DEC -11 ASC 6,CH'S/GP = _: M19 DEF *+1 DEC -13 ASC 7,NO OF GPS = _: M20 DEF *+1 DEC -17 ASC 9,BX,CD,CH,GAIN = _: M21 DEF *+1 DEC -7 ASC 4,LAST CH M22 DEF *+1 DEC -18 ASC 9,TRANSMISSION ERROR M24 DEF *+1 DEC -5Kþú ASC 3, FOR: M25 DEF *+1 DEC -12 ASC 6, X=SIN(W1*T) M26 DEF *+1 DEC -14 ASC 7, Y=SIN(W2*T+@) M27 DEF *+1 DEC -7 ASC 4, W1 = _ : M28 DEF *+1 DEC -7 ASC 4, W2 = _ : M29 DEF *+1 DEC -7 ASC 4, @ = _ : M30 DEF *+1 DEC -9 ASC 5, DATA = _ : M31 DEF *+1 DEC -7 ASC 4, 1ST CH HED HP2313 RTE VERIFICATION -- CONSTANTS,STORAGE,EQUATES SKP * CONSTANTS,STORAGE,EQUATES A EQU 0 B EQU 1 W1 EQU VALUE W2 EQU BIAS PHASE EQU AVG TIME EQU RMS DEL.T EQU HI LU.IN NOP CURRENT INPUT LU LU.FB NOP FALLBACK LU (ERRORS & OP MSGS) LU.PO NOP DEFAULT LIST DEVICE LU LU.SS NOP 2313 SUBSYSTEM LU LUSTK DEC -1 1-LEVEL LU STACK FOR TR AD ASC 1,AD \ AL ASC 1,AL \ CL ASC 1,CL \ CO ASC 1,CO \ DA ASC 1,DA \ ER ASC 1,ER \ EX ASC 1,EX \ GR ASC 1,GR COMMAND LI ASC 1,LI MATCH TABLE NO ASC 1,NO / RA ASC 1,RA / RE ASC 1,RE / SE ASC 1,SE / SI ASC 1,SI / TR ASC 1,TR / TW ASC 1,TW / DM10 DEC -10 DM7 DEC -7 DM5 DEC -5 DM2 DEC -2 DM1 DEC -1 D0 DEC 0 D2 DEC 2 D4 DEC 4 D5 DEC 5 D6 DEC 6 D7 DEC 7 D8 DEC 8 D11 DEC 11 D31 DEC 31 B62 OCT 62 D255 DEC 255 D10K DEC 10000 IMAX OCT 77777 MAXIMUM POSITIVE INTEGER INBFR BSS 40 INPUT BUFFER ASC 3,,,,,,, EOF FOR FORMATTER CONVERSIONS QSIZE EQU 100 SETS SIZE OF QUEUE BUFFER Q BSS QSIZE QUEUE BUFFER FOR 2313 CALLS QLEN ABS QSIZE QUEUE BUFFER LENGTH .ADC DEC -1 ADC MODE FLAG RETRN NOP RETURN CODE FROM I/F ROUTINES A! ASC 1,A D! ASC 1,D G! ASC 1,G K! ASC 1,K L! ASC 1,L P! ASC 1,P R! ASC 1,R T! ASC 1,T EA ASC 1,EA B40 OCT 40p°þú ADINT DEF FWINT FWINT EQU * CNTR1 NOP .SICH NOP DAC SINGLE CHANL FLAG .ALT NOP DAC ALTERNATE FLAG .ERS NOP DAC ERASE FLAG .GRP NOP DAC GROUP FLAG .LISA NOP DAC LISSAJOUS FLAG .RAN NOP DAC RANDOM FLAG DELAY NOP ADC DELAY FLAG DREPT NOP DAC REPEAT FLAG DRPOK NOP DAC REPEAT OK FLAG GAIN NOP ADC GAIN FLAG LAD NOP ADC LAD FLAG LADAD NOP ADC LAD ADDR LSTCH NOP ADC LAST CHANL (FOR LAD) LSTOK NOP ADC LIST OK FLAG RPEAT NOP ADC REPEAT FLAG RPTOK NOP ADC REPEAT OK FLAG DCNTR NOP DELAY COUNTER EXTSS NOP ADC EXTERNAL START/STOP FLAG PACER NOP ADC PACER FLAG PRATE NOP ADC PACE RATE PMULT NOP ADC PACE MULTIPLIER DXTSS NOP DAC EXTERNAL START/STOP FLAG DPACR NOP DAC PACER FLAG DPRAT NOP DAC PACE RATE DPMLT NOP DAC PACE MULTIPLIER .SCLD NOP ADC SCALED SEQUENTIAL FLAG .SC NOP ADC SINGLE CHANNEL FLAG .TC NOP ADC TWO CHANNEL FLAG .SS NOP ADC SEQUENTIAL FLAG DIFF NOP ADC DIFFERENTIAL CHANNEL FLAG CHNL1 NOP FIRST CHANL ADDR CHNL2 NOP SECOND CHANL ADDR GAIN1 NOP FIRST CHANL GAIN GAIN2 NOP SECOND CHANL GAIN GRUPS NOP # OF GROUPS FOR SCALD SEQ RDGS NOP # OF READINGS LWINT EQU * INCNT ABS FWINT-LWINT ADCPP DEF EXTSS ADC PACER PARAMETER TABLE DACPP DEF DXTSS DAC PACER PARAMETER TABLE ADTA2 DEF DATA-2 ADATA DEF DATA-1 ACHLS DEF CHNLS-1 AGANS DEF GAINS-1 !DATA EQU * DATA BSS 400 DATA BUFFER CHNLS BSS 200 CHANNEL BUFFER GAINS EQU CHNLS+100 GAINS BUFFER HED HP2313 RTE VERIFICATION -- INITIALIZATION SKP INITL EQU * * FETCH SCHEDULE PARAMS LDA DM5 STA CNTR LDA APRMS STA PNTR PFLP EQU * LDA B,I FETCH PARAM Xþú STA PNTR,I STORE PARAM ISZ PNTR BUMP STORE POINTER INB BUMP FETCH POINTER ISZ CNTR DONE? JMP PFLP NOT DONE - MORE LDB ADPMT STB PRMT CCB STB LUSTK CLEAR LU STACK STB .ADC SET ADC MODE LDB INCNT SET UP LOOP STB CNTR TO CLEAR FLAGS CLB LDA ADINT INLUP EQU * STB A,I CLEAR FLAG INA BUMP ADDR ISZ CNTR DONE? JMP INLUP NOT DONE - CONTINUE LDA PRMS FETCH CONTROL DEVICE LU SZA,RSS IF = 0 CLA,INA THEN DEFAULT TO 1 STA LU.IN SET INPUT DEVICE STA LU.FB SET FALLBACK DEVICE LDB PRMS+1 FETCH LIST DEVICE LU SZB,RSS IF = 0 LDB A THEN DEFAULT TO FALLBACK DEVICE STB LU.PO SET LIST DEVICE LDB PRMS+2 FETCH IMMEDIATE XFER LU SZB,RSS IF = 0 JMP NOITR THEN NO IMMED. XFER * DO IMMEDIATE TRANSFER OF CONTROL STA LUSTK SAVE INPUT LU ON STACK STB LU.IN SET INPUT DEVICE TO NEW LU NOITR EQU * LDA LU.FB FETCH OUTPUT LU LDB M1 OUTPUT MESSAGE 1 JSB PRMPT OUTPUT MESSAGE CLA,INA READ AT LEAST 1 CHAR LDB M2 PROMPT W/MESSAGE 2 JSB CREAD GET REPLY JSB FFIN CONVERT SUBSYSTEM LU LDA FF1 FETCH LU JSB LUCHK CHECK FOR VALIDITY JMP RREAD ERROR JSB DVR FETCH DRIVER TYPE CPA B62 MUST BE 62 RSS JMP RREAD ELSE ERROR LDA FF1 GET LU STA LU.SS SET SUBSYSTEM LU LDB M3 SET FOR MESSAGE 3 JSB QYNA GET REPLY SZA,RSS AB? JMP !TERM AB SO TERMINATE SSA,RSS NO JMP NRML NO SO NORMALIZE LDA LU.FB LDB M4 SET MESSAGE 4 JSB PRMPT OUTPUT DIRECTIONS NRML EQU * JSB B2313 SET UP Q¤AþúUEUE BUFFER DEF *+3 DEF Q DEF QLEN JMP .NO GO NORMALIZE APRMS DEF PRMS PRMS EQU DATA CNTR EQU CHNLS PNTR EQU CHNLS+1 M1 DEF *+1 DEC -35 ASC 18,HP2313 ON-LINE VERIFICATION (1840) M2 DEF *+1 DEC -23 ASC 12,HP2313 LOGICAL UNIT = _: M3 DEF *+1 DEC -18 ASC 9,WANT DIRECTIONS? _: M4 DEF *+1 ABS FM4-SM4 SM4 EQU * ASC 18,ADC: PROMPT ">" 1-200 RDGS TOTAL ASC 18,DAC: PROMPT "<" 1-200 DATA OUTPUTS OCT 6412 ASC 18, DA = CHANGE TO DAC MODE ASC 18, AD = CHANGE TO ADC MODE OCT 6412 ASC 18, EX = TERMINATE VERIFICATION ASC 18, EX = TERMINATE VERIFICATION OCT 6412 ASC 18, TR X = TRANSFER CONTROL TO LU=X ASC 18, TR X = TRANSFER CONTROL TO LU=X OCT 6412 ASC 18, * = COMMENT - IGNORE LINE ASC 18, * = COMMENT - IGNORE LINE OCT 6412 ASC 18, CO = PRINT CURRENT ADC CONDITIONS ASC 18, CO = PRINT CURRENT DAC CONDITIONS OCT 6412 ASC 18, NO = ISSUE SYSTEM NORMALIZE ASC 18, NO = ISSUE SYSTEM NORMALIZE OCT 6412 ASC 18, RE = REPEAT LAST TEST ASC 18, RE = REPEAT LAST TEST OCT 6412 ASC 18, SI W = 1 OR MORE RDGS ON 1 CHNL ASC 18, SI = 1 OR MORE OUTPUTS ON 1 CHNL OCT 6412 ASC 18, TW W = RDGS ON 2 ALTERNATING CHNLS ASC 18, RA = OUTPUT ON SPECIFIED CHNL(S) OCT 6412 ASC 18, SE = RDGS ON SEQUENTIAL CHNLS ASC 18, GR = OUTPUT TO CH GROUPS ON PACE OCT 6412 ASC 18, LI W = LIST DATA BUFFER CONTENTS ASC 18, AL = ALTERNATE OUTPUTS ON 1 CHNL OCT 6412 ASC 18, W = LIST LU FOR TEST RESULTS ASC 18, ER = ERASE SPECIFIED CHNL(S) OCT 6412 ASC 18, SET D OR CLEAR D = ADC DELAY COND ASC 18, LI = PLOT LISSAJOUS PATTERN OCT 6412 ASC 18, SET G OR CLEAR G = ADC GAIN COND ASC 18, SET hnJHDP OR CLEAR P = PAC PACER COND OCT 6412 ASC 18, SET L OR CLEAR L = ADC LAD COND ASC 18, SET R OR CLEAR R = DAC REPEAT COND OCT 6412 ASC 18, SET P OR CLEAR P = ADC PACER COND ASC 18, CLEAR A = CLEAR ALL DAC COND OCT 6412 ASC 18, SET R OR CLEAR R = ADC REPEAT COND OCT 6412 ASC 18, SET K = PROGRAM GAIN IMMEDIATE OCT 6412 ASC 18, CLEAR A = CLEAR ALL ADC COND ASC 18, REPEAT COND CONTINUOUSLY REPEATS OCT 6412 OCT 6412 ASC 18, REPEAT COND CONTINUOUSLY REPEATS FM4 EQU * END INITL uIJÿÿ ÿý;= ÿ02313-18004 1826 S 0122 &4DV62 RTE4 2313B DRIVER DVR62             H0101 ³¯þúASMB,R,L,C HED DVR62F -- 2313B DRIVER FOR RTE-IV SYSTEMS * NAME: DVR62F * SOURCE: 02313-18004 * RELOC: 02313-16004 * * *************************************************************** * * (C) COPYRIGHT HEWLETT-PACKARD COMPANY 1975. ALL RIGHTS * * * RESERVED. NO PART OF THIS PROGRAM MAY BE PHOTOCOPIED, * * * REPRODUCED OR TRANSLATED TO ANOTHER PROGRAM LANGUAGE WITHOUT* * * THE PRIOR WRITTEN CONSENT OF HEWLETT-PACKARD COMPANY. * * *************************************************************** * NAM DVR62F 02313-16004 REV 1826 780403 ENT I.62,C.62 EXT $MATA FIRST PAGE OF USER PARTITION EXT $MPFT FENCE TABLE USED TO FIND * LOWEST LEGAL BUFFER ADDR SPC 2 SPC 2 * ************************************************************ * * * * * THIS DRIVER WILL NOT SUPPORT CLASS I/O * * * * * ************************************************************ SPC 2 * THIS DRIVER OPERATES THE 2313B SUBSYSTEM IN THE RTE-IV * ENVIRONMENT. IT REQUIRES THE USE OF INTERFACE ROUTINES * TO SIMPLIFY OPERATION. IT CAN, HOWEVER, BE CALLED * DIRECTLY BY AN EXEC CALL IF THE USER FOLLOWS THE * FOLLOWING FORMAT: * * FORTRAN: CALL EXEC(ICODE,ICNWD,IQUE,N) * * * * * ASSEMBLY: * * EXT EXEC * . * : * JSB EXEC * DEF *+5 * DEF ICODE * DEF ICNWD * DEF IQUE * DEF N * * . * : * * WHERE: * * ICODE=2 (NORMAL CALLS ASSUME WRITE PATH) * ICNWD=BITS 0-5 ARE THE LOGICAL UNIT # * BIT 6 IS 1 TO SPECIFY DMA NEEDED * (NOT USED FOR REMOTE,I.E.,SUBCHANNEL 1 - SEE BELOW) * IQUE=ADDRESS OF QUEUE BUFFER CONTAINING * ALL OPERATIONS * N=NUMBER OF "ENTRIES" IN IQUE Ú/þú* * * IQUE CONTAINS A NUMBER OF MULTIPLE WORD ENTRIES * WHICH DEFINE OPERATIONS. MOST PRACTICAL USES OF * THE 2313B WILL REQUIRE MORE THAN ONE OPERATION. * ALL OPERATIONS IN IQUE ARE EXECUTED IN ONE CALL * TO THE DRIVER. THIS METHOD PREVENTS ANOTHER * PROGRAM FROM CHANGING SUB-SYSTEM PARAMETERS * DURING RELATED OPERATIONS. SPC 2 * ONE WORD ENTRIES: * * TYPE = 1 ISSUE SYSTEM NORMALIZE (NO DMA) * * TYPE = 2 ISSUE 2930A LOOP ESCAPE (NO DMA) * * THREE WORD ENTRIES: * * TYPE = 3 OUTPUT NUMB WORDS (DMA AVAILABLE - LOCAL ONLY) * NUMB = NUMBER TO OUTPUT * BUFF = ADDRESS OF OUTPUT BUFFER * * TYPE = 4 INPUT NUMB WORDS (DMA AVAILABLE - LOCAL ONLY) * NUMB = NUMBER TO INPUT * BUFF = ADDRESS OF INPUT BUFFER * * FOUR WORD ENTRIES: * * TYPE = 5 OUTPUT THEN INPUT NUMB PAIRS (NO DMA) * NUMB = NUMBER OF OUT-IN PAIRS * OBUF = ADDRESS OF OUTPUT BUFFER * IBUF = ADDRESS OF INPUT BUFFER * * TYPE = 6 OUTPUT NUMB ADRS THEN DATA PAIRS (NO DMA) * NUMB = NUMBER OF OUT-OUT PAIRS * OBF1 = ADDRESS OF CHANNEL BUFFER * OBF2 = ADDRESS OF DATA BUFFER * * TYPE = 7 OUTPUT NUMB CHAN THEN DATA PAIRS (NO DMA) * NUMB = NUMBER OF DATA POINTS TO OUTPUT * CHAN = ADDRESS OF THE CHANNEL NUMBER * OBUF = ADDRESS OF DATA BUFFER * * TYPE = 8 OUTPUT NUMB DATA POINTS SEQUENTIALLY (NO DMA) * NUMB = NUMBER OF DATA POINTS TO OUTPUT * OBF1 = ADDRESS OF 2 WORD BUFF CONTAINING START & END CHAN * OBF2 = ADDRESS OF DATA BUFFER * * TYPE = 9 OUTPUT NUMB ERASE COMMANDS (NO DMA) * NUMB = NUMBER OF DACS TO ERASE * OBUF = ADDRESS OF CHANNEL BUFFER * CMND = ADDRESS OF THE DATA WORD (ERASE) * * ADDITIONAL COMMENTS: * * IN ALL CASES NUMB MUST NOT BE LESS THAN 0. FOR ALL BUT * TYPE 3 NUMB MUST BE GREATER THEN 0. FOR TYPE 3 NUMB * MAY BE 0 TO INDICATE OUTPUT BUT DO NOT ENCODE. * (FOR REMOTE NO OUTPUT WILL BE DONE BU þúT THE WORD WILL * BE SAVED TO BE OUTPUT FOR NEXT ENTRY IF NEEDED.) * * FOR TYPE 3 WITH DMA REQUESTED, DMA WILL BE USED * WHEN NUMB IS GREATER THAN 2. FOR TYPE 4 WITH DMA REQUESTED, * DMA WILL BE USED. DMA IS NEVER USED FOR REMOTE (SUBCHANNEL 1) * * TYPES 3 THROUGH 7 MAKE THIS DRIVER A GENERAL * PURPOSE MICROCIRCUIT I/O CARD DRIVER * (MUST BE SUBCHANNEL 0 -- SEE BELOW) ****************************************************************** * * * THE RTE MUST BE CONFIGURED FOR SUBCHANNEL 0 FOR LOCAL, * * SUBCHANNEL 1 FOR REMOTE. * * * ****************************************************************** SKP ******************************************************************** * * * * * >>>>>>> IMPORTANT NOTE FOR FUTURE MODIFIERS <<<<<<< * * * * * * THIS VERSION OF THE 2313 DRIVER WAS ADAPTED FROM THE RTE-III * * VERSION TO SUPPORT RTE SYSTEMS WITH EXTENDED MEMORY (GREATER * * THAN 32K). THIS VERSION IS COMPATIBLE ONLY WITH RTE IV * * SYSTEMS. THIS DRIVER DOES NOT SUPPORT CLASS I-O CALLS. * * * * * ******************************************************************** SKP ************************ * * * INITIATION SECTION * * * ************************ SPC 2 I.62 NOP JSB CNFGR CONFIGURE ALL I/O INSTRUCTIONS LDA BIT7 FORM MASK CMA TO TURN OFF AND EQT5,I mþú XMSN ERROR STATUS BIT STA EQT5,I AND RESTORE STATUS WORD DLD INTBA,I \ CPA EQT1 \ JMP HVDMA > CHECK FOR DMA ASSIGNED CPB EQT1 / JMP HVDMA / SPC 2 * ** VALID REQUEST CHECK ** SPC 1 LDA EQT1,I GET REQUEST LIST POINTER INA LDB A,I RBL SSB CLASS OR BUFFERED I-O REQUEST? JMP ERROR YES - CLASS I/O ILLEGAL SLB JMP NORML INA REIO REQUEST? LDB A,I SSB JMP ERROR YES - REIO REQUEST ILLEGAL NORML EQU * LDA EQT6,I GET REQUEST CONTROL WORD AND B77 MASK REQUEST TYPE CPA TWO WRITE REQUEST? JMP CHKQU YES - GOOD CPA THREE CONTROL REQUEST? CLA,INA,RSS YES - A=2 FOR RETURN ERROR CLA READ REQUEST - A=1 FOR RETURN INA (ALSO FOR BAD ENTRIES) JMP I.RTN ERROR RETURN SPC 2 SKP * THIS ROUTINE CHECKS A SPECIFIED BUFFER TO SEE IF ANY PART * OF IT LIES IN A DISK RESIDENT PROGRAM AREA. IF ANY PART * OF THE BUFFER IS IN A DISK AREA THEN RETURN IS TO (P+1), * IF IN LEGAL SYSTEM AREA,RETURN IS TO (P+2). * * ENTER WITH (A)=BUFFER ADDRESS, (B)=BUFFER LENGTH * * OPERATION: WE CHECK ALL PHYSICAL PAGES (REPEAT, PHYSICAL) * OCCUPIED WHOLLY OR PARTIALLY BY A BUFFER. IF ANY SUCH PAGE * IS WRITE PROTECTED, THE DRIVER REJECTS THE CALL. IF ANY * SUCH PAGE IS PART OF A DISK PARTITION, THEN RETURN IS TO * (P+1). OTHERWISE, IF THE BUFFER BEGINS IN SSGA OR SYSTEM * COMMON, RETURN IS TO (P+2): IF BELOW SSGA, THE DRIVER REJECTS * THE CALL. NOTE THAT ALL PAGES OF THE BUFFER ARE CHECKED SO * THAT THE PARTITION NEED NOT CONSIST OF CONTIGUOUS PAGES. * * THE USER (REPEAT, USER) MAP IS EXAMINED TO ACCOMPLISH THIS * TEST. NOTE THAT ALL BUFFERS CHECKED HERE WILL BE VISIBLE * FROM THE USER MAP. SPC 2 DRA? NOP ENTRY (A)=ADDRESS®þú,(B)=LENGTH SSA ERROR IF BUFFER ADDR LESS JMP ERROR THAN ZER0 SZB,RSS MAKE ZERO LENGTH BUFFERS INB LOOK LIKE ONE WORD FOR THIS CODE STA TEMP4 ADB A ERROR IF ADB N1 END ABOVE SSB 77777B. JMP ERROR CLA CLEAR A TEMPORARY TO KEEP TRACK STA PAGES OF PAGES IN DISC PART OF MEM LDA TEMP4 PUT FWA IN A, LENGTH IN B LSR 10 GET PAGE NUMBERS AND B77 AND ISOLATE THEM. SPC 1 CMB GET -NUMBER OF PAGES STRADDLED ADB A BY BUFFER AND STB COUNT SAVE AS LOOP COUNTER. ADA P32 CONVERT START PAGE TO MAP# SPC 1 LDB MATA.,I GET MATA ADDRESS ADB THREE POINT TO FIRST USER PARTITION BASE LDB B,I AND LOAD IT SWP ISOLATE AND M1777 PAGE SWP NUMBER INB IGNORE BASE PAGE STB SPFP AND SAVE IT SPC 1 LOOP LDB TEMP. POINT TO PLACE TO DUMP MAP LDX N1 DUMP ONLY ONE REGISTER XMM DUMP MAP TO MEMORY LDB TEMP7 PICK UP MAP REG RBL ERROR IF BIT 14 SSB IS SET. JMP ERROR (WRITE RBR PROTECTED PAGE). SWP MASK TO AND M1777 PHYSICAL PAGE SWP ADDRESS. CMB,INB IF PHYSICAL PAGE ADDR INB ADB SPFP IS IN USER PARTITION SSB THEN INCR COUNTER - MUST BE ISZ PAGES IN DISC AREA. ISZ COUNT BUMP COUNTER JMP LOOP AND CONTINUE IF MORE. SPC 1 LDA PAGES IF ANY PAGES IN DISC AREA SZA THEN JMP DRA?,I RETURN TO CALLER ISZ DRA? ELSE CHECK IF IN COMMON OR SSGA SPC 2 * CHECK IF BUFFER IN COMMON, SSGA OR MEMORY RESIDENT AREA SPC h&þú2 LDA MPFT.,I FETCH MPFT ADDRESS ADA FOUR POINT TO SSGA BASE LDA A,I AND LOAD IT CMA,INA NEGATE ADA TEMP4 ADD BUFFER ADDRESS SSA <0? JMP ERROR YES - NOT IN LEGAL MEM. RES. AREA JMP DRA?,I NO - RETURN TO CALLER - BUFFER LEGAL N1 DEC -1 P32 DEC 32 TEMP. DEF TEMP7 M1777 OCT 1777 MATA. DEF $MATA START PAGE OF FIRST USER PARTITION SPFP BSS 1 PAGES BSS 1 COUNT BSS 1 SKP * ** CHECK QUEUE BUFFER LENGTH ** SPC 1 CHKQU EQU * LDA EQT8,I CHECK QUEUE CMA,INA BUFFER # OF ENTRIES SSA,RSS >0? JMP ERROR NO - REJECT SPC 2 * ** VALID ENTRY TYPES CHECK ** SPC 1 LDB EQT7,I GET & SAVE STB TEMP1 QUEUE BUFFER ADDRESS STA TEMP2 SAVE ENTRY COUNTER STB TEMP3 SPC 1 * FIND QUEUE BUFFER LOCATION * SPC 1 CLB SET UP STB QBUF QUEUE FLAG LDA TEMP3 FETCH QUEUE ADDRESS JSB DRA? FIND LOCATION ISZ QBUF IF QUEUE IN DISK AREA, QBUF=1 * IF QUEUE IN SSGA OR COMMON, QBUF=0 SPC 1 L1 EQU * LDB TEMP1,I GET CURRENT ENTRY TYPE NUMBER ISZ TEMP1 ADVANCE QUEUE BUFFER ADDRESS CPB ONE TYPE = 1? RSS YES - OK CPB TWO TYPE = 2? JMP L6 YES - OK LDA TEMP1,I GET NUMBER OF STA TEMP5 OPERATIONS AND CMA,SSA,RSS CHECK FOR <0 JMP ERROR <0 SO REJECT CPB THREE TYPE = 3? JMP L2 YES - OK SZB IF ENTRY TYPE = 0 THEN ERROR CMA,SZA,RSS CHECK # OF OPERATIONS FOR 0 JMP ERROR =0 SO REJECT LDA MIN10 IS TYPE ADA B MORE THAN SSA THREE BUT SSB LESS THAN TEN? JMP ERROR NO SPC 2 * HŸþú ** VALID BUFFER CHECK ** * * IF THE QUEUE BUFFER IS NOT IN A DISK RESIDENT AREA (EITHER RT * OR BACKGROUND) THEN NO DATA BUFFER MAY BE IN A DISK RESIDENT * AREA. * L2 EQU * STB TEMP6 SAVE (B) ISZ TEMP1 POINT TO BUFFER ADDR LDA QBUF CHECK QUEUE LOCATION CPA ONE IF QUEUE JMP NOSWP IN DISK AREA - NOT SWAPABLE SPC 1 SPC 1 JSB CPASS FETCH BUFFER LENGTH LDA TEMP1,I FETCH BUFFER ADDRESS JSB DRA? CHECK BUFFER LOCATION JMP ERROR BUFFER IS IN DISK AREA -- ERROR JMP NSWP2 BUFFER IS IN CORE AREA SPC 1 NOSWP EQU * QUEUE IN DISC AREA JSB CPASS FETCH BUFFER LENGTH LDA TEMP1,I FETCH BUFFER ADDR JSB DRA? CHECK BUFFER ADDRESS ANYHOW NOP (DON'T CARE IF BUFF IN DISC AREA) NSWP2 EQU * BUFFER NOT IN DISC AREA IF ENTRY HERE LDB TEMP6 RESTORE (B) SSB FIRST BUFFER? JMP L3 NO CPB FOUR YES - TYPE = 4? JMP L5 YES - BUFFER OK CPB THREE TYPE = 3? JMP L5 YES - BUFFER OK CMB,INB SET FOR SECOND BUFFER CHECK JMP L2 SPC 2 CPASS NOP LDB TEMP5 GET DATA LEN FROM Q LDA TEMP6 GET TYPE & BUFF NUMBER FLG SSA 1ST BUFFER? JMP PASS2 NO, 2ND CPA SEVEN YES, IF TYPE 7 CALL CLB,INB THEN LENGTH IS 1 CPA EIGHT ELSE IF TYPE 8 LDB TWO THE LENGTH IS 2 JMP CPASS,I RETURN SPC 1 PASS2 CMA,INA 2ND BUFF, COMPL FLAG FOR TYPE CPA NINE IF TYPE 9 CLB,INB THEN 2ND BUFF LEN IS 1 JMP CPASS,I RETURN SPC 1 NINE DEC 9 MIN10 DEC -10 SPC 2 L3 EQU * CMB,INB RECOVER TYPE CPB FIVE TYPE = 5? RSS YES - CHECK VALIDITY JMP L5 NO - BUFFERS OK SPC 2 Á£þú SPC 2 * ** CHECKED ALL ENTRIES? ** SPC 1 L5 ISZ TEMP1 ADVANCE QUEUE ADDRESS L6 ISZ TEMP2 CHECKED ALL ENTRIES? JMP L1 NO - CHECK NEXT ONE QBUF BSS 1 SKP * ** NEED DMA? ** SPC 1 LDA REMOT GET REMOTE/LOCAL FLAG SLA REMOTE? JMP NODMA YES, NO DMA LDA EQT6,I CHECK CONWD BIT 6 AND BIT6 TO SEE IF DMA SZA,RSS HAS BEEN REQUESTED BY USER JMP NODMA NOT REQUESTED LDA FIVE COMPLETE TO GET JMP I.RTN DMA ASSIGNED SPC 1 * ** DON'T USE DMA ** SPC 1 NODMA EQU * LDA EQT6,I MAKE SURE THAT CONWD AND BX177 IS CLEAR OF STA EQT6,I UNDESIRABLE BITS JMP OP SPC 2 BX177 OCT 140177 BIT7 OCT 200 SPC 2 * ** HAVE DMA ** SPC 1 HVDMA EQU * LDA EQT6,I SET CONWD AND BX177 FOR DMA IOR BIT7 OPERATIONS STA EQT6,I WHERE POSSIBLE SPC 1 LDB EQT9,I SPC 1 LDA CHAN CONFIGURE JSB DCFGR DMA INSTRUCTIONS SPC 2 * ** CALL MAIN PROCESSOR ** SPC 1 OP EQU * LDA EQT8,I CREATE CMA NUMBER OF ENTRIES STA EQT8,I COUNTER CCA FORCE STA EQT10,I START-UP JSB PROC START OPERATIONS CLA,RSS OPERATION INITIATED LDA FOUR IMMEDIATE COMPLETION CLB I.RTN EQU * JMP I.62,I THEN RETURN TO SYSTEM SPC 2 THREE DEC 3 FIVE DEC 5 SIX DEC 6 MPFT. DEF $MPFT SKP ***************************************** * * * CONTINUATION AND COMPLETION SECTION * * * ***************************************** SPC 2 C.62 NOP LDB EQT1,I SPURIOUS SZB,RSS INTERRUÕþúPT? JMP SPURI YES - IGNORE IT SPC 1 CPA SIX WAS RSS INTERRUPT CPA SEVEN FROM RSS DMA JMP DEV NO JSB DCFGR YES - CONFIGURE DMA SPC 1 CLCD1 CLC HDMA TURN OFF DMA CCA FORCE NEW STA EQT10,I ENTRY CHECK LDA EQT6,I IS A DEVICE \ ALF,ALF INTERRUPT CHECKS BIT 9 RAR,SLA REQUIRED? / JMP CONT YES LDA EQT4,I NO - GET DEVICE AND B77 SELECT CODE SPC 2 * ** CALL MAIN PROCESSOR ** SPC 1 DEV EQU * JSB CNFGR CONFIGURE ALL I/O INSTRUCTIONS SPC 1 LDA REMOT REMOTE? SLA,RSS YES - SKIP JMP LOCAL NO - SKIP STATUS WORD CHECK LIA2 LIA .2313,C READ STATUS WORD AND SMASK SAVE PARITY, MISSED, & RIP BITS SZA,RSS CHECK FOR BAD STATUS JMP LOCAL GOOD STATUS - CONTINUE LDA EQT5,I BAD STATUS IOR BIT7 SET XMSN ERROR BIT STA EQT5,I IN STATUS WORD JMP PERR AND RETURN TO CALLER LOCAL EQU * LDA EQT6,I IS A \ ALF,ALF DMA CHANNEL CHECKS BIT 7 SSA,RSS ASSIGNED? / JMP L7 NO DLD INTBA,I \ ELA,CLE,ERA \ ELB,CLE,ERB \ CPA EQT1 > GET PROPER LDA SIX / DMA CHANNEL CPB EQT1 / LDA SEVEN / JSB DCFGR GO CONFIGURE DMA SPC 1 L7 EQU * JSB PROC START OR CONT OPERATION JMP CONT OPERATION CONTINUATION CLB,INB,RSS ALL OPERATIONS DONE (B=1) PERR EQU * CLB PARITY ERROR(B=0) LDA BIT15 SET A= BIT 15 TO RELEASE DMA CLC1 CLC .2313,C TURN OFF DEVICE JMP C.RTN RETURN TO SYSTEM (COMPLETED) SPC 2 TWO DEC 2 SMASK OCT 100006 SPC 2 SPùÖþúURI EQU * STB EQT15,I CLEAR TIME OUT ON SPURIOUS INT CONT EQU * ISZ C.62 SET RETURN FOR CONTINUATION C.RTN EQU * JMP C.62,I RETURN TO SYSTEM SPC 2 ONE DEC 1 B77 OCT 77 SKP ******************** * * * MAIN PROCESSOR * * * ******************** SPC 2 PROC NOP ISZ EQT10,I CHECK FOR END OF CURRENT ENTRY JMP MORE MORE TO GO ON THIS ONE * ("MORE" ENABLES USER MAP) NEXT EQU * LDA STCC1 SET ENCODE STA STCC2 COMMAND ISZ EQT8,I MORE ENTRIES TO GO? RSS YES JMP DONE NO - ALL DONE LDB EQT7,I GET NEW TYPE NUMBER LDB B,I AND SAVE STB EQT9,I IT IN EQT ISZ EQT7,I ADVANCE QUEUE ADRS CCA ASSUME TYPE 1 OR 2 AND STA EQT10,I SET FOR 1 OPERATION CPB ONE TYPE = 1? JMP SYNRM YES - GO DO A SYSTEM NORMALIZE CPB TWO TYPE = 2? JMP ESCPE YES - ISSUE 2930A ESCAPE WORD SPC 1 SPC 1 LDA EQT7,I GET TRANSFER LDA A,I LENGTH FROM QUEUE BUFFER CMA MAKE IT A NEGATIVE STA EQT10,I COUNTER & STORE IN EQT ISZ EQT7,I ADVANCE QUEUE ADRS LDA EQT7,I GET 1ST OR ONLY BUFF ADRS LDA A,I AND PLACE IT IN STA EQT11,I EQT IN POSITIONS FOR BOTH STA EQT12,I BUFFER ADDRESSES ISZ EQT7,I ADVANCE QUEUE ADRS LDB EQT9,I RESTORE TYPE TO B CPB THREE TYPE = 3? JMP OUT DO SIMPLE OUTPUT UNDER USER MAP * ("OUT" ENABLES USER MAP) CPB FOUR TYPE=4? JMP IN DO SIMPLE INPUT UNDER USER MAP * ("IN" ENABLES USER MAP) LDA EQT7,I GET 2ND BUFF ADRS LDA A,I AND PLACE IT IN STA EQT12,I THE EQT ISZ EQT7,I ADVANCE Q&ôþúUEUE ADRS SPC 1 UJP NEXT3 SWITCH TO USER MAP NEXT3 CPB FIVE TYPE = 5? JMP OUTPT YES - GO TO OUTPUT (THEN INPUT) LDA EQT11,I GET & SAVE LDA A,I THE 1ST WORD OF STA EQT13,I THE 1ST BUFFER LDA EQT10,I ADJUST THE INA OPERATIONS COUNTER BIT9 ALS FOR DOUBLE OPERATIONS STA EQT10,I ON THE DUAL DAC JMP DAC SKP SEVEN DEC 7 EIGHT DEC 8 SYN OCT 140001 SPC 1 * ** ISSUE SYSTEM NORMALIZE ** SPC 1 SYNRM EQU * LDA SYN GET SYSTEM NORMALIZE COMMAND LDB REMOT GET REMOTE/LOCAL FLAG SLB REMOTE? JMP R/L YES,ISSUE COMMAND REMOTE CLC2 CLC .2313,C CLC TO GET ENCODE EDGE OTA1 OTA .2313 AND ISSUE IT STCC1 STC .2313,C DOUBLE ENCODE NOP TO INSURE STC1 STC .2313 RESPONSE JMP PROC,I CONTINUATION RETURN SPC 1 FOUR DEC 4 BIT8 OCT 400 SPC 1 * ** CONTINUATION ** SPC 1 MORE EQU * LDB EQT9,I GET CURRENT TYPE NUMBER CPB THREE TYPE = 3? JMP OUTPT YES - CONT SIMPLE OUTPUT CPB FOUR TYPE = 4? JMP INPT1 YES - CONT SIMPLE INPUT CPB FIVE TYPE = 5? JMP INPT2 YES - GO INPUT (THEN OUTPUT) SPC 1 DAC EQU * LDA EQT6,I GET REQUEST CONTROL WORD XOR BIT8 TOGGLE BIT 8 FOR MIXED IN/OUT STA EQT6,I SAVE IT ALF,ALF POSITION FOR TESTING LATER CPB SIX TYPE = 6? JMP BLOCK YES - GO DO BLOCK SCAN ON DAC CPB SEVEN TYPE = 7? JMP SINGL YES - GO DO SINGLE CHAN ON DAC CPB EIGHT TYPE = 8? JMP SEQTL YES - GO TO SEQUENTIAL ON DAC SLA TYPE = 9: CHECK CONWD BIT 8? JMP CHANL CHANNEL # OUTPUT LDA EQT12,I GET DATA WORD LDA A,I JMP R/L GOTO REMOTE LOCAL OUTPUT SKP RÈþú SEQTL EQU * SLA,RSS DAC SEQ SCAN: CHECK CONWD BIT 8? JMP DATA DATA OUTPUT LDA EQT13,I GET ADDRESS TO BE OUTPUT AND DMASK & ELIMINATE WAIT BIT STA B LDA EQT11,I GET END CHANNEL INA ADDRESS FOR SEQUENTIAL LDA A,I SCAN AND CHECK AND DMASK TO SEE IF CPA B CURRENT CHAN IS END CHAN JMP NWSCN IT IS - START NEW SCAN LDA EQT13,I \ STA B \ INCREMENT ADB B20 / CHANNEL # STB EQT13,I / SPC 2 CLB,INB IS THIS THE CMB LAST CHANNEL CPB EQT10,I TO BE SET? JMP DWAIT YES - SET WAIT BIT JMP R/L# SPC 1 ESCPE EQU * LDA SCAPE (GET 2930A ESCAPE WORD) R/L EQU * REMOTE/LOCAL OUTPUT FROM (A) REGISTER STA EQT13,I SAVE LAST OUTPUT WORD R/L# EQU * LDB REMOT GET REMOTE/LOCAL FLAG SLB,RSS LOCAL? JMP OTA2 YES SPC 1 REOUT EQU * REMOTE OUTPUT ONLY STCC4 STC .2313,C SET RECEIVE MODE LIB1 LIB .2313,C CLEAR STATUS LIB2 LIB .2313 CLEAR DATA OTA3 OTA .2313 OUTPUT COMMAND WORD TO 2313 JMP PROC,I RETURN AND WAIT FOR FLAG SPC 1 OTA2 OTA .2313 ISSUE A WORD * * NOTE: THE FOLLOWING INSTRUCTION IS NORMALLY A CONFIGURED * "STC SC,C" EXCEPT FOR TYPE 3 ENTRIES WITH N=0. IN THIS * CASE, IT IS A "JMP NEXT". * STCC2 JMP NEXT AND ENCODE JMP PROC,I CONTINUATION RETURN SPC 2 B20 OCT 20 DMASK OCT 7776 BIT6 OCT 100 SCAPE OCT 146000 BIT15 OCT 100000 SKP NWSCN EQU * LDB EQT11,I DAC SEQ NEW SCAN LDB B,I RESTORE CURRENT CHAN ADRS STB EQT13,I STORAGE WITH START CHAN ADRS LDA EQT11,I INA LDA A,I DWAIT EQU * IOR ONE SET FLAG WAIT BIT JMP R/L# SPC 1 SINGL EQU * SLA,RSS DAC¹Wþú SINGLE CHAN: CHK CONWD B8? JMP DATA DATA OUTPUT LDA EQT11,I GET "THE" CHANNEL LDA A,I NUMBER JMP R/L SPC 1 BLOCK EQU * SLA,RSS DAC BLK SCAN: CHK CONWD BIT 8? JMP DATA DATA OUTPUT CHANL EQU * LDA EQT11,I GET NEXT CHANNEL LDA A,I NUMBER ADVNC EQU * ISZ EQT11,I ADVANCE CHAN BUFF ADDRESS JMP R/L SPC 1 DATA EQU * LDA EQT12,I DAC DATA OUTPUT: LDA A,I GET DATA WORD FROM BUFFER ISZ EQT12,I ADVANCE DATA BUFF ADDRESS JMP R/L# GO OUTPUT THE DATA WORD SPC 2 * ** SIMPLE OUTPUT (TYPE 3) ** SPC 1 OUT EQU * ISZ EQT10,I ADJUST OPERATIONS COUNTER JMP DMCHK IF >0 OPS THEN GO CHK MORE LDA SAJMP FOR 0 OPS ELIMINATE STA STCC2 ENCODE AND FORCE NEXT ENTRY LDA REMOT \ SLA,RSS \ JMP OUTPT (LOCAL) LDA EQT11,I SKIP OUPUT BUT LDA A,I SAVE OUTPUT WORD STA EQT13,I / ISZ EQT11,I / JMP NEXT / SPC 1 OUTPT EQU * LDA EQT11,I GET OUTPUT WORD LDA A,I FROM BUFFER JMP ADVNC SKP DMCHK EQU * LDA REMOT GET REMOTE FLAG SLA REMOTE JMP OUTPT YES,NO DMA LDA EQT10,I CHECK NUMBER OF CMA,INA OPERATIONS CPA ONE FOR >2? JMP OUTPT =1 (NO DMA) CPA TWO >1 JMP OUTPT =2 (NO DMA) LDA EQT6,I >2 SO CHECK CONWD ALF,ALF BIT 7 SSA,RSS FOR DMA? JMP OUTPT NO DMA ALF,CLE,ALF SET BIT 9 OF CONWD (DEV INTRPT IOR BIT9 REQUIRED) & CLEAR E (OUTPUT) JMP DMSET GO START OUTPUT DMA SPC 2 NOT9 OCT 176777 BIT13 OCT 20000 SPC 1 * ** SIMPLE INPUT (TYPE 4) **6þú SPC 1 IN EQU * * UJP IN2 MAKE SURE WE'RE IN USER MAP *CIO* LDA REMOT SLA,RSS JMP IN1 NCODE EQU * LDA EQT13,I JMP REOUT IN1 EQU * LDA EQT6,I CHECK CONWD ALF,ALF BIT 7 FOR SSA,RSS DMA OPERATION? JMP STCC2 NO DMA - GO ENCODE ALF,ALF CLEAR CONWD BIT 9(NO DEV INTRPT) AND NOT9 REQUIRED) & SET E CCE FOR DMA INPUT SPC 1 * ** SET UP & START DMA ** * (LOCAL ONLY) SPC 1 DMSET EQU * STA EQT6,I SAVE CONWD LDA EQT4,I FORM DMA AND B77 COMMAND WORD 1 WITH DEVICE IOR BIT15 SELECT CODE & STC OPTION SEZ INPUT? IOR BIT13 YES - SET CLC OPTION OTAD1 OTA HDMA ISSUE CW1 & CLCD2 CLC LDMA PREPARE FOR CW2 LDA EQT11,I GET BUFFER ADDRESS FOR CW2 SEZ INPUT? IOR BIT15 YES - SET INPUT MODE BIT OTAD2 OTA LDMA ISSUE CW2 & STCD1 STC LDMA PREPARE FOR CW3 LDA EQT10,I GET TRANSMISSION LENGTH SEZ AS CW3 AND INA ADJUST IF INPUT OTAD3 OTA LDMA ISSUE CW3 - DMA IS NOW READY CLF 0 TURN OFF INTERRUPT SYSTEM SEZ,RSS OUTPUT? STF1 STF .2313 YES - SET DEVICE FLAG SEZ INPUT? STCC3 STC .2313,C YES - START DEVICE STCD2 STC HDMA,C START DMA TRANSFER CLA PRIVILEGED I/O CPA DUMMY PRESENT? JMP PROC,I NO - CONTINUATION EXIT CLCD3 CLC HDMA YES - TURN OFF DMA INTERRUPT LDB INTBA GET ADDRESS LDA CHAN OF APPROPRIATE CPA SEVEN DMA CHANNEL INB IN INTERRUPT LDA B,I TABLE IOR BIT15 SET BIT 15 TO INDICATE THIS DMA STA B,I CHANNEL IS IN USE STF 0 TURN INTERRUPT SYSTEM BACK ON JMP PROC,I CONTINUATION EXITMþú SPC 2 SAJMP NOP SPC 2 DONE EQU * ISZ PROC SET FOR COMPLETION JMP PROC,I AND RETURN SPC 2 * ** INPUT ROUTINE ** SPC 1 INPUT NOP LIA1 LIA .2313 GET READING FROM I/O CARD LDB EQT12,I GET BUFFER ADDRESS STA B,I AND STORE THE READING ISZ EQT12,I ADVANCE BUFFER ADDRESS LDA EQT10,I GET OPERATION COUNTER INA,SZA AND CHECK FOR DONE? JMP INPUT,I NO - GO ON JMP NEXT YES - GET NEXT ENTRY SPC 2 INPT1 EQU * CONTINUE SIMPLE INPUT OPERATION JSB INPUT CONTINUE SIMPLE INPUT LDB REMOT SLB JMP NCODE JMP STCC2 OPERATION SPC 1 INPT2 EQU * JSB INPUT CONT INPUT THEN GO JMP OUTPT OUTPUT NEXT CHAN # SKP SKP ******************************* * * * I/O CONFIGURATION ROUTINE * * * ******************************* SPC 1 CNFGR NOP LDB STCC2 SAVE JUMP STB SAJMP INSTRUCTION CLB FIRST TIME STB *-2 ONLY IOR OTA0 FORM "OTA SC" INST STA OTA1 AND STA OTA2 STORE IT STA OTA3 IOR BIT6 FORM "STC SC" INST STA STC1 AND STORE IT XOR B5000 FORM "CLC SC,C " INST STA CLC1 AND STORE IT STA CLC2 XOR BIT11 FORM "STC SC,C" INST STA STCC1 AND STA STCC2 STORE STA STCC3 IT STA STCC4 XOR B1200 FORM "LIA SC" INST STA LIA1 AND STORE IT IOR BIT9 FORM "LIA SC,C" INST STA LIA2 AND STORE IT IOR BIT11 FORM "LIB SC,C" INSTRUCTION STA LIB1 XOR BIT9 FORM "LIB SC" INSTRUCTION STA LIB2 XOR BIT8 FORM "STF SC" INST STA STF1 AND STORE IT LDA EQT4,I GET SUBCHANNEL ASR 6 CIþú SHIFT TO LSB STA REMOT JMP CNFGR,I SPC 2 REMOT NOP REMOTE/LOCAL FLAG OTA0 OTA 0 BIT11 OCT 4000 B1200 OCT 1200 B5000 OCT 5000 NB4 OCT -4 SKP ******************************************* * * * DMA INSTRUCTION CONFIGURATION ROUTINE * * * ******************************************* SPC 1 DCFGR NOP STA CHAN SAVE CHANNEL IOR OTA0 FORM "OTA 6 OR 7" INST STA OTAD1 AND STORE IT ADA NB4 FORM "OTA 2 OR 3" INST STA OTAD2 AND STA OTAD3 STORE IT IOR BIT6 FORM "STC 2 OR 3" INST STA STCD1 AND STORE IT IOR BIT11 FORM "CLC 2 OR 3" INST STA CLCD2 AND STORE IT ADA FOUR FORM "CLC 6 OR 7" INST STA CLCD1 AND STA CLCD3 STORE IT XOR B5000 FORM "STC 6,C OR 7,C" INST STA STCD2 AND STORE IT LDB INTBA \ SLA \ INB \ CLEAR BIT 15 OF LDA B,I / PROPER INTBL LOC. ELA,CLE,ERA / STA B,I / JMP DCFGR,I SKP **************************************** * * * BASE PAGE POINTERS AND OTHER EQU'S * * * **************************************** SPC 2 A EQU 0 B EQU 1 .2313 EQU 0 LDMA EQU 0 HDMA EQU 0 SPC 1 TEMP1 EQU CLCD1 TEMP2 EQU C.62 TEMP3 EQU OTAD1 TEMP4 EQU CLCD2 TEMP5 EQU OTAD2 TEMP6 EQU PROC TEMP7 EQU INPUT SPC 1 INTBA EQU 1654B SPC 1 . EQU 1657B ESTABLISHES REF POINT EQT1 EQU .+1 EQT4 EQU .+4 EQT5 EQU .+5 EQT6 EQU .+6 EQT7 EQU .+7 EQT8 EQU .+8 NEG. COUNT OF # OF ENTRIES EQT9 EQU .+9 CURRENT ENTRY TYPE # EQT10 EQU .+10 # BUFFER WORDS IN CURRENT ENTRY EQT11 EQU .+11 1ST BUFFER ADDRESS EQT12 EQU 1771B 2ND BUFFUfd`R ADDR(=EQT11 IF NO 2ND) EQT13 EQU 1772B LAST WORD OUTPUT (LAST ADDR DAC) SPC 1 EQT15 EQU 1774B TIME-OUT TIMER SPC 1 CHAN EQU 1673B DUMMY EQU 1737B SPC 3 ******************* * * * END OF DRIVER * * * ******************* SPC 1 END 4¼fÿÿ ÿý ÿ02313-82001 A S 0106 HP 2313B VERIFICATION GEN. INFORMATION & START             H0101 áþúASMB,R,B,L HED 2313B VERIF -- GENERAL INFORMATION -- 8/22/73 NAM START * * THE 2313B SUBSYSTEM MULTIPLEXER VERIFICATION ALLOWS THE * USER TO EXERCISE THE 2313B IN ALL MULTIPLEXER MODES. * THE HIGH LEVEL MULTIPLEXERS AND THE LOW LEVEL MULTI- * PLEXERS CAN BE USED BOTH PACED AND UNPACED. * * THE PROGRAM HAS A NUMBER OF TESTS WHICH ARE CALLED BY * TYPING THE COMMAND (SEE LIST BELOW). * * THE PROGRAM ISSUES A PROMPTER (>) WHEN IT IS READY TO * ACCEPT A COMMAND. * * * * T E S T S: * * * * 1. SINGLE CHANNEL * * 1 TO 200 READINGS ARE TAKEN ON A SINGLE SPECI- * FIED CHANNEL. THE RESULTS ARE PRESENTED * AS AN AVERAGE OF ALL READINGS, THE HIGHEST * AND LOWEST READINGS AND THEIR DIFFERENCE * (PEAK-TO-PEAK), AND THE RMS ERROR BETWEEN THE * READINGS AND THE AVERAGE. * * * 2. TWO CHANNEL * * 2 TO 200 READINGS ARE TAKEN ALTERNATING * BETWEEN TWO SPECIFIED CHANNELS. THE AVERAGE, * ETC., ARE PRESENTED FOR EACH CHANNEL. * * * 3. SEQUENTIAL * * 1 TO 200 READINGS ARE TAKEN SEQUENTIALLY FROM * A SPECIFIED STARTING CHANNEL. THE TOTAL * NUMBER OF READINGS SHOULD NOT EXCEED THE * NUMBER OF CONTIGUOUS CHANNELS AVAILABLE (UNLESS * USING THE LAD). NO INFORMATION IS PRESENTED * DIRECTLY. A LIST OF READINGS MAY BE MADE (SEE * LIST). SKP * 4. HISTOGRAM * * 1 TO 32767 READINGS ARE TAKEN ON ONE SPECI- * FIED CHANNEL AND CATEGORIZED. EACH DIFFERENT * VALUE READ IS A CATEGORY AND THE NUMBER OF * READINGS FOUND IN A CATEGORY ARE COUNTED. * UP TO 20 CATEGORIES CAN BE USED. AN ATTEMPT * TO CREATE A 21ST CATEGORY CAUSES EARLY TERM- * INATION OF THE TEST (THE NUMBER OF READINGS * TAKEN IS PRESENTED). THÿõþúE AVERAGE, P-P, HIGH, * LOW, AND RMS ERROR ARE PRESENTED. * * * 5. INTERLACE * * IF MORE THAN ONE LLMPX CARD IS PRESENT IN A * SUBSYSTEM, FASTER THROUGHPUT FROM THESE CARDS * CAN BE REALIZED. UP TO 25 CARDS CAN BE INTER- * LACED, WITH UP TO 200 INDIVIDUAL CHANNELS * MEASURED. A GAIN IS REQUESTED AND PROGRAMMED * FOR EACH CARD. AFTER SPECIFYING THE FIRST CARD * AND CHANNEL OF INTEREST, ALL CARDS WILL RETURN * READINGS STARTING WITH THE FIRST CHANNEL SPECIFIED * AND CONTINUING FOR THE NUMBER OF CARDS ENTERED. * NO INFORMATION IS PRESENTED DIRECTLY. A LIST OF * READINGS MAY BE MADE (SEE LIST). * * * 6. SS/H * * THIS TEST IS SIMILAR IN FORM TO SEQUENTIAL SCAN, * WITH THE EXCEPTION THAT ALL CHANNELS OF INTEREST * ARE SAMPLED AT THE SAME INSTANT, THEN HELD AND * DIGITIZED. THIS TEST IS AVAILABLE WITH OR WITHOUT * SETTING GAIN MODE. * * * 7. DISPLAY * * READINGS ARE CONTINOUSLY TAKEN ON ONE SPECI- * FIED CHANNEL. THE RESULTS ARE DISPLAYED IN * THE B REGISTER (2115/2116) OR IN THE SWITCH * REGISTER (2100/2114). IF THE ANSWER TO * STATUS IS NO, A 16 WORD AVERAGE IS DISPLAYED. * IF THE ANSWER TO STATUS IS YES, A 4 WORD * AVERAGE IS DISPLAYED AND STATUS BIT 1 * IS SHOWN. BIT 1 = PACE RATE ERROR * (PACING FASTER THAN READINGS CAN BE TAKEN). * BIT 0 IS ALWAYS = 0. * * * 8. NORMALIZE * * ISSUE THE SYSTEM NORMALIZE COMMAND. SKP * 9. REPEAT * * REPEAT THE LAST TEST AS SPECIFIED. REPEAT IS * NOT AVAILABLE AFTER ENTERING A NEGATIVE * NUMBER TO ABORT INPUT REQUESTS. IT IS * ALSO NOT AVAILABLE INITIALLY OUÚÿÿÿÿÿÿÿÿþúOWING (EXCEPT INTERLACE) WILL * USE THE PACER AT A PERIOD AND MULTIPLIER * SPECIFIED AT THIS TIME. DELAY IS OVERRIDDEN * IF PREVIOUSLY SET. * * * C. SET REPEAT * * REPEAT THE SPECIFIED TEST WITHOUT PRINTOUTS * UNTIL A KEYBOARD KEY IS PRESSED. HISTOGRAM * DOES CONTINUE PRINTING ALL INFORMATION * UNLESS SWITCH 15 IS UP. WITH SWITCH 15 * UP ONLY THE AVG WILL BE PRINTED. * * * D. SET GAIN * * VERIFICATION PROGRAM ENTERS LLMPX MODE, WHERE * ALL FOLLOWING TESTS REQUEST AND PROGRAM GAIN * ON THE LLMPX OF INTEREST. GAIN MUST BE 1 OF * THE 8 LLMPX RANGES, I.E.: 1000,500,250,125,100, * 50,25, OR 12.5 . RESULTS ARE SCALED ACCORDINGLY. * IN GAIN MODE, SEQUENTIAL SCAN AND SS/H TESTS WILL * REQUEST GROUPS OF CHANNELS TO BE MEASURED AND * SCALED AT VARIOUS GAIN RANGES. THE LAD IS NOT * AVAILABLE IN THIS MODE. * * * E. SET K * * NOT A TRUE CONDITION. PROGRAMS LLMPX CARD OF * INTEREST TO 1 OF 8 VALID GAINS IMMEDIATELY, BUT * DOES NOT SCALE RESULTS OF FOLLOWING TESTS. USED * FOR CALIBRATION OF LLMPX AND CHECKING FOR MAXIMUM * GAIN WITHOUT OVERLOADING SUBSYSTEM. SKP * * * F. SET LAST ADDRESS DETECTOR * * THIS CONDITION ALLOWS USE OF THE LAST ADDRESS * DETECTOR CARD IF THAT CARD IS INCLUDED IN THE * SYSTEM. WHEN SET THE SEQUENTIAL SCAN MODE * WILL ASK FOR A LAST ADDRESS AS WELL AS THE * FIRST ADDRESS IF GAIN IS NOT SET. * * * * CONDITIONS ARE CLEARED AS FOLLOWS: * * A. CLEAR DELAY * B. CLEAR PACER * C. CLEAR REPEAT * D. CLEAR GAIN * E. CLEAR LAST ADDRESS DETECTOR * F. CLEAR ALL (CLEARS ALL CONDITIONS) * * WHENêƒEVER THE USER LOSES TRACK OF HIS CONDITIONS, REFER * TO THE COMMAND "CONDITIONS" (14). * * * A D D I T I O N A L N O T E S: * * * SWITCH 15 ON THE SWITCH REGISTER MAY BE USED TO TERM- * INATE A LISTING EARLY (LINE-BY-LINE). WITH REPEAT * CONDITION SET AND HISTOGRAM CALLED, SWITCH 15=1 * WILL CAUSE ONLY THE AVERAGE TO BE PRINTED. ANY TIME * LIST IS CALLED WHILE SWITCH 15 IS UP WILL RESULT * IN LISTING ONE READING ONLY. * * ANY TEST MAY BE ABORTED DURING ITS SETUP BY ENTERING * A NEGATIVE NUMBER TO ANY NUMERICAL INPUT REQUEST * (I.E., NO=; BX,CD,CH=; ETC.). REPEAT WILL NOT BE * AVAILABLE AFTER THIS TYPE OF ABORT. * * ANY TEST MAY BE ABORTED WHILE RUNNING BY PRESSING ANY * KEYBOARD KEY (UNLESS IN TAPE MODE WITHOUT A PHOTO- * READER). LIST WILL NOT BE AVAILABLE BUT REPEAT WILL. * * PRESSING A KEYBOARD KEY IS THE PROPER WAY TO TERMINATE * THE DISPLAY MODE OR ANY TEST WITH REPEAT SET. * HED START -- 2313B VERIF -- CONFIGURING LINK -- 8/22/73 * CONFIGURING ROUTINE LINK * * * THIS ROUTINE IS A ONE WORD * LINK TO CNFGR WHICH IS IN * THE CODE PROCEDURES SECTION. * * IT ALLOWS THE USER TO GET * TO THE CONFIGURING ROUTINE BY * USING 2000 (OCTAL) AS A START ADDRESS. * * STARTING AT OCTAL 2 WILL * BYPASS THIS ROUTINE AND GO * DIRECTLY TO THE ALGOL PORTION. SPC 2 ENT START EXT CNFGR SPC 1 START JMP CNFGR SPC 1 END €ÿÿ ÿý ÿ02313-82002 A S 0106 HP 2313B VERIFICATION VERIF - ALGOL             H0101 HþúHPAL,L,B,"VERIF" BEGIN COMMENT AUGUST 22,1973 THIS ALGOL PROGRAM IS PRIMARILY A CONTROL ROUTINE. MOST OF THE WORK IS DONE IN ASSEMBLY LANGUAGE CODE PROCEDURES. THE ALGOL WRITES MESSAGES, READS QUANTITIES AND CHANNEL NUMBERS, CHECKS FOR ERROR ENTRIES, SETS UP THE REQUESTED TEST AND CALLS THE 2313B DRIVER (THROUGH THE FTN-ALGOL INTER- FACE, V2313), AND LISTS TEST RESULTS. ; PROCEDURE STATPAC(DATA,NUMBERTAKEN,MODE,HOWMANY); COMMENT THIS PROCEDURE CALCULATES THE AVERAGE OF ALL READINGS TAKEN ON ONE CHANNEL IN THE SI, TW, OR HI TESTS. IT ALSO CALCULATES THE HIGHEST AND LOWEST VALUES AND THEIR DIFFERENCE (PEAK-TO-PEAK). FINALLY, IT CALCULATES THE RMS ERROR BETWEEN THE READINGS AND THE AVERAGE. IT THEN PRINTS THESE VALUES ; VALUE MODE,HOWMANY; INTEGER NUMBERTAKEN,MODE,HOWMANY; REAL DATA; CODE; PROCEDURE ADDR(BOX,CARD,CHANNEL); COMMENT THIS PROCEDURE (IN CODES) COMBINES THE BOX, CARD, AND CHANNEL ADDRESSES INTO THE PROPER 2313 FORMAT. ; VALUE BOX,CARD; INTEGER BOX,CARD,CHANNEL; CODE; PROCEDURE I2313(UNIT,TYPE,PACE,MODE,CHANNELBUFFER,NUMBER, DATABUFFER,DIFFERENTIAL); COMMENT THIS IS THE ALGOL/FTN-DRIVER INTERFACE WHICH CALLS THE 2313B DRIVER (D.62) ; VALUE UNIT,TYPE,PACE,MODE,NUMBER,DIFFERENTIAL; INTEGER UNIT,TYPE,PACE,MODE,NUMBER,CHANNELBUFFER, DIFFERENTIAL; REAL DATABUFFER; CODE; PROCEDURE INTRP(WHERE,SC,TC,RS,BS,SS,HI,DI,ADDRESS,CO, LAD,REPEATOK,USEGAIN,LOOP,PACED,RATE,RANGE,EXTSS,LISTOK,IN); COMMENT THIS PROCEDURE IS THE COMMAND INTERPRETER. IT DOES THE COMMUNICATING WITH THE OPERATOR WHEN FIRST CALLING A TEST OR SETTING A =Qþú CONDITION ; INTEGER WHERE,SC,TC,RS,BS,SS,HI,DI,ADDRESS,LOOP, LISTOK,USEGAIN,PACED,RANGE,EXTSS,REPEATOK,CO,IN,RATE,LAD; CODE; PROCEDURE GNCHK(GAIN,RGAIN); COMMENT THIS PROCEDURE CHECKS FOR A VALID LLMPX GAIN AND CONVERTS IT TO THE PROPER CODE ; VALUE RGAIN; INTEGER GAIN; REAL RGAIN; CODE; PROCEDURE CNVRT(OUTBUFFER,INBUFFER,RGAIN,RGAIN2,START,NUMBER); COMMENT THIS PROCEDURE CONVERTS THE RAW INTEGER DATA IN THE BUFFER INTO REAL VOLTAGES (INCLUDING ADJUSTMENT FOR GAIN); VALUE RGAIN,RGAIN2,START,NUMBER; INTEGER START,NUMBER; REAL OUTBUFFER,INBUFFER,RGAIN,RGAIN2; CODE; PROCEDURE DESCR(START); INTEGER START; COMMENT THIS WRITES THE INSTRUCTIONS IF REQUESTED. IT IS DESTROYED, ALONG WITH THE INSTRUCTIONS, BY OPERATION OF THE PROGRAM; CODE; PROCEDURE DSPLY(CHANNEL,PACED,RATE,RANGE,EXTSS,S); COMMENT THIS PROCEDURE OPERATES THE 2313B SUBSYSTEM DIRECTLY, DISPLAYING THE RESULTS IN THE B AND SWITCH REGISTERS ; VALUE CHANNEL,PACED,RANGE,EXTSS; INTEGER CHANNEL,PACED,RANGE,EXTSS,S,RATE; CODE; PROCEDURE HISTO(CHANNEL,PACED,RATE,RANGE,EXTSS, RGAIN,HOWMANY,BUCKETS, NUMBERBUFFER,READINGBUFFER); COMMENT THIS PROCEDURE OPERATES THE 2313B SYSTEM DIRECTLY TO TAKE UP TO 32767 READINGS AND CATEGORIZE THEM INTO A HISTOGRAM ; VALUE CHANNEL,PACED,RANGE,EXTSS; INTEGER CHANNEL,PACED,RANGE,EXTSS,BUCKETS, HOWMANY,NUMBERBUFFER,RATE; REAL READINGBUFFER,RGAIN; CODE; PROCEDURE INTER(CHANNEL,HOWMANY,VOLTS,DATA,GROUPS,GAIN,GAINC,ABORT); COMMENT THIS PROCEDURE IS USED TO OPERATE LLMPX CARDS IN INTERLACE MODE ; VALUE HOWMANY,GROUPS; INTEGER CHANNEL,HO~þúWMANY,GROUPS,GAINC,ABORT; REAL VOLTS,DATA,GAIN; CODE; PROCEDURE EXIT(TEST,WHERETO); COMMENT THIS PROCEDURE IS USED TO ABORT THE TEST OR TO GET OUT OF LOOP OR DISPLAY. IT SETS UP A SPECIAL TTY INTERRUPT AND JUMPS OPERATION DIRECTLY TO THE SPECIFIED LABEL UPON TTY INTERRUPT ; VALUE TEST; INTEGER TEST; LABEL WHERETO; CODE; PROCEDURE ISSUE(ON); COMMENT THIS PROCEDURE IS USED TO SET UP OR CLEAR SS/H MODE ; VALUE ON; INTEGER ON; CODE; & PROCEDURE READ1(IN,NO,P1); COMMENT READ1 THROUGH READ4 ARE REALLY THE SAME PRO- CEDURE BUT WITH DIFFERENT LENGTH CALLS. THE READX PROCEDURE, WHICH THESE CALL, READS THE TTY OR PHOTO-READER DEPENDING UPON WHAT IS SPECIFIED (TAPE OR KEYBOARD). READR READS REAL NUMBERS ; VALUE IN,NO; INTEGER IN,NO,P1; CODE; PROCEDURE READ2(IN,NO,P1,P2); COMMENT SEE READ1; VALUE IN,NO; INTEGER IN,NO,P1,P2; CODE; PROCEDURE READ3(IN,NO,P1,P2,P3); COMMENT SEE READ1; VALUE IN,NO; INTEGER IN,NO,P1,P2,P3; CODE; PROCEDURE READ4(IN,NO,P1,P2,P3,P4); COMMENT SEE READ1; VALUE IN,NO; INTEGER IN,NO,P1,P2,P3,P4; CODE; PROCEDURE READR(IN,NO,P1); COMMENT SEE READ1; VALUE IN,NO; INTEGER IN,NO; REAL P1; CODE; PROCEDURE DELAY; COMMENT DELAY BETWEEN SCANS; CODE; INTEGER IN_1,OUT_2,BOX,CARD,CHANNEL,CHANNEL2,GAIN2,RATE, RANGE,EXTSS,DONE,LOOP_0,DUMMY_0,I,J,K,MODE,STORAGE, LISTOK,WHERE,HOWMANY,START,FINISH,PACED_0,FIRST,LAD_0, ADDRESS,FIRSTCHANNEL,SC,CO,GAIN,FUN,GROUPS_0, TC,RS,BS,SS,HI,DI,USEGAIN_0,NUMBER,REPEATOK,SAVEHOWMANY, DIFFERENTIAL,STATUS,BUCKETS,QUANT,SAVE,ABRT1,SAVEGROUPS; INTEGER ARRAY CHANNELBUFFER[1:200],N[1:25]; COMMENT CHANNELBUFÍïþúFER IS USED TO STORE THE CHANNEL CODES ; REAL ARRAY DATA[1:200],G[1:25],Q[1:13]; COMMENT DATA IS USED IN TWO WAYS. THE DRIVER FILLS THE SECOND HALF OF DATA WITH INTEGERS (CONVERSION DATA). CNVRT TAKES THESE INTEGERS AND PUTS REAL VOLTAGES INTO DATA IN A NORMAL WAY. THAT IS, READING ONE IS IN DATA [1] AND IS THE FIRST TWO COMPUTER WORDS IN THE ARRAY ; REAL RDUMMY_0.0,RGAIN,RGAIN2; BOOLEAN FIRSTTIME_TRUE; LABEL INITIALIZE,BACK,NUMBERIN,GETOUT,QUEST,TURNOFF, HISTLIST,SINGLECHANNEL,TWOCHANNEL,DISPLAY, TAKEREADINGS,WAIT,HISTOGRAM,INTERLACE, ABORT,TERM,RITEABORT,READIN,FIND,DUOVER, PACEFAST,ENDLIST,LISTER,GROUPIN,AGAIN, REPEAT,READDIFF,NORMALIZE,FORM,DODISPLAY, GETREADINGS,DISABLELIST,INABORT,STATREAD; SWITCH OPERATE_INITIALIZE,INITIALIZE,INITIALIZE, INITIALIZE,INITIALIZE,INITIALIZE, DISPLAY,REPEAT,LISTER,NORMALIZE; COMMENT THE FIRST SIX VALUES OF 'WHERE' WANT TO GO THROUGH INITIALIZE. DISPLAY IS FOR DISPLAY MODE (SKIPS NUMBER OF READINGS REQUEST). ; SWITCH DOIT_SINGLECHANNEL,TWOCHANNEL,INTERLACE, SINGLECHANNEL,SINGLECHANNEL,HISTOGRAM; COMMENT AGAIN, 'WHERE' IS THE ARGUMENT. ONLY THE FIRST 6 VALUES OF 'WHERE' CAN GET TO THIS SWITCH. THE 2ND & 3RD REFERENCES FOR SINGLE- CHANNEL ARE USED BY SS/H & SEQUENTIAL SCAN ; FORMAT F1(/" 2313B VERIF 8/22/73"), F2(" LAST CH"), F3(A2),F4(" NO= _"),F5(" NO OF GPS= _"), F6(" BX,CD,CH_"),F7(" BX,CD_"), F9(" "),F10(" NO CH'S= _"),F11(" = _"), F12(" ??"),F13(" NO CDS= _"), F14(" DIFF? _"),F15(" PACE FAST"), F16(" STATUS? _"),F17(" CH'S/GP= _"), F18(" 1ST CH"),F19(" 2ND CH"), F20(" ABORT"),F21(",GAIN_"), F24(I10),F25(" START,FINISH= _"),F26(7X,F10.6," _æþú"), F28(" RDGS TAKEN"),F29(F11.6," _"), F30(" NO FINISH:",I7," RDGS"), F31(I6),F32(14X,"_"),F33(" GROUP",I4); PROCEDURE READNUM; BEGIN READIN: WRITE(OUT,F6); IF RS OR USEGAIN AND (NOT SS OR FIRSTCHANNEL) THEN WRITE(OUT,F21); WRITE(OUT,F11); BOX_CARD_CHANNEL_201; RGAIN_GAIN_8; IF RS OR USEGAIN AND (NOT SS OR FIRSTCHANNEL) THEN BEGIN READ3(IN,3,BOX,CARD,CHANNEL);READR(IN,0,RGAIN); GNCHK(GAIN,RGAIN);END ELSE BEGIN READ3(IN,3,BOX,CARD,CHANNEL); RGAIN_GAIN_1; END; IF BOX OR CARD OR CHANNEL OR GAIN THEN GO INABORT; IF BOX>7 OR CARD>11 OR CHANNEL>31 OR GAIN=8 OR (BOX+CARD)=0 THEN BEGIN WRITE(OUT,F12); GO READIN; END; COMMENT CONSTRUCT CHANNEL CODE; IF NOT RS THEN ADDR(BOX,CARD,CHANNEL); END; COMMENT CLEAR OUT ANY ABORT MODES (FOR RESTART); EXIT(0,GETOUT); WRITE(OUT,F1); CO_-1; IF FIRSTTIME THEN BEGIN DESCR(CHANNELBUFFER[1]); COMMENT IF THE PROGRAM WAS JUST LOADED, ALLOW THE INSTRUCTIONS TO BE PRINTED. C DON'T ALLOW THE INSTRUCTIONS TO BE REQUESTED ON RESTART; CO_FIRSTTIME_FALSE; WRITE(OUT,F9); END; COMMENT INITIALLY NO DATA IS AVAILABLE TO LIST AND NO VALID TEST IS DEFINED (NO REPEAT ALLOWED); REPEATOK_0; & COMMENT LIST MUST, ALSO, BE DISABLED WHEN LOOPING; DISABLELIST: LISTOK_0; NORMALIZE: COMMENT ISSUE SYSTEM NORMALIZE; I2313(8,0,0,0,DUMMY,0,RDUMMY,0); BACK: COMMENT THE DESIRED TEST AND CONDITIONS ARE TO BE ENTERED; INTRP(WHERE,SC,TC,RS,BS,SS,HI,DI,ADDRESS,CO,LAD, REPEATOK,USEGAIN,LOOP,PACED,RATE,RANGE,EXTSS,LISTOK,IN); REPEATOK_LISTOK_FIRSTCHANNEL_-1; GO OPERATE[WHERE]; COMMENT THIS SWITCH DETERMINES WHETHER OR NOT A TEST REQUIRING INPUT HAS BEEN ENTERED < <<<<<<<<<<<<<<<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> VALUE OF WHERE gþú TEST ENTERED DESTINATION WHY ----- ------------ ----------- --- 1 SINGLE CHANNEL INITIALIZE GET NO OF READINGS 2 TWO CHANNEL INITIALIZE GET NO OF READINGS 3 INTERLACE INITIALIZE GET NO OF READINGS 4 SS/H INITIALIZE GET NO OF READINGS 5 SEQUENTIAL SCAN INITIALIZE GET NO OF READINGS 6 HISTOGRAM INITIALIZE GET NO OF READINGS 7 DISPLAY DISPLAY SKIP TO CHANNEL NO 8 REPEAT REPEAT DO TEST OVER 9 LIST LISTER LIST DATA 10 NORMALIZE NORMALIZE ISSUE SYS NORM <<<<<<<<<<<<<<<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> ; INITIALIZE: I_FUN_GAIN2_RGAIN2_1; IF BS THEN SS_-1; J_NUMBER_STATUS_GROUPS_0; IF SS AND USEGAIN THEN FUN_-1 ; COMMENT GET NO. OF READINGS; NUMBERIN: HOWMANY_0; IF RS THEN WRITE(OUT,F13)ELSE IF FUN THEN WRITE(OUT,F17) ELSE WRITE(OUT,F4); READ1(IN,1,HOWMANY); COMMENT NEGATIVE NO. ABORTS; IF HOWMANY THEN GO INABORT ELSE COMMENT IS IT A VALID NUMBER?; IF HOWMANY=0 OR NOT HI AND HOWMANY>200 OR TC AND HOWMANY=1 OR (FUN OR RS) AND HOWMANY>25 THEN BEGIN WRITE(OUT,F12); GO TO NUMBERIN; END; GROUPIN: IF FUN OR RS THEN BEGIN IF RS THEN WRITE(OUT,F10) ELSE WRITE(OUT,F5);READ1(IN,1,GROUPS); IF GROUPS THEN GO INABORT ELSE IF GROUPS=0 OR GROUPS>25 OR GROUPS*HOWMANY>200 OR RS AND GROUPS>16 THEN BEGIN WRITE(OUT,F12); GO TO GROUPIN;END;END; SAVEGROUPS_GROUPS; SAVEHOWMANY_HOWMANY; IF SS AND NOT USEGAIN THEN BEGIN WRITE(OUT,F18);READNUM END ELSE IF SS THEN BEGIN FOR I_1 TO GROUPS DO BEGIN WRITE(OUT,F33,I);READNUM;G[I]_RGAIN; CHANNELBUFFER[I]_CHANNEL+GAIN*8192;END; DIFFERENTIAL_-1;MODE_2;RGAIN_RGAIN2_G[1];GO TAKEREADINGS;END ELSE READNUM; GO DOIT[WHERE]; COMMENT TH-ÔþúIS SWITCH DETERMINES WHICH TEST TO BE CON- STRUCTED (SEE DEFINITION OF WHERE ABOVE); SINGLECHANNEL: COMMENT ALSO SEQUENTIALSCAN; IF NOT FIRSTCHANNEL THEN GO READDIFF; RGAIN2_RGAIN; GAIN2_GAIN; MODE_0; CHANNELBUFFER[1]_CHANNEL+GAIN2*8192; COMMENT FOR SEQUENTIAL SCAN ASK IF CHANNELS ARE DIFFERENTIAL OR SINGLE-ENDED AND SET THE INDICATOR; IF SS THEN BEGIN MODE_2; FIRSTCHANNEL_DIFFERENTIAL_0; IF LAD THEN BEGIN WRITE(OUT,F2); READNUM; GO DOIT[WHERE];END; READDIFF: WRITE(OUT,F14); DONE_0; READ1(IN,-1,DONE); IF DONE="AB" THEN GO INABORT; IF DONE="YE" THEN DIFFERENTIAL_-1 ELSE IF DONE#"NO" THEN GO READDIFF; END; GO TAKEREADINGS; TWOCHANNEL: COMMENT ON FIRST TIME THROUGH (ON EACH CALL TO 2C) SAVE FIRST CHANNEL INFORMATION AND GO BACK TO INPUT SECTION; IF FIRSTCHANNEL THEN BEGIN CHANNEL2_CHANNEL; RGAIN2_RGAIN; GAIN2_GAIN; FIRSTCHANNEL_0; READNUM;GO DOIT[WHERE]; END; COMMENT FORM OUTPUT BUFFER CONTAINING ALTERNATING CHANNEL NUMBERS; FOR I_1 STEP 2 UNTIL 199 DO BEGIN CHANNELBUFFER[I]_CHANNEL2+GAIN2*8192; CHANNELBUFFER[I+1]_CHANNEL+GAIN*8192; END; MODE_1; TAKEREADINGS: EXIT(-1,GETOUT);I_K_1; STORAGE_PACED; IF BS THEN BEGIN IF PACED THEN I2313(8,6,-EXTSS,EXTSS, RATE,RANGE,RDUMMY,0); AGAIN: I2313(8,1,STATUS,0,DUMMY,0,RDUMMY,0); IF STATUS THEN GO AGAIN; ISSUE(1);PACED_0;END; IF LAD AND SS AND NOT USEGAIN THEN I2313(8,7,0,1,ADDRESS,CHANNEL,RDUMMY,0); GETREADINGS: COMMENT SET PACER (IF USED) AND INITIATE READINGS; IF PACED THEN I2313(8,6,-EXTSS,EXTSS,RATE,RANGE,RDUMMY,0); IF FUN THEN I2313(8,2,PACED,MODE,CHANNELBUFFER[I],HOWMANY, Q[1],DIFFERENTIAL) ELSE I2313(8,2,PACED,MODE,CHANNELBUFFER[1],HOWMANY, DATA[101],DIFFERENTIAL); WAIT: COMMENT MAKE STATUS CALL TO SEE IF READINGS HAVE ALL BEEN TAKEN; Pþú I2313(8,1,STATUS,0,DUMMY,0,RDUMMY,0); IF (STATUS AND 3)>1 THEN GO PACEFAST; COMMENT PACE ERROR; IF STATUS THEN GO WAIT; COMMENT NOT DONE; COMMENT DONE -- SO TURN OFF PACER; IF PACED THEN I2313(8,6,0,0,DUMMY,0,RDUMMY,0); IF LOOP AND NOT FUN THEN GO TURNOFF; IF LAD AND SS AND NOT USEGAIN THEN I2313(8,7,0,0,ADDRESS,0,RDUMMY,0); & & COMMENT CONVERT THE DATA FROM SINGLECHANNEL, TWOCHANNEL, OR SEQUENTIALSCAN. HERE ALL GAIN INFORMATION IS PASSED IN ONE CALL AND ALL DATA CONVERTED ; IF FUN THEN CNVRT(DATA[K],Q[1],G[I],G[I],0,HOWMANY) ELSE CNVRT(DATA[1],DATA[101],RGAIN2,RGAIN,0,HOWMANY); DONE_2; IF FUN AND (I-GROUPS) THEN BEGIN I_I+1;K_K+HOWMANY; GO GETREADINGS;END; TURNOFF: IF BS THEN BEGIN ISSUE(0);PACED_STORAGE; IF PACED THEN I2313(8,6,0,0,DUMMY,0,RDUMMY,0);END; IF LOOP THEN BEGIN DELAY; GO TAKEREADINGS;END; EXIT(0,GETOUT); COMMENT CLEAR ABORT FEATURE; IF TC THEN BEGIN DONE_4; COMMENT CALL STATPAC TO OPERATE ON FIRST CHANNEL DATA ON TWOCHANNEL (STATPAC MODE = 3); WRITE(OUT,F18); STATPAC(DATA[1],N[1],3,HOWMANY); WRITE(OUT,F19); END ELSE IF NOT SC THEN BEGIN WRITE(OUT,F28); GO BACK; END; COMMENT CALL STATPAC FOR SECOND CHANNEL DATA ON TWOCHANNEL (MODE = 4) OR FOR ALL DATA ON SINGLECHANNEL (MODE = 2); STATPAC(DATA[1],N[1],DONE,HOWMANY); GO BACK; COMMENT ALL DONE, GO LOOK FOR A NEW COMMAND; & INTERLACE: IF CHANNEL+ 2*(GROUPS-1)>30 THEN BEGIN WRITE(OUT,F12); READNUM; GO INTERLACE;END;I_1; FORM: SAVE_CHANNEL; ADDR(BOX,CARD,SAVE);CHANNELBUFFER[I]_SAVE; G[I]_RGAIN; N[I]_GAIN; IF (HOWMANY-I)#0 THEN BEGIN I_I+1; QUEST: BOX_CARD_RGAIN_201; WRITE(OUT,F7); WRITE(OUT,F21); WRITE(OUT,F11); READ2(IN,2,BOX,CARD); READR(IN,0,RGAIN); GNCHK(GAIN,RGAIN); IF BOX OR CARD OR GAIN THEN GO INABORT; IF BOX>7 OR CARD>11 OÇXþúR GAIN=8 THEN BEGIN WRITE(OUT,F12); GO QUEST;END; GO FORM; END; DUOVER: INTER(CHANNELBUFFER[1],HOWMANY,DATA[1],DATA[101],GROUPS, G[1],N[1],ABRT1); IF ABRT1 THEN GO GETOUT; WRITE(OUT,F28); GO BACK; & DISPLAY: READNUM; IF USEGAIN THEN I2313(8,7,0,0,CHANNEL, GAIN,RDUMMY,0); COMMENT ASK IF STATUS BITS ARE DESIRED ; STATREAD: WRITE(OUT,F16); DONE_0; READ1(IN,-1,DONE); STATUS_0; IF DONE="AB" THEN GO INABORT; IF DONE="YE" THEN STATUS_-1 ELSE IF DONE#"NO" THEN GO STATREAD; DODISPLAY: DSPLY(CHANNEL,PACED,RATE,RANGE,EXTSS,STATUS); GO DISABLELIST; COMMENT NOTHING TO LIST AFTER DISPLAY; REPEAT: IF RS THEN GO DUOVER; IF DI THEN GO DODISPLAY; IF NOT HI THEN GO TAKEREADINGS; & HISTOGRAM: NUMBER_HOWMANY; N[1]_USEGAIN; IF USEGAIN THEN I2313(8,7,0,0,CHANNEL,GAIN,RDUMMY,0); HISTO(CHANNEL,PACED,RATE,RANGE,EXTSS,RGAIN, NUMBER,BUCKETS,N[1],DATA[1]); COMMENT N[21] IS TRUE IF AN ABORT WAS MADE; IF N[21] THEN GO GETOUT; COMMENT THE NUMBER OF BUCKETS (CATEGORIES) IS SET NEGATIVE (TRUE) IF A PACER ERROR IS DETECTED; IF BUCKETS THEN GO TO PACEFAST; COMMENT THE NUMBER IS NEGATIVE IF THE HISTOGRAM TERM- INATES EARLY AND GIVES THE NUMBER OF READINGS YET TO TAKE; IF NUMBER THEN WRITE(OUT,F30,HOWMANY+NUMBER); COMMENT CALL STATPAC FOR THE HISTOGRAM CATEGORIES (STATPAC MODE = 1); STATPAC(DATA[1],N[1],1,BUCKETS); HISTLIST: COMMENT LIST ALL CATEGORIES FOUND IN HISTOGRAM; FOR I_1 TO BUCKETS DO BEGIN COMMENT CHECK SWITCH 15 TO ESCAPE FROM LIST; IF KEYS THEN GO TERM; WRITE(OUT,F29,DATA[I]); WRITE(OUT,F24,N[I]); END; TERM: IF LOOP THEN BEGIN WRITE(OUT,F9); GO TO HISTOGRAM; END; GO ENDLIST; COMMENT THIS IS THE LISTER CALLED BY THE LIST COMMAND; LISTF÷þúER: IF HI THEN GO HISTLIST; START_FINISH_0; HOWMANY_SAVEHOWMANY; GROUPS_SAVEGROUPS; COMMENT READ THE FIRST AND LAST READING NUMBERS TO BE LISTED; WRITE(OUT,F25); READ2(IN,2,START,FINISH); COMMENT GET OUT IF EITHER IS NEGATIVE; IF START OR FINISH THEN GO BACK; COMMENT VALID FIRST AND LAST?; IF NOT (FUN OR RS) THEN BEGIN IF START>FINISH OR START=0 OR START>HOWMANY THEN GO TO LISTER; IF FINISH>HOWMANY THEN FINISH_HOWMANY;END ELSE BEGIN IF START>FINISH OR START > HOWMANY*GROUPS OR START=0 THEN GO TO LISTER; IF FINISH>HOWMANY*GROUPS THEN FINISH_HOWMANY*GROUPS;END; WRITE(OUT,F9); IF NOT TC THEN BEGIN FIRST_HOWMANY; COMMENT FIND GROUP CONTAINING START; FIND: WHILE START>FIRST DO FIRST_FIRST+HOWMANY; K_FIRST+1 -START; COMMENT START LISTING GROUPS; FOR J_START TO FINISH DO BEGIN IF K=0 THEN BEGIN COMMENT NEXT GROUP SO INSERT LINEFEED; WRITE(OUT,F9); K_HOWMANY;END; WRITE(OUT,F29,DATA[J]);WRITE(OUT,F9); K_K-1; IF KEYS THEN GO ENDLIST;END;END; COMMENT PRINT TWO COLUMNS FOR TWOCHANNEL; IF TC THEN BEGIN DONE_1; IF START MOD 2=0 THEN BEGIN DONE_-1; WRITE(OUT,F32); END; FOR I_START TO FINISH DO BEGIN WRITE(OUT,F29,DATA[I]); IF DONE THEN WRITE(OUT,F9); DONE_-DONE; COMMENT ESCAPE?; IF KEYS THEN GO ENDLIST; END; IF NOT DONE THEN WRITE(OUT,F9); END; ENDLIST: WRITE(OUT,F9); GO BACK; COMMENT CLEAR ABORT FEATURE AND PRINT 'PACE FAST'; PACEFAST: EXIT(0,GETOUT); WRITE(OUT,F15); COMMENT PRINT 'ABORT' AND DISABLE LIST. ALSO WILL DO A SYSTEM NORMALIZE; ABORT: LISTOK_0; RITEABORT: WRITE(OUT,F20); GO NORMALIZE; INABORT: COMMENT THIS IS WHERE A NEGATIVE INPUT SENDS YOU FOR ABORT; REPEATOK_0; GO RITEAB(B@âþúHANNELBUF = BUFFER OF CHANNEL NUMBERS * FOR TWO CHANNEL (INTEGER ARRAY CHANNELBUF[1:N] ) * = THE CHANNEL FOR SINGLE CHANNEL * = THE STARTING CHANNEL FOR SEQUENTIAL * * N = NUMBER OF READINGS TO TAKE * * INBUF = BUFFER TO STORE READINGS * (INTEGER ARRAY INBUF[1:N];) * * DIFFIN = FALSE (0) SINGLE ENDED CHANNELS \ SEQUENTIAL * = TRUE (-1) DIFFERENTIAL CHANNELS / ONLY * * * 4) WRITE REQUESTS (PACER) * * I2313(UNIT,6,WAIT,EXTERNAL,PERIOD,MULTIPLIER,DUMMY,0); * * WHERE: * * WAIT = FALSE (0) CHANGE RATE IMMEDIATELY * = TRUE (-1) CHANGE RATE AT NEXT PACE PULSE * * EXTERNAL = FALSE (0) DISABLE EXTERNAL START/STOP * = TRUE (-1) ENABLE EXTERNAL START/STOP * * PERIOD = 0-255 DECIMAL FOR BASIC PERIOD IN MICROSECONDS * *MULTIPLIER = 0-7 POWER OF 10 MULTIPLIER SKP * 5) WRITE REQUESTS (LAST ADDRESS DETECTOR,LAD) * * I2313(UNIT,7,0,MODE,ADDRESS,LASTADRS,DUMMY,0); * * WHERE: * * MODE = 0 TURN OFF LAD * = 1 TURN ON LAD & SET NEW LAST ADRS * * ADDRESS = 2313B CARD ADRS OF LAST ADRS DET * * LASTADRS = HLMPX LAST CHAN FOR SEQ SCAN * * * * 6) SET GAIN CODE(LLMPX) * I2313(UNIT,7,0,0,ADDRESS,GAINCODE,DUMMY,0); * * WHERE: * * ADDRESS = 2313B CARD ADDRESS OF LLMPX * * GAINCODE AMPLIFICATION * -------- ------------- * 0 X1000 * 1 X500 * 2 X250 * 3 X125 * 4 X100 * 5 X50 * 6 X25 * 7 X12.5 SKP * ** CALLING PARAMETER LIST ** SPC 1 UNIT NOP TYPE NOP PACE NOP MODE NOP CNBUF NOP \ NUMBR NOP \ALSO FOR DBUFF NOP / CALL TO .IOC. MODEX NOP / SPC 2 * ** START OF ROUTSþúINE ** SPC 1 I2313 NOP JSB .ENTR GET PARAMETER DEF UNIT ADDRESSES INTO LIST ABOVE SPC 1 LDA UNIT,I GET UNIT REFERENCE NUMBER LDB TYPE,I GET TYPE OF REQUEST SZB CLEAR REQUEST? JMP MORE NO SPC 2 * ** CALL FOR CLEAR REQUEST ** SPC 1 STA *+2 STORE UNIT REF IN CALL JSB .IOC. CALL FOR NOP CLEAR REQUEST JMP I2313,I DONE SPC 2 MORE RBR,RBR CPB BIT14 STATUS REQUEST? RSS YES JMP AGAIN NO SKP * ** CALL FOR STATUS REQUEST ** SPC 1 IOR BIT14 SET STATUS REQ ONTO UNIT REF STA *+2 STORE REQ CODE IN CALL JSB .IOC. CALL FOR NOP STATUS AND MASK FORM STATUS INFORMATION STA PACE,I AND RETURN IT JMP I2313,I DONE SPC 1 AGAIN SLB MPX REQUEST? JMP WRITE NO SPC 2 * ** CALL FOR MPX REQUESTS ** SPC 1 IOR READ SET READ REQ ONTO UNIT REF SPC 2 * ** CALLS FOR MPX'S AND DAC ** SPC 1 LDB PACE,I IS THE PACER SSB TO BE USED? LAD IOR BIT10 YES - ADD PACE MODE BIT STA B LDA MODE,I GET MODE AND AND THREE ISOLATE IT ALF,RAL THEN POSITION INTO RAL BITS 6 & 7 IOR B PLACE MODE ON REQ CODE SPC 2 * ** ALL READ/WRITE CALLS ** SPC 1 PACER LDB MODEX,I IS THIS FOR DIFFERENTIAL SSB CHANNELS (OR GAIN ONLY)? IOR BIT8 YES - SET XTRA MODE BIT (8) SPC 1 LDB NUMBR,I PUT # OF READINGS (OR PACE STB NUMBR RANGE) IN NUMBR DIRECT STA *+2 STORE REQ CODE IN CALL SPC 1 JSB .IOC. CALL REQ NOP THE JMP *-2 DRIVERȲ DEF CNBUF FOR OCT 4 READ OR WRITE SPC 2 JMP I2313,I DONE ** SKP * ** CALL FOR WRITE REQUESTS ** SPC 1 WRITE IOR RITE SET WRITE REQ ONTO UNIT REF SPC 2 * ** CALL FOR PACER OR LAD REQUESTS ** SPC 1 IOR BIT11 SET PACER BIT ON REQ CODE STA REQ LDA CNBUF,I REMOVE INDIRECT FROM PACE PERIOD STA CNBUF OR LAD ADDRESS LDA REQ RBL SSB LAD CALL? JMP LAD YES SPC 1 LDB PACE,I GET "CHANGE" PARAMETER SSB CHANGE AT NEXT PACE PULSE? IOR BIT6 YES - PUT "CHANGE" BIT ON REQ LDB MODE,I GET "EXT S/S" PARAMETER SSB EXT START/STOP? IOR BIT7 YES - PUT XS/S BIT ON REQ JMP PACER SPC 5 * ** CONSTANTS ** SPC 1 B EQU 1 SPC 1 ORB BIT6 OCT 100 BIT7 OCT 200 BIT8 OCT 400 BIT10 OCT 2000 BIT11 OCT 4000 BIT14 OCT 40000 MASK OCT 100003 READ OCT 11000 RITE OCT 21000 THREE OCT 3 SPC 2 * ** END OF INTERFACE ROUTINE ** SPC 2 END ÂFÿÿ ÿý ÿ02313-82004 A S 0106 HP 2313B VERIFICATION DRIVER - D.62V             H0101 ÍrþúASMB,R,B,L,C HED 2313B (NON-DMA) BCS DRIVER D.62V VERIF 8/22/73 * * NAM D.62V ENT D.62,I.62 EXT DELAY,GONLY SPC 2 * THIS DRIVER OPERATES THE 2313B SUB-SYSTEM IN THE * BCS ENVIRONMENT. IT IS CALLED DIRECTLY FROM * ASSEMBLY LANGUAGE. FOR USE WITH FORTRAN OR ALGOL * REFER TO THE ALGOL/FTN-DRIVER INTERFACE ROUTINE (V2313). * * THIS IS A REDUCED VERSION OF THE DRIVER FOR USE WITH THE * 2313B VERIFICATION PROGRAM. THERE ARE NO CALLS FOR DAC OR * SIMULTANEOUS SAMPLE AND HOLD. * * THE CALLS FOR CLEAR AND STATUS ARE STANDARD WITH * STATUS BIT 0 FOR OVERLOAD AND BIT 1 FOR PACE * RATE TOO FAST. STATUS IS DYNAMIC (BITS 14 AND 15 OF * EQT WORD 2 MAY BOTH BE SET). * * THE READ CALL IS AS FOLLOWS: * * JSB .IOC. * OCT 1SFUR * /JMP\ * DEF CBUFF * DEC 3 * --- * CBUFF DEF CHAN * DEC N * DEF DATA
* --- * * WHERE S & F ARE AS FOLLOWS: * * S CONSISTS OF REQUEST CODE WORD BITS 9, 10, & 11 * * S = 1 UNPACED * S = 3 PACED * * F CONSISTS OF REQUEST CODE WORD BITS 6, 7, & 8 * * F = 0 SINGLE CHANNEL * F = 1 TWO CHANNEL * F = 2 SEQUENTIAL SCAN * F = 6 SEQUENTIAL SCAN (DIFFERENTIAL INPUTS) SKP * THE WRITE CALL IS AS FOLLOWS (PACER & LAD): * * JSB .IOC. * OCT 2SFUR * /JMP\ * DEF CBUFF * DEC 2 * --- * * FOR PACER: * * --- * CBUFF OCT RATE * OCT RANGE * --- * * FOR LAST ADDRESS DETECTOR (LAD): * * --- * CBUFF OCT LAD <2313B CARD ADRS OF çþúLAST ADRS DET> * OCT LADRS * * WHERE S & F ARE AS FOLLOWS: * * S = 5 FOR PACER CALL * * S = 7 FOR LAST ADDRESS DETECTOR CALL * * FOR THE PACER CALL F IS ACTUALLY F0 & F1 WHERE * F0 IS REQ CODE BIT 6 AND F1 IS REQ CODE BIT 7 * * F0 = 0 CHANGE RATE IMMEDIATELY * F0 = 1 CHANGE RATE AT NEXT PACE PULSE * * F1 = 0 DISABLE EXTERNAL START/STOP * F1 = 1 ENABLE EXTERNAL START/STOP * * FOR THE LAST ADDRESS DETECTOR F IS REQ CODE BITS 6, 7, & 8 * * F = 0 TURN OFF LAD * F = 1 TURN ON LAD AND GET NEW LAST ADDRESS SKP * ** INITIATOR SECTION ** SPC 1 D.62 NOP STA SAVA SAVE EQT ENTRY ADRS STB SAVB SAVE REQ CODE ADRS LDA A,I GET AND B77 SELECT CODE STA SC AND SAVE LDB A,I GET TRAP CELL STB TCC CONTENTS AND SAVE LDA SAVB,I GET REQ CODE AND B77 OCT 77 (ALF) SHIFT TO LSB'S B7 OCT 7 (NOP) \ AND B17 THEN ISOLATE REQUEST SZA CLEAR REQUEST? JMP NTCLR NO SPC 2 * ** CLEAR REQ - ISSUE SYN ** SPC 1 * CONFIGURE SYN I/O INSTRUCTIONS SPC 1 LDA SC IOR XSFS FORM "SFS SC" INST STA SFS1 AND STORE IT ADA B300 FORM "OTA SC" INST STA OTA1 AND STORE IT IOR B1100 FORM "STC SC,C" INST STA STCC1 AND STORE IT XOR B5000 FORM "CLC SC" INST STA CLC1 AND STORE IT STA CLC2 / XOR B4000 FORM "STC SC" INST STA STC1 AND STORE IT SPC 1 * ISSUE SYN TWICE SPC 1 CLC1 CLC ADI MAKE SURE ENCODE IS RESET LDA SYN GET AND OUTPUT THE OTA1 OTA ADI SYSTEM NORMALIZE COMMAND CLA CLEAR THE STA SC,I TRAP CELL (PREVENT INT6)þúERRUPT) STCC1 STC ADI,C ENCODE NOP STC1 STC ADI ENCODE AGAIN SFS1 SFS ADI JMP *-1 CLC2 CLC ADI TURN OFF I/O CARD STB SC,I RESTORE TRAP CELL ISZ SAVA CLEAR LDB ET EQT WORD 2 - STB SAVA,I BUSY AND STATUS STA BUSY YES - CLEAR DRIVER BUSY FLAG SPC 1 JMP D.62,I CLEAR REQUEST RETURN POINT SKP * ** OPERATION REQUEST ** * (READ OR WRITE) SPC 1 NTCLR LDB BUSY DRIVER SZB BUSY? JMP REJB YES - REJECT CALL ADA N2 SAVE REQ CODE AS -1=READ, STA REQ 0=WRITE, AND +1=CONTROL LDA XRSS SET FIRST READING FLAG STA FIRST SPC 2 * ** CONFIGURE I/O INSTRUCTIONS ** SPC 1 LDA SC IOR XSFS FORM "SFS SC" INST STA SFS3 AND STORE IT STA SFS4 / ADA B300 FORM "OTA SC" INST STA OTA2 AND STORE IT STA OTA3 / STA OTA4 / IOR B1100 FORM "STC SC,C" INST STA STCC3 AND STORE IT STA STCC4 / STA STCC5 / XOR B5000 FORM "CLC SC" INST STA CLC3 AND STORE IT XOR B4200 FORM "LIA SC" INST STA INPUT AND STORE IT SKP * ** SUB-FUNCTION CHECK ** SPC 1 LDA SAVB,I GET REQ CODE WORD ALF,RAL ISOLATE SUB-FUNCTION STA SFB11 BIT 11 AND SAVE ALF,RAR ISOLATE SUB-FUNCTION STA SFB8 BIT 8 AND SAVE RAL,RAL ISOLATE SUB-FUNCTION F AND B3 (BITS 6 AND 7) AS ADA N1 -1, 0, OR +1 AND STA F SAVE SPC 2 SFS3 SFS ADI IS THE 2313 OPERABLE? JMP REJB NO - BUSY SPC 2 LDA ETBSY SET EQT ISZ SAVA WORD 2 LDB SAVA FOR STA B,I Xþú BUSY (CLEAR STATUS) STA BUSY SET DRIVER BUSY FLAG CLA CLEAR STA RNFLG RANDOM MODE FLAG STA DECNT AND DELAY COUNTER SPC 1 LDA SAVB,I GET PACE MODE BIT AND B2000 FROM BIT 10 OF REQ RAL,RAL CODE WORD, ROTATE STA PBIT INTO BIT 12 AND SAVE IOR CLEAN FORM LAST DATA STA SFS3 COMMAND WORD & STORE SKP LDB SAVB \\\\\\\ ADB B2 \ LDA B,I \ INB GET \ LDB B,I AND \ CMB,INB SAVE \ STB TSAVA PARAMETER\ LDB CBUFF LIST / STB SAVAX FROM / GET LDB A,I CALL/ STB SAVAX,I / INA / ISZ SAVAX / ISZ TSAVA / JMP GET ////// SPC 2 LDA NUMBR SET NUMBER CMA,INA OF READINGS NEGATIVE STA CNTR FOR COUNTER SPC 1 LDA PBIT GET PACE MODE BIT LDB REQ REQUEST SSB CODE? JMP READ =1 SKP * ** PROCESS PACER REQUEST ** SPC 1 SZA LAD REQUEST? JMP LAD YES LDA SAVB,I GET BITS 6 AND 7 AND B300 OF REQ CODE WORD AND ALF,RAL MOVE INTO BITS 11 AND 12 STA B SPC 1 LDA CNBUF GET RATE AND B377 AND OR IOR B IT TO COMMAND STA B SPC 1 LDA NUMBR GET RANGE, AND B7 MOVE TO PROPER ALF,ALF POSITION AND OR IOR B IT TO COMMAND SPC 1 IOR PCR FORM PACER COMMAND JMP OTA3 SPC 2 LAD LDA NUMBR GET LAST AND B7777 ADDRESS LDB F CLEAR SZB,RSS OR SET? IOR PBIT SET - PUé^þúT IN BIT 12 STA PDATA SAVE LAST ADDRESS LDA BIT14 FORM DAC CMND IOR CNBUF WD TO ADRS LAD CLB STB SFB11 JMP OTA3 SPC 2 SKP * ** READ REQUESTS ** SPC 1 READ LDA BIT13 FORM MPX COMMAND SPC 2 * ** PROCESS HLMPX REQUEST ** SPC 1 IOR BIT15 FORM MPX DIGITIZE COMMAND CLB,INB CHECK NUMBER CPB NUMBR OF READINGS? XOR BIT13 =1 - CHANGE TO RANDOM STA CMND SAVE COMMAND WORD SPC 1 LDA B7777 SET CHANNEL STA MASK NUMBER MASK CLB,INB SEQUENTIAL CPB F SCAN? XOR B YES - CLEAR BIT 0 OF MASK STA MASK2 LDB BIT14 SET SEQUENTIAL STB SEQWD BIT WORD LDB SFB8 SUB-FUNCTION BIT 8 SLB,RSS CHECK FOR DIFF OR S.E. ISZ SEQWD S.E. - SET BIT 0 OF SEQWD SPC 1 SPC 1 JSB POW SET GAIN? LDA CNBUF,I GET FIRST CHANNEL AND MASK NUMBER AND OR IT IOR CMND ONTO COMMAND CLB,INB CHECK NUMBER CPB NUMBR OF READINGS JMP SRNFG =1 - GO SET RANDOM FLAG SPC 1 JSB FOUT OUTPUT 1ST CMND (BAD DATA BACK) ISZ CNTR INCREMENT # OF READINGS SPC 1 LDA CMND GET COMMAND WORD LDB F SUB- SZB,RSS FUNCTION F? JMP L2 BLOCK SCAN SSB JMP L1 SINGLE CHANNEL IOR SEQWD SEQUENTIAL SCAN - FORM SEQ SPC 1 L1 STA CMND2 SAVE COMMAND LDA CNBUF,I PUT AND MASK2 START CHANNEL CLB,INB ONTO THE CPB F COMMAND ADA N2 IOR CMND2 IOR PBIT STA CMND2 JMP START SKP L2 ISZ CNBUF INCREMENT CHANNEL # BUFFER LDA CNBUF,I GET CHANNEL ²þúAND MASK NUMBER AND OR IOR CMND IT ONTO COMMAND IOR PBIT PUT THE PACE BIT STA CMND2 ON THE COMMAND SPC 2 * ** OUTPUT COMMAND ** SPC 1 START LDA CMND2 OTA3 OTA ADI OUTPUT COMMAND WORD CLA CLEAR A & B CLB REGISTERS FOR NORMAL RETURN STCC3 STC ADI,C ENCODE THE 2313 SPC 1 JMP D.62,I RETURN TO .IOC. SPC 2 * ** ONE OPERATION ONLY ** SPC 1 SRNFG CCB SET RANDOM STB RNFLG MODE FLAG IOR PBIT PUT PACE BIT ON CMND JMP OTA3 SPC 2 * ** BUSY REJECT ** SPC 1 REJB LDB BIT15 SET BIT 15 OF B FOR DEVICE BUSY CLA,INA SET A REG TO 1 AS REJECT FLAG JMP D.62,I RETURN TO .IOC. SPC 2 * ** FLAG OUTPUT ROUTINE ** * THIS ROUTINE IS USED BY BOTH * THE INITIATOR AND * CONTINUATOR SECTIONS * FOR OUTPUTTING WITHOUT * INTERRUPT. SPC 1 FOUT NOP CLB CLEAR THE TRAP CELL STB SC,I TO PREVENT INTERRUPT OTA2 OTA ADI OUTPUT WORD PASSED IN A REG STCC4 STC ADI,C ENCODE SFS4 SFS ADI WAIT ON JMP *-1 FLAG CLC3 CLC ADI TURN OFF I/O CARD LDB TCC RESTORE STB SC,I TRAP CELL JMP FOUT,I SKP * ** CONTINUATOR SECTION ** SPC 1 I.62 NOP STA SAVAX SAVE A REGISTER STB OTA3 SAVE B REGISTER ERA,ALS SAVE SOC E AND INA O STA .2930 REGISTERS SPC 1 LDB REQ CHECK REQUEST CODE SSB READ REQ? JMP INPUT YES LDB SFB11 LAD REQ? SLB,RSS JMP DAC YES JMP THEND DONE ƒQþú SPC 2 * ** PROCESS READ REQUESTS ** SPC 1 INPUT LIA ADI GET DATA FROM I/O CARD AND INMSK ELIMINATE UNUSED BITS STA DBUFF,I AND STORE IN DATA BUFFER AND B3 ISOLATE BITS 0 & 1 FIRST RSS NOP AFTER FIRST READING JMP XYZ AND B1 ELIMINATE PACE ERROR BIT CLB CLEAR FIRST STB FIRST READING TEST INSTRUCTION XYZ SZA TRANSMISSION ERROR? IOR BIT14 YES - SET BIT 14 IOR SAVA,I SET STATUS INFORMATION STA SAVA,I INTO EQT WORD 2 SPC 1 ISZ CNTR INCR # OF READINGS - DONE? XRSS RSS NO JMP FINIS YES LDB F SUB- SZB FUNCTION F? JMP L20 NOT =1 ISZ DECNT =1 - (BLOCK SCAN) LDB DECNT DO DELAY SLB,RSS ON JSB WAIT ALT. CHANNELS JSB POW SET GAIN? ISZ CNBUF LDA CNBUF,I GET NEW CHAN # AND MASK IOR CMND SET COMMAND BITS IOR PBIT SET PACER CONTROL BIT JMP L31 SKP L20 ISZ DBUFF INCR DATA BUFF ADDR (SING OR SEQ) SSB DELAY ON JSB WAIT SINGLE CHANNEL JMP EXIT (FOR SINGLE CHAN OR SEQ) SPC 2 DAC LDA PDATA GET LAST ADDRESS CLB,INB SET TEST FOR FINISH STB SFB11 JMP OTA4 SPC 3 * ** GET LAST READING ** SPC 1 FINIS CCA ISZ RNFLG RANDOM MODE FLAG? JMP L30 NO - GET LAST READING SPC 2 * ** DONE - CLEAR BUSY, ETC ** SPC 1 THEND LDA SAVA,I CLEAR EQT WORD 2 ELA,CLE,ERA BUSY BIT STA SAVA,I CLA CLEAR DRIVER STA BUSY BUSY FLAG SPC 1 LDA CLC3 SET EXIT STA STCC5 CONDITION FOR DONE JMP EXIT SKP * ** GET LAST READINZþúG (CONT.) ** SPC 1 L30 STA CNTR SET # OF OPS TO -1 STA RNFLG SET RANDOM MODE FLAG LDB F SSB SINGLE CHANNEL? JMP W YES SZB NO - TWO CHANNEL? JMP *+5 NO, SEQ. JSB POW YES - SET GAIN LDA NUMBR ODD # OF SLA CHANNELS? W JSB WAIT YES - DELAY LDA SFS3 GET "CLEAN" CMND FOR LAST RDNG L31 ISZ DBUFF INC DATA BUFF (FOR BLOCK SCAN) OTA4 OTA ADI OUTPUT NEW COMMAND OR DATA SPC 2 * ** EXIT POINT, DONE OR OTHER ** SPC 1 EXIT LDA .2930 RESTORE CLO E AND SLA,ELA O STO REGISTERS LDA SAVAX RESTORE A REGISTER LDB OTA3 RESTORE B REGISTER STCC5 STC ADI,C ENCODE (EXCEPT WHEN DONE - CLC) SPC 1 JMP I.62,I SPC 2 * ** CALL FOR DELAY ** SPC 1 WAIT NOP DELAY ONLY IF PACER NOT SET LDA PBIT PACER SZA,RSS SET? JSB DELAY NO - SO DELAY NOP ALL0W ALGOL TO RETURN JMP WAIT,I CONTINUE SPC 2 * ** PROGRAM LLMPX GAIN ** SPC 1 POW NOP LDA GONLY DO WE WANT LDA A,I TO SET GAIN? SSA,RSS YES - GO ON JMP HENCE NO - RETURN LDA CNBUF,I FORM 1ST COMMAND AND B7740 WORD IOR BIT14 JSB FOUT ISSUE TO 2313 LDA CNBUF,I FORM 2ND COMMAND ALF,RAR WORD AND B7 JSB FOUT ISSUE TO 2313 HENCE JMP POW,I SKP SPC 2 * ** CONSTANTS AND STORAGE ** SPC 1 A EQU 0 ADI EQU 0 SPC 1 B EQU 1 B1 OCT 1 B2 OCT 2 B3 OCT 3 B17 OCT 17 B300 OCT 300 B377 OCT 377 B1100 OCT 1100 B2000 OCT 2000 B4000 OCT 4000 B4200 OCT 4200 B500™6400 OCT 5000 B7740 OCT 7740 B7777 OCT 7777 BIT13 OCT 20000 BIT14 OCT 40000 BIT15 OCT 100000 BUSY NOP SPC 1 CLEAN OCT 120000 CMND NOP CMND2 NOP CNTR NOP SPC 1 DECNT NOP SPC 1 ET OCT 31000 ETBSY OCT 131000 SPC 1 F NOP SPC 1 INMSK OCT 177762 SPC 1 MASK NOP MASK2 NOP SPC 1 N1 OCT -1 N2 OCT -2 SKP PBIT NOP PCR OCT 60000 PDATA NOP SPC 1 REQ NOP RNFLG NOP SPC 1 SAVA NOP SAVAX NOP SAVB NOP SC NOP SEQWD NOP SFB8 NOP SFB11 NOP SYN OCT 140001 SPC 1 TCC NOP TSAVA NOP SPC 1 SPC 1 XSFS SFS ADI SPC 2 * ** PARAMETER LIST STORAGE ** SPC 1 CBUFF DEF *+1 CNBUF NOP NUMBR NOP DBUFF NOP .2930 NOP SPC 2 * ** END OF DRIVER ** SPC 2 END •—6ÿÿ ÿý  ÿ02313-82005 A S 0106 HP 2313B VERIFICATION INSTRUCTION OVERLAY             H0101 ýÞþúASMB,A,B,L HED 2313B VERIF -- INSTRUCTION OVERLAY 8/22/73 * THESE ASCII CHARACTERS ARE LOADED * INTO THE DATA BUFFER AREA OF THE ALGOL * PROGRAM VERIF. THE NUMBER OF CHARACTERS * PRINTED IS DETERMINED BY THE PARAMETER * LNGTH, LOCATED IN CODES (ASMB * PROCEDURES). THE ORG STATEMENT IS * BASED ON THE LOCATION OF THE 1ST WORD OF THE * ALGOL DATA BUFFER. * * * ORG 2005B SUP OCT 5012 [LF,LF] ASC 14,1-200 RDGS TOTAL UNLESS NOTE OCT 42015 [D,CR] OCT 5012 [LF,LF] ASC 10,A PROMPTER IS ISSUED OCT 35015 [:,CR] OCT 5012 [LF,LF] OCT 37015 [>,CR] OCT 5012 [LF,LF] ASC 6,RESPOND WITH OCT 35015 [:,CR] OCT 5012 [LF,LF] ASC 9, SINGLE CH = ONE C OCT 44015 [H,CR] OCT 5040 [LF,SPC] ASC 13, TWO CH = ALTERNATING CH OCT 51415 [S,CR] OCT 5123 [LF,S] ASC 17,EQUENTIAL = FROM START CH (REPEATE ASC 17,D SCANS WITH LAD IF NOT IN GAIN MO ASC 1,DE OCT 24415 [),CR] OCT 5040 [LF,SPC] ASC 17,HISTOGRAM = 1-32767 RDGS ON 1 CH A ASC 7,RE CATEGORIZED OCT 6412 [CR,LF] ASC 17, INTERLACE = FASTER LLMPX THROUGHP ASC 11,UT WITH MULTIPLE CARDS OCT 6412 [CR,LF] ASC 17, SS/H = HOLD ALL SSLLMPX INPU ASC 16,TS AT SAME INSTANT, THEN DIGITIZ OCT 42415 [E,CR] OCT 5040 [LF,SPC] ASC 16, DISPLAY = LOOP ON 1 CH, DISPLA ASC 10,Y RDGS IN B OR SW RE OCT 43415 [G,CR] OCT 5040 [LF,SPC] ASC 16, STATUS=YES: 4 WD AVG ASC 17,; BIT 1= PACE ERROR, BIT 2 (LSB)=1 ASC 2,.25M OCT 53015 [V,CR] OCT 5040 [LF,SPC] ASC 16, STATUS=NO: 16 WD AVG ASC 11,; BIT 0 (LSB)=0.3125MV OCT 6412 [CR,LF] ASC 17, REPEAT = REPEAT LAST TEST AS S ASC 4,PECIFIW þúED OCT 6412 [CR,LF] ASC 17, LIST = LIST ANY PART OF DATA ASC 3,BUFFER OCT 6412 [CR,LF] ASC 17, NORMALIZE = ISSUE SYSTEM NORMALIZ OCT 42415 [E,CR] OCT 5103 [LF,C] ASC 17,ONDITIONS = LIST COND THAT ARE SET OCT 6412 [CR,LF] ASC 17, TAPE = INPUT COMMANDS FROM T ASC 3,APE-RD OCT 51015 [R,CR] OCT 5040 [LF,SPC] ASC 17, KEYBOARD = INPUT COMMANDS FROM KE ASC 1,YB OCT 42015 [D,CR] OCT 5040 [LF,SPC] ASC 16, * = COMMENT - IGNORE LIN OCT 42415 [E,CR] OCT 5012 [LF,LF] OCT 5103 [LF,C] ASC 5,ONDITIONS: OCT 6412 [CR,LF] OCT 5123 [LF,S] ASC 14,ET DELAY (LIMITS SCAN RATE OCT 24415 [),CR] OCT 5123 [LF,S] ASC 14,ET PACER (OVERRIDES DELAY) OCT 6412 [CR,LF] ASC 5,SET REPEAT OCT 6412 [CR,LF] ASC 17,SET GAIN (LLMPX MODE - GAINS PR ASC 12,OGRAMMED & RESULTS SCALE OCT 42015 [D,CR] OCT 5040 [LF,SPC] ASC 17, FOR ALL FOLLOWING TEST ASC 1,S) OCT 6412 [CR,LF] ASC 17,SET K (PROGRAMS LLMPX TO 1 O ASC 15,F 8 GAINS; RESULTS NOT SCALED) OCT 6412 [CR,LF] ASC 16,SET LAD (NOT AVAIL WITH GAIN OCT 24415 [),CR] OCT 5012 [LF,LF] ASC 5,CLEAR DELA OCT 54415 [Y,CR] OCT 5103 [LF,C] ASC 5,LEAR PACER OCT 6412 [CR,LF] ASC 6,CLEAR REPEAT OCT 6412 [CR,LF] ASC 5,CLEAR GAIN OCT 6412 [CR,LF] ASC 4,CLEAR LA OCT 42015 [D,CR] OCT 5103 [LF,C] ASC 13,LEAR ALL (CLEARS ALL COND) OCT 6412 [CR,LF] OCT 5012 [LF,LF] ASC 3,NOTES: OCT 6412 [CR,LF] OCT 5123 [LF,S] ASC 14,W15 = 1 CAUSES EXIT FROM LIS ª OCT 52015 [T,CR] OCT 5012 [LF,LF] ASC 16,ABORT REQUEST WITH NEG # (REPEAT ASC 5, DISABLED) OCT 6412 [CR,LF] OCT 5101 [LF,A] ASC 17,BORT A TEST; EXIT REPEAT OR DISPLA ASC 17,Y WITH ANY KEYBD KEY (LIST DISABLE ASC 1,D) OCT 6412 [CR,LF] OCT 5012 [LF,LF] OCT 5012 [LF,LF] OCT 3407 [BELL,BELL] OCT 3407 [BELL,BELL] SPC 2 ******************************** * * * END OF INSTRUCTION OVERLAY * * * ******************************** SPC 2 END ¯<ÿÿ ÿý ÿ02313-82006 A S 0306 HP 2313B VERIFICATION CODE PROCEDURES             H0103 dþúASMB,R,B,L,C HED 2313B VERIF -- CODE PROCEDURES 8/22/73 * * * THIS ASSEMBLY LANGUAGE PROGRAM * CONTAINS 12 CODE PROCEDURES USED * BY THE 2313B VERIFICATION PROGRAM. * * IT ALSO CONTAINS A PROGRAM FOR CONFIGURING * AND A NUMBER OF SERVICE SUB-ROUTINES USED * BY THE PROCEDURES * * THE DIFFERENT PROCEDURES ARE IDENTIFIED * BY THEIR ENTRY POINTS. * * 1. ADDR - FORMS ADDRESSES FOR 2313B CALL * 2. INTRP - COMMAND INTERPRETER * 3. CNVRT - CONVERTS DATA TO VOLTAGE * 4. DESCR - PRINTS INSTRUCTIONS * 5. EXIT - SET-UP AND CHECK FOR ESCAPE * 6. DELAY - DELAYS FOR SPECIFIED TIME (MSEC) * 7. ISSUE - SET UP OR CLEAR SS/H TEST * 8. HISTO - HISTOGRAM ROUTINE * 9. DSPLY - REGISTER DISPLAY ROUTINE * 10. STATP - COMPUTES AVG, P-P, HIGH, LOW, & RMS * 11. INTER - INTERLACE LLMPX CARDS * 12. CNFGR - RECONFIGURE BCS AND CONFIGURE DSPLY/HISTO * 13. READX - READS FROM TTY OR PHOTOREADER WITH ENTRY * POINTS: READ1, READ2, READ3, READ4, READR * 14. GNCHK - CHECKS AND CONVERTS LLMPX GAINS * * NAM CODES ENT ADDR,INTRP,CNVRT,DESCR,STATP,INTER,DSPLY ENT HISTO,EXIT,CNFGR,DELAY,GONLY,ISSUE ENT READ4,READ1,READ3,READ2,READR,GNCHK EXT .IOC.,.DIO.,.IOI.,.SQT.,SQRT,.IOR. EXT FLOAT,.FDV,.DTA.,.ENTR,.RTOI,.IAR. SUP HED 2313B VERIF -- CODE PROCEDURES -- ADDR 8/22/73 ********************************************** * * * ADDR -- FORMS ADDRESSES FOR CALL TO 2313 * * * ********************************************** SPC 1 * THE BOX, CARD, AND CHANNEL ARE COMBINED * TO FORM THE 2313B MULTIPLEXER ADDRESS. * SPC 2 BOX NOP CARD NOP CHAN NOP SPC 1 ADDR NOP JSB .ENTR DEF BOX SPC 2 * ** FORM PROPER ADDRESS ** SPC 1 LDA BOX,I GET BOX ADDRESS •‰þú ALF,ALF AND POSITION RAL IT PROPERLY STA B SAVE SPC 1 LDA CARD,I GET CARD ADDRESS ALF,RAL AND POSITION IT IOR B COMBINE SPC 1 IOR CHAN,I COMBINE WITH CHAN NUMBER STA CHAN,I RETURN WORD TO ALGOL JMP ADDR,I SPC 2 ***************** * * * END OF ADDR * * * ***************** HED 2313B VERIF -- CODE PROCEDURES -- INTRP 8/22/73 ********************************** * * * INTRP -- COMMAND INTERPRETER * * * ********************************** SPC 1 * THE PROMPTER IS ISSUED BY THIS PROCEDURE. * * THE COMMAND IS SCANNED AND THE PROPER * INDICATORS SET FOR THE ALGOL. * * ERRORS IN COMMANDS ARE TRAPPED AND THE * PROMPTER IS RE-ISSUED. * * WHEN SETTING THE PACER, ITS PARAMETERS ARE * REQUESTED AND READ. SPC 2 WHERE NOP SC. NOP TC. NOP RS. NOP BS. NOP SS. NOP HI. NOP DI. NOP LADRS NOP CO. NOP LAD. NOP RPTOK NOP GONLY NOP LOOP NOP PACED NOP RATE NOP RANGE NOP EXTSS NOP LSTOK NOP BATCH NOP SPC 1 INTRP NOP JSB .ENTR DEF WHERE SKP LDA CO.,I PRINT SSA CONDITIONS? JMP .COND YES SPC 1 START JSB .IOC. WRITE OUT OCT 20002 THE JMP *-2 PROMPTER (>) DEF CMND AND HOLD ONE DEC 1 THE LINE SPC 1 JSB READ4 \\\\\\\\\\\ DEF *+4 READ IN \ DEF DEVYC THE > DEF MIN1 COMMAND/ DEF PIN /////////// SPC 1 CLB CLEAR LDA DI.,I DATA DISPLAY SSA IN SWITCH OTB 1 REGISTER SPC 1 LDA DESC IS THE AND UPPER INPUT A CPA ASTER COMMENT? ì=þú JMP START YES SPC 1 LDA DESC CHECK COMMAND: CPA LI LIST? JMP LISTR YES CPA RE REPEAT? JMP REPET YES CPA SE SET A CONDITION? JMP SET MAYBE CPA CL CLEAR A CONDITION? JMP CLEAR YES SPC 1 CPA CO PRINT CONDITIONS? JMP COND YES SPC 1 CPA BA GO TAPE? JMP BAT YES CPA TY GO KEYBOARD? JMP TYPE1 YES SKP GO.ON LDA NB12 INITIALIZE STA CNTR1 COUNTERS LDA IASC AND STA PNTR1 POINTERS LDA NB10 FOR STA CNTR FINDING LDA PARAM TEST TO STA PNTR BE CALLED AGAIN LDA PNTR1,I HAS A TEST CPA DESC BEEN FOUND JMP EKUAL YES ISZ PNTR1 NO - POINT TO NEXT TEST ISZ CNTR1 CHECKED ALL TESTS & FOUND NONE? JMP AGAIN NO - LOOK AGAIN ERRR JSB ERROR YES - WRITE "??" JMP START GO GIVE PROMPTER AGAIN EKUAL INB TEST HAS BEEN FOUND - INC TEST # ISZ PNTR ADVANCE TEST BOOLEAN POINTER ISZ CNTR INC CNTR FOR VALID TEST BOOLEAN ZERO NOP ISZ CNTR1 DONE? JMP EKUAL NO STB WHERE,I YES - SET TEST INDICATOR CCB FORM "TRUE" LDA PNTR,I GET BOOLEAN STA PNTR LOCATION LDA CNTR CHECK FOR VALID SSA,RSS TEST BOOLEAN? JMP INTRP,I NO SPC 1 CLA STA SC.,I \\\\\\\\\\\ STA TC.,I \ STA RS.,I CLEAR \ STA BS.,I PREVIOUS > STA SS.,I COMMAND / STA HI.,I / STA DI.,I /////////// SPC 1 STB PNTR,I SET TRUE INTO TEST JMP INTRP,I GO BACK TO ALGOL SKP LISTR LDA LSTOK,I þúIS THERE SSA A DATA BUFFER TO LIST? JMP GO.ON YES JMP ERRR NO SPC 1 REPET LDA RPTOK,I IS THERE A TEST SSA THAT CAN BE REPEATED? JMP GO.ON YES JMP ERRR NO SPC 1 SET LDA DES WHAT IS THE THIRD CHAR? AND UPPER WAS IT A T? CPA T RSS YES - SO IT IS SET JMP GO.ON NO - SO MUST BE SEQUENTIAL CCB GET CONDITION LDA ST TO BE SET RSS SPC 1 CLEAR LDA FROM GET COND TO BE CLEARED ALF,ALF POSITION AND AND B377 ISOLATE FIRST CHARACTER CPA P PACER COND? JMP PCR YES CPA R REPEAT COND? JMP LOP YES CPA G GAIN MODE COND? JMP GNLY YES CPA L LAD COND? JMP LAST YES CPA BK GAIN CONSTANT? JMP SCODE YES CPA D SET DELAY? JMP SETD YES CPA ALL CLEAR ALL CONDITIONS? JMP CLRAL YES JMP ERRR INVALID COND - WRITE "??" SPC 2 LOP STA LSTOK,I CLEAR LIST CAPABILITY STB LOOP,I SET OR CLEAR LOOP CONDITION JMP START RE-ISSUE PROMPTER SKP CLRAL SSB CLEAR REQUEST? JMP ERRR NO STB LOOP,I YES - CLEAR LOOP STB PACED,I CLEAR PACER LDA GONLY,I IS GAIN SSA SET? STB RPTOK,I YES-CLEAR REPEAT STB GONLY,I NO -CLEAR GAIN-ONLY STB LAD.,I CLEAR LAD JMP SETD2 CLEAR DELAY SPC 1 BAT LDA FIVE \\\\\\\\\\\ LBL1 JMP LBL2 OR NOP (NO P.R.)\ CLB,RSS \ TYPE1 LDB ABRT SET TAPE OR \ STB LBL4 KEYBOARD MODE > LDA ONE / LBL2 STA DEVYC / STA BATCH,I / JMP START //////M;þú///// SPC 1 GNLY STB GONLY,I SET OR CLEAR CLA CLEAR STA RPTOK,I REPEATOK STA LSTOK,I AND LISTOK JMP START RE-ISSUE PROMPTER SPC 1 PCR STB PACED,I SET OR CLEAR PACE MODE SSB,RSS SET? JMP START NO - RE-ISSUE PROMPTER SPC 1 L61 JSB .IOC. REQUEST OCT 20002 PACER JMP *-2 PERIOD DEF MSG2 AND DEC -15 MULTIPLIER LDA B400 STA PIN STA OUTBF JSB READ2 READ IN DEF L9 THE PERIOD DEF DEVYC AND DEF TWO MULTIPLIER DEF PIN IN DEF OUTBF FREE-FIELD L9 LDB PIN SAVE STB RATE,I RATE RBL,CLE,SLB,ERB PERIOD <0? JMP PCR YES - ABORT LDB OUTBF SAVE STB RANGE,I RANGE SKP RBL,CLE,SLB,ERB ABORT? JMP PCR YES BRS,BRS CHECK THE BRS MULTIPLIER SZB FOR >7? JMP L10 BAD - WRITE " ??" LDB RATE,I ADB NB400 SSB IS PERIOD >377 (DEC 255)? JMP *+3 NO L10 JSB ERROR YES - WRITE " ??" JMP L61 ASK AGAIN L12 JSB .IOC. REQUEST OCT 20002 EXTERNAL JMP *-2 START/STOP DEF FEXT DEC 8 CLA STA PIN JSB READ1 READ DEF L70 IN DEF DEVYC YES DEF MIN1 OR DEF PIN NO L70 LDB PIN GET ANSWER CPB NO IS IT NO? JMP NOT YES CPB YES NO - IS IT YES? JMP IS YES CPB AB NO - IS IT ABORT? JMP PCR YES JMP L12 NO - ASK AGAIN IS CCB,RSS FOR YES ANSWER SET TRUE VALUE NOT CLB,INB FOR NO —þú ANSWER SET FALSE VALUE STB EXTSS,I SET BOOLEAN VALUE IN ALGOL JMP START RE-ISSUE PROMPTER SKP LAST STB LAD.,I SET OR CLEAR LAD SSB,RSS SET? JMP START NO JSB CADDR YES - GET LAD CARD ADDRS JMP LAST ABORT STA LADRS,I JMP START SPC 1 CADDR NOP L90 JSB .IOC. REQUEST OCT 20002 CARD JMP *-2 ADDRESS DEF MSG3 DEC -9 LDA B400 STA PIN STA OUTBF JSB READ2 READ DEF L100 IN THE DEF DEVYC BOX DEF TWO AND CARD DEF PIN ADDRESS DEF OUTBF SPC 1 L100 LDB PIN RBL,CLE,SLB,ERB ABORT? JMP ABRT2 YES BRS,BRS CHECK THE BRS BOX ADDRESS SZB,RSS FOR >7? JMP *+3 OK L101 JSB ERROR BAD - WRITE " ??" JMP L90 ASK AGAIN LDB OUTBF RBL,CLE,SLB,ERB ABORT? JMP ABRT2 YES ADB NB14 CHECK THE CARD ADDRESS SSB,RSS FOR >11? JMP L101 BAD - WRITE " ??" LDB PIN POSITION THE BLF,BLF BOX RBL ADDRESS LDA OUTBF POSITION THE ALF,RAL CARD ADDRESS IOR B FORM FULL ADDRESS ISZ CADDR VALID RETURN ABRT2 JMP CADDR,I SKP .COND JSB .IOC. PRINT OUT OCT 20002 " COND:" JMP *-2 DEF MSG4 DEC 3 SPC 1 COND CLB STB CO.,I CLEAR COND REQUEST STB OUTBF INDICATOR LDA PACED,I PACED SSA,RSS CONDITION? JMP LABL1 NO - GO ON LDA P YES - SET UP IOR SPACE P TO PRINT ADB .CO.. STA B,I ISZ OUTBF SPC 1 LABL1 LDA LOOP,I REPEAT SSA,RSS CONDITION? JMP LABL2 NO - G«çþúO ON LDA R YES - SET UP IOR SPACE R TO PRINT LDB OUTBF ADB .CO.. STA B,I ISZ OUTBF SPC 1 LABL2 LDA DELC DELAY SSA,RSS CONDITION? JMP LABL3 NO - GO ON LDA D YES - SET UP IOR SPACE D TO PRINT LDB OUTBF ADB .CO.. STA B,I ISZ OUTBF SPC 1 LABL3 LDA GONLY,I GAIN MODE SSA,RSS CONDITION? JMP LABL4 NO - GO ON LDA G YES - SET UP IOR SPACE G TO PRINT LDB OUTBF ADB .CO.. STA B,I ISZ OUTBF SKP LABL4 LDA LAD.,I LAD SSA,RSS CONDITION? JMP LABL5 NO - GO ON LDA L YES - SET UP IOR SPACE L TO PRINT LDB OUTBF ADB .CO.. STA B,I ISZ OUTBF SPC 1 LABL5 LDB OUTBF SET OUTPUT PRINT STB LABL7 LENGTH FOR CONDITIONS SZB WERE THERE ANY COND? JMP LABL6 YES - GO PRINT THEM LDA NO NO - SET UP STA .CO..,I NONE TO PRINT CLB,INB LDA NE ADB .CO.. STA B,I LDA TWO SET PRINT LENGTH STA LABL7 FOR NONE SPC 1 LABL6 JSB .IOC. PRINT OCT 20002 CONDITIONS JMP *-2 OR .CO.. DEF TOP NONE LABL7 NOP SPC 1 JMP START SKP SCODE SSB,RSS SET K? JMP START NO SPC 1 SCO JSB .IOC. REQUEST OCT 20002 CARD JMP *-2 ADDRESS DEF MSG6 AND DEC -14 GAIN LDA B400 STA PIN STA OUTBF JSB READ2 READ IN BOX DEF SCO1 AND CARD DEF DEVYC LOCATION DEF TWO DEF PIN DEF OUTBF SCO1 JSB READR READ IN DEF SCO2 GAIN DEF DEVYC ˆaþú DEF ZERO DEF DA SCO2 LDB PIN RBL,CLE,SLB,ERB ABORT? JMP START YES BRS,BRS CHECK THE BRS BOX ADDRESS SZB,RSS FOR >7? JMP *+3 OK SCO3 JSB ERROR BAD - ASK JMP SCO AGAIN LDB OUTBF RBL,CLE,SLB,ERB ABORT? JMP START YES ADB NB14 CHECK THE CARD ADDRESS SSB,RSS FOR >11? JMP SCO3 BAD - ASK AGAIN LDB PIN POSITION BLF,BLF THE BOX RBL ADDRESS LDA OUTBF POSITION THE ALF,RAL CARD ADDRESS IOR B FORM FULL ADDRESS IOR BIT14 GOOD ADDRESS- FORM STA PIN CONTROL WORD & STORE SKP JSB GNCHK VALID GAIN? DEF SCO4 DEF OUTBF DEF DA SCO4 LDA OUTBF SSA ABORT CONDITION? JMP START YES CPA B8 NO - VALID GAIN? JMP KSD NO CLB STB SC,I JSB EXIT TURN ON KEYBD DEF EOL ABORT FEATURE DEF MIN1 DEF START EOL LDA PIN JSB PROG PROGRAM LDA OUTBF LLMPX TO JSB PROG REQ. GAIN JSB CLRIT JMP START SPC 1 KSD JSB ERROR JMP SCO SKP SETD SSB,RSS SET DELAY? JMP SETD2 NO SPC 1 OHYA JSB .IOC. YES- REQUEST OCT 20002 DELAY JMP *-2 VALUE DEF MSG7 DEC -9 SPC 1 JSB READ1 READ IN DEF SETD1 DELAY DEF DEVYC VALUE DEF ONE (# OF DEF PIN MILLISECONDS) SPC 1 SETD1 LDB PIN RBL,CLE,SLB,ERB ABORT? JMP START YES LDA TEST2 NO ADA MIN1 ADA B DELAY> SSA 10,000? JMP KPIX NO - OK |üþú JSB ERROR YES - TOO JMP OHYA MANY SPC 1 KPIX CMB,INB SET COUNTER FOR SETD2 STB DELC # OF MILLISECONDS JMP START SPC 2 ****************** * * * END OF INTRP * * * ****************** HED 2313B VERIF -- CODE PROCEDURES -- CNVRT 8/22/73 ******************************************* * * * CNVRT -- CONVERT DATA TO REAL VOLTAGE * * * ******************************************* SPC 1 * THIS ROUTINE TAKES INTEGER DATA STORED * IN THE UPPER 12 BITS OF EACH WORD OF * AN INTEGER ARRAY (IN THIS CASE, THE * UPPER HALF OF THE REAL ARRAY - DATA) * AND CONVERTS IT TO REAL VOLTAGE * STORING IT IN A REAL ARRAY (DATA). * * TWO GAINS ARE USED ALTERNATING BUT * BOTH WILL OFTEN BE THE SAME. SPC 2 VOLTS NOP DATA NOP GAIN1 NOP GAIN2 NOP FIRST NOP NUMBR NOP SPC 1 CNVRT NOP JSB .ENTR DEF VOLTS SPC 1 * ** INITIALIZE ** SPC 1 DLD GAIN1,I OBTAIN DST FGAIN GAIN1 DLD GAIN2,I OBTAIN DST SGAIN GAIN2 LDA NUMBR,I SET COUNTER CMA,INA FOR NUMBER OF READINGS STA NUMBR TO BE CONVERTED LDA DATA SET INPUT BUFFER ADA FIRST,I POINTER TO STARTING STA DATA POINT LDA FIRST,I SET OUTPUT BUFFER ALS POINTER ADA VOLTS TO STARTING STA VOLTS POINT SKP LDA TEST SET UP ALTERNATING TEST MORE STA DESC SAVE ALTERNATING TEST LDB XL3 GET SECOND GAIN SLA FIRST OR SECOND? LDB XL2 FIRST - GET FIRST GAIN STB XL4 SET PROPER GAIN LDA DATA,I GET RAW DATA WORD ARS,ARS DIVIDE BY 16 ARS,ARS (RIGHT JUSTIFY) JSB FLOAT MAKE INTO REAL NUMŒÂþúBER FMP .005 MAKE IT VOLTAGE JSB .FDV ADJUST VOLTAGE XL4 DEF FGAIN BY AMOUNT OF GAIN STA VOLTS,I STORE ISZ VOLTS VOLTAGE STB VOLTS,I IN OUTPUT ISZ VOLTS ARRAY (INTO ALGOL) ISZ DATA NEXT DATA ISZ NUMBR DONE? RSS NO JMP CNVRT,I YES - RETURN TO ALGOL LDA DESC GET ALTERNATING TEST RAR SWITCH ALTERNATING TEST JMP MORE NEXT DATA SPC 2 ****************** * * * END OF CNVRT * * * ****************** HED 2313B VERIF -- CODE PROCEDURES -- DESCR 8/22/73 *********************************************** * * * DESCR -- OUTPUT ASCII STRING FROM BUFFERS * * * *********************************************** SPC 1 * THIS ROUTINE PRINTS THE CONTENTS * OF THE BUFFER AREA AS ASCII * CHARACTERS. * * THIS ROUTINE IS THEN DESTROYED * BY USING IT AND THE BSS AT ITS * END AS A STRING BUFFER FOR READX. * AND AS STORAGE PARAMETERS FOR VARIOUS ROUTINES. SPC 2 ORB LOC NOP SPC 1 DESCR NOP JSB .ENTR DEF LOC SPC 1 L1000 JSB .IOC. REQUEST ANSWER CBLOC OCT 20002 TO " WANT INCH JMP *-2 DIRECTIONS?" MINCD DEF MSG5 DA DEC -19 SPC 1 NCHLO JSB .IOC. READ SUM OCT 10401 THE KTVU JMP *-2 ANSWER DEF PIN (YES OR NO) DEC 1 SPC 1 JSB CHECK IS ANSWER READY? LDA PIN YES CPA NO NO? JMP DESCR,I RIGHT - GET OUT CPA YES YES? RSS RIGHT - CONTINUE JMP L1000 NEITHER - SO ASK AGAIN SPC 1 LDA LOC GET BUFFER ADRS JSB DESC AND CALL PRINT ROUTINE SPC 1 JMP DESCR,I SKP DESC NOP DES STA *+2 WŒþú SAVE BUFFER ADRS ST RSS FROM NOP SPC 1 ATEST LDA LNGTH SET LENGTH OF GNCOD STA CNTR ASCII STRING (WORDS) OUTPT LIA 1 ESCAPE? FGAIN SSA / JMP DESC,I YES I LDA FROM,I GET CHARACTER PAIR J ALF,ALF POSITION K STA OUTBF AND PUT IN BUFFER MASK JSB .IOC. OUTPUT COU1 OCT 20002 THE CHARACTER JMP *-2 PAIR SGAIN DEF OUTBF FOLLOWED BY DEC -3 A LEFT ARROW (_) ASAVE ISZ FROM NEXT WORD TEMP ISZ CNTR DONE? JMP OUTPT NO - NEXT CHAR PAIR AVG JMP DESC,I YES - BACK TO ALGOL SPC 1 LNGTH DEC -701 SPC 1 * ** EXTRA BUFFER AREA FOR ** * ** INPUT STRINGS ** SPC 1 MSG5 ASC 10, WANT DIRECTIONS? _ * TOP BSS 2 BOTOM BSS 2 EQTAD OCT 17 ORR SPC 2 ****************** * * * END OF DESCR * * * ****************** HED 2313B VERIF -- CODE PROCEDURES -- EXIT 8/22/73 ********************************************* * * * EXIT -- SET UP AND CHECK TTY FOR ESCAPE * * * ********************************************* SPC 1 * THE TTY TRAP CELL LINK IS MADE * TO POINT AT I.EX BELOW SO THAT * AN INTERRUPT FROM THE TTY COMES HERE. * * THE LINK IS RESTORED ON INTERRUPT AND * CONTROL SENT TO A LABEL PASSED IN THE CALL. * * A CLEAR REQUEST HERE RESTORES THE LINK. * * THE 2313B TRAP CELL IS RESTORED WHENEVER * THE TTY LINK IS RESTORED. SPC 2 TEST1 NOP LABEL NOP SPC 1 EXIT NOP JSB .ENTR DEF TEST1 SPC 1 LDA TEST1,I LBL4 INA,SZA SET UP? JMP RSET NO - GO CLEAR IT JSB CHECK YES - IS TTY BUSY? LDA TTYIN GET NEW TRAP CELL LINK STA TTYL,I SET UP LINK ìZHFBLDA INTTY GET TTY INPUT MODE WORD AND OTA1 OTA TTY OUTPUT STCC1 STC TTY,C ENCODE THE TTY FOR INPUT JMP EXIT,I SPC 1 RSET JSB CLRIT GO CLEAR JMP EXIT,I SPC 1 I.EX NOP INTERRUPT ENTRY POINT JSB CLRIT GO CLEAR JMP LABEL,I GO TO ALGOL INTERRUPT POINT SPC 1 CLRIT NOP LDA TTYLC GET BCS TTY LINK CLC1 CLC TTY TURN OFF TTY STF1 STF TTY RESTORE FLAG STA TTYL,I RESTORE TRAP LINK CLC2 CLC .2313 TURN OFF 2313B LDA TCC RESTORE STA SC,I TRAP CELL STF2 STF .2313 JMP CLRIT,I SPC 1 * ** END OF EXIT ** (wHÿÿþú HED 2313B VERIF -- CODE PROCEDURES -- DELAY 8/22/73 ************************************************* * * * DELAY -- WAIT A SPECIFIED # OF MILLISECONDS * * * ************************************************* SPC 2 DELAY NOP ISZ DELAY SET RETURN POINT STA ASAVE SAVE A REGISTER LDA DELC GET # OF MSEC SZA,RSS IS IT 0? JMP DEL2 YES - JUST RETURN (NO DELAY) STA COU1 NO - SET COUNTER SPC 1 DEL1 LDA N.200 GET 1 MSEC COUNTER ISZ A \ JMP *-1 \ COUNT ISZ COU1 / DOWN JMP DEL1 / SPC 1 DEL2 LDA ASAVE RESTORE A REGISTER JMP DELAY,I SPC 1 * ** END OF DELAY ** HED 2313B VERIF -- CODE PROCEDURES -- ISSUE 8/22/73 *************************** * * * ISSUE -- PROGRAM SS/H * * * *************************** SPC 2 ON NOP SPC 1 ISSUE NOP JSB .ENTR DEF ON SPC 2 LDB ON,I GET ON OR OFF SWITCH LDA SSSH PREPARE TO SET SS/H SZB,RSS SET OR CANCEL SS/H? LDA RSSH CANCEL LDB PACED,I SET. USE PACER? SZB,RSS JMP FINIS NO LDB BIT12 YES - PUT IN IOR B PACE BIT CLB STB SC,I CLEAR THE TRAP CELL FINIS JSB PROG OUTPUT CMND TO 2313 LDA TCC STA SC,I RESTORE TRAP CELL JMP ISSUE,I RETURN TO ALGOL SPC 1 ORB PROG NOP OTA3 OTA .2313 STCC3 STC .2313,C SFS3 SFS .2313 JMP *-1 JMP PROG,I ORR SPC 1 * ** END OF ISSUE ** HED 2313B VERIF -- CODE PROCEDURES -- DSPLY/HISTO 8/22/73 ****************************************** * * * DSPLY/HISTO -- COôíþúMBINED PROCEDURES * * * * DSPLY -- ADC DISPLAY FOR CALIBRATION * * HISTO -- HISTOGRAM ROUTINE * * * ****************************************** SPC 1 * DSPLY OR HISTO IS ENTERED AND * INITIAL SET-UP WHICH IS COMMON * IS ACCOMPLISHED. SPC 1 *************************************************** * * * COMBINED ENTRY POINT FOR BOTH DSPLY AND HISTO * * * *************************************************** SPC 2 * ** CALLING PARAMETER LIST ** SPC 1 CHANN NOP PACER NOP RATE1 NOP RNGE NOP XTSS NOP GAIN NOP QUANT NOP BUKTS NOP NBUFF NOP RBUFF NOP SPC 1 * ** START OF ROUTINE ** SPC 1 HISTO NOP DSPLY EQU HISTO JSB .ENTR DEF CHANN SPC 1 JSB EXIT SET UP DEF *+3 TTY ESCAPE DEF MIN1 CAPABILITY DEF ABORT SPC 1 LDA DI.,I DISPLAY SSA MODE? JMP K6 YES LDB NBUFF SET ADB D20 UP STB ATEST ABORT STA ATEST,I INDICATOR SKP K6 CLA STA SC,I CLEAR THE TRAP CELL LDA PACER,I TO BE SSA,RSS PACED? JMP NTPCD NO LDA RNGE,I \\\\\\\ ALF,ALF \ STA B \ LDA RATE1,I FORM \ IOR B PACER > LDB XTSS,I WORD / SSB / IOR BIT12 / IOR PACWD /////// SPC 1 OTA2 OTA .2313 \ STCC2 STC .2313,C \ PROGRAM SFS2 SFS .2313 / PACER JMP *-1 / SPC 1 NTPCD LDA N.16 SET MPX STA MASK HISTO MASK SPC 1 LDA CHANN,I GET MPX ADDRESS IOR B1513 AND [þúFORM COMMAND WORD LDB PACER,I TO BE SSB PACED? IOR BIT12 YES OTA5 OTA .2313 SET UP CHANNEL STCC5 STC .2313,C NUMBER LDA DI.,I IS THIS SSA,RSS DISPLAY MODE? JMP HIST NO - THEN HISTOGRAM SKP * THIS IS THE REGISTER DISPLAY * ROUTINE. THE AVERAGE OF EITHER * FOUR OR 16 READINGS IS DISPLAYED * IN THE B OR SWITCH REGISTERS. SPC 2 LDA ALSX LDB GAIN,I 4 WORD AVG WITH STATUS? SSB,RSS CLA NO - 16 WORD AVG STA ALSY YES LDA LDAX SET SSB PROPER LDA LDAY WORD STA LDAW COUNTER DISP CLA CLEAR SUM TO MAKE STA SUM ROOM FOR NEXT DISPLAY LDAW LDA N.16 OR N.4 -- SET WORD COUNTER STA CNTR REED SFS .2313 JMP *-1 LIA1 LIA .2313 GET A DATA WORD STA KTVU SAVE STATUS INFO LDA PACER,I SSA,RSS PACED? JSB DELAY NO - SO DELAY NOP YES - CONTINUE LDA KTVU STCC6 STC .2313,C START NEXT READING ARS,ARS DIVIDE ARS,ARS BY 16 ALSY ALS,ALS OR NOP MULT BY 4 IF STAT WANTED ADA SUM ADD DATA STA SUM TO THE SUM LDA GAIN,I \ SSA,RSS STATUS? JMP *+5 NO LDA KTVU YES - GET STATUS AND TWO INFORMATION IOR SUM PLACE STATUS BITS ON AVG STA SUM ISZ CNTR DONE WITH AVG? JMP REED NO - GET NEXT DATA WORD LDB SUM YES - DISPLAY RESULT IN THE OTB 1 B & SWITCH REGISTERS JMP DISP START NEW AVERAGE SPC 2 * ** END OF DISPLAY LOOP ** * ** PORTION OF DSPLY/HISTO ** SKP * HERE BEGINS THE HISTOGRAM PORTION SPC 1 HIST CCA INITIALIZE # ADA NBUFF BUFFER STþ~þúA NBUFF POINTER LDA FSTIM SET STA K8 FIRST TIME LDA QUANT,I SET STA EQTAD CMA,INA NUMBER STA QUANT,I COUNTER SPC 1 SFS5 SFS .2313 IGNORE FIRST JMP *-1 READING (GARBAGE) SSB,RSS PACED? JSB DELAY NO - SO DELAY NOP STCC7 STC .2313,C START FIRST GOOD READING CLA,INA \ STA J J_1 STA K K_1 LDA RBUFF SET ADA B62 POINTER STA PNTR / ADA MIN1 / STA INARY / SPC 1 READ SFS .2313 JMP *-1 LIA2 LIA .2313 GET READING (R) LDB PACER,I \ DELAY BETWEEN SSB,RSS > READINGS IF JSB DELAY / NOT PACED NOP ANRDG STC .2313,C START NEXT READING RAR,SLA,RAL PACE RATE ERROR? JMP PFAST YES AND MASK K8 JMP STORE 1ST TIME (NOP THE REST) EQUAL JSB HCHK IS R=,>, OR < D[J]? ISZ PNTR R>D[J] ISZ J J_J+1 LDB J \ CMB,INB \ IS ADB K / J>K? SSB,RSS / JMP EQUAL NO LDB K \ YES CPB D20 K=20? JMP DONE YES - TOO MANY BUCKETS ISZ K NO - K_K+1 (NEW BUCKET) FSTIM JMP STORE SPC 1 INCR LDB NBUFF \ ADB J > N[J]_N[J]+U ISZ B,I / JMP CHEK SKP LOWER LDB J \ CPB ONE2 J=1? JMP K11 YES ADB MIN1 \ NO STB J \ LDB PNTR > J_J-1 ADB MIN1 / STB PNTR / JSB HCHK IS R=,>, OR < D[J]? ISZ J ISZ PNTR K11 LDB K R>D[J] CPB D20 K=20? JMP DONE YES - TOO MANY BUCKETS STB I NO - I_K ISZ K K_K+1 (NEW BUCKET) STA TEMP SAVE R SPC 1 SORT LDB OçþúINARY \\\\\\\\\\\\ ADB I \ \ LDA B,I > D[I+1]_ \ INB / D[I] \ STA B,I / \ LDB NBUFF \ \ ADB I \ \ LDA B,I > N[I+1]_N[I] \ SORT INB / / UP STA B,I / / LDB I \ / CPB J \ I=J? / JMP *+4 YES - DONE / ADB MIN1 NO - I_I-1 / STB I / / JMP SORT //////////// SPC 1 LDA TEMP RESTORE R SPC 1 STORE STA PNTR,I D[J]_R LDB NBUFF \ ADB J \ N[J]_1 CLA,INA / STA B,I / CLA SET FIRST TIME INSTRUCTION STA K8 FOR REMAINING READINGS SPC 1 CHEK ISZ QUANT,I DONE? JMP READ NO - ANOTHER READING CLA SFS7 SFS .2313 YES JMP *-1 LDB CLEAN ISSUE OTA6 OTB .2313 CLEAN STCC8 STC .2313,C UP SKP * FINISHED FILLING THE BUCKETS SPC 1 STA BOTOM LDA RBUFF \ STA OUTRY \ ISZ INARY \ SET UP CALL LDA GAIN / TO CNVRT STA G1 / STA G2 / JSB CNVRT CALL DEF NDLST CNVRT OUTRY NOP \ INARY NOP \ G1 NOP \ PARAMETER G2 NOP / LIST DEF ZERO / DEF K / NDLST LDA K SET NUMBER OF BUCKETS STA BUKTS,I FOR RETURN SPC 1 LDA EQTAD \ ADA TEST2 \ IOR BOTOM \ IF (HOWMANY<10000 OR AND LOOP,I / BUCKETS>20) AND LOOP SSA,RSS / THEN WAIT JMP SFS8 / LDA N.4 \ STA BOTOM \ CLA \ STA TOP \ WAIT ISZ TOP / LOOP: žæþúJMP *-1 / (1-2.5 SEC) ISZ BOTOM / JMP *-5 / SKP SPC 1 SFS8 SFS .2313 JMP *-1 LDA PACWD TURN OFF OTA7 OTA .2313 PACER STCC9 STC .2313,C IF IT SFS9 SFS .2313 WAS JMP *-1 ON SPC 1 ENND JSB CLRIT CLEAR ESCAPE CAPABILITY JMP HISTO,I GO BACK TO ALGOL SPC 1 PFAST CCA PACE TOO FAST STA BUKTS,I JMP ENND SPC 1 ABORT LDA HI.,I DISPLAY SSA,RSS MODE? JMP ENND YES STA ATEST,I SET ABORT INDICATOR JMP ENND SPC 2 DONE CCA TOO MANY BUCKETS JMP SFS7 SPC 2 **************************** * * * END OF DSPLY/HISTO * * * **************************** HED 2313B VERIF -- CODE PROCEDURES -- STATPAC 8/22/73 ************************************************** * * * STATPAC -- CALCULATE AVG, P-P, HI, LO, & RMS * * * ************************************************** SPC 1 * THIS PROCEDURE CALCULATES THE AVERAGE OF ALL READINGS TAKEN ON * ONE CHANNEL IN THE SINGLE CHANNEL, TWO CHANNEL, OR HISTOGRAM * TESTS. IT ALSO CALCULATES THE HIGHEST AND LOWEST VALUES AND * THEIR DIFFERENCE (PEAK-TO-PEAK). FINALLY, IT CALCULATES THE * RMS ERROR BETWEEN THE READINGS AND THE AVERAGE. IT THEN PRINTS * THESE RESULTS. * * * MODE = 1 FOR HISTOGRAM * MODE = 2 FOR SINGLE CHANNEL * MODE = 3 FOR TWO CHANNEL (1ST CHANNEL) * MODE = 4 FOR TWO CHANNEL (2ND CHANNEL) SPC 2 RDGS NOP #TAKN NOP MODE NOP #RDGS NOP SPC 1 STATP NOP JSB .ENTR DEF RDGS SPC 2 LDB #RDGS,I \\\\\\\\\\\\\\\\\\\\\\\ LDA MODE,I \ CPA ONE2 TOTAL_ IF MODE=1 THEN 0 \ JMP LBL5 ELSE I(ŠþúF MODE=2 THEN \ CPA TWO HOWMANY ELSE \ RSS HOWMANY/2; \ BRS / SZB,RSS TOTAL NEVER <1 / INB IF MODE#0 / RSS / LBL5 CLB / STB TOTAL /////////////////////// SPC 1 CLB DIV TWO STA QUOT MODE\2 STB REMDR AND MODE MOD 2 CLA CLB DST RMS RMS_AVG_0.0; DST AVG INA STA NUM NUMBER_1; CMA ADA RDGS STA RDGS SKP LDA QUOT \\\\\\\\\\\\\\\\\\\\\\ IOR REMDR \ ALS MEAN_BOTTOM_ \ ADA RDGS DATA[MODE\2 OR \ STA TEMP MODE MOD 2]; / DLD TEMP,I / DST BOTOM / DST MEAN /////////////////////// SPC 1 LDA MODE,I --------------------------\ CPA ONE2 \ JMP XYZ1 \ DLD BOTOM \ JMP XYZ2 TOP_IF MODE=1 THEN \ XYZ1 LDA #RDGS,I DATA[HOWMANY] ELSE BOTTOM; > ALS / ADA RDGS / STA TEMP / DLD TEMP,I / XYZ2 DST TOP --------------------------/ SPC 1 ******************************************************************** CCA * * ADA #TAKN * * STA #TAKN * FOR I_MODE * LDA QUOT * STEP MODE\2+MODE MOD 2 * ADA REMDR * UNTIL HOWMANY DO * STA STEP * |üþú * LDA MODE,I * BEGIN * XYZ3 STA I ******************************** * * LDB A ******************************** CMB,INB * * ADB #RDGS,I * ** TEST FOR END OF LOOP ** * SSB * * JMP XYZ10 * DONE! * * ******************************** * * ALS \ * ADA RDGS \ * STA TEMP > VOLTAGE_DATA[I]; * DLD TEMP,I / * DST VOLTS / * * * LDA MODE,I \\\\\\\\\\\\\\\\\ * CPA ONE2 \ * RSS \ * JMP XYZ4 \ * LDA I \ \ * ADA #TAKN \ NUMBER_ > MODE=1 * LDA A,I / NUMBERTAKEN[I]; / * STA NUM / / * ADA TOTAL \ TOTAL_ / * STA TOTAL / TOTAL+NUMBER; / * JMP XYZ6 ///////////////// * SKP XYZ4 DLD TOP \\\\\\\\\\\\\\\\\\\\ * FSB VOLTS \ \ * SSA,RSS \ IF VOLTAGE>TOP \ * JMP XYZ5 / THEN TOP_ \ * DLD VOLTS / VOLTAGE; \ * DST TOP / \MODE * XYZ5 DLD VOLTS \ / #1 * FSB BOTOM \ IF VOLTAGE AVG_MEAN+AVG/TOTAL; FDV TOTAL / FAD MEAN / DST AVG / SKP ******************************************************************** LDA QUOT * FOR I_MODE\2 OR MODE MOD 2 * IOR REMDR * STEP MODE\2+MODE MOD 2 * XYZ7 STA I * UNTIL HOWMANY DO BEGIN * * ******************************** * * LDB A ******************************** CMB,INB * * ADB #RDGS,I * ** TEST FOR END OF LOOP ** * SSB * * JMP XYZ11 * DONE! * * ******************************** * * CLB,INB \\\\\\\\\\\\\\\\\\\\\\ * CPB MODE,I  Òþú \ * RSS \ * JMP XYZ8 \ MODE * ADA #TAKN \ / =1 * LDA A,I > NUMBER_ / * STA NUM / NUMBERTAKEN[I]; / * * ////////////////////// * * * XYZ8 LDA I \----------------------\ * ALS \ ) \ * ADA RDGS \ (DATA[I] ) \ * STA TEMP > -AVG) ) \ * DLD TEMP,I / ) \ * FSB AVG / ) RMS_ \ * DST TEMP / ) RMS+ \ * JSB .RTOI \ ) (DATA[I] \* DEF TEMP \ ( )^2 ) -AVG)^2 * DEF TWO / ) *NUMBER/* DST TEMP / ) / * LDA NUM \ ) / * JSB FLOAT > ( )^2*NUMBER ) / * FMP TEMP / ) / * FAD RMS \ RMS_RMS+ ) / * DST RMS / ( )^2*NUMBER; ) / * * -----------------------/ * * * LDA I ******************************** ADA STEP * NEXT I * JMP XYZ7 * * ******************************************************************** SKP XYZ11 DLD RMS \ FDV TOTAL \ RMS_ JSB SQRT / SQRT(RMS/TOTAL); DST RMS / SPC 1 *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ LDA TWO + + CLB + WRITE(OUT,FOR1,AVG,TOP- + JSB .DIO. + BOTTOM,TOP,BOTTOM,RMS)o¥þú; + DEF FOR1 + + DEF ND ++++++++++++++++++++++++++++++++ * + DLD AVG \ PRINT + JSB .IOR. / AVG + * + JSB .DTA. + * + ND LIA 1 \ + AND LOOP,I \ SKIP REST OF PRINT + SSA / IF LOOP AND SW15 + JMP .END / + * + LDA TWO \ + CLB \ + JSB .DIO. > SET UP REST OF PRINT + DEF FOR2 / + DEF .END / + * + DLD TOP \ + FSB BOTOM > PRINT + JSB .IOR. / P-P + * + DLD TOP \ PRINT + JSB .IOR. / HI + * + DLD BOTOM \ PRINT + JSB .IOR. / LO + * + DLD RMS \ PRINT + JSB .IOR. / RMS + * + * ++++++++++++++++++++++++++++++++ * + + JSB .DTA. + ÓTþú END OF PRINT + * + + *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ SPC 2 .END JMP STATP,I SPC 2 ******************** * * * END OF STATPAC * * * ******************** HED 2313B VERIF -- CODE PROCEDURES -- INTER 8/22/73 ******************************** * * * INTER -- PROGRAM INTERLACE * * * ******************************** SPC 2 CB NOP NCDS NOP V NOP DALOC NOP NCH NOP GN NOP GC NOP ABRT1 NOP SPC 1 INTER NOP JSB .ENTR DEF CB SPC 1 JSB EXIT SET UP DEF *+3 TTY ESCAPE DEF MIN1 CAPABILITY DEF STOP SPC 1 CLA SET UP ABORT STA ABRT1,I INDICATOR STA SC,I CLEAR THE TRAP CELL SPC 1 LDB NCDS,I GET # OF CARDS CMB,INB MAKE NEGATIVE STB NCDS AND STORE LDA CB \\\\\\\\\\ STA CBLOC \ IN LDA CBLOC,I \ IOR BIT14 \ JSB PROG PROGRAM GAIN \ LDA GC,I ON ALL LLMPX \ AND B77 CARDS / JSB PROG / ISZ CBLOC / ISZ GC / ISZ B / JMP IN ////////// SKP LDA NCH,I INITIALIZE CMA,INA COUNTERS STA NCH AND TSENT LDA DALOC POINTERS STA DA LDA NCH STA NCHLO CLA STA INCH SCENT LDA CB STA CBLOC LDB NCDS GET NUMBER STB MINCD OF CARDS SMENT LDA CBLOC,I FORM SET-UP ADA INCH COMMAND AND INA ISSUE TO JSB PROG SUBSYSTEM ISZ CBLOC HAVE ALL CARDS ISZ MINCD BEEN¥þú SET UP? JMP SMENT NO LDA CB YES - REINITIALIZE STA CBLOC LDB NCDS STB MINCD MORCD LDA CBLOC,I FORM DIGITIZE IOR B1513 COMMAND AND JSB PROG ISSUE TO 2313 LIA4 LIA .2313 GET BACK DATA CPB MINCD FIRST TIME? JMP GOON YES- BAD DATA STA DA,I NO- SO STORE IT ISZ DA GOON ISZ CBLOC HAVE ALL CARDS ISZ MINCD BEEN DIGITIZED? JMP MORCD NO LDA CLEAN YES- JSB PROG GET LAST LIA5 LIA .2313 READING AND STA DA,I STORE ISZ DA ISZ NCHLO MORE CHANNELS? JMP MORCH YES LDA LOOP,I NO SSA,RSS REPEAT SET? JMP *+4 JSB DELAY YES - DELAY NOP THEN DO JMP TSENT OVER SKP LDA NCH NO - SET UP STA NCHLO CALL TO LDA V CNVRT STA PRAM1 LDA DALOC STA PRAM2 CLA STA K KMOX LDA NCDS STA MINCD LDA GN STA PRAM3 STA PRAM4 WNCMO JSB CNVRT CALL DEF ENLST CNVRT PRAM1 NOP PRAM2 NOP PRAM3 NOP PRAM4 NOP DEF K DEF ONE ENLST ISZ K PREPARE ISZ PRAM3 FOR ISZ PRAM3 NEXT ISZ PRAM4 TIME ISZ PRAM4 ISZ MINCD DONE WITH # OF CARDS? JMP WNCMO NO ISZ NCHLO YES- DONE WITH EVERYTHING? JMP KMOX NO - MORE CHANNELS OVER JSB CLRIT YES- CLEAR ESCAPE CAPABILITY JMP INTER,I GO BACK TO ALGOL SPC 1 MORCH LDA INCH ADA TWO STA INCH JMP SCENT SPC 1 STOP CCA STA ABRT1,I JMP OVER SPC 1 * ** END OF INTER ** ŒTRNNTÿÿþú HED 2313B VERIF -- CODE PROCEDURES -- CNFGR 8/22/73 ***************************************** * * * CNFGR -- CONFIGURE I/O INSTRUCTIONS * * * ***************************************** SPC 1 * WHEN STARTING ADDRESS IS OCTAL 2000 * A JUMP TO HERE OCCURS SO THAT ALL * DEVICES CAN BE IDENTIFIED. SPC 2 CNFGR CLC 0,C CLA JSB FRST SAVE SOME LOCATIONS (1ST TIME) LDB TTYLC \\\\\\\\\\\\\\\\\\\ STB TTYL,I RESTORE TTY LINK \ LDB TCC RESTORE 2313B \ STB SC,I TRAP CELL \ STA LAD.,I CLEAR ALL \ STA GONLY,I POSSIBLE \ NOT STA LOOP,I TEST \ FIRST STA PACED,I CONDITIONS / TIME STA DELC / INA SET / STA DEVYC KEYBOARD / STA BATCH,I MODE / LDA ABRT SET ABORT FEATURE / STA LBL4 /////////////////// SPC 1 JSB ADDRS GET EQT ADDRS LDA TWO SET EQT LENGTH STA B,I TO TWO INB MAKE ADDRS OF 1ST WORD STB EQTAD OF TTY ENTRY AND SAVE ADB THREE MAKE ADDRS OF 4TH WORD LDA B,I OF TTY ENTRY AND GET DRVR ADRS STA TAD SAVE DRIVER D.00 ENTRY POINT LDB EQTAD,I GET OLD SELECT CODE LDB B,I GET TRAP CELL CONTENTS SPC 1 IN1 LIA 1 READ NEW SELECT CODE AND B77 AND ISOLATE IT JSB SCHK IS IT VALID? HLT 1B NO JMP IN1 TRY AGAIN STA EQTAD,I YES - PUT IN EQT STA TTYSC SAVE SC FOR TTY LDA TTYSC,I SAVE CONTENTS OF CELL FOR STA TTY11 ANOTHER DEVICE STB TTYSC,I SET TTY TRAP CELL SPC 1 JSB .IOC. CLEAR I/O ONE2 OCT 1 ON T›ïþúTY SKP IN2 LDA DMES1 GO GET 2313B LDB ML1 SELECT JSB GETIT CODE CPA TTYSC SAME AS TTY? RSS YES - OOPS! JSB SCHK IS IT VALID? JSB ERROR NO JMP IN2 TTY AGAIN STA SC SAVE SELECT CODE SPC 1 JSB ADDRS GET EQT ADDRS ADB FIVE SET FOR 2313B STB EQTAD ENTRY AND SAVE LDB B,I GET OLD 2313B SC STA EQTAD,I SET NEW 2313B SC LDA B,I GET TRAP CELL CONTENTS CPB TTYSC MAKE SURE THIS IS THE LDA TTY11 PROPER TRAP CELL CONT. STA TCC SAVE CONTENTS STA SC,I SET NEW TRAP CELL SPC 2 IN3 LDA DMES2 GO GET PHOTO- LDB ML2 READER SELECT JSB GETIT CODE SZA,RSS IS IT ZERO? JMP TONLY YES - NO PHOTOREADER CPA TTYSC SAME AS TTY? JMP *+4 YES - OOPS! CPA SC SAME AS 2313B? RSS YES - OOPS TOO! JSB SCHK IS IT VALID? JSB ERROR NO JMP IN3 TRY AGAIN STA TSC SAVE SELECT CODE SPC 1 JSB ADDRS GET EQT ADDRS LDA THREE CHANGE EQT LENGTH STA B,I TO THREE LDA TSC GET PR SELECT CODE ADB B11 SET EQT ADDRS FOR PR ENTRY STA B,I PUT NEW SC IN EQT LDA TTYSC,I GET TTY TRAP CELL CONTENTS STA TSC,I AND SET FOR PR ADB THREE SET EQT ADDRS FOR DRVR ENTRY LDA TAD GET TTY DRIVER ENTRY STA B,I AND SET INTO PR EQT ENTRY SPC 1 LDA LBL3 SET UP TAPE MODE RSS FOR PHOTO-READER TONLY CLA SET UP TAPE MODE STA LBL1 FOR TTY SKP LDA SC GET 2313B SELECT CODE IOR SFSX FORM SFS XX INSTRUCTION (2313B) STA SFS2 \ STA SFS3 \ STA SFS5 \ STA READ ‚¸þú \ AND STA SFS7 / STORE IT STA SFS8 / STA SFS9 / STA REED / SPC 1 XOR B500 FORM OTA XX INSTRUCTION (2313B) STA OTA2 \ STA OTA3 \ STA OTA5 > AND STORE IT STA OTA6 / STA OTA7 / SPC 1 IOR B1100 FORM STC XX,C INSTRUCTION (2313B) STA STCC2 \ STA STCC3 \ STA STCC5 \ STA STCC6 \ AND STA STCC7 / STORE IT STA ANRDG / STA STCC8 / STA STCC9 / SPC 1 XOR B9B11 FORM CLC XX INSTRUCTION (2313B) STA CLC2 AND STORE IT SPC 1 XOR B4600 FORM STF XX INSTRUCTION (2313B) STA STF2 AND STORE IT SPC 1 IOR B400 FORM LIA XX INSTRUCTION (2313B) STA LIA1 \ STA LIA2 \ AND STA LIA4 / STORE IT STA LIA5 / LDA OTA6 IOR B4600 STA OTA6 LDA TTYSC SET IOR OTAX MODE STA OTA1 COMMAND IOR B1100 FORM STC XX,C INSTRUCTION (TTY) STA STCC1 AND STORE IT XOR B9B11 FORM CLC XX INSTRUCTION (TTY) STA CLC1 AND STORE IT XOR B4600 FORM STF XX INSTRUCTION (TTY) STA STF1 AND STORE IT LDA TTYSC,I SAVE TRAP AND B77 CELL LINK STA TTYL AND LINK LDA A,I CONTENTS STA TTYLC (TTY) JMP 2B GO ON TO ALGOL SKP ************************************************* * * * GETIT -- GET TTY OR PHOTOREADER SELECT CODE * * * ************************************************* SPC 2 ORB GETIT NOP STA MESS PUT MESSAGE PARAMETERS STB ML INTO CALL TO IOC JSAÇþúB .IOC. OUTPUT OCT 20002 REQUEST JMP *-2 FOR A MESS NOP SELECT ML NOP CODE CLA,INA \ CLB,INB \ JSB .DIO. \ DEF FMT3 > INPUT NEW DEF *+2 / SELECT CODE JSB .IOI. / JMP GETIT,I / ORR SPC 3 ************************************************* * * * FRST - SAVE SOME LOCATIONS, FIRST TIME ONLY * * * ************************************************* SPC 2 ORG WHERE FRST NOP LDB LBL4 SAVE ABORT STB ABRT CAPABILITY LDB LBL1 SAVE NORMAL STB LBL3 TAPE MODE LDB DEFIO GET ELB,CLE,ERB AND LDB B,I SAVE ADB B301 *FMT ERROR STB DEFIO ADDRESS LDB DEFER SET UP *FMT STB DEFIO,I ERROR ESCAPE ISZ DEFIO AND RETURN LDB FRST CLEAR THE ADB MIN1 CALL TO STA B,I THIS ROUTINE ADB EQTAD RETURN TO CNFGR ROUTINE JMP B,I AFTER "NOT FIRST TIME" AREA SPC 1 B301 OCT 301 USED ONLY BY DEFER JMP FMTER THIS ROUTINE ORR SKP ***************************************** * * * SCHK -- CHECK FOR VALID SELECT CODE * * * ***************************************** SPC 2 SCHK NOP STA GETIT SAVE SC ADA NB10 IS IT SSA MORE THAN 7? JMP SCHK,I NO - ERROR RETURN SPC 1 LDA GETIT IS IT CMA,INA LESS THAN ADA B67 70? SSA JMP SCHK,I NO - ERROR RETURN LDA GETIT RESTORE SC ISZ SCHK SET OK ISZ SCHK RETURN JMP SCHK,I ›„þú SPC 4 ******************************* * * * ADDRS -- FIND EQT ADDRESS * * * ******************************* SPC 2 ORB ADDRS NOP LDB SQTAD GET SQT ADDRESS SSB,RSS IS IT INDIRECT? JMP *+4 NO ELB,CLE,ERB YES - ELIM I BIT LDB B,I GET NEXT LEVEL JMP *-4 GO CHECK AGAIN ADB SIX OK, MAKE EQT ADDRESS JMP ADDRS,I HED 2313B VERIF -- CODE PROCEDURES -- SERVICE ROUTINES ******************************************* * * * CHECK -- WAIT FOR TTY TO BE AVAILABLE * * * ******************************************* SPC 2 CHECK NOP JSB .IOC. STATUS CALL OCT 40001 TO IOC SSA BUSY JMP *-3 YES JMP CHECK,I NO SPC 4 ********************************* * * * ERROR -- PRINT " ??" ON TTY * * * ********************************* SPC 2 ERROR NOP JSB .IOC. OUTPUT OCT 20002 MESSAGE JMP *-2 TO DEF WRONG TTY DEC -3 ( ??) JMP ERROR,I SKP *********************************************** * * * HCHK -- CHECK FOR R=,>, OR < D[J] (HISTO) * * * *********************************************** SPC 2 ORR HCHK NOP LDB PNTR,I \ CPA B R=D[J]? JMP INCR YES SSA NO - R<0? JMP *+4 YES SSB NO - D[J]<0? JMP HCHK,I YES - (R>D[J]) JMP *+3 NO SSB,RSS - D[J]<0? JMP LOWER NO - (æ^þúRD[J]? SSB / JMP LOWER NO - (RD[J]) ORB SPC 3 *************************************** * * * FORMATTER OVERLAY FOR *FMT ERRORS * * * *************************************** SPC 2 FMTER LDB BIGST GET LARGE NUMBER LDA NMBR,I \ AND HI.,I > HISTO & READ1? SSA / CLB YES - GET A 0 STB P1,I PUT 0 OR LG # IN PARAMETER JMP DEFIO,I RETURN TO FORMATTER ORR HED 2313B VERIF -- CODE PROCEDURES -- READX 8/22/73 ******************************************** * * * READX -- READ FROM TTY OR PHOTO-READER * * * ******************************************** SPC 1 * THIS ROUTINE READS A 72 CHARACTER * STRING FROM EITHER THE TTY OR * THE PHOTOREADER. * * FOR THE PHOTOREADER, THE ENTIRE * STRING IS PRINTED ON THE TTY. * * FOR NUMBERS THE FORMATTER IS * THEN USED FOR INTERNAL CONVERSION. SPC 2 * ** CALLING PARAMETER LIST ** SPC 1 DVICE NOP NMBR NOP P1 NOP NOP NOP NOP SPC 2 * ** START OF ROUTINE ** SPC 1 READ4 NOP ALL READ1 EQU READ4 ENTRY READ2 EQU READ4 NAMES ARE READ3 EQU READ4 THE SAME READR EQU READ4 JSB .ENTR DEF DVICE SPC 1 LDA NMBR,I SZA,RSS JMP L42 LDA DVICE,I IOR REDIT SET READ REQUEST STA *+2 AND STORE IT JSB .IOC. READ THE OCT 10401 OR OCT 10005 JMP *-2 PHOTOREADER DEF DESC OR TTY LONG DEC -72 (72-CHAR STRING) SKP LDA DVICE,I GET DEVICE TYPE IOR BIT14 @°þúMAKE STATUS REQUEST CODE STA *+2 AND STORE IN CALL STAT JSB .IOC. CHECK INPUT OCT 40005 UNIT STATUS SSA DONE? JMP STAT NO - TRY AGAIN ELB,CLE,ERB YES - USE TRANS LOG LDA B SET NEGATIVE CMA,INA FOR CHARACTERS STA L41 SET OUTPUT STRING LENGTH LDA B SET POINTER INA TO FIRST B1100 ARS UNUSED ADA DEFST BUFFER STA PNTR WORD INB STORE ADB LONG COMMA BRS PAIRS SZB,RSS IN JMP LW1 THE LDA COMMA REST STA PNTR,I OF ISZ PNTR THE INB,SZB STRING JMP *-3 BUFFER SPC 1 LW1 CLB,INB PHOTO- CPB DVICE,I READER? JMP L42 NO - TTY JSB .IOC. OUTPUT OCT 20002 THE JMP *-2 STRING DEF DESC ON TTY L41 DEC -72 SKP L42 LDA NMBR,I FREE-FIELD NUMBERS SSA OR ASCII CHAR? JMP ALPHA ASCII JSB CHECK WAIT FOR TTY TO FINISH LDA NMBR,I IS IT SZA,RSS REAL? JMP REAL YES CLA \\\\\\\\\\\\\ CLB,INB \ JSB .DIO. \ DEFST DEF DESC \ OCT 0 CALL FOR \ DEF L43 INTEGER / LDA NMBR,I CONVERSION / LDB P1 / JSB .IAR. / L43 JMP READ4,I ///////////// REAL LDA D.DIO GET ADDRESS OF RAL,CLE,SLA,ERA INPUT POINTER LDA A,I IN .IOC. ADA TWLVE LDA A,I SET POINTER AND B1777 TO LOCATION LDA A,I OF NEXT INA NUMB¬aþúER IN ARS STRING AND STA LOCAT STORE IN CALL LDA A,I IS FIRST AND UPPER CHARACTER CPA COMNL A COMMA? RSS YES JMP *+4 NO LDA LOCAT,I REMOVE AND B377 COMMA AND STA LOCAT,I REPLACE CHAR. CLA SET UP CALL CLB,INB TO CONVERT JSB .DIO. REAL NUMBER LOCAT NOP OCT 0 DEF L44 JSB .IOR. DST P1,I L44 JMP READ4,I SPC 1 D.DIO DEF .DIO. ALPHA LDA DESC MOVE ASCII CHARACTERS STA P1,I INTO PROPER STORAGE JMP READ4,I SPC 2 ****************** * * * END OF READX * * * ****************** HED 2313B VERIF -- CODE PROCEDURES -- GNCHK 8/22/73 **************************************** * * * GNCHK -- TEST FOR VALID LLMPX GAIN * * * **************************************** SPC 1 * THIS ROUTINE CHECKS FOR ONE OF * EIGHT VALID LLMPX GAINS * AND RETURNS THE CORRESPONDING * GAIN CODE TO THE ALGOL SPC 2 ORB IGAIN NOP RGAIN NOP SPC 1 GNCHK NOP JSB .ENTR DEF IGAIN SPC 2 DLD RGAIN,I SSA,RSS NEGATIVE GAIN? JMP AHEAD NO POSITIVE CCA YES - SET UP ABORT COND. OUT STA IGAIN,I JMP GNCHK,I AHEAD CPA G1000 HIGH GAIN MANTISSA? JMP HIGH YES CHECK EXPONENT CPA G100 NO - LO GAIN MANTISSA? JMP LOW YES-CHECK EXPONENT RMR LDA B8 NO SET UP FOR JMP OUT INVALID # LOW LDA B4 INITIALIZE STA GNCOD GAIN CODE AND LDA B16 EXPONENTS FOR JMP CTUE LOW GAIN HIGH CLA INITIALIZE STA GNCOD FOR HIGH LDA B24 GAIN CTUE JSB CMPR \\\\\\\\\\®,þú\\\\ JSB CMPR TRY TO MATCH \ JSB CMPR EXPONENTS / JSB CMPR ////////////// JMP RMR NO MATCH DWG LDA GNCOD MATCH FOUND- SET JMP OUT UP VALID RETURN SPC 2 CMPR NOP HAVE WE FOUND CPB A THE RIGHT EXPONENT? JMP DWG YES ISZ GNCOD NO- PREPARE FOR ADA MIN2 NEXT TIME JMP CMPR,I SPC 1 * ** END OF GNCHK ** HED 2313B VERIF -- CODE PROCEDURES -- CONSTANTS, ETC *************************************** * * * CONSTANTS, STORAGE, MESSAGES, ETC * * * *************************************** SPC 1 * ** CONSTANTS ** SPC 1 A EQU 0 AB ASC 1,AB INTRP ALL OCT 101 INTRP ALSX ALS,ALS DSPLY/HISTO ASTER OCT 25000 INTRP SPC 1 B EQU 1 BA ASC 1,TA INTRP B4 OCT 4 GNCHK B8 DEC 8 GNCHK B11 OCT 11 INTRP,CNFGR B16 OCT 16 GNCHK B24 OCT 24 GNCHK B62 OCT 62 DSPLY/HISTO B67 OCT 67 SCHK B77 OCT 77 CNFGR B377 OCT 377 INTRP B400 OCT 400 INTRP,CNFGR B500 OCT 500 CNFGR B1513 OCT 120000 DSPLY/HISTO B1777 OCT 1777 READX B9B11 OCT 5000 CNFGR B4600 OCT 4600 CNFGR BIT12 OCT 10000 DSPLY/HISTO BIT14 OCT 40000 READX BIGST OCT 77777 FMTER BK OCT 113 INTRP ASC(NULL K) SPC 1 CL ASC 1,CL INTRP CLEAN OCT 120000 DSPLY/HISTO CMND ASC 1,>_ INTRP CO ASC 1,CO INTRP COMMA ASC 1,,, READX COMNL OCT 26000 READX SPC 1 D OCT 104 INTRP ASC(NULL D) D20 DEC 20 DSPLY/HISTO DEFIO DEF .DTA. CNFGR DEVYC OCT 1 INTRP,CNFGR DMES1 DEF MES1 CNFGR DMES2 DEF MES2 CNFGR SPC 1 FEXT ASC 8, EXT STRT/STP? _ I0ìþúNTRP FIVE OCT 5 INTRP,CNFGR FMT3 ASC 4,(K6) GETIT FOR1 ASC 9,(" AVG="F10.6"_") STATPAC FOR2 ASC 24,(" PP="F10.6" HI="F10.6" LO="F10.6" RMS="F10.8) SKP * ** CONSTANTS, CONT. ** SPC 1 G OCT 107 INTRP (ASC NULL-G) G100 OCT 62000 GNCHK G1000 OCT 76400 GNCHK SPC 1 IASC DEF NO INTRP INTTY OCT 140000 EXIT SPC 1 L OCT 114 INTRP (ASC NULL-L) LDAX LDA N.16 DSPLY LDAY LDA N.4 DSPLY SPC 1 MES1 OCT 6412 CNFGR ASC 10, 2313 SELECT CODE= _ CNFGR MES2 ASC 12, TAPE-RDR SELECT CODE= _ CNFGR MIN1 OCT -1 INTRP,DSPLY/HISTO,FRST MIN2 OCT -2 GNCHK ML1 DEC 11 CNFGR ML2 DEC 12 CNFGR MSG2 ASC 8, PERIOD,MULT= _ INTRP MSG3 ASC 5, BX,CD= _ INTRP MSG4 ASC 3, COND: INTRP MSG6 ASC 7, BX,CD,GAIN= _ INTRP MSG7 ASC 5, DELAY= _ INTRP SPC 1 NB10 OCT -10 INTRP,SCHK NB12 OCT -12 INTRP NB14 OCT -14 INTRP NB400 OCT -400 INTRP NE ASC 1,NE INTRP N.4 DEC -4 DSPLY/HISTO N.16 DEC -16 DSPLY/HISTO N.200 DEC -200 DELAY SPC 1 OTAX OTA 0 CNFGR SPC 1 P OCT 120 INTRP (ASC NULL-P) PACWD OCT 64000 DSPLY/HISTO PARAM DEF WHERE INTRP SPC 1 R OCT 122 INTRP (ASC, NULL-R) REDIT OCT 10401 READX RSSH OCT 3740 ISSUE SPC 1 SFSX SFS 0 CNFGR SIX OCT 6 ADDRS SPACE OCT 20000 INTRP SQTAD DEF .SQT. ADDRS SSSH OCT 7740 ISSUE SKP * ** CONSTANTS, CONT. ** SPC 1 T OCT 52000 INTRP (ASC T-NULL) TEST OCT 52525 CNVRT TEST2 DEC -10000 DSPLY/HISTO THREE OCT 3 CNFGR TTYIN DEF I.EX EXIT TTY EQU 12B EXIT TWLVE OCT 12 READX TWO OCT 2 INTRP,STATPAC,CNFGR TYÌŒþú ASC 1,KE INTRP SPC 1 UPPER OCT 177400 INTRP,READX SPC 1 WRONG ASC 2, ?? ERROR SPC 1 XL2 DEF FGAIN CNVRT XL3 DEF SGAIN CNVRT SPC 1 YES ASC 1,YE INTRP,DESCR SPC 1 .005 DEC .005 CNVRT .2313 EQU 11B SPC 2 * ** INTRP SPECIAL CONSTANTS ** SPC 1 NO ASC 1,NO \ LI ASC 1,LI \ RE ASC 1,RE \ ASC 1,DI \ ASC 1,HI \ DO NOT SE ASC 1,SE / RE-ARRANGE ASC 1,SS / ASC 1,IN / ASC 1,TW / ASC 1,SI / SKP * ** STORAGE ** SPC 2 * WARNING-DO NOT REARRANGE THE ORDER OF PIN1 THRU PNTR1 SPC 2 ABRT NOP INTRP,CNFGR,FRST SPC 1 CNTR EQU ADDRS INTRP, DESCR CNTR1 NOP INTRP SPC 1 DELC NOP INTRP,DELAY SPC 1 LBL3 NOP CNFGR,INTRP SPC 1 MEAN EQU MSG5 STATPAC SPC 1 NUM EQU K STATPAC SPC 1 PIN1 NOP INTRP PIN NOP INTRP,DESCR OUTBF NOP \ INTRP, DESCR PNTR OCT 57400 INTRP, DSPLY/HISTO, HCHK, READX PNTR1 NOP INTRP SPC 1 QUOT EQU ATEST STATPAC SPC 1 REMDR EQU FROM STATPAC RMS EQU SGAIN STATPAC SPC 1 SC NOP EXIT, DSPLY/HISTO, CNFGR STEP EQU J STATPAC SPC 1 TAD NOP CNFGR TCC NOP CNFGR,EXIT TOTAL EQU FGAIN STATPAC TSC NOP CNFGR TTY11 NOP CNFGR TTYL NOP EXIT,CNFGR TTYLC NOP EXIT,CNFGR TTYSC NOP CNFGR SPC 3 **************************** * * * END OF CODE PROCEDURES * * * **************************** SPC 1 END ÍGHFBBHÿÿ ÿý ,7 ÿ02607-18004 1538 S 0122 2607A LINE PRINTER 24K SIO DRIVER             H0101 0þúASMB,A,B,L,T,C HED 24K SIO HP2607 LINE PRINTER DRIVER * CALLING SEQUENCE: * * JSB 102B,I * * AND ENTER WITH; * * (A) = VERTICAL FORMAT CODE (-1 TO -4) * * OR * * (A) = LENGTH OF BUFFER IN CHARACTERS AND * (B) = ADDRESS OF BUFFER * * MAXIMUM LINE LENGTH: 132 CHARACTERS - ONLY THE FIRST * 132 CHARACTERS IN THE BUFFER WILL BE PRINTED IF MORE * THAN 132 CHARACTERS ARE REQUESTED. * * VERTICAL FORMAT CODES CORRESPOND TO VERTICAL FORMAT * CONTROL TAPE CHANNELS ON THE PRINTER. THE STANDARD * CHANNEL ASSIGNMENTS ARE AS FOLLOWS: * * CODE TAPE CHANNEL FUNCTION * ---- ------------ -------- * 0 0 SINGLE SPACE * -1 1 SKIP TO TOP OF NEXT PAGE * -2 2 SKIP TO NEXT HALF PAGE * -3 3 SKIP TO NEXT QUARTER PAGE * -4 4 SKIP TO NEXT SIXTH PAGE * * NOTE THAT A BUFFER LENGTH OF 0 FORCES A LINE FEED * * VERTICAL FORMAT COMMANDS <-4 ARE IGNORED. * ORG 00002B JMP 3,I DEF LINE INITIALIZATION LOCATION * ORG 102B DEF LINEP * KCORE EQU 50000B 24K SKP ORG KCORE+06000B SPC 1 LINE LIA 1 READ IN CHANNEL ADDRESS FROM AND .77 SWITCH REGISTER AND STA 1 STORE IN B LDA L7 FORM OTA CH AND .1777 IOR 1 AND STA L.7 STORE LDA L8 FORM STC CH,C AND .1777 IOR 1 AND STA L.8 STORE LDA L9 FORM SFS CH AND .1777 IOR 1 AND STA L.9 STORE &Jþú HLT 77B HLT JMP LINE SPC 2 .77 OCT 77 .1777 OCT 177700 L7 OTA 0 L8 STC 0,C L9 SFS 0 SKP ORG 00106B ABS KCORE+07404B SPC 2 ORG KCORE+07557B SPC 1 LINEP NOP ENTRY/EXIT CMA,INA FORM NEGATIVE CHAR COUNT OR POS FORMAT CONT # STA CCT SAVE NEGATIVE CHARACTER COUNT OR VERT FORMAT COMMAND SSA,RSS CHECK MODE JMP VFC (A) ZERO OR POSITIVE IS VERT FORMAT COMMAND ADA C132 CHECK FOR CHARACTER COUNT >132 SSA,RSS JMP L.2 LINE LENGTH OK LDA CM132 LINE TOO LONG - SET TO 132 CHARS JMP LINEP+2 SPC 1 L.1 LDB B,I FETCH NEXT LEVEL L.2 RBL,CLE,SLB,ERB IS BUFFER ADDRESS INDIRECT? JMP L.1 YES: FETCH ADDRESS L.3 LDA B,I PICK UP WORD FROM BUFFER SEZ,RSS UPPER CHARACTER? ALF,ALF YES - EXCHANGE CHARACTERS ELB SAVE CHARACTER ADDRESS IN B AND C377 MASK OFF UPPER CHARACTER JSB PRINT OUTPUT TO PRINTER BUFFER INB INCREMENT CHARACTER ADDRESS CLE,ERB AND CONVERT TO BUFFER ADDRESS AND UPPER/LOWER FLAG ISZ CCT INCREMENT AND TEST CHARACTER COUNT JMP L.3 FETCH NEXT CHARACTER * LDA EOM LOAD END OF MESSAGE CODE * JSB PRINT AND OUTPUT TO PRINTER LDA EOM LOAD SINGLE SPACE COMMAND L.5 JSB PRINT AND OUTPUT TO PRINTER JMP LINEP,I RETURN SPC 2 VFC SZA,RSS JMP L.5-1 STA B ADA C.71 CPB DEC1 LDA C.77 ADB M.5 SSB JMP L.5 JMP LINEP,I SPC 2 PRINT NOP ROUTINE TO TRANSMIT CHARACTER OR COMMAND TO PRINTER L.7 OTA 0 OUTPUT CHARACTER L.8 STC 0,C L.9 SFS 0 CHECK IF CHARACTER OUTPUT COMPLE JMP *-1 NO--SO WAIT JMP PRINT,I YES--SO RETURN SPC 2 * CONSTANTS AND MASKS SPC 1 C132 DEC 132 [ MAX CHARACTER COUNT C377 OCT 377 CHARACTER MASK C.71 OCT 100103 EOM OCT 100102 C.77 OCT 100100 CM132 DEC -132 SETS CHAR MAXIMUM TO 132 M.5 DEC -5 DEC1 DEC 1 SPC 2 * TEMPORARY STORAGE * CCT NOP COLUMN COUNT OR PRINTER CHANNEL SELECT SPC 2 * ASSEMBLY PARAMETERS SPC 1 B EQU 1 LOCATION OF B REGISTER SPC 1 END Æõÿÿ ÿý  ÿ02608-18001 1835 S C0146 2608 LINE PRINTER              H0101 PþúASMB,A,L,C,B ORG 0 SUP * * 2608A DIAGNOSTIC 08/25/78 3:00 PM * PART NUMBER 02608-16001 DATE CODE =1835 * * MINIMUM FIRMWARE ID CODE = 12 * * 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 * BIT 6: CLEAR = 6 LPI * SET = 8 LPI * BIT 7: CLEAR = 26099A INTERFACE * SET = 59310B INTERFACE  * BIT 8: (59310B ONLY) * CLEAR = CR, LF, FF DISABLED * SET = CR, LF, FF ENABLED * BIT 10: (59310B ONLY) * CLEAR = PARITY ENABLED * SET = PARITY DISABLED * BITS 11-15 (59310B ONLY) * HP-IB ADDRESS IN SWITCHES OF REAR PANEL * OF PRINTER * E. PRESS RUN AND WAIT FOR HALTS 106000, 107074. * 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 * (SUPPRESS ALL OPERATOR INTERVENTION) * 11 = SUPRESS ERROR MESSAGES * 10 = SUPRESS NON-ERROR MESSAGES * 9 = GO TO USER CONTROL SECTION * AT END OF PRESENT TEST * 8 = SUPPRESS OPERATOR INTERVENTION TESTS * * 0 TO 7 = DIAGNOSTIC OPTIONS * BIT 7 = PROGRAMMATICALLY INSTALL A VFC DEFINITION * THAT IS IDENTICAL TO THE STANDARD 2608A * 6 LPI VFC * BIT 1-6 = RESERVED * BIT 0 = SELECT NEW PRIMARY LANGUAGE AT END OF * v}þú PASS. THIS BIT IS CLEARED FOLLOWING * EACH CHANGE OR ATTEMPTED CHANGE * OF THE PRIMARY LANGUAGE. * NOTE: STANDARD RUN SHOULD BE WITH SW. REG. = 0 * * G. PRESS RUN. * H. RESTART - LOAD ADDRESS 2000B * I. RECONFIGURE IF TESTING I/O INTERFACE - LOAD ADDRESS 100B * * 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 * * CONTROL PROGRAM HALT MESSAGES * * 102077 END OF DIAG (A & B = PASS COUNT) * 102076 END OF TEST (A = TEST #) * 102075 USER SELECTION REQUEST * 102074 SELECT CODE INPUT COMPLETE * 102073 USER SELECT CODE ERROR * 102072 RESERVED * 102071 RESERVED * 102070 RESERVED * * 106077 TRAP CELL HALT * * HED PROGRAM ORGANIZATION CHART * ******************************************* * * CONFIGURATOR 100B * * * LINKAGE TABLE * * ******************************************* * * EXECUTIVE 130B * * * LINKAGE * * ******************************************* * * CONSTANTS 150B * * * AND * * * STORAGE * * ******************************************* * * 2000B * * * EXECUTIVE CONTROL * * * * * ******************************************* * * IF USED * * * BASIC I/O TESTS (TEST 00) * * * ZCEND * * * þú******************************************* * * TABLE OF TEST POINTERS * * * TABLE OF I/O INSTR POINTERS * * ******************************************* * * * * * * * * * * * * * * * * * MAIN DIAGNOSTICS (1-31) * * * * * * * * * * * * * * * * * ******************************************* * HED 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 * * 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 DSNL BSS 1 DIAGNOSTIC SERIAL ‘þúNUMBER FMTR BSS 1 FORMATTER * * * CONTROL LINKAGE AND DATA REFERENCES * CFIG DEF ZCONF CONFIGURATION SECTION MSGC DEF ZMSGC MESSAGE WITH NO HALT MSGH DEF ZMSGH MESSAGE WITH HALT ERMS DEF ZERMS ERROR MESSAGE WITH HALT SWRT DEF ZSWRT SWITCH REGISTER CHECK ROUTINE ERMC DEF ZERMC ERROR MESSAGE WITHOUT HALT NOP RESERVED NOP RESERVED HED EXECUTIVE CONTROL ORG 2000B ZSTEX CLC INTP,C TURN I/O SYSTEM OFF JSB MSGC,I DO CRLF DEF ZRTLF CLE LDA DSNL A = DIAGNOSTIC SERIAL NUMBER LDB FRBX B = BUFFER ADDRESS JSB 124B,I MAKE CONVERSION TO ASCII LDA FRMWR COMMAND TO READBACK FIRMWARE NUMBER JSB STR,I LIA FIRMWARE ID NUMBER STA FRMID LDB FRBXY ADDRESS TO STORE NUMBER FOR MESSAGE CCE JSB I2AS,I CONVERT TO DECIMAL ASCII AND STORE JSB MSGC,I OUT PUT IT DEF HDMS CLA CLEAR PASS STA ZEOLC COUNT LDB ZSW9 CHECK FOR USER SELECTION REQ JSB SWRT,I JMP ZUSR IT'S USERS CHOICE ZNUSR LDA STDA GET STANDARD TEST RUN LDB STDB * JMP ZEXC * ZUSR LIA SW CLEAR BIT 9 AND MSKS OTA SW NOP LDA ZSINA RETRIEVE PREVIOUS RUN LDB ZSINB HLT 75B WAIT FOR USER INPUT NOP NOP NOP ZEXC STA ZUINA SAVE STB ZUINB USER STA ZSINA INPUT STB ZSINB PROGRAM NOP NOP NOP LDB ZSW9 CHECK IF SW9 IS DOWN JSB SWRT,I JMP ZUSR NO GO AND WAIT CCA SET TEST NUMBER STA TSTN =-1 CLA STA ZTSTA CLEAR TEST RUN FLAG SKP ZEXCL LDA ZUINA RESTORE A REG. LDB ZUINB RESTORE B REG. ERA,RAL ROTATE ERB FIRST ERA TEST BÀBþúIT STA ZUINA SAVE POSITIONS STB ZUINB ISZ TSTN MOVE TEST UP ONE NOP ZXCL1 LDA TSTN ADA TSTP GET IT'S LDA A,I ADDRESS CPA Z.M1 IS IT END OF LIST JMP ZEOL YES LDB ZUINB SSB,RSS SHOULD IT BE RUN? JMP ZEXCL NO STA ZTSTA YES - SAVE TEST ADDRESS * SELECT LANGUAGES 6/8 LPI SETTINGS AND NORMAL MODE * BEFORE EVERY TEST EXCEPT BASIC I/O CPA TSTP,I BASIC I/O TEST? JMP ZTCHL YES - BYPASS SETUP LDA INPLG DEFAULT OR OPER SELECT PRIM JSB CMNDP LDA LPI68 6/8 LPI OPERATOR SELECTION JSB CMNDP LDA SPRNT NORMAL MODE JSB CMNDP ZTCHL CLA SET SUBTEST AND DATA BYTE CODE TO 0 STA SUB INA STA CODN JSB ZITCH INITILIZE TRAP CELL HALTS LDA TSTN ADA DM2 SSA JMP DUTST LDA TSTN LDB ZTEST CLE JSB 123B,I DUTST JSB ZTSTA,I GO DO TEST LDA TSTN DISPLAY TEST NUMBER IF HALTED LDB ZSW15 CHECK FOR HALT AT END OF TEST JSB SWRT,I HLT 76B YES WAIT FOR OPERATOR LDB ZSW9 CHECK FOR ABORT JSB SWRT,I JMP ZUSR YES LDB ZSW13 CHECK FOR LOOP ON ROUTINE JSB SWRT,I JMP ZXCL1 YES - LOOP JMP ZEXCL CONTINUE * ZEOL LDB .1 IS OPER REQ'ING MOD TO LANG? JSB SWRT,I YES IF BIT0 =1 JSB LANG,I P+1 RETURN IS REQ FOR LANG MOD LDA ZTSTA NO - CHECK IF ANY TESTS WERE RUN SZA,RSS ? JMP ZNUSR NO SO PICK UP STANDARD RUN LDA ZEOLC UP DATE PASS COUNT INA STA ZEOLC CCE LDB ZPSCA GET PASS COUNT ADB Z.2 ADDRESS JSB I2AS,I CONVERT IT JSB MSGC,I CALL PRINT ROUTINE ZPSCA DEF ZPSC LDB ZSW12 CHECK FOR LOOP ON DIAG. JSB SWRT,I JMP *+3 YES †®þú LDA ZEOLC HLT 77B NO WAIT AND DISPLAY PASS COUNT LDA ZSINA RESTORE ORIGINAL LDB ZSINB PROGRAM JMP ZEXC DO IT ALL AGAIN * SKP * MESSAGE OUTPUT WITHOUT HALT * ZMSGC NOP ENTRY JSB ZMSG OUTPUT MESSAGE OCT 2000 SWITCH 10 CHECK JMP ZMSGC,I RETURN TO CALLER * * MESSAGE OUTPUT WITH HALT * ZMSGH NOP ENTRY JSB ZMSG OUTPUT MESSAGE OCT 2000 SWITCH 10 CHECK LDA ZHLT GET HALT CODE STA *+2 PUT IT IN PLACE LDA ZSAVA RESTORE A REGISTER NOP HALT FOR DISPLAY JMP ZMSGH,I RETURN TO CALLER * * ERROR MESSAGE WITH HALT * ZERMS NOP ENTRY JSB ZMSG OUTPUT MESSAGE OCT 4000 SWITCH 11 CHECK CLA LDB ZSW14 CHECK SWR BIT 14 TO SUPPRESS JSB SWRT,I HALT STA *+3 PUT HALT IN PLACE LDA ZSAVA RESTORE A & B LDB ZSAVB ZHLT NOP WAIT FOR OPERATOR JMP ZERMS,I RETURN TO CALLER * * ERROR MESSAGE WITHOUT HALT * ZERMC NOP ENTRY JSB ZMSG OUTPUT MESSAGE OCT 4000 SWITCH 11 CHECK JMP ZERMC,I RETURN TO CALLER SKP * OUTPUT MESSAGE * ZMSG NOP STA ZSAVA SAVE A AND B REGISTERS STB ZSAVB LDB ZMSG,I GET SWITCH REGISTER BIT LDA ZMSG ADA Z.M2 DECREMENT RETURN ADDRESS STA ZMSG JSB SWRT,I CHECK TO SUPPRESS MESSAGE JMP ZMSG0 YES LDA ZMSG,I CHECK IF ERROR LDA A,I LDA A,I IF SO ALF,ALF AND Z.177 CPA ZA.E JSB ZCFTN CHECK TO OUTPUT TEST NUMBER LDA ZMSG,I NO RETRIEVE FORMAT LDB A,I ADDRESS CLA,CLE JSB FMTR,I ZMSG0 LDA ZMSG,I CONVERT HALT CODE LDB A,I FROM ASCII STRING CCA,CCE JSB AS2N,I STA ZN2AO SA þúVE RESULT AND Z.300 DECODE LDB ZH2 HALT CODE CPA Z.100 LDB ZH6 CPA Z.200 LDB ZH3 CPA Z.300 LDB ZH7 LDA ZN2AO GET HALT NUMBER AND Z.77 IOR B STA ZHLT SAVE IT ISZ ZMSG,I ADJUST RETURN POINTERS ISZ ZMSG ISZ ZMSG ISZ ZMSG LDA ZSAVA RESTORE A AND B REGISTERS LDB ZSAVB JMP ZMSG,I * * * * SKP ZCFTN NOP LDA TSTN GET TEST NUMBER CPA ZCFTT IS IT THE SAME ONE? JMP ZCFTN,I YES SKIP OUTPUT STA ZCFTT NO - THEN UPDATE IT LDB ZTSTN CCE JSB I2AS,I CLA DO A CRLF JSB SLOP,I CLA,CLE INDICATE START OF FORMAT LDB ZTSTF JSB FMTR,I JMP ZCFTN,I RETURN * * ZSAVA NOP ZSAVB NOP ZEOLC NOP ZTSTA NOP ZSINA NOP ZSINB NOP ZUINA NOP ZUINB NOP ZBTMP NOP Z.2 OCT 2 Z.7 OCT 7 Z.10 OCT 10 Z.60 OCT 60 Z.77 OCT 77 Z.177 OCT 177 Z.M1 DEC -1 Z.M2 DEC -2 ZIOM OCT 177700 ZSW15 OCT 100000 ZSW14 OCT 40000 ZSW13 OCT 20000 ZSW12 OCT 10000 ZS812 OCT 010400 ZSW9 OCT 1000 Z.100 OCT 100 Z.200 OCT 200 Z.300 OCT 300 Z.400 OCT 400 ZH2 OCT 102000 ZH6 OCT 106000 ZH3 OCT 103000 ZH7 OCT 107000 ZCFTT DEC -1 ZTSTF DEF *+1 ASC 9,TEST XXXXX DEC/ ZTSTN DEF ZTSTF+3 ZRTLF ASC 1,// ZPSC ASC 8,PASS XXXXXX DEC/ ZA.E OCT 105 CH EQU 10B HED GENERAL ROUTINES * * ZN2AO NOP STA ZIOAD SAVE NUMBER AND Z.7 CONVERT FIRST IOR Z.60 NUMBER STA B SAVE IT LDA ZIOAD GET RAR,RAR SECOND RAR NUMBER AND Z.7 CONVERT IOR Z.60 IT ALF,ALF MOVE TO UPPER HALF IOR B ADD LOWER JMP ZN2AO,I AND RETURN * * * * SWITCH REGISTER CHECK * ZSWRT NOP STA ZN2AO SAVE A REGISTER LIùíþúA SW GET SWITCH REG. AND B MASK OUT BIT SZA,RSS IS IT UP? ISZ ZSWRT NO LDA ZN2AO RESTORE A REGISTER LIB SW LET B = SWITCH REGISTER JMP ZSWRT,I RETURN TO CALLER * * * * INITIALIZE TRAP CELL HALTS * ZITCH NOP LDA ZTSH GET STARTING TRAP CELL HALT LDB Z.2 GET FIRST TRAP CELL LOCATION ZTSHL STA B,I PUT IT IN PLACE CPB Z.77 AM I FINISHED JMP ZITCH,I YES INB NEXT ADDRESS JMP ZTSHL * ZTSH OCT 106077 * * * SKP * PUT JSB INSTRUCTION IN TRAP CELL * ZTCJI NOP LDB ZJSBI GET INSTRUCTION STB ZIOSC,I PUT IT IN TRAP CELL LDA ZTCJI,I GET LOCATION STA 3B SAVE IT FOR JSB INSTRUCTION ISZ ZTCJI ADJUST RETURN JMP ZTCJI,I RETURN TO CALLER * ZJSBI JSB 3B,I JSB INSTRUCTION * * * INITIALIZE SELECT CODE I/O INSTRUCTIONS * ZISC NOP STA ZIOSC SAVE SELECT CODE STB ZIOAD SAVE TABLE ADDRESS ZIOL LDB ZIOAD,I GET ADDRESS OF LOCATION CPB Z.M1 IS IT THE TERMINATOR JMP ZISC,I YES RETURN TO CALLER LDA B,I NO - GET CONTENTS AND ZIOM MASK OFF OLD SELECT CODE IOR ZIOSC ADD IN NEW SELECT CODE STA B,I RESTORE IT ISZ ZIOAD MOVE TO NEXT ADDRESS JMP ZIOL DO IT * ZIOSC NOP ZIOAD NOP * * * * SKP * CONFIGURATION SECTION * ZCONF CLC INTP,C TURN I/O SYSTEM OFF LIA SW GET SELECT CODE AND OPTIONS STA USSC SAVE THEM AND Z.77 ELIMINATE OPTIONS LDB A CMB,INB CHECK THAT SC > 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 JSB ZLNCT SET UP # LINES PER INCH CLA Í÷þú CLEAR OTA 1 SWITCH REG HLT 74B ALLOW OPERATOR TO CHANGE SWITCH REG JSB STFRM POSITION FORM FOR PRINTED TESTS * INSTALL DEFAULT PRIM AND SEC LANGUAGES LDA LNGCW ALWAYS START WITH P=0 AND S=2 STA INPLG CURRENT LANGUAGE JMP ZSTEX GO TO EXEC CONTROL SECTION * * * * * SET UP S-REGISTER OPTIONS * ZLNCT NOP LDA USSC PICK UP SW OPTIONS AND Z.100 BIT6 = 6/8 LPI SZA A=0 IF OPER REQ'D 6 LPI JMP ZLN8 NOT 0 SO 8 LPI LDA IN6LP CW FOR SELECT 6 LPI RSS ZLN8 LDA IN8LP CW FOR SELECT 8 LPI STA LPI68 SAVE PROPER CW AS A FLAG LDB DT1 GET ADDR OF TABLE FOR VFU TEST ADB .2 STEP DOWN 2 IN TABLE CPA IN6LP 6 LPI ? JMP ZSIXL YES * 8 LINES PER INCH LDA D16 SS 16 LINES STA B,I PUT IN TABLE FOR VFU TEST 05 INB INCREMENT TABLE POINTER LDA D8 DS 8 TIMES STA B,I INB LDA .4 TS 4 TIMES STA B,I ADB .3 STEP DOWN 3 IN TABLE LDA .4 EP 4 TIMES STA B,I LDA ETH CHANGE MESSAGE TO EP (1/8) JMP ZMSGU * 6 LINES PER INCH ZSIXL LDA D12 SS 12 LINES STA B,I PUT IN TABLE FOR VFU TEST 05 INB INCREMENT TABLE POINTER LDA .6 DS 6 TIMES STA B,I INB LDA .3 TS 3 TIMES STA B,I ADB .3 STEP DOWN 3 IN TABLE LDA .3 SP 3 TIMES STA B,I LDA STH CHANGE MESSAGE TO SP (1/6) ZMSGU STA MSG8X,I LDA USSC AND Z.200 EXTRACT BIT 7 = I/O TYPE FLAG STA HPIB 0 = PARALLEL 200B = HPIB SZA,RSS IF PARALLEL, RETURN JMP ZLNCT,I LDA USSC BITS 11-15 = HP-IB ADDR ALF,RAL MOVE TO BITS 0-4 JSB ADPAR ADD PAÛ5þúRITY & STORE HP-IB ADDRESS LDA USSC MASK AND SAVE CONTROL CHAR STRAP AND Z.400 POSITION ( BIT 8) STA CTLCH LDA USSC MASK, SAVE PARITY STRAP POSITION AND EXP6 (BIT 10) SZA 0=PARITY ENABLED CLA,INA 1=PARITY DISABLED STA PARTY JMP ZLNCT,I RETURN * ETH ASC 1,EP EIGHTH PAGE STH ASC 1,SP SIXTH PAGE MSG8X DEF MSG08 HED BASIC I/O TESTS 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 CLA INSURE OUTPUT REG IS NOT PRINT COMMAND ZBS20 OTA CH * * 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 * 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 SKP * INTERRUPT CONTROL * ZBIO3 JSB ZTCJI SET JSB INSTRUCTION DEF ZB3E ZBS31 STF CH SEóÖB@=18) SSA JMP RDY3 IF VALID, EXIT ADA DM12 SSA,RSS JMP RDY3 ALSO VALID--EXIT B8PF JSB STFRM TELL OPERATOR TO ALIGN TOF, SEND MASTR LDB TSTN IF TEST 1, RETURN CPB .1 JMP RDYI,I JMP TSTNN,I ELSE EXIT CURRENT TEST E036 JSB ERMS,I SEND OFF LINE MESSAGE DEF DMD3 ISZ RDYI RETURN TO P+2 JMP RDY2 NOW CONTINUE CHECKING BITS 6, 0 E032 LDA ACT LOAD A REGISTER WITH ACTUAL OF 7, 6, 0 JSB ERMS,I REPORT NOT READY MESSAGE DEF RDY32 CLC 0,C LDA SPRNT INSURE STANDARD PRINT MODE OF LP JSB CMNDP JSB FF PERFORM FORM FEED JMP TSTNN,I EXIT CURRENTòþú TEST RDY3 LDA SV32 RESTORE A REGISTER LDB SV33 RESTORE B REGISTER JMP RDYI,I RETURN SKP * THE VERIFY ROUTINE EXECUTES A ROM READBACK * OF THE FIRST BYTE OF LANGUAGE CODE=TMP. * IF THE FIRST BYTE = TMP, THE LANGUAGE * IS AVAILABLE AND ROUTINE RETURNS TO P+2. * IF NOT AVAILABLE, A CLEAR BUFFER RESTORES * THE PRINTER'S I/O STATUS, RETURNS P+1 * VERIF NOP LDA .200 ATTEMPT TO READBACK REQUESTED ADA CNT4 JSB STR,I LANGUAGE CODE NOP CPA CNT4 DOES READBACK CODE = REQUESTED CODE? ISZ VERIF RETURN TO P+2 IF REQUESTED LNG AVAL LDA CLBUF NO--SEND CLEAR BUFFER TO RESTORE JSB CMNDP I/O STATUS LDA CNT4 JMP VERIF,I RETURN * * INCREMENTS LANGUAGE CODE TO NEXT DEFINED CODE: * 0-17B * EXITS CURRENT TEST IF INCREMENTED BEYOND 17B SPC 1 INCRL NOP ISZ CNT4 INCREMENT CURRENT CODE LDA CNT4 CPA D16 DONE WITH CURRENT TEST? RSS YES--FORM FEED AND EXIT JMP INCRL,I NO--RETURN LDA SPRNT INSURE STANDARD PRINT MODE JSB CMNDP FOR FF ROUTINE LDA LNGCW RETURN TO ASCII ON EXIT JSB CMNDP LDA SI INSURE "SHIFT IN" MODE JSB OTCH JSB FF JMP TSTNN,I EXIT CURRENT TEST SKP SPC 2 * TOFCK VERIFIES THAT PAPER IS AT TOF. * RET P+1 = E065 MSG UNABLE TO FIND TOF * P+2 = STATUS INDICATES AT TOF SPC 1 TOFCK NOP JSB TOF GET PS-1 STATUS ON CH12 BIT AND D16 CPA D16 JMP TOFX2 YES - EXIT AT P+2 LDA VF11X NO - GOTO TOF VIA VFC CH12 JSB CMNDP JSB TOF GET PS-1 STATUS ON CH12 BIT AND D16 CPA D16 JMP TOFX2 YES--NOW EXIT AT P+2 LDB D16 A=ACTUAL: B=EXPECTED STATUS E065 JSB ERMS,I NO VFCCëþú CH12 STATUS DEF MS065 JMP TOFCK,I ERROR EXIT AT P+1 TOFX2 ISZ TOFCK ADJUST RETURN TO P + 2 JMP TOFCK,I SPC 2 TOF NOP LDA HPIB IF HPIB, USE IBST RTN FOR PS-1 SZA JMP TOF1 LDA IO GET PS-1 ON PARALLEL ADA FRBCW JSB CMNDP SEND PS-1 COMMAND LDB IO LDA TIMEB MAX TIME TO ALLOW FOR FLAG JSB LIAC,I GET STATUS BY LIA CH JMP TOF,I RETURN WITH PS-1 STATUS IN A TOF1 CLA,INA STA CODN JSB IBST GET PS-1 FOR HPIB JMP TOF,I RETURN WITH PS-1 STATUS IN A SKP ORG 10000B B00 ASC 11, BIT 0 POWER FAIL; _/ B01 ASC 10, BIT 1 RESERVED; _/ B02 ASC 10, BIT 2 6,8 LPI; _/ B03 ASC 10, BIT 3 VFC INIT; _/ B04 ASC 10, BIT 4 VFC CH 12; _/ B05 ASC 10, BIT 5 VFC CH 9; _/ B06 ASC 14, BIT 6 READY, NOT READY; _/ B07 ASC 14, BIT 7 OFF LINE, ON LINE; _/ SPC 2 COD2 ASC 12,E123 DISPLAY STATUS;_ / COD3 ASC 10,E120 PRINT MODE;_ / COD4 ASC 13,E132 PRI-SEC LANGUAGE;_ / COD5 ASC 13,E127 SELF TEST STATUS;_ / COD6 ASC 14,E112 6 LPI DOT ROW COUNT; _/ COD7 ASC 14,E113 6 LPI FORM POSITION; _/ COD11 ASC 14,E115 8 LPI DOT ROW COUNT; _/ COD12 ASC 14,E116 8 LPI FORM POSITION; _/ COD20 ASC 21,E131 PRI-SEC POWER ON CONDITION SWITCH;_ / SPC 2 TSTMS ASC 6,TESTXXXXXX / SUBM ASC 6,SUBTEST B/ BIT ASC 7,SHOULD BE XX/ M54 ASC 18,E054 I-O STATUS ERROR; SUBTEST B/ M55 ASC 1,/ RDY32 ASC 09,E032 LP NOT READY/ DMD3 ASC 09,E036 LP OFF LINE/ MS031 ASC 11,E031 LP FAILED TO INT/ MS030 ASC 12,E030 FLAG FAILED TO SET/ MS065 ASC 15,E065 NO VFC CHANNEL 12 STATUS/ MS063 ASC 16,H063 PUT LANGUAGE CODE IN S-REG ASC 06,; PRESS RUN/ MS66 ASC 20,H066 SET HP-IB ADDRESS SWICTHES TO B; ASC 06, PRESS RUN/ MS66T BSS 3 MS67 ASC 21,H067 SET YOUR HP-IB ADDRESS IN SWITCH AND ASC 09,A-REG; PRESS RUN/ M100 ASC 22,H100 REALIGN TOF, PRESS ON LINE; PRESS RUN/ M104 ASC 15,H104 TAKE0…þú DEVICE XX OFF LINE/ M106 ASC 17,E106 NO RESPONSE TO PARALLEL POLL/ M137 ASC 15,E137 IFC FLAG FAILED TO CLEAR/ SPC 1 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/ ZBE04 ASC 16,E004 CLF 0 DID NOT INHIBIT INT/ 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/ ZBE11 ASC 14,E011 STF XX SET CARD FLAG// 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/ ZBE16 ASC 9,E016 CLC CH ERROR/ ZBE17 ASC 9,E017 CLC 0 ERROR/ ZBE26 ASC 13,E026 INT EXECUTION ERROR/ SPC 2 * REP FACTOR OPER VFC CHAN TBL1 DEC 1 TOF 1 DEC 1 BOF 2 DEC 12 SS 3 DEC 6 DS 4 DEC 3 TS 5 DEC 2 QP 7 DEC 2 HP 6 DEC 3 SP 8 DEC 2 7TH LINE 13 DEC 2 6TH LINE 14 DEC 2 5TH LINE 15 DEC 2 4TH LINE 16 DEC 1 BOF-1 10 DEC 1 BOF 9 DEC 1 TOF-1 11 DEC 1 TOF 12 DEC 1 SLEW 000B DEC 1 SLEW 001B DEC 1 SLEW 002B DEC 1 SLEW 004B DEC 1 SLEW 010B DEC 1 SLEW 020B DEC 1 SLEW 040B DEC 1 SLEW 100B SPC 1 SPC 2 * VFU CHAN # TBL2 OCT 100200 1 TOF VFU0 EQU TBL2 VFU1 OCT 100201 2 BOTTOM OF FORM VFU2 OCT 100202 3 SINGLE SPACE VFU3 OCT 100203 4 DOUBLE SPACE VFU4 OCT 100204 5 TRIPLE SPACE VFU6 OCT 100206 7 NEXT QUARTER PAGE VFU5 OCT 100205 6 HALF PAGE LINE VFU7 OCT 100207 8 ““þú NEXT SIXTH PAGE VFU12 OCT 100214 13 NEXT SEVENTH LINE VFU13 OCT 100215 14 NEXT SIXTH LINE VFU14 OCT 100216 15 NEXT FIFTH LINE VFU15 OCT 100217 16 NEXT FOURTH LINE VFU9 OCT 100211 10 BOF-1 VFU8 OCT 100210 9 BOF (WITH STATUS) VFU10 OCT 100212 11 TOF-1 VFU11 OCT 100213 12 TOF(WITH STATUS) LS00 OCT 100000 SLEW 0 LINE LS01 OCT 100001 SLEW 1 LINE LS02 OCT 100002 SLEW 2 LINES LS03 OCT 100004 SLEW 4B LINES LS04 OCT 100010 SLEW 10B LINES LS05 OCT 100020 SLEW 20B LINES LS06 OCT 100040 SLEW 40B LINES LS07 OCT 100100 SLEW 100B LINES SPC 2 TBL3 DEF MSG01 TOF DEF MSG02 BOF DEF MSG03 SS DEF MSG04 DS DEF MSG05 TS DEF MSG07 QP DEF MSG06 HP DEF MSG08 SP DEF MSG29 CH13 DEF MSG30 CH14 DEF MSG31 CH15 DEF MSG32 CH16 DEF MSG26 CH10 DEF MSG25 CH9 DEF MSG27 CH11 DEF MSG28 CH12 DEF MSG24 SLEW 0B DEF MSG09 SLEW 1B DEF MSG10 SLEW 2B DEF MSG11 SLEW 4B DEF MSG12 SLEW 10B DEF MSG13 SLEW 20B DEF MSG14 SLEW 40B DEF MSG15 SLEW 100B SPC 2 MSG01 ASC 20,TEST 05 VERTICAL FORMAT TEST -- TOF/ MSG02 ASC 02,BOF/ MSG03 ASC 02,SS/ MSG04 ASC 02,DS/ MSG05 ASC 02,TS/ MSG06 ASC 02,HP/ MSG07 ASC 02,QP/ MSG08 ASC 02,SP/ MSG09 ASC 05,SLEW 001B/ MSG10 ASC 05,SLEW 002B/ MSG11 ASC 05,SLEW 004B/ MSG12 ASC 05,SLEW 010B/ MSG13 ASC 05,SLEW 020B/ MSG14 ASC 05,SLEW 040B/ MSG15 ASC 05,SLEW 100B/ MSG24 ASC 10 SLEW 000B/ MSG25 ASC 02,CH9/ MSG26 ASC 03,CH10/ MSG27 ASC 03,CH11/ MSG28 ASC 03,CH12/ MSG29 ASC 03,CH13/ MSG30 ASC 03,CH14/ MSG31 ASC 03,CH15/ MSG32 ASC 03,CH16/ SPC 2 ERTB DEF B00 DEF B01 DEF B02 DEF B03 DEF B04 tþúDEF B05 DEF B06 DEF B07 SPC 2 RTABL NOP NOP DEF COD2 DEF COD3 DEF COD4 DEF COD5 DEF COD6 DEF COD7 NOP DEF COD11 DEF COD12 NOP NOP NOP NOP NOP DEF COD20 SPC 2 EXTB DEF * OCT 176630 OCT 177200 OCT 017400 OCT 177400 OCT 177400 OCT 177400 OCT 177400 OCT 177502 OCT 177400 OCT 177400 OCT 177530 SPC 2 BNTAB ASC 4,00000001 ASC 4,00000010 ASC 4,00000100 ASC 4,00001000 ASC 4,00010000 ASC 4,00100000 ASC 4,01000000 ASC 4,10000000 ASC 4,00000000 SPC 2 STAB DEF * NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP SKP ORG 12000B * SOFTWARE VFC DATA TABLE SOFT1 OCT 174375 OCT 000004 OCT 000014 OCT 000024 OCT 100014 OCT 040004 OCT 020034 OCT 010004 OCT 100014 OCT 000024 OCT 040214 OCT 000004 OCT 120034 OCT 000004 OCT 010014 OCT 040124 OCT 100014 OCT 000004 OCT 020034 OCT 000004 OCT 140214 OCT 010024 OCT 000014 OCT 000004 OCT 120034 OCT 040004 OCT 000014 OCT 000024 OCT 110014 OCT 000004 OCT 060374 OCT 000004 OCT 100014 OCT 000024 OCT 000014 OCT 050004 OCT 120034 OCT 000004 OCT 000014 OCT 000024 OCT 140214 OCT 000004 OCT 130034 OCT 000004 OCT 100014 OCT 040124 OCT 000014 OCT 000004 OCT 120034 OCT 010004 OCT 040214 OCT 000024 OCT 100014 OCT 000004 OCT 020034 OCT 040004 jÐþú OCT 110014 OCT 000024 OCT 001014 OCT 000406 OCT 000000 OCT 000000 OCT 000000 OCT 000000 OCT 000000 OCT 002000 OCT 177777 END OF TABLE MTABL NOP ZMX01 NOP ZMX02 NOP ZMX03 NOP ZMX04 DEF ZMS04 ZMX05 NOP ZMX06 DEF ZMS06 ZMX07 DEF ZMS07 ZMXO8 DEF ZMS08 ZMX09 DEF ZMS09 ZMX10 DEF ZMS10 ZMX11 DEF ZMS11 ZMX12 DEF ZMS12 ZMX13 DEF ZMS13 ZMX14 DEF ZMS14 ZMX15 DEF ZMS15 ZMX16 DEF ZMS16 ZMX17 DEF ZMS17 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 08,H025 BI-O COMP/ ZMS04 ASC 11,TRIANGULAR PRINT TEST/ ZMS06 ASC 10,CHARACTER SET TEST/ ZMS07 ASC 8,DMA--DCPC TEST/ ZMS08 ASC 10,ROM READ-BACK TEST/ ZMS09 ASC 16,PRIMARY--SECONDARY--SELECT TEST/ ZMS10 ASC 17,PRIMARY--SECONDARY--INTERMIX TEST/ ZMS11 ASC 14,DOUBLE SIZE CHARACTER TEST/ ZMS12 ASC 12,CONTROL CHARACTERS TEST/ ZMS13 ASC 12,GRAPHICS ALIGNMENT TEST/ ZMS14 ASC 14,GRAPHICS COLUMN WIDTH TEST/ ZMS15 ASC 12,GRAPHICS DIAGONAL TEST/ ZMS16 ASC 11,GRAPHICS PATTERN TEST/ ZMS17 ASC 9,POWER SUPPLY TEST/ HDMS ASC 22,2608A LINE PRINTER DIAGNOSTIC DSN = XXXXXXB, ASC 17, FIRMWARE ID NUMBER = XXXXX DEC/ SPC 2 IOID EQU * DEF LIA1 DEF LIA2 DEF LIA3 DEF LIA6 DEF STRD2 DEF TSTO DEF OTCHA DEF OTCHB DEF OTCHC DEF OTCHE DEF OTCHF DEF RDY5 DEF OUTIA DEF OUTIB DEF OUTIC DEF OUTIE DEF OUTID DEF IBO1 DEF IBO2 DEF SIN DEF TCJ DEF DMSC1 DEF DMSC2 DEF DMACW DEF LPX DEF CND1 DEF CND2 DEF PP0 DEF PP1 DEF PP2 DEF IS1 DEF IS2 DEF OA1 DEF OA3 DEC -1 SPC 2 W¯þúTSTD EQU * DEF TST.0 BASIC I/O DEF TST01 MANUAL CONTROL DEF TST02 PING-PONG DEF TST03 PARITY DEF TST04 TRIANGULAR PRINT DEF TST05 VERTICAL FORMAT CONTROL DEF TST06 CHARACTER SET DEF TST07 DMA/DCPC DEF TST08 ROM READ-BACK DEF TST09 PRIMARY/SECONDARY SELECT DEF TST10 PRIMARY/SECONDARY/BACKSPACE DEF TST11 2X SIZE CHARACTER DEF TST12 CONTROL CHARACTERS DEF TST13 GRAPHICS ALIGNMENT DEF TST14 GRAPHICS COLUMN WIDTH DEF TST15 GRAPHICS DIAGONAL DEF TST16 GRAPHICS PATTERN DEF TST17 POWER SUPPLY TEST DEC -1 MCT00 ASC 18,H040 POWER OFF LP (BACK, LOWER LEFT) ASC 06,; PRESS RUN/ MCT01 ASC 17,H041 POWER ON, READY THE PRINTER, ASC 22,CLEAR POWER ON SWITCHES, ON LINE; PRESS RUN/ MCT02 ASC 19,H042 PRESS RESET, ON LINE; PRESS RUN/ MCT03 ASC 16,H043 PRESS OFF LINE; PRESS RUN/ MCT04 ASC 17,H044 PRESS ON LINE, OPEN PLATEN; ASC 06,PRESS RUN/ MCT05 ASC 19,H045 CLOSE PLATEN, ON LINE; PRESS RUN/ MCT06 ASC 14,H046 TEAR PAPER IMMEDIATELY ASC 13, BELOW PRINTER; PRESS RUN/ MCT07 ASC 16,H047 REINSTALL PAPER, ALIGN TOF, ASC 13,PRESS ON LINE; PRESS RUN/ MCT08 ASC 14,H050 PRESS 8LPI; PRESS RUN/ MCT09 ASC 21,H052 PRESS FORM FEED, ON LINE; PRESS RUN/ MCT10 ASC 21,H051 PRESS OFF LINE, LINE FEED; PRESS RUN/ MCT11 ASC 20,H053 SET POWER ON LANGUAGES = XXXXXXXX; ASC 06,PRESS RUN/ MCT12 ASC 21,H055 SET POWER ON 6-8 LPI = X; PRESS RESET ASC 06,; PRESS RUN/ M126 ASC 12,E126 SELF TEST TIMEOUT/ M122 ASC 8,E122 PING-PONG/ M124 ASC 16,E124 DEVICE XXB FAILED TO POLL/ M121 ASC 5,E121 DSJ/ M130 ASC 11,E130 DEVICE IDENTIFY/ M125 ASC 25,E125 HP-IB SELF TEST STATUS/ M133 ASC 15,E133 ILLEGAL SERVICE REQUEST/ M134 ASC 19,E134 ILLEGAL RESPONSE TO SERIAL POLL/ M135 ASC 12,E135 NO SERVICE REQUEST/ M136 ASC 16,E136 NO RESPONSE TO SERIAL POLL/ M140 ASC 11µB@<,E140 HP-IB PING-PONG/ M141 ASC 16,E141 PARITY ERROR NOT DETECTED/ M142 ASC 16,E142 PARITY ERROR NOT REPORTED/ PATTB OCT 130000 OCT 054000 OCT 026000 OCT 013000 OCT 005400 OCT 002600 OCT 001300 OCT 000540 OCT 000260 OCT 000130 OCT 000054 OCT 000026 OCT 000013 OCT 100005 OCT 140002 OCT 060001 OCT 130000 OCT 054000 OCT 026000 OCT 013000 OCT 005400 SPC 3 DMA2 ASC 9,E034 DMA TIME OUT/ DMA1 ASC 10,H033 DMA NOT CONFIG/ DMA3 ASC 19,E035 I-O FLAG NOT SET AFTER DMA COMP/ SPC 1 LNGX ASC 10,LANGUAGE CODE = XXB/ SPC 1 HDSS OCT 7524 PACKED ASCII FOR "SI", "T" ASC 10,EST 12, SUBTEST XXB/ SPC 2 FWAA EQU * END e.Bÿÿ ÿý! ÿ02615-18001 1502 S 0122 012615A DG. TSB/E              H0101 ô¦þú ±0  ÒÅM...   ²6±5 VÉDÅÏ ÔÅÒMÉNAÌ DÉAGNÏSÔÉà(²000Å ÔSB© ²0  ÒÅM... 30  DÉM Ô۸ݬAÛ²´Ý¬S$Û36Ý ´0  DÉM A$۲ݬB$۲ݬÃ$۲ݬD$۲ݬÅ$۲ݬH$۲ݬÊ$۲ݬK$Û²Ý 50  DÉM M$Û3²Ý¬N$۴ݬÏ$Û·²Ý¬Ò$Û±²Ý¬V$Û±²Ý 60  ÒÅAD A$¬B$¬Ã$¬D$¬Å$¬H$¬Ê$¬K$ ·0  DAÔA "A"¬"B"¬"Ã"¬"D"¬"Å"¬"H"¬"Ê"¬"K" ¸0  MAÔ  ÒÅAD A 90  DAÔA ±¬²¬3¬´¬5¬6¬· ±00  DAÔA ±¬²¬3¬´¬5 ±±0  DAÔA ±¬¸¬·¬6¬5¬´¬² ±²0  DAÔA 5¬´¬3¬²¬± ±30  S$½"ÃHAÒAÃÔÅÒ NÏÔ ÒÅÃÅÉVÅD ÃÏÒÒÅÃÔÌY - " ±´0  PÒÉNÔ Å$»"²6±5 VÉDÅÏ ÔÅÒMÉNAÌ DÉAGNÏSÔÉÃ" ±50  Ï$½"A ÌÉSÔ ÏÆ ÔHÅ AVAÉÌABÌÅ ÔÅSÔS" ±60  GÏSUB ²¸60 ±·0  ÉÆ Ò½0 ÔHÅN ²¸0 ±¸0  PÒÉNÔ "ŽÔÅSÔ  ÆUNÃÔÉÏNŽ" ±90  PÒÉNÔ "  ±   MÅMÏÒY" ²00  PÒÉNÔ "  ²   DÏÔ MAÔÒÉØ" ²±0  PÒÉNÔ "  3   ÃHAÒAÃÔÅÒ SÅÔ" ²²0  PÒÉNÔ "  ´   ÃUÒSÏÒ ÃÏNÔÒÏÌ" ²30  PÒÉNÔ "  5   ÅÒASÅ ÌÉNÅ" ²´0  PÒÉNÔ "  6   ÅÒASÅ ÔÏ ÅND ÏÆ SÃÒÅÅN" ²50  PÒÉNÔ "  ·   KÅYBÏAÒD" ²60  PÒÉNÔ "  ¸   AÌÉGNMÅNÔ" ²·0  PÒÉNÔ ²¸0  Ï$½"ÔÏ ÒUN AÌÌ ÔÅSÔS" ²90  GÏSUB ²¸60 300  ÉÆ Ò½0 ÔHÅN 330 3±0  MAÔ Ô½ÃÏN 3²0  GÏÔÏ ´¸0 330  PÒÉNÔ "ÅNÔÅÒ NUMBÅÒ ÏÆ ÅAÃH ÔÅSÔ DÅSÉÒÅD¬ ÔÅÒMÉNAÔÅ BY ÅNÔÅÒÉNG ZÅÒÏ" 3´0  MAÔ Ô½ZÅÒ 350  ÉNPUÔ Ò 360  ÉÆ Ò<9 ÔHÅN 390 3·0  PÒÉNÔ "NUMBÅÒ ÅØÃÅÅDS NUMBÅÒ ÏÆ AVAÉÌABÌÅ ÔÅSÔS¬ ÔÒY AGAÉN" 3¸0  GÏÔÏ 350 390  ÉÆ Ò¾0 ÔHÅN ´60 ´00  ÉÆ Ò½0 ÔHÅN ´30 ´±0  PÒÉNÔ "ÉNVAÌÉD ÅNÔÒY¬ ÔÒY AGAÉN" ´²0  GÏÔÏ 350 ´30  ÉÆ ÔÛ±Ý+ÔÛ²Ý+ÔÛ3Ý+ÔÛ´Ý+ÔÛ5Ý+ÔÛ6Ý+ÔÛ·Ý+Ô۸ݾ0 ÔHÅN ´¸0 ´´0  PÒÉNÔ "ªªª ÅÒÒÏÒ - NÏ ÅNÔÒÉÅS MADÅ" ´50  GÏÔÏ ²¸0 ´60  ÔÛÒݽ± ´·0  GÏÔÏ 350 ´¸0  ÆÏÒ N½± ÔÏ ¸ ´90  ÉÆ ÔÛNݽ0 ÔHÅN 5´0 500  PÒÉNÔ Å$»"ÔÅSÔ"»N»"- "» 5±0  GÏSUB N ÏÆ 6´0¬¸²0¬990¬±±±0¬±5·0¬±6´0¬±930¬²530 5²0  ÆÏҠɽ± ÔÏ 30000 530  NÅØÔ É 5´0  NÅØÔ N 550  PÒÉNÔ Å$» 560  Ï$½"ÔÏ ÒUN AGAÉN" 5·0  GÏSUB ²¸60 5¸0  ÉÆ Ò½0 ÔHÅN 630 590  Ï$½"ÔÏ ÒUN ÔHÅ SAMÅ ÔÅSÔS" 600  GÏSUB ²¸60 6±0  ÉÆ Ò½± ÔHÅN ´¸0 6²0  GÏÔÏ ±50 630  SÔÏP 6´0  ÒÅM... 650  ÒÅM...  ÔÅSÔ ± - MÅMÏÒY 660  ÒÅM... 6·0  PÒÉNÔ "MÅMÏÒY ÃHÅÃK" 6¸0  PÒÉNÔ "ŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽ" 690  N²½36 ·00  ÆÏҠɽ± ÔÏ ² ·±0  M$½"À?" ·²0  GÏSUB ²·¸0 ·30  M$½"?À" ·´0  GÏSUB ²·¸0 ·50  NÅØÔ É =jþú·60  ÆÏҠɽ± ÔÏ ²0 ··0  ÆÏҠʽ± ÔÏ 5000 ·¸0  NÅØÔ Ê ·90  PÒÉNÔ ¸00  NÅØÔ É ¸±0  ÒÅÔUÒN ¸²0  ÒÅM... ¸30  ÒÅM...  ÔÅSÔ ² - DÏÔ MAÔÒÉØ ¸´0  ÒÅM... ¸50  PÒÉNÔ "DÏÔ MAÔÒÉØ ÃHÅÃK" ¸60  N²½±¸ ¸·0  M$½"N£Z+" ¸¸0  GÏSUB ²·¸0 ¸90  M$½"£Z+N" 900  GÏSUB ²·¸0 9±0  M$½"Z+N£" 9²0  GÏSUB ²·¸0 930  M$½"+N£Z" 9´0  GÏSUB ²·¸0 950  ÒÅÔUÒN 960  ÒÅM... 9·0  ÒÅM... ÔÅSÔ 3 - ÃHAÒAÃÔÅÒ SÅÔ 9¸0  ÒÅM... 990  PÒÉNÔ "ÃHAÒAÃÔÅÒ SÅÔ" ±000  PÒÉNÔ ±0±0  M$½" !£$¥¦'(©ª+¬-.¯0±²3´56·¸9:<½¾?" ±0²0  PÒÉNÔ M$ ±030  PÒÉNÔ M$¬"Ž" ±0´0  M$½"ÀABÃDÅÆGHÉÊKÌMNÏPÑÒSÔUVרYZÛ\ÝÞ" ±050  PÒÉNÔ M$ ±060  PÒÉNÔ M$ ±0·0  ÒÅÔUÒN ±0¸0  ÒÅM... ±090  ÒÅM... ÔÅSÔ ´ - ÃUÒSÏÒ ÃÏNÔÒÏÌ ±±00  ÒÅM... ±±±0  PÒÉNÔ "ÃUÒSÏÒ ÃÏNÔÒÏÌ" ±±²0  PÒÉNÔ "Ž" ±±30  Ê½± ±±´0  K½· ±±50  M$½Ã$ ±±60  N$½"" ±±·0  Ï$½"B" ±±¸0  GÏSUB ±´30 ±±90  Ô±½35 ±²00  K½±² ±²±0  M$½B$ ±²²0  N$½D$ ±²30  Ï$½"Ã" ±²´0  GÏSUB ±´²0 ±²50  Ô±½²· ±²60  K½±9 ±²·0  M$½D$ ±²¸0  N$½"" ±²90  Ï$½"D" ±300  GÏSUB ±´²0 ±3±0  Ô±½± ±3²0  K½²´ ±330  M$½A$ ±3´0  N$½D$ ±350  Ï$½"Å" ±360  GÏSUB ±´²0 ±3·0  PÒÉNÔ H$»A$»"ˆˆˆˆˆˆ"»B$»"ÆÆÆÆÆÆÆÆÆÆÆÆ" ±3¸0  PÒÉNÔ D$»D$»D$»D$»D$»D$»"GGGGGGGGGGGG" ±390  PÒÉNÔ H$»"ŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽ"»"HHHHHH" ±´00  PÒÉNÔ "ÉÉÉÉÉÉ"»B$» ±´±0  ÒÅÔUÒN ±´²0  PÒÉNÔ ÔAB(Ô±©»A$» ±´30  ÆÏҠɽʠÔÏ K ±´´0  ÆÏÒ M½± ÔÏ AÛÉÝ ±´50  PÒÉNÔ M$» ±´60  NÅØÔ M ±´·0  ÉÆ N$½"" ÔHÅN ±´90 ±´¸0  PÒÉNÔ N$» ±´90  PÒÉNÔ Ï$» ±500  NÅØÔ É ±5±0  PÒÉNÔ "‡" ±5²0  Ê½K+± ±530  ÒÅÔUÒN ±5´0  ÒÅM... ±550  ÒÅM...  ÔÅSÔ 5 - ÅÒASÅ ÌÉNÅ ±560  ÒÅM... ±5·0  PÒÉNÔ "ÅÒASÅ ÌÉNÅ" ±5¸0  GÏSUB ±·50 ±590  PÒÉNÔ A$»A$»K$»A$»D$»K$» ±600  ÒÅÔUÒN ±6±0  ÒÅM... ±6²0  ÒÅM... ÔÅSÔ  - ÅÒASÅ ÔÏ ÅND ÏÆ SÃÒÅÅN ±630  ÒÅM... ±6´0  PÒÉNÔ "ÅÒASÅ ÔÏ ÅND ÏÆ SÃÒÅÅN" ±650  GÏSUB ±·50 ±660  GÏSUB ±·±0 ±6·0  PÒÉNÔ H$»"ŽŽŽŽ"»Ê$ ±6¸0  GÏSUB ±·±0 ±690  PÒÉNÔ H$»"ŽŽŽ"»D$»Ê$» ±·00  ÒÅÔUÒN ±·±0  M$½"ØØØØØØØØ" ±·²0  N²½¸ ±·30  GÏSUB ²·²0 ±·´0  ÒÅÔUÒN ±·50  N²½9 ±·60  M$½"AAAAAAAA" ±··0  GÏSUB ±¸·0 ±·¸0  M$½"BBBBBBBB" ±·90  GÏSUB ±¸·0 ±¸00ÉÂþú  M$½"ÃÃÃÃÃÃÃÃ" ±¸±0  GÏSUB ±¸·0 ±¸²0  M$½"DDDDDDDD" ±¸30  GÏSUB ±¸·0 ±¸´0  M$½"ÅÅÅÅÅÅÅÅ" ±¸50  GÏSUB ±¸·0 ±¸60  ÒÅÔUÒN ±¸·0  GÏSUB ²·¸0 ±¸¸0  PÒÉNÔ D$»D$»D$»D$»D$»D$»D$»D$»M$»D$ ±¸90  ÒÅÔUÒN ±900  ÒÅM... ±9±0  ÒÅM...  ÔÅSÔ · - KÅYBÏAÒD ±9²0  ÒÅM... ±930  PÒÉNÔ "KÅYBÏAÒD ÔÅSÔ" ±9´0  PÒÉNÔ "ÔYPÅ ÔHÅ ÆÏÌÌÏ×ÉNG ÃHAÒAÃÔÅÒS ÆÏÌÌÏ×ÅD BY A ÒÅÔUÒN" ±950  Ï$½"±²3´56·¸90:-" ±960  GÏSUB ²3²0 ±9·0  Ï$½"Ñ×ÅÒÔYUÉÏP" ±9¸0  GÏSUB ²3²0 ±990  Ï$½"ASDÆGHÊKÌ»" ²000  GÏSUB ²3²0 ²0±0  Ï$½"ZØÃVBNM¬.¯" ²0²0  GÏSUB ²3²0 ²030  Ï$½"£$¥¦'(©0ª½" ²0´0  GÏSUB ²3²0 ²050  Ï$½"!ÀÛ\+ÞÝ<¾?" ²060  GÏSUB ²3²0 ²0·0  Ï$½"ÅNÔÅÒ ÔHÅ SÅÑUÅNÃÅ <ÅSþ-<ÒÅÔUÒN¾" ²0¸0  V$½"" ²090  GÏSUB ²330 ²±00  Ï$½"ÅNÔÅÒ ÔHÅ SÅÑUÅNÃÅ <ÑUÏÔAÔÉÏN MAÒK¾- 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 JSB ZLNCT SET UP # LINES PER INCH CLA CLEAR OTA 1 SWITCH R_ÇþúEG HLT 74B ALLOW OPERATOR TO CHANGE SWIT JMP ZSTEX GO TO EXEC CONTROL SECTION * * * * * SET VFU COUNTERS FOR 6 OR 8 LINES PER INCH * ZLNCT NOP LDA USSC PICK UP SW OPTIONS AND Z.200 TEST FOR BIT 7; 1=8 LPI LDB DT1 GET ADDR OF TABLE FOR VFU TEST ADB .4 STEP DOWN 4 IN TABLE SZA,RSS JMP ZSIXL * 8 LINES PER INCH LDA D160 #LINES SS TO 2 PAGES STA B,I PUT IN TABLE FOR VFU TEST 04 INB INCREMENT TABLE POINTER LDA D80 #LINES DS TO 2 PAGES STA B,I INB LDA D54 #LINES TS TO 2 PAGES STA B,I ADB .4 STEP DOWN 4 IN TABLE LDA D16 # 1/8 TH PAGES STA B,I LDA ETH CHANGE MESSAGE TO EP (1/8) STA MSG08 JMP ZLNCT,I RETURN * 6 LINES PER INCH ZSIXL LDA D120 #LINES SS TO 2 PAGES STA B,I PUT IN TABLE FOR VFU TEST 04 INB INCREMENT TABLE POINTER LDA D60 # LINES DS TO 2 PAGES STA B,I INB LDA D40 # LINES TS TO 2 PAGES STA B,I ADB .4 STEP DOWN 4 IN TABLE LDA D12 # 1/6TH PAGES STA B,I LDA STH CHANGE MESSAGE TO SP (1/6) STA MSG08 JMP ZLNCT,I RETURN * D160 DEC 160 D120 DEC 120 D80 DEC 80 D54 DEC 54 D40 DEC 40 D16 DEC 16 D12 DEC 12 ETH ASC 1,EP EIGHTH PAGE STH ASC 1,SP SIXTH PAGE * * * * * * * * * * * * * * * * * * * 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 IN[þúTP 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 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 LDA .D25 WAIT 25 MS FOR INT TO OCCUR JSB TMRR,I 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 * * * * * * * * * * * Ë<:6* * * * * * * * * * * * * 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 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 * * * * * á”<ÿÿ ÿý" ÿ02618-18002 1633 S 0146 2613A/2618A LINE PRINTER DIAG             H0101 åŽþú 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 * * * * c·þú * 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 CLF INTP TURN OFF ONTPS ZBS72 SFS CH 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 TURNVþú OFF INTPS * * * * * * * * * * * * * * * * * * * * * * * SKP 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 JMP ZBIO,I RETURN TO CALLER * ZBI70 NOP CONTROL FAILED CLF INTP TURN OFF INTPS INA JMP ZB70 * 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 08,H025 BI-O COMP/ SKP 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 DEF ZBS42 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 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * HED HP2613/2617/2618 LINE PRINTER DIAGNOSTIC * ORG 126B * DSN OCT 145103 * ORG 140B * IOIP DEF IOID TSTP DEF TSTD HDMP DEF HDMS STDA OCT 377 STDB OCT 0 STUD DEF STUDD * ORG 150B * HDMS ASC 14,2613-2618 LINE PRINTER DIAG/ SPC 2 IOID EQU * DEF TSTO DEF OTCHA DEF OTCHB DEF OTCHC ñ8þú DEF OTCHE DEF OTCHF DEF OUTIA DEF OUTIB DEF OUTID DEF TCJ DEF DMSC1 DEF DMSC2 DEF MCTA DEF OSC01 DEF OSC02 DEF RDY1 DEF DMD1 DEC -1 SPC 2 TSTD EQU * DEF TST.0 DEF TST01 DEF TST02 DEF TST03 DEF TST04 DEF TST05 DEF TST06 DEF TST07 DEF OPDSN .M1 DEC -1 SKP .2 OCT 2 .3 OCT 3 .4 OCT 4 .5 OCT 5 .6 OCT 6 .15 OCT 15 .177 OCT 177 .D25 DEC 25 .M2 DEC -2 .M3 DEC -3 .M4 DEC -4 .M10 DEC -10 .M60 OCT -60 CULN OCT 0 AA OCT 101 DBC NOP DBT NOP DBD DEF DBDD .40 OCT 40 .77 OCT 77 .200 OCT 200 .204 OCT 204 D27 DEC 27 D136 DEC 136 DM60 DEC -60 DM96 DEC -96 DM136 DEC -136 DM137 DEC -137 M1000 DEC -1000 RDY DEF RDYI TIMEA DEC 5000 CHARM OCT 115 CNTR NOP CHAR NOP CHAR1 NOP BTCK OCT 10400 SKP DT1 DEF TBL1 TBL1 DEC 1 TOF DEC 1 BOF DEC 1 TOF DEC 1 BOF DEC 120 SS DEC 60 DS DEC 40 TS DEC 8 QP DEC 4 HP DEC 1 BOF DEC 12 SP DEC 1 BOF DEC 1 DEC 1 DEC 1 DEC 1 DEC 1 DEC 1 DEC 1 DEC 1 DEC 1 DEC 1 DEC 1 DEC 1 DEC 1 DEC 1 DEC 1 DEC 1 SPC 1 SPC 2 * VFU CHANNEL # DT2 DEF TBL2 TBL2 OCT 100100 TOF VFU1 OCT 100101 2 BOTTOM OF FORM VFU0 OCT 100100 1 TOP OF FORM OCT 100101 BOF VFU2 OCT 100102 3 SINGLE SPACE VFU3 OCT 100103 4 DOUBLE SPACE VFU4 OCT 100104 5 TRIPLE SPACE VFU6 OCT 100106 7 NEXT QUARTER PAGE VFU5 OCT 100105 6 HALF PAGE LINE OCT 100101 BOF VFU7 OCT 100107 8 NEXT SIXTH P$þúAGE OCT 100100 TOF LS00 OCT 100000 SLEW 0 LINE LS01 OCT 100001 SLEW 1 LINE LS02 OCT 100002 SLEW 2 LINES LS03 OCT 100003 SLEW 3 LINES LS04 OCT 100004 SLEW 4 LINES LS05 OCT 100005 SLEW 5 LINES LS06 OCT 100006 SLEW 6 LINES LS07 OCT 100007 SLEW 7 LINES LS08 OCT 100010 SLEW 8 LINES LS09 OCT 100011 SLEW 9 LINES LS10 OCT 100012 SLEW 10 LINES LS11 OCT 100013 SLEW 11 LINES LS12 OCT 100014 SLEW 12 LINES LS13 OCT 100015 SLEW 13 LINES LS14 OCT 100016 SLEW 14 LINES LS15 OCT 100017 SLEW 15 LINES SPC 2 DT3 DEF TBL3 TBL3 DEF MSG01 TOF DEF MSG02 BOF DEF MSG01 TOF DEF MSG02 BOF DEF MSG03 SS DEF MSG04 DS DEF MSG05 TS DEF MSG07 QP DEF MSG06 HP DEF MSG02 BOF DEF MSG08 SP DEF MSG01 DEF MSG24 DEF MSG09 DEF MSG10 DEF MSG11 DEF MSG12 DEF MSG13 DEF MSG14 DEF MSG15 DEF MSG16 DEF MSG17 DEF MSG18 DEF MSG19 DEF MSG20 DEF MSG21 DEF MSG22 DEF MSG23 SPC 2 MSG01 ASC 02,TOF/ MSG02 ASC 02,BOF/ MSG03 ASC 02,SS/ MSG04 ASC 02,DS/ MSG05 ASC 02,TS/ MSG06 ASC 02,HP/ MSG07 ASC 02,QP/ MSG08 ASC 02,SP/ MSG09 ASC 02,S1/ MSG10 ASC 02,S2/ MSG11 ASC 02,S3/ MSG12 ASC 02,S4/ MSG13 ASC 02,S5/ MSG14 ASC 02,S6/ MSG15 ASC 02,S7/ MSG16 ASC 02,S8/ MSG17 ASC 02,S9/ MSG18 ASC 02,S10/ MSG19 ASC 03,S11/ MSG20 ASC 03,S12/ MSG21 ASC 03,S13/ MSG22 ASC 03,S14/ MSG23 ASC 03,S15/ MSG24 ASC 04, S0/ SPC 2 * LINKS FOR VFC TEST VF1X DEF VF1 VFCTX DEF VFCT,I CONTAINS RETURN ADDR * DT1E DEF EX1 DT3E DEF MSG DT2E DEF VFU10 DT4E DEF ER60 DH OCT 110 DI OCT 111 SPC 1 TSTNN NOP TMP OCT 0 NOP NOP NOP SKP * * LINKAGES FOR OP DESIGN * DBDD BSS 15nþú0 OPTR DEF RUNR * * STATUS REPORT * SRP NOP LDB SRPM SET UP CLA,CLE FOR MESSAGE JSB FMTR,I OUTPUT LDB CULN SET UP CLA,INA FOR LINE JSB FMTR,I NUMBER INSERTION OSC01 LIA CH LOAD STATUS FROM LP AND STMK MASK OFF UNUSED BITS LDB A CCA SET UP FOR JSB FMTR,I STATUS INSERTION JMP SRP,I EXIT SRPM DEF SRPMS SRPMS ASC 07,# STATUS IS #/ SPC 3 * * STATUS CHECK * SCP NOP STA SAVA SAVE STATUS STB SAVB SAVE LINE NUMBER OSC02 LIA CH LOAD STATUS FROM LP AND STMK MASK OFF UNUSED BITS LDB A LDA SAVB LOAD A WITH REQUESTED LINE NO CPB SAVA TEST STATUS CLA LOAD A WITH DEFAULT LINE NO JMP SCP,I EXIT SAVA OCT 0 SAVB OCT 0 STMK OCT 140001 SKP * CYCLIC PATTERN PRINT * CPP NOP SZA,RSS IF CHRS = 0 CPP.1 LDA DM136 THEN DEFAULT TO 136 SSA,RSS IF CHRS IS POS. CMA,INA THEN MAKE IT NEG. STA CPC SAVE NUMBER OF CHRS ADA D136 CHRS NOT> 136 SSA ? JMP CPP.1 YES USE 136 CHARS SZB,RSS IF LINE COUNT = 0 CPP.2 LDB DM60 THEN DEFAULT TO 60 SSB,RSS IF LNCNT IS POS. CMB,INB THEN MAKE IT NEG. STB CNTR SAVE LINE COUNT ADB D60 IF LNCNT> 60 SSB ? JMP CPP.2 THEN USE 60 LINES CPPL0 JSB CYBFI SET UP CYCLIC BUFFER LDA CYBFD GET ADDRESS LDB CPC AND COUNT JSB OTP OUTPUT BUFFER JSB RTLF OUTPUT A LINE FEED ISZ CNTR DONE? JMP CPPL0 NO CLA YES JMP CPP,I RETURN TO EXEC * CPC NOP D60 DEC 60 SKP * * OUTPUT BUFFER ONLY * OCP NOP ãcþú JSB OTBF CLA NO LINE CHANGE JMP OCP,I RETURN SPC 2 * * CARRIAGE RETURN/LINE FEED * CLP NOP JSB RTLF OUTPUT RETURN/LINE FEED CLA NO LINE CHANGE JMP CLP,I RETURN SPC 2 * * FORM FEED (AND PRINT) * FFP NOP JSB OTBF OUTPUT BUFFER IF REQUIRED JSB FF OUTPUT FORMFEED CLA NO LINE CHANGE JMP FFP,I RETURN SKP VFP NOP STA SAVA SAVE A CPA ALC IS IT A LC COMMAND ? JMP LCO YES ADB .M1 DECREMENT B STB SAVB ADB DM8 LDA SAVB SSB,RSS IS IT IN THE RANGE CLA DEFAULT ADA TBL2 ADD COMMAND CODE JSB OTCH CALL FOR OUTPUT FCR CLA LOAD A WITH DEFAULT LINE NO. JMP VFP,I EXIT LCO STB SAVB SAVE B ADB DM16 LDA SAVB SSB,RSS IS IT IN THE RANGE CLA DEFAULT ADA LS00 ADD COMMAND CODE JSB OTCH CALL FOR OUTPUT JMP FCR EXIT ALC ASC 01,LC DM8 DEC -8 DM16 DEC -16 SKP * PUT CYCLIC PATTERN IN BUFFER * CYBFI NOP LDB CYBFD SET POINTER STB CYBFT TO CYCLIC BUFFER LDA CYLC GET LAST STARTING CHARACTER INA MOVE UP ONE CPA .200 LAST CHARACTER? LDA .40 YES STA CYLC SAVE FOR NEXT BUFFER LDB DM136 GET MAX BUFFER COUNT CYBFL STA CYBFT,I STORE CHARACTER INA MOVE TO NEXT CHARACTER CPA .200 IS IT LAST CHR? LDA .40 YES ISZ CYBFT MOVE POINTER INB,SZB IS BUFFER FULL JMP CYBFL NO JMP CYBFI,I YES RETURN * CYBFT NOP CYLC OCT 40 CYBFD DEF *+1 BSS 136 OCT 100102 SKP * OUTPUT A CHARACTER OR THE USER BUFFER * OTBF NOP CPA AUB CHECK FOR USER BUFFER JMžLþúP OTUB YES - SO DO IT STA OTBFA SAVE CHARACTERS IOR B SZA,RSS ANY BUFFER REQUESTED? JMP OTBF,I NO SZB,RSS IF B IS ZERO THEN INB MAKE IT ONE SSB,RSS IF B IS POS. CMB,INB MAKE IT NEG. STB OTBFB SAVE COUNT LDA OTBFA RETRIEVE CHARACTERS ALF,ALF CHECK UPPER CHR. AND .177 FOR $ SYMBOLE CPA A$ ? JMP *+3 OK CLA NO - THEN TAKE NO ACTION JMP OTBF,I AND RETURN LDA OTBFA GET CHR AND .177 FOR OUTPUT JSB OTCH OUTPUT A TO THE LINE PRINTER ISZ OTBFB IS THERE ANOTHER REQUESTED? JMP *-4 YES CCA NO - INDICATE A PRINT JMP OTBF,I AND RETURN AUB ASC 01,UB A$ OCT 44 SKP * OUTPUT USER BUFFER * OTUB SZB IF NUMBER IS ZERO JMP OTUBN LDB DBC DEFAULT TO BUFFER COUNT SZB,RSS PROTECT IF NO BUFFER DEFINED JMP OTBF,I OTUBN SSB,RSS IF NOT NEG CMB,INB MAKE IT NEG STB OTBFB AND SAVE IT LDA DBC CHECK IF CMB,INB BUFFER HAS ADB A ENOUGH IN IT SSB ? LDA OTBFB IF NO USE BUFFER COUNT STA B SAVE COUNT LDA DBT GET BUFFER TYPE CPA .APA IS IT PACKED ? JMP *+4 YES LDA DBD NO GET POINTER JSB OTP JMP OTBF,I LDA B LDB DBD BUFFER ADDRESS JSB OTP2 JMP OTBF,I RETURN * OTBFA NOP OTBFB NOP .APA ASC 01,PA SKP * OUTPUT A CHR OR BUFFER * * A = CHR OR ADDRESS * B = +^ OR -^ * OTP NOP STA OTPT SAVE CHR OR ADDRESS SSB CHR OR ADDRESS? JMP OTPB IT'S A BUFFER OUTPUT CMB,INB CHR, MAKE COUNT NEG. STB OTPC SAVE COUNT LDA OTPT RETRIEVE“Žþú CHARACTER JSB OTCH OUTPUT IT ISZ OTPC ALL DONE? JMP *-3 NO JMP OTP,I AND RETURN * OTPB STB OTPC SAVE COUNT LDA OTPT,I GET CHARACTER JSB OTCH OUTPUT IT ISZ OTPT MOVE POINTER ISZ OTPC ALL DONE? JMP *-4 NO JMP OTP,I RETURN OTPT NOP OTPC NOP * * OUTPUT PACKED BUFFER * OTP2 NOP STA OTPC SAVE NUMBER OF CHARACTERS CLE,ELB STB OTPT AND ADDRESS POINTER OTP2L LDB OTPT GET CHARACTER ADDRESS CLE,ERB E _ UPPER LOWER FLAG LDA B,I 2 CHR TO A REG SEZ,RSS UP ALF,ALF YES AND .177 MASK OFF OPPSITE CHARACTER JSB OTCH OUTPUT A TO LINE PRINTER ISZ OTPT MOVE TO NEXT CHARACTER ISZ OTPC IS THERE MORE OUTPUT? JMP OTP2L YES JMP OTP2,I NOW RETURN SKP * * CKST PERFORMS STATUS CHECK OF LP * CKST NOP STB MSG50+1 STORE ERROR NUMBER IN MESSAGE STA EXP EXPECTED DATA LDB EXP1 SET UP VARIABLE LDA TSTN MASK CPA .4 * LDB EXP5 * STB MSK1 * MCTA LIA CH GET STATUS AND MSK1 MASK STA ACT STORE ACTUAL STATUS CPA EXP IS STATUS OK ? JMP CKST,I YES, EXIT LDA ACT CNVRT LDB ACTD ACT CLE JSB O2AS,I LDA EXP CNVRT LDB EXPD EXP CLE JSB O2AS,I E050 JSB ERMS,I PRINT ERROR DEF MSG50 JMP CKST,I EXIT SPC 1 ACTD DEF MSG50+8 EXPD DEF MSG50+17 ACT OCT 0 EXP OCT 0 EXP1 OCT 140001 EXP2 OCT 100001 EXP3 OCT 0 EXP4 OCT 040000 EXP5 OCT 170001 MSK1 OCT 0 MSG50 ASC 21,E050 STATUS IS XXXXXX SHOULD BE XXXXXX/ Ó<:66<ÿÿ ÿý# ÿ02618-18003 1633 S 0146 2613A/2618A LINE PRINTER DIAG             H0101 æŽþú SKP * TOP OF FORM SPC 1 FF NOP STA SAVE3 SAVE A-REG LDA VFU0 TOP OF FORM CODE JSB OTCH TRANSMIT CODE LDA LS00 DELAY UNTIL JSB OTCH FF IS FINISHED LDA SAVE3 RESTORE A-REG. JMP FF,I RETURN P+2 SAVE3 OCT 0 SPC 4 * OUTPUT A CR/LF TO LINE PRINTER SPC 1 RTLF NOP STA SAVE LDA VFU2 SINGLE SPACE CODE JSB OTCH SEND CHARACTER LDA SAVE RESTORE A JMP RTLF,I SAVE OCT 0 SKP * OUTPUT A-REG TO L.P. USING INTERRUPT * SYSTEM FOR PRINT COMPLETED. SPC 1 OUTI NOP STA SAVE1 SAVE A-REG STB SAVE2 SAVE B-REG OUTIA OTA CH TRANSFER WORD STF 0 TURN ON INTERRUPT SYS OUTIB STC CH,C SEND WORD SPC 1 LDA TIMEA DELAY FOR JSB TMRR,I TRANSMISSION CLF 0 TURN OFF INTERRUPT JSB RDY,I CHECK LP STATUS RSS LP NOT READY JMP *+3 LP READY LDA SAVE1 RESTORE A-REG JMP OUTIA TRY AGAIN OUTID CLC CH,C E031 JSB ERMS,I REPORT ERROR DEF MS031 CLC 0,C JMP TSTNN,I EXIT CURRENT TEST SPC 1 OUTIC CLF 0 TRANSMISSION COMPLETED LDA SAVE1 RESTORE A-REG LDB SAVE2 RESTOR B-REG JMP OUTI,I RETURN * * * OUTPUT A-REG TO L.P. USING SKIP ON * FLAG SET FOR PRINT COMPLETED. SPC 1 OTCH NOP STA SAVE1 SAVE A-REG STB SAVE2 SAVE B-REG CLB SET UP TIMEOUT COUNT OTCHA OTA CH TRANSFER WORD TO BUFFER OTCHB STC CH,C TRANSMIT WORD OTCHC SFS CH WORD COMPLETED ? JMP OTC1 NO OTCHG LDA SAVE1 RESTORE A-REG LDB SAVE2 RESTORE B-REG OTCHE CLC CH,C JMP OTCH,I RETURN OTC1 INB,SZB TIMEOUT ? JMP OTCHC LOOP LDA M1000 WAIT =þú1000 MS MAX FOR FORM FEED STA SCP OTCHX CLA,INA =1 FOR A 1 MS WAIT JSB TMRR,I OTCHF SFC CH INCREASE DELAY TIME JMP OTCHG FOR A ISZ SCP DONE WITH 48 1 MS WAITS? JMP OTCHX NO - GO DO ANOTHER 1 MS WAIT JSB RDY,I CHECK LP STATUS RSS LP NOT RDY JMP *+4 REPORT ERROR TIMEOUT LDA SAVE1 RESTORE A-REG CLB RESET TIMEOUT COUNT JMP OTCHA TRY AGAIN E030 JSB ERMS,I FLAG FAILED TO SET AFTER OUTPUT DEF MS030 CLC 0,C JMP TSTNN,I EXIT CURRENT TEST SAVE1 BSS 1 SAVE2 BSS 1 SAVE4 OCT 0 MS031 ASC 11,E031 LP FAILED TO INT/ MS030 ASC 12,E030 FLAG FAILED TO SET/ SKP TCJMP NOP LDA JMPI TRAP CELL JUMP TCJ STA CH STORE IN TRAP CELL LDA TCJMP,I LOCATION TO JUMP STA JMPIL STORE INSTRUCTION ISZ TCJMP INCREMENT RETURN JMP TCJMP,I RETURN P+2 JMPI JMP *+1,I JUMP INSTRUCTION JMPIL NOP SPC 4 PRTT NOP LDA EVFC GET VFU CODE JSB OUTI OUTPUT VFU JSB OTLP TELL OPERATOR JMP PRTT,I RETURN EVFC NOP PITB NOP EXCT NOP EXPN NOP SKP * OTLP PERFORMS TEXT STRING OUTPUT TO LP SPC 1 OTLP NOP JSB RDY,I CHECK LP STATUS NOP OTPP LDA B,I GET FIRST CHARACTER ALF,ALF POSITION UPPER CHARACTER AND .377 MASK CPA .57 TEST FOR '/' JMP OTLP,I EXIT JSB OUTI WRITE CHARACTER LDA B,I GET CHARACTER AGAIN AND .377 MASK LOWER CHARACTER CPA .57 TEST FOR '/' JMP OTLP,I EXIT JSB OUTI WRITE CHARACTER INB MOVE PTR TO NEXT WORD JMP OTPP CONTINUE SPC 2 .377 OCT 377 .57 OCT 57 SKP ORG ZCEND TST.0 EQU * CLEAR LP TST1 NOP BEFORE LDA TST1 RUN STA TSTNN Qþú * CLC 0,C * CLA INSURE WD ON CONTROLLER NOT PRINT CM TSTO OTA CH * JSB TST2,I CALL BI/O JMP *+2 TST2 DEF TST00 CLC 0,C CLEAR LP JSB RDY,I CHECK LP STATUS NOP JMP TST.0,I SPC 2 * TEST 01 * MANUAL CONTROL TEST (MCT) SPC 1 TST01 EQU * MCT NOP MANUAL CONTROL TEST LDA MCT STORE STA TSTNN RETURN ADDRESS LDB BTCK CHECK JSB SWRT,I FOR OPERATOR JMP MCT,I INTERVENTION H040 JSB MSGH,I TURN LP PWR OFF PRESS RUN DEF MCTM0 LDA EXP1 EXPECTED DATA LDB ER50 STATUS ERROR MESSAGE JSB CKST CHECK STATUS SPC 1 H041 JSB MSGH,I TURN LP PWR ON, DEF MCTM1 READY LP,PRESS RUN LDA EXP2 EXPECTED STATUS LDB ER51 STATUS ERROR MESSAGE JSB CKST CHECK STATUS SPC 1 H042 JSB MSGH,I SET LP TO OFF LINE PRESS RUN DEF MCTM2 LDA EXP3 EXPECTED STATUS LDB ER52 STATUS ERROR MESSAGE JSB CKST CHECK STATUS SPC 1 H043 JSB MSGH,I SET LP TO ON LINE PRESS RUN DEF MCTM3 LDA EXP2 EXPECTED STATUS LDB ER53 STATUS ERROR MESAGE JSB CKST CHECK STATUS SPC 1 H044 JSB MSGH,I OPEN DRUM GATE DEF MCTM4 LDA EXP4 EXPECTED STATUS LDB ER54 STATUS ERROR MESSAGE JSB CKST CHECK STATUS SPC 1 SPC 1 H046 JSB MSGH,I REMOVE PAPER,CLOSE DRUM GATE DEF MCTM6 LDA EXP4 EXPECTED STATUS LDB ER55 STATUS ERROR MESSAGE JSB CKST CHECK STATUS SPC 1 H047 JSB MSGH,I RESTORE PAPER DEF MCTM7 JSB FF TOP OF FORM JMP MCT,I EXIT SPC 2 ER50 ASC 01,50 ER51 ASC 01,51 ER52 ASC 01,52 ER53 ASC 01,53 ER54 ASC 01,54 ER55 ASC 01,55 DMSG DEF Â3þúMSG50 SKP * TEST 02 * RIPPLE PRINT TEST (RPT) SPC 1 TST02 EQU * RPT NOP RIPPLE PRINT TEST LDA RPT STORE STA TSTNN RETURN ADDRESS JSB TCJMP TRAP CELL JUMP DEF OUTIC LDA DM96 -96 NUMBER OF PRINTING STA CNTR CHARACTERS LDA .40 FIRST PRINTING CHARACTER STA CHAR STORE STA CHAR1 CHARACTER RPTC LDB DM136 -136 NUMBER OF CHARACTER/LINE RPTA LDA CHAR GET CHARACTER JSB OUTI SEND CHARACTER ISZ CHAR NEXT LDA CHAR CHARACTER CPA .200 LAST CHARACTER ? JMP *+2 YES JMP RPTB NO LDA .40 FIRST CHARACTER STA CHAR RESTORE CHARACTER RPTB INB,SZB LAST CHARACTER/LINE JMP RPTA NO JSB RTLF CARRIAGE RETURN LINE FEED ISZ CHAR1 INCREMENT CHARACTER LDA CHAR1 FOR NEXT STA CHAR ROW ISZ CNTR LAST ROW ? JMP RPTC LOOP JSB FF TOP OF FORM JMP RPT,I EXIT SKP * TEST 03 * TRIANGULAR PRINT TEST (TPT) SPC 1 TST03 EQU * TPT NOP TRIANGULAR PRINT TEST LDA TPT STORE STA TSTNN RETURN ADDRESS JSB TCJMP TRAP CELL JUMP DEF OUTIC LDB DM136 -136 STB TMP STORE COUNT TPTA LDA CHARM " M " LDB TMP NUMBER OF PRINT POSITION/LINE TPTB JSB OUTI SEND CHARACTER INB,SZB END OF LINE JMP TPTB NO ISZ TMP DECREMENT LINE NUMBER RSS JMP TPTC EXIT JSB RTLF CARRIAGE RETURN LINE FEED JMP TPTA LOOP TPTC JSB FF TOP OF FORM JMP TPT,I EXIT SKP * TEST 04 * VERTICAL FORMAT CONTROL TEST (VFCT) SPC 1 TST04 EQU * VFCT NOP VERTICAL FORMAT CONTROL TESTæMþú LDA VFCT STORE STA TSTNN RETURN ADDRESS JSB TCJMP TRAP CELL JUMP DEF OUTIC CLA POINT TO STA PITB TABLE VF1 LDA DT1 NUMBER OF TIMES, TABLE ADDRESS ADA PITB NEXT ADDRESS LDA A,I GET NUMBER CMA,INA MAKE NEG STA EXCT STORE NUMBER LDA DT2 VFU TABLE ADDRESS ADA PITB NEXT ADDRESS LDA A,I GET VFU CODE STA EVFC STORE CODE EVFD LDA DT3 MESSAGE TABLE ADDRESS ADA PITB NEXT ADDRESS LDB A,I GET MESSAGE JSB PRTT PRINT VFU CODE AND MESSAGE ISZ EXCT PRINT CODE AGAIN ? JMP EVFD YES LDA PITB TABLE POINTER CPA D27 LAST VFU CODE & MESSAGE ? JMP VF2 ISZ PITB NEXT POINT IN TABLE JMP VF1X,I LOOP (USE BASE PAGE LINK) SPC 1 VF2 CLA POINT TO STA PITB TABLE VF3 LDA DT1E EXPECTED DATA TABLE ADA PITB NEXT ADDRESS LDA A,I GET DATA STA EXPN AND STORE LDA DT2E VFU TABLE ADDRESS ADA PITB NEXT ADDRESS LDA A,I GET VFU CODE STA EVFC AND STORE LDA DT3E MESSAGE TABLE ADDRESS ADA PITB NEXT ADDRESS LDB A,I GET MESSAGE JSB PRTT PRINT VFU CODE AND MESSAGE LDA DT4E ERROR CODE TABLE ADA PITB NEXT ADDRESS LDB A,I GET ERROR CODE LDA EXPN AND STORE JSB CKST CHECK STATUS LDA PITB TABLE POINTER CPA .3 LAST VFU CODE & MESSAGE ? JMP VF4 YES ISZ PITB NEXT POINTER IN TABLE JMP VF3 LOOP VF4 JSB FF TOP OF FORM JMP VFCTX,I EXIT (DOUBLE INDIR THRU BASE PAGE) SPC 1 SKP * TEST 05 * CHARACTER SET TEST (CST) SPC 1 TST05 EQU * CST NOP CHARACTER SET TEST¼nþú LDA CST STORE STA TSTNN RETURN ADDRESS CLA FIRST CHARACTER CSTA LDB DM136 -136 NUMBER OF CHARACTER/LINE JSB OTCH SEND CHARACTER INB,SZB LAST CHARACTER IN COLUMN JMP *-2 NO JSB RTLF CR/LF INA NEXT CHARACTER CPA .200 LAST CHARACTER ? RSS YES JMP CSTA NO JSB FF TOP OF FORM JMP CST,I EXIT SKP * TEST 06 * OVER PRINT TEST SPC 1 TST06 EQU * OPT NOP OVER PRINT TEST LDA OPT STA TSTNN LDA DH CHARACTER "H" LDB DM136 -136 NUMBER OF CHARACTER/LINE JSB OTCH SEND CHARACTER INB,SZB LAST CHARACTER IN COLUMN ? JMP *-2 NO LDA LS00 JSB OTCH LDA DI CHARACTER "I" LDB DM136 -136 JSB OTCH SEND CHARACTER INB,SZB LAST CHARACTER IN COLUMN ? JMP *-2 NO JSB RTLF PRINT CHARACTER LDB DM136 SET UP COUNT LDA AA ASCII A JSB OTCH SEND CHARACTER INB,SZB LAST CHARACTER ? JMP *-2 NO LOOP LDB DM136 SET UP COUNT INA ASCII B JSB OTCH SEND CHARACTER INB,SZB LAST CHARACTER ? JMP *-2 NO LOOP JSB RTLF PRINT ONLY CHARACTER ' A ' JSB FF TOP OF FORM JMP OPT,I EXIT SKP * TEST 07 * DMA OPERATION TEST (DMA) SPC 1 TST07 EQU * DMA NOP DMA OPERATION TEST LDA DMA STORE STA TSTNN RETURN ADDRESS LDA CPTO CHECK FOR AND .204 DMA OPTION SZA,RSS DMA HARDWARE ? JMP H033 NO DMA JSB RDY,I CHECK LP STATUS NOP LDA DM96 NUMBER OF STA TMP LINE TO PRINT LDA .177 RESET PRINTING STA CYLCÿÚþú CHARACTER DMAA JSB CYBFI SET CYCLIC PATTERN IN BUFFER LDA USSC CONFIGURE DMA CONTROL AND .77 MASK OFF OPTION BITS IOR CW " OR " IN CONTROL BITS OTA DMAH INITALIZE DMA CLC DMAL * LDA CYBFD * OTA DMAL * STC DMAL * LDA WCNT * OTA DMAL * DMSC1 STF CH START LP STC DMAH,C START DMA OPERATION CLB START TIME-OUT- LPA INB,SZB LOOP FOR DMA RSS * JMP LPB * SFS DMAH * JMP LPA * JMP LCC1 * LPB CLC 0 REPORT TIME-OUT ERROR E034 JSB ERMS,I DMA FLAG FAILED DEF DMA2 TO SET AFTER DMA COMPLETION JMP DMAB ABORT CURRENT TEST LCC1 CLB START TIME-OUT- LPD INB,SZB LOOP FOR INTERFACE RSS * JMP LPC * DMSC2 SFS CH * JMP LPD * JMP LCC * LPC CLC 0 REPORT TIME-OUT ERROR E035 JSB ERMS,I INTERFACE FLAG DID'NT SET DEF DMA3 AFTER DMA COMPLETION JMP DMAB ABORT CURRENT TEST LCC CLC DMAH IS DMA TEST ISZ TMP FINISHED ? JMP DMAA NO DMAB JSB FF TOP OF FORM JMP DMA,I EXIT H033 JSB MSGC,I REPORT MESSAGE DEF DMA1 MESSAGE ADDRESS JMP DMA,I EXIT SPC 1 DMAL EQU 2 DMAH EQU 6 WCNT EQU DM137 SPC 1 CW OCT 100000 DMA2 ASC 9,E034 DMA TIME OUT/ DMA1 ASC 10,H033 DMA NOT CONFIG/ DMA3 ASC 19,E035 I-O FLAG NOT SET AFTER DMA COMP/ SKP * OPERATOR DESIGN SECTION * OPDSN NOP LDA 112B CHECK FOR CONSOLE DEVICE SZA,RSS JMP OPDSN,I NO SO DONT DO OPDSN LDB BTCK CHECK JSB SWRT,I FOR OPERATOR JMP OPDSN,I INTERVENTION LDA OPTR STORöNþúE STA TSTNN RETURN ADDRESS CLA,CLE TELL OPERATOR THAT LDB MSG1 HE IS IN OPERATOR DESIGN JSB FMTR,I OPDSI LDA FWAM INITIALIZE PROGRAM STA PRPTR POINTER CLA AND STA PRPTR,I END OF PROGRAM STA DBC BUFFER COUNT STA DBT BUFFER TYPE IRQ LDA .2 LDB .MSG1 OUTPUT @ JSB SLOP,I LDB IBUFD LDA .D25 JSB SLIN,I GET INPUT FROM OPERATOR SZA,RSS WAS THERE ANY INPUT JMP *-4 NO - SO ASK AGAIN * LDB IBUFD * RBL * ADB A * STB IBUFP * ADD CR TO LDA .15 * END OF BUFFER JSB A2BUF * LDB IBUFD SET-UP RBL INPUT BUFFER STB IBUFP POINTER * JSB GETB GET INPUT BLOCK JMP INER NO INPUT SEZ,RSS IF IT'S ASCII JMP PCMD IT'S A COMMAND STA TMP SAVE IT * SZA,RSS IF IT'S A ZERO JMP INER THEN IT'S AN ERROR SSA IF NEG THEN ERROR JMP INER LDA MXNM CHECK FOR MAX NUMBER CMA ADA TMP SSA,RSS IF OVER 999 JMP INER THEN ERROR JSB GETB GET STATEMENT TYPE JMP INER NO MORE ERROR SEZ SHOULD BE ASCII JMP INER NO-SO ERROR SKP JSB FNDST FIND STATEMENT TYPE JMP INER NOT FOUND STA SVB STB TMP+1 ALF,ALF INPRN AND .177 CPA AA IS IT ASCII? JMP TAA YES CPA AI IS IT INTEGER? JMP TAI YES CPA AK IS IT OCTAL? JMP TAK YES JMP INPRC-1 * TAA JSB GETB GET NEXT BLOCK JMP INPRC-1 NO MORE DATA SEZ IS IT ASCII JMP INER NO - THEN ERROR JMP INPRC OK * TAI JSB GETB GET NEXT BLOCK JMP INPRC-1 NO MORE DAãþúTA SEZ,RSS IS IT A NUMBER JMP INER NO - THEN ERROR JMP INPRC OK * TAK JSB GETB GET NEXT BLOCK JMP INPRC-1 NO MORE DATA SEZ,RSS IS IT A NUMBER JMP INER NO - THEN ERROR LDA B OK JMP INPRC * CLA NO DATA SO MAKE IT ZERO INPRC LDB SVB SZB STA TMP+2 SZB,RSS STA TMP+3 LDA SVB IS THIS FIRST PRAM SZA,RSS ? JMP *+4 CLB STB SVB JMP INPRN SKP * PUT STATEMENT IN QUE * JSB FNDLN FIND LINE NUMBER JMP INSTR NOT FOUND ISZ PRPTR FOUND IT LDA TMP+1 JUST REPLACE IT STA PRPTR,I JUST REPLACE IT LDA TMP+2 JUST REPLACE IT ISZ PRPTR JUST REPLACE IT STA PRPTR,I JUST REPLACE IT LDA TMP+3 JUST REPLACE IT ISZ PRPTR JUST REPLACE IT STA PRPTR,I JUST REPLACE IT JMP IRQ ASK FOR MORE * INSTR LDA PRPTR CHECK ADA .5 TO CMA,INA SEE IF ADA LWAM QUE FULL SSA,RSS ? JMP .STR NO - OK STORE IT LDB MSG4 YES- TELL OPERATOR CLA,CLE JSB FMTR,I JMP IRQ * MSG4 DEF *+1 ASC 15,QUE FULL STATEMENT NOT LOADED/ .STR LDA TMP MOVE LINE NUMBER LDB PRPTR,I INTO PLACE STA PRPTR,I SZA,RSS IF NUMBER=0 THEN JMP IRQ STOP STB TMP ELSE ISZ PRPTR MOVE BLOCK LDA TMP+1 IN LDB PRPTR,I TO END STA PRPTR,I OF STB TMP+1 PROGRAM ISZ PRPTR LDA TMP+2 LDB PRPTR,I STA PRPTR,I STB TMP+2 ISZ PRPTR LDA TMP+3 LDB PRPTR,I STA PRPTR,I STB TMP+3 ISZ PRPTR JMP .STR SKP * FIND STATEMENT * E=0=ASCII COMPARE * E=1=POINTER COMPARE * FNDST NOü‰þúP STA SVB SAVE TYPE LDB STTBD STATEMENT TABLE DEF SEZ ASCII OR POINTER? ADB .2 IT'S THE POINTER FNDSL LDA B,I CPA .M2 END OF STANDARD TABLE RSS YES JMP *+3 NO LDB STUD GET STANDARD USER TABLE JMP FNDST+3 TRY IT CPA .M1 IS IT THE TERMINATOR JMP FNDST,I YES - NOT FOUND CPA SVB IS IT THIS CHARACTER JMP *+3 YES ADB .3 NO - MOVE TO NEXT STATEMENT JMP FNDSL AND TRY IT ISZ FNDST FOUND - ADJUST RETURN SEZ ASCII OR POINTER? ADB .M3 IT'S THE POINTER INB LDA B,I RETRIEVE PARAMETER TYPES INB AND LDB B,I PROCESSOR POINTER JMP FNDST,I * * FIND LINE NUMBER IN QUE =TMP * FNDLN NOP LDB FWAM START AT FIRST STATEMENT STB PRPTR LDA B,I SZA,RSS IF ZERO JMP FNDLN,I THEN NOT FOUND CMA,INA ADD THE TWO ADA TMP NUMBERS SZA,RSS IF EQUAL JMP *+5 THEN FOUND SSA IF IT GOES NEG. JMP FNDLN,I THEN NOT FOUND ADB .4 TRY NEXT STATEMENT JMP FNDLN+2 ISZ FNDLN JMP FNDLN,I SKP * GET A CHARACTER FROM INPUT BUFFER * GETC NOP LDB IBUFP JSB BUF2A CPA .15 IF CR RETURN P+1 JMP GETC,I YES ISZ IBUFP MOVE POINTER TO NEXT CHARACTER ISZ GETC ADJUS GOOD RETURN P+2 JMP GETC,I RETURN * BUF2A NOP CLE,ERB E _ UPPER LOWER FLAG LDA B,I 2CHR TO AREG SEZ,RSS UPPER OR LOWER? ALF,ALF UPPER AND .177 MASK UNWANTED CHARACTER JMP BUF2A,I RETURN. * A2BUF NOP STA GETC SAVE CHARACTER LDB IBUFP GET SLB,INB OPPSITE ADB .M2 CHARACTER JSB BUF2A vþú ALF,ALF IOR GETC ADD NEW CHARACTER SEZ SHOULD IT BE SWAPPED? ALF,ALF YES STA B,I STORE IT ISZ IBUFP MOVE TO NEXT CHR. SPACE JMP A2BUF,I * * * * * * * * * * * * * * * SKP * GET INPUT BLOCK FROM INPUT BUFFER * GETB NOP JSB GETC GET A CHARACTER JMP GETB,I NO DATA JSB CSC COMMA OR SPACE CHECK ISZ GETB ADJUST RETURN CPA MINUS IF IT'S NEG SIGN JMP NUMIN+1 THEN PROCESS AS A NUMBER JSB DGCK IF IT'S A NUMBER JMP NUMIN THEN PROCESS AS A NUMBER ALF,ALF NO - PROCESS A ASCII STA AIN SAVE FIRST CHARACTER JSB GETC GET SECOND CHARACTER LDA SPC NO DATA USE SPACE CLE INDICATE ASCII JSB CSC IOR AIN ADD FIRST STA AIN SAVE IT JSB GETC MOVE TO COMMA OR SPACE LDA SPC NO DATA USE SPACE CLE JSB CSC READ TO JMP *-4 NEXT SPACE OR COMMA * CSC NOP CPA COMA IS IT A COMMA JMP *+4 YES CPA SPC IS IT A SPACE JMP *+2 YES JMP CSC,I NEITHER SO RETURN LDA AIN RETRIEVE CHR LDB BIN JMP GETB,I RETURN * * * * * * * * * * * * * * * SKP NUMIN CCB,RSS INDICATE POSITIVE CLB INDICATE NEGATIVE STB NFLG SAVE FLAG ADB IBUFP MOVE POINTER BACK IF NECESSARY CLE,ERB SET UPPER LOWER FLAG CLA CALL FOR INTEGER JSB AS2N,I CONVERT IT STA AIN SAVE IT LDB NFLG ADB IBUFP CLE,ERB CCA CALL FOR OCTAL JSB AS2N,I CONVERT IT STA BIN SAVE IT LDA AIN RETRIEVE LDB BIN NUMBERS ISZ NFLG WAS A NEG ENTERED? RSS JMP *+3 žQHFB NO CMA,INA YES CMB,INB STA AIN SAVE NUMBER STB BIN JSB GETC GET NEXT CHARACTER LDA SPC NO DATA USE SPACE CCE INDICATE IT'S A NUMBER JSB CSC READ TO JMP *-4 NEXT SPACE OR COMMA * AIN NOP BIN NOP NFLG NOP * * CHECK IF AREG = DIGIT * DGCK NOP STA BUF2A SAVE CHARACTER ADA .M60 ADD -60 OCTAL SSA SHOULD STILL BE POS.? ISZ DGCK NO - NOT A DIGIT ADA .M10 ADD -10 SSA,RSS SHOULD GO NEG? ISZ DGCK NO - ADJUST RETURN LDA BUF2A RETRIEVE CHARACTER JMP DGCK,I RETURN ;sHÿÿ ÿý& ÿ02618-18004 1633 S 0146 2613A/2618A LINE PRINTER DIAG             H0101 çŽþú SKP * PROGRAM COMMAND * PCMD CPA ABY EXIT OPDSN? JMP OPDSN,I YES CPA ALI LIST REQUEST? JMP PLI YES CPA ADL DELETE A LINE? JMP PDL YES CPA AGO START EXECUTION? JMP PGO YES CPA ADB DEFINE BUFFER? JMP PDB YES * NOT FOUND - ERROR INER LDB MSG2 INPUT ERROR CLA,CLE MESSAGE JSB FMTR,I JMP IRQ TRY AGAIN * MSG1 DEF *+1 ASC 7,OPDSN SECTION/ .MSG1 DEF *+1 OCT 40177 MSG2 DEF *+1 ASC 7,ILLEGAL INPUT/ * RUNER STA SVB SAVE ERROR NUMBER ADA .M4 IF >3 THEN SSA ? JMP *+4 FORCE PRINT LDB SW11 CHECK TO PRINT ERROR JSB SWRT,I JMP RUNN NO DON'T PRINT LDB .MSG2 GET MESSAGE CLA,CLE JSB FMTR,I LDB SVB OUTPUT ERROR NUMBER CLA,INA JSB FMTR,I LDB CULN OUTPUT LINE NUMBER CLA,INA JSB FMTR,I RUNN LDA SVB IF >3 THEN ADA .M4 SSA ? JMP IRQ STOP RUNR LDB SW14 CHECK TO CONTINUE JSB SWRT,I RSS JMP IRQ CLA JMP PGOR * .MSG2 DEF *+1 ASC 9,ERROR # IN LINE #/ SKP * LIST PROGRAM PLI LDA FWAM SET STARTING OF LIST STA PRPTR POINTER JSB GETB GET NEXT BLOCK CLA,INA NO DATA SEZ,SZA,RSS IF ASCII OR ZERO THEN ERROR JMP INER CMA,INA STA TMP SAVE FIRST LINE NUMBER JSB GETB GET NEXT BLOCK LDA MXNM NO DATA SEZ,SZA,RSS IF ASCII OR ZERO THEN ERROR JMP INER CMA STA TMP+1 SAVE LAST LINE NUMBER CMA,INA CHECK FIRST <= LAST ADA TMP SSA ? JMP INER NO - INPUT ERROR PLIL LDA PRPTR,I CHECK TO PRINT STATEMNET SZA,RSS IS IT THE END h¦þúOF LIST JMP LIEND YES ADA TMP NO SSA < FIRST REQ JMP LINXT YES LDA PRPTR,I ADA TMP+1 SSA,RSS > LAST REQ JMP LIEND YES LDA PRPTR,I CONVERT AND CCB ADB IBUFD PACK CLE STATEMENT JSB I2AS,I NUMBER LDB IBUFD ADD NUMBER TO POINTER ADB .2 RBL STB IBUFP LDA SPC PUT SPACE IN BUFFER JSB A2BUF ISZ PRPTR LDA PRPTR,I * ISZ PRPTR * CCE * SET TO LOOK FOR POINTER JSB FNDST * FIND STATEMENT JMP OPDSN+1 * ABORT IF ANY ERROR STA TMP+2 * SAVE STATEMENT STB SVB * SAVE PRAM TYPES ALF,ALF * AND .177 * PUT JSB A2BUF * STATEMENT TYPE LDA TMP+2 * IN AND .177 * BUFFER JSB A2BUF LDA SPC ADD SPACE TO BUFFER JSB A2BUF SKP LDA SVB RETRIEVE PRMS TYPES ALF,ALF MOVE TO FIRST PARAMETER PLIP LDB PRPTR,I CHECK IF NO PARAMETER SZB,RSS ? JMP PLIC NO SO DON'T PROCESS IT AND .177 CPA AA IS IT ASCII? JMP PAA YES CPA AI IS IT INTEGER? JMP PAI YES CPA AK IS IT OCTAL? JMP PAK YES JMP PLIC TYPE NOT FOUND SO SKIP IT * PAA LDA PRPTR,I GET CHARACTERS ALF,ALF AND .177 FIRST ONE TO BUFFER JSB A2BUF LDA PRPTR,I AND .177 SECOND ONE TO BUFFER JSB A2BUF JMP PLIC * PAI LDA PRPTR,I CLB SSA,RSS IF POS CCB MOVE BUFFER POINTER BACK ONE ADB IBUFP STB IBUFP CLE,ERB JSB 123B,I PAE LDA IBUFP ADA .6 STA IBUFP JMP PLIC * PAK LDA PRPTR,I LDB IBUFP CLE,ERB JSB 124B,I eáþú JMP PAE SKP PLIC ISZ PRPTR MOVE TO NEXT PARAMETER LDA SPC ADD SPACE TO BUFFER JSB A2BUF LDA SVB SZA,RSS JMP *+4 CLB STB SVB JMP PLIP LDA A/ ADD TERMINATOR JSB A2BUF LDB IBUFD CLA,CLE OUTPUT TO SLOW DEVICE JSB FMTR,I JMP PLIL DO NEXT INSTRUCTION * LIEND LDB MSG3 OUTPUT CLA,CLE LIST END JSB FMTR,I JMP IRQ * MSG3 DEF *+1 ASC 7,**LIST END**/ * LINXT LDA PRPTR SKIP OVER ADA .4 STATEMENT STA PRPTR JMP PLIL * SKP * DELETE A LINE OR THE PROGRAM * PDL JSB GETB GET LINE NUMBER JMP INER NOT FOUND THEN ERROR SEZ,RSS IF IT'S ASCII JMP PDLA THEN CHECK FOR ALL STA TMP SAVE IT JSB FNDLN FIND IT JMP IRQ NOT FOUND ADB .4 PDLL LDA B,I DELETE STA PRPTR,I THE LINE ISZ PRPTR AND MOVE LDA B REST CMA OF PROGRAM ADA LWAM UP SSA JMP IRQ INB JMP PDLL * PDLA CPA AAL IF ASCII AL THEN DELETE ALL JMP OPDSI OF THE CURRENT PROGRAM JMP INER IF NOT IT'S AN ERROR * AAL ASC 1,AL * * * * * * * * * * * * * * * SKP * PROCESS GO * PGO LDA GSPTS CLEAR GO SUB TABLE STA GSPTR JSB GETB GET STARTING LINE NUMBER CLA,CCE NO NUMBER FAKE IT SEZ,RSS IF IT'S ASCII JMP INER THEN IT'S AN ERROR SZA IF IT'S ZERO JMP *+6 LDB FWAM START AT BEGINNING STB PRPTR LDA PRPTR,I STA TMP JMP *+4 STA TMP PGOL JSB FNDLN JMP INER ISZ PRPTR LDA PRPTR,I STA TMP+1 ASCII STATEMENT ISZ PRPTR LDA PRPTR,I STA TMP+2 PARAM A ISZ PRPT¾óþúR LDA PRPTR,I STA TMP+3 PARAM B ISZ PRPTR LDA TMP STA CULN SAVE CURRENT LINE NUMBER SZA,RSS JMP IRQ LDA PRPTR,I STA TMP NEXT LINE NUMBER LDA TMP+2 GET PARAM A LDB TMP+3 GET PARAM B JSB TMP+1,I GO TO ROUTINE PGOR STA SVB LDB SW9 CHECK FOR ABORT JSB SWRT,I JMP IRQ LDA SVB SSA,RSS WAS THERE AN ERROR? JMP *+3 NO CMA,INA YES - MAKE NUMBER POSITIVE JMP RUNER AND REPORT IT SZA,RSS WAS THERE A LINE CHANGE JMP PGOL+2 STA TMP YES JSB FNDLN FIND IT RSS JMP PGOL+2 FOUND PGOE CLA,INA NOT FOUND JMP RUNER SO RUN ERROR SKP * DEFINE BUFFER * PDB JSB GETB GET BUFFER COUNT JMP INER NO INPUT SO ERROR SEZ,RSS IF IT'S ASCII JMP INER THEN IT'S AN ERROR SZA,RSS IF IT'S ZERO JMP INER THEN IT'S AN ERROR CMA,INA STA TMP SAVE THE NUMBER JSB GETB GET TYPE JMP INER NO INPUT SO ERROR SEZ IF IT'S A NUMBER JMP INER IT'S AN ERROR CPA APA IS IT PACKED ASCII JMP DBPA YES ALF,ALF MOVE CHR TO LOW ORDER AND .177 MASK OFF UPPER CPA AA IS IT ASCII JMP DBA YES CPA AI IS IT INTEGER JMP DBI YES CPA AK IS IT OCTAL JMP DBK YES JMP INER NONE OF ABOVE SO ERROR * DBIC NOP LDB TMP CHECK IF ADB DBIC,I NUMBER SSB IS TOO LARGE? JMP INER YES STA DBT SAVE BUFFER TYPE LDA TMP STA DBC AND COUNT LDA DBD SET-UP BUFFER STA IBUFP POINTER ISZ DBIC JMP DBIC,I * DBIN NOP CALL FOR INPUT STA SVB SAK)þúVE INPUT NUMBER LDA SVB LDB IBUFD JSB 104B,I SZA,RSS JMP *-4 JMP DBIN,I SKP DBINC NOP CLA CLEAR STA IBUF * STA IBUF+1 * STA IBUF+2 * STA IBUF+3 BUFFER LDA .6 CALL JSB DBIN FOR INPUT CPA SVB TEST FOR CR/LF RSS YES JMP DBINC,I NO CLA JSB SLOP,I DO CR/LF JMP DBINC,I EXIT SKP DBPA JSB DBIC INPUT COUNT CHECH DEC 300 MAX INPUT LDA DBD SET-UP BUFFER RAL POINTER STA IBUFP DBPAL CLA,INA GET ONE CHARACTER JSB DBIN LDA IBUF PUT IT ALF,ALF IN AND .177 JSB A2BUF THE BUFFER ISZ TMP IS THAT ALL JMP DBPAL NO JMP DBEX YES DBA JSB DBIC INPUT COUNT CHECK DEC 150 MAX INPUT ALLOWED DBAC CLA,INA GET ONE CHARACTER JSB DBIN LDA IBUF LOAD IT ALF,ALF ROTATE IT AND .177 MASK OFF UPPER STA IBUFP,I PUT IT IN BUFFER ISZ IBUFP MOVE TO NEXT LOCATION ISZ TMP IS THAT ALL JMP DBAC NO DBEX CLA YES - DO A CR-LF JSB SLOP,I JMP IRQ * DBI JSB DBIC INPUT COUNT CHECK DEC 150 MAX INPUT DBIL JSB DBINC CALL FOR INPUT LDB IBUFD CONVERT CLA,CLE INPUT JSB AS2N,I STA IBUFP,I STOR IT ISZ IBUFP MOVE TO NEXT SPOT ISZ TMP IS THAT ALL JMP DBIL JMP DBEX * DBK JSB DBIC INPUT COUNT CHECK DEC 150 MAX INPUT DBKL JSB DBINC CALL FOR INPUT LDB IBUFD CONVERT IT CCA,CLE JSB AS2N,I STA IBUFP,I STORE IT ISZ IBUFP MOVE TO NEXT ISZ TMP IS THAT ALL JMP DBKL NO JMP DBEX YES SKP O^þú * WAIT FOR OPERATOR * WAP NOP LDB WAPM GET MESSAGE CLA,CLE JSB FMTR,I OUTPUT IT LDB CULN WITH CURRENT LINE NUMBER CLA,INA JSB FMTR,I WAPL LDA .D25 CALL FOR JSB DBIN INPUT LDA IBUF CHECK IF "CO" CPA ACO ? JMP WAPX YES CPA AST STOP JMP IRQ YES * WAPE LDB MSG2 TELL OPERATOR OF ERROR CLA,CLE JSB FMTR,I JMP WAPL AND TRY AGAIN * WAPX CLA NOP JMP WAP,I CONTINUE * WAPM DEF *+1 ASC 4,# WAIT/ * * * * * PROCESS GO TO STATEMENT * GTP NOP SZA IF ZERO SSA OR NEG. JMP PGOE THEN ERROR JMP GTP,I SKP * PROCESS GOSUB * GSP NOP SZA IF LINE =0 SSA OR NEG. JMP PGOE THEN ERROR ISZ GSPTR MOVE TO NEXT BLOCK STB SVB SAVE REP COUNT LDB GSPTR CHECK CPB GSPTE IF THERE IS ROOM JMP GSPE NO - SO ERROR LDB PRPTR SAVE PROGRAM POINTER STB GSPTR,I LOCATION ISZ GSPTR LDB SVB GET REP COUNT SZB,RSS INB SSB,RSS IF NOT NEG. CMB,INB MAKE IT NEG STB GSPTR,I JMP GSP,I * GSPE LDA .2 JMP RUNER * GSPTR NOP GSPTS DEF * BSS 30 GSPTE DEF *-2 * * * * * * * * * * * * * * * * * * * * SKP * PROCESS RTN STATEMENT * RTP NOP LDA GSPTR CHECK IF THERE HAS CPA GSPTS BEEN A GOSUB JMP RTPE NO - THEN ERROR ISZ GSPTR,I FINISHED WITH LOOP JMP RTPN NO LDA GSPTR YES ADA .M2 MOVE POINTER BACK TWO STA GSPTR INA RESET LINE NUMBER LDA A,I STA PRPTR LDA PRPTR,I STA TMP CLA Œ=þúJMP RTP,I * RTPN CCA ADA GSPTR LDA A,I ADA .M2 LDA A,I JMP RTP,I * RTPE LDA .3 JMP RUNER * * * * * * * * SKP * OUTPUT A MESSAGE * MSP NOP STA MSPM+2 STB MSP2 LDB MSPM CLA,CLE JSB FMTR,I CLA,INA LDB MSP2 JSB FMTR,I LDA MSPM+2 CHECK IF STOP CPA AST ? JMP *+3,I YES CLA JMP MSP,I * DEF IRQ MSP2 NOP MSPM DEF *+1 ASC 4,* XX #/ * * * * PROCESS DELAY STATEMENT * DLP NOP SZA IF IT'S ZERO FORGET IT JSB TMRR,I GO WAIT JMP DLP,I NOW RETURN TO CALLER * * * * * * * * * * * * * * * * * * * * SKP MXNM DEC 9999 SW14 OCT 40000 SW11 OCT 4000 SW9 OCT 1000 A/ OCT 57 AI OCT 111 AK OCT 113 ABY ASC 1,BY ALI ASC 1,LI ADL ASC 1,DL AGO ASC 1,GO ADB ASC 1,DB APA ASC 1,PA ACO ASC 1,CO AST ASC 1,ST MINUS OCT 55 COMA OCT 54 SPC OCT 40 IBUFP NOP SVB NOP PRPTR NOP IBUFD DEF IBUF NOP IBUF BSS 13 OPEND EQU * * * * SKP STTBD DEF *+1 * ASC 1,WA ASC 1, DEF WAP * ASC 1,GT ASC 1,I DEF GTP * ASC 1,GS ASC 1,II DEF GSP * ASC 1,RT ASC 1, DEF RTP * ASC 1,MS ASC 1,AI DEF MSP * ASC 1,TD ASC 1,I DEF DLP * DEC -2 DEC -2 DEC -2 * * * * * * * * SKP STUDD ASC 1,SR ASC 1, DEF SRP * ASC 1,SC ASC 1,KI DEF SCP * ASC 1,CP ASC 1,II DEF CPP * ASC 1,OC ASC 1,AI DEF OCP * ASC 1,PC ASC 1, DEF CLP * ASC 1,FF ASC 1,AI DEF FFP * ASC 1,VF ASC 1,AI DEF VFP * DEC -1 DEC -1 DEC -1 80.* SKP MCTM0 ASC 13,H040 PWR OFF LP,PRESS RUN/ MCTM1 ASC 17,H041 PWR ON, ON LINE LP,PRESS RUN/ MCTM2 ASC 15,H042 LP TO OFF LINE,PRESS RUN/ MCTM3 ASC 15,H043 LP TO ON LINE,PRESS RUN/ MCTM4 ASC 15,H044 OPEN DRUM GATE,PRESS RUN/ MCTM6 ASC 17,H046 REMOVE PAPER,CLOSE DRUM GATE, ASC 05,PRESS RUN/ MCTM7 ASC 16,H047 RESTORE PAPER, ON LINE LP, MCTM8 ASC 5,PRESS RUN/ SPC 2 EX1 OCT 100001 OCT 120001 OCT 100001 OCT 110001 SPC 1 MSG DEF MSG26 DEF MSG25 DEF MSG27 DEF MSG28 SPC 1 VFU10 OCT 100111 VFU9 OCT 100110 VFU11 OCT 100112 VFU12 OCT 100113 SPC 1 ER60 ASC 01,60 ER61 ASC 01,61 ER62 ASC 01,62 ER63 ASC 01,63 SPC 1 MSG25 ASC 02,CH9/ MSG26 ASC 03,CH10/ MSG27 ASC 03,CH11/ MSG28 ASC 03,CH12/ SPC 1 SKP RDYI NOP STA SAVE5 SAVE A STB SAVE6 AND B-REG RDY1 LIA CH GET STATUS AND MSK MASK OFF BITS 15 & 14 CPA RDY4 IS LP RDY ? JMP RDY2 YES EQ32 JSB ERMS,I REPORT ERROR DEF RDY3 LP NOT RDY JMP RDYI,I RETURN P+1 RDY2 CLB CHECK DEMAND BIT DMD1 LIA CH GET STATUS SLA,RSS BUSY ? JMP DMD2 YES LDA SAVE5 RESTORE LDB SAVE6 A&B-REG ISZ RDYI RETURN P+2 JMP RDYI,I EXIT DMD2 INB,SZB TIMEOUT ? JMP DMD1 LOOP E036 JSB ERMS,I REPORT TIMEOUT ERROR DEF DMD3 E036 DEMAND BUSY CLC 0,C JMP TSTNN,I ABORT CURRENT TEST SPC 1 SAVE5 OCT 0 SAVE6 OCT 0 MSK OCT 140000 RDY4 EQU LS00 RDY3 ASC 08,E032 LP NOT RDY/ DMD3 ASC 09,E036 DEMAND BUSY/ FWAA EQU * END 50ÿÿ ÿý # ÿ02631-18001 1748 S 0146 DIAGNOSTICS FOR 2631A/2635A             H0101 ÞsþúASMB,A,L,B,N 02631-19001 771110-2 * ^ * OPTION N WILL CREATE A 2631A DIAGNOSTIC * OPTION Z WILL CREATE A 2635A DIAGNOSTIC * ********** 2631-35 DIAGNOSTIC NOV 10 77 ********** HED GENERAL OPERATING PROCEDURE ORG 0 SUP * GENERAL OPERATING PROCEDURE * * A. LOAD DIAGNOSTIC CONFIGURATOR AND SET IT UP * (SEE DIAGNOSTIC CONFIGURATOR MANUAL). * B. LOAD DIAGNOSTIC MAIN PROGRAM * C. LOAD ADDRESS 100B. * D. LOAD SWITCH REG. WITH SELECT CODE AND OPTIONS * * IF BIT SET: * 15-14 = INTERFACE SELECT * * 00 = 12531D-12880 * 01 = 12845B * 10 = 12966A * 11 = 59310A * * 13-11 = RESERVED * 10 = INHIBIT ENQ-ACK HAND SHAKE * 9-6 = DEVICE BAUD RATE (12966A, 12531D ONLY) * * 0000 = EXTERNAL BAUD SELECTION * 0001 = 50 BAUD * 0010 = 75 BAUD * 0011 = 110 BAUD* * 0100 = 134.5 BAUD * 0101 = 150 BAUD* * 0110 = 300 BAUD* * 0111 = 600 BAUD * 1000 = 900 BAUD * 1001 = 1200 BAUD* * 1010 = 1800 BAUD * 1011 = 2400 BAUD* * 1100 = 3600 BAUD * 1101 = 4800 BAUD * 1111 = 9600 BAUD * * *IF 12531D, ONLY THESE MAY BE SELECTED * ALSO SELECTABLE ON FRONT PANEL OF PRINTER * WHEN SELECTING EXTERNAL BAUD. * * IF 59310A IS SELECTED INTERFACE * * 9-6 = PRINTER ADDRESSåIþú * * * 0-5 = DEVICE SELECT CODE * * E. PRESS RUN AND WAIT FOR HALT 107074. * F. LOAD SWITCH REGISTER * * NOTE: IF NO SWITCH SELECTION IS MADE(SW. REG. = 0) * PROGRAM WILL DEFALT TO USER CONTROL. * IF ANY SWITCHES ARE SET ALL TEST S WILL INITIALLY * BE SELECTED. * * IF BIT SET: * 15 = HALT AT END OF EACH TEST * 14 = SUPRESS ERROR HALTS * 13 = LOOP ON LAST TEST * 12 = LOOP ON DIAGNOSTIC * (SUPPRESS ALL OPERATOR INTERVENTION) * 11 = SUPRESS ERROR MESSAGES * 10 = SUPRESS NON-ERROR MESSAGES * 9 = GO TO USER CONTROL SECTION * AT END OF PRESENT TEST * 8 = SUPPRESS OPERATOR INTERVENTION TESTS * 7 = DO SHORT FORM OF DIAGNOSTIC * 6-5 = PRINT FONT SELECT * * 00 = PRINT IN NORMAL DEFALT * 01 = PRINT IN EXPANDED DEFALT * 10 = PRINT IN COMPRESSED DEFALT * 11 = CYCLE THU NORMAL, EXPANDED * AND COMPRESSED BACK TO NORMAL * ON COMPLETION OF EACH PASS. * * 4 = RESERVED * 3 = SUPPRESS CHAR "#" AND LOWER CASE "J" IN TEST 7 * 2 = SUPPRESS CHAR "H" AND "I" IN TEST 7 * 1 = 8TH BIT INSTEAD OF SO * 0 = SELECT NEW PRIMARY LANGUAGE AT END OF PASS * * * G. DO NOT RESET ADDRESS TO 2000B. PRESS RUN. * DIAGNOSTIC WILL BEGIN EXECUTION. * H. IF HALT 102075 (USER SELECTION REQUEST) * MAKE THE FOLLOW TEST SELECTIONS. * * IF BIT SET: * A-REGISTER * 0 = TEST 00 BASIC I/O TEST * 1 =Œ'þú TEST 01 SELF TEST AND HP-IB PROTOCOL * 2 = TEST 02 MANUAL CONTROL TEST * 3 = TEST 03 RIPLE PRINT TEST * 4 = TEST 04 TRIANGLE PRINT TEST * 5 = TEST 05 VERTICAL FORMAT TEST * 6 = TEST 06 BI-DIRECTIONAL PRINT TEST * 7 = TEST 07 DOT MATRIX TEST * 8 = TEST 08 CHARACTER SET TEST * 9 = TEST 09 DMA (DCPC) TEST * 10 = TEST 10 FAST SKIP OVER BLANKS TEST * 11 = TEST 11 HORIZONTAL TAB TEST * 12 = TEST 12 LINE DENSITY TEST * 13 = TEST 13 AUTO UNDER LINE TEST * 14 = TEST 14 PRIMARY SECONDARY SELECT TEST * 15 = TEST 15 PRIMARY-SECONDARY INTERMIX TEST * B-REGISTER * 0 = TEST 16 SO/SI/BS TEST * 1 = TEST 17 INTERMIX PRINT FONT TEST * 2 = TEST 18 ON LINE OFF LINE TEST * 3 = TEST 19 SLEW RATE TEST * 4 = TEST 20 PRINT SPEED TEST * * * * * I. TO RESUME DAIGNOSTIC - GO TO STEP F(DO NOT RESET * ADDRESS TO 2000B). * J. TO RESTART WITH SAME SELECT CODE - LOAD ADDRESS 2000B * GO TO STEP F. * K. TO RECONFIGURE TO A NEW I/O INTERFACE SELECT CODE * AND/OR SELECT DIFFERANT OPTIONS - GO 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 * * CONTROL PROGRAM HALT MESSAGES * * 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 BAD INTERFACE SELECT * 102071 RESERVED * 1020ž©þú70 RESERVED * * 106077 TRAP CELL HALT * * * HED PROGRAM ORGANIZATION CHART * ******************************************* * * CONFIGURATOR 100B * * * LINKAGE TABLE * * ******************************************* * * EXECUTIVE 130B * * * LINKAGE * * ******************************************* * * CONSTANTS 150B * * * AND * * * STORAGE * * ******************************************* * * 2000B * * * EXECUTIVE CONTROL * * * * * ******************************************* * * IF USED * * * BASIC I/O TESTS (TEST 00) * * * ZCEND * * ******************************************* * * TABLE OF TEST POINTERS * * * TABLE OF I/O INSTR POINTERS * * ******************************************* * * * * * * * * * * * * * * * * * MAIN DIAGNOSTICS (1-31) * * * * * * * * * * * * * * * * * ******************************************* * * * * * * * * vkþú* * * * * * * HED 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 IBI EQU 10B * * 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 IFN DSNL OCT 105006 DIAGNOSTIC SERIAL NUMBER 2631 XIF IFZ DSNL OCT 105007 DIAGNOSTIC SERIAL NUMBER 2635 XIF FMTR BSS 1 FORMATTER * * * CONTROL LINKAGE AND DATA REFERENCES * CFIG DEF ZCONF CONFIGURATION SECTION MSGC DEF ZMSGC MESSAGE WITH NO HALT MSGH DEF ZMSGH MESSAGE WITH HALT ERMS DEF ZERMS ERROR MESSAGE SWRT DEF ZSWRT SWITCH REGISTER CHECK ROUTINE TSTN OCT 0 CURRENT TEST NUMBER EXRT DEF ZEXRT RETURN TO CONTROL PROGRAM TCJI DEF ZTCJI PUT JSB IN TRAP CELL * * * * * * * * HED EXECUTIVE CONTROL ORG 2000B ZSTEX CLC INTP,C TURN I/O SYSTEM OFF JSB MSGC,I DO CRLF DEF ZRTLF JSB MSGC,I DEF H027 CLA CLEAR PASS STA ZEOLC COUNT LDB BT9 CHECK FO»ÒþúR USER SELECTION REQ JSB SWRT,I JMP ZUSR IT'S USERS CHOICE ZNUSR LDA STDA GET STANDARD TEST RUN LDB STDB * JMP ZEXC * ZUSR LIA 01 GET SWITCH REG. LDB BT9 BIT 9 CMB AND B CLEAR BIT 9 OTA 01 LDA ZSINA RETRIEVE PREVIOUS RUN LDB ZSINB HLT 75B WAIT FOR USER INPUT NOP NOP NOP ZEXC STA ZUINA SAVE STB ZUINB USER STA ZSINA INPUT STB ZSINB PROGRAM LDB ZSW9 CHECK IF BT9 IS DOWN JSB SWRT,I JMP ZUSR NO GO AND WAIT LDA RSS GET LANGUAGE FLAG LDB BT0 CHECK BIT ZERO JSB SWRT,I FOR LANGUAGE. CLA STA ZPFN0 SET LANG. FLAG CCA SET TEST NUMBER STA TSTN =-1 CLA STA ZTSTA CLEAR TEST RUN FLAG * * SKP ZEXCL LDA ZUINA RESTORE A REG. LDB ZUINB RESTORE B REG. ERA,RAL ROTATE ERB FIRST ERA TEST BIT STA ZUINA SAVE POSITIONS STB ZUINB ISZ TSTN MOVE TEST UP ONE NOP ZXCL1 LIA 01 GET THE CONTENTS OF THE SR. STA ISWR AND PUT IT IN INTERNAL SR. LDA TSTN ADA TSTP GET IT'S LDA A,I ADDRESS CPA ZBM1 IS IT END OF LIST JMP ZEOL YES LDB ZUINB SSB,RSS SHOULD IT BE RUN? JMP ZEXCL NO STA ZTSTA YES - SAVE TEST ADDRESS JSB ZITCH INITIALIZE TRAP CELL HALTS LDA OCMD JSB AOUT SET INTERFACE FOR OUT PUT JSB ZTSTA,I GO DO TEST ZEXRT LDA TSTN DISPLAY TEST NUMBER IF HALTED LDB ZSW15 CHECK FOR HALT AT END OF TEST JSB SWRT,I HLT 76B YES WAIT FOR OPERATOR LDB ZSW9 CHECK FOR ABORT JSB SWRT,I JMP ZUSR YES SZA JSB ZPFNT CHOSE LANGUAGE ROM LDB »`þúZSW13 CHECK FOR LOOP ON ROUTINE JSB SWRT,I JMP ZXCL1 YES - LOOP JMP ZEXCL CONTINUE * ZEOL LDA ZTSTA CHECK IF ANY TESTS WERE RUN SZA,RSS ? JMP ZNUSR NO SO PICK UP STANDARD RUN LDA ZEOLC UP DATE PASS COUNT INA STA ZEOLC CLE LDB ZPSCA GET PASS COUNT ADB ZB2 ADDRESS JSB I2AS,I CONVERT IT JSB MSGC,I CALL PRINT ROUTINE ZPSCA DEF ZPSC LDB ZSW12 CHECK FOR LOOP ON DIAG. JSB SWRT,I JMP ZXCL2 YES LDA ZEOLC HLT 77B NO WAIT AND DISPLAY PASS COUNT ZXCL2 LDA ZSINA RESTORE ORIGINAL LDB ZSINB PROGRAM JMP ZEXC DO IT ALL AGAIN * * MESSAGE OUTPUT WITH OUT HALT * ZMSGC NOP ENTRY JSB ZMSG OUTPUT MESSAGE OCT 2000 SWITCH 10 CHECK LDA 112B CHECK FOR NO CONSOLE SZA,RSS JMP ZMS02 NO CONSOLE ZMS01 LDA ZSAVA JMP ZMSGC,I RETURN TO CALLER ZMS02 LDA TSTN CHECK TEST NUMBER CPA BT1 IF TEST 2 JMP *+2 MUST HALT JMP ZMS01 NO NEED TO LDA ZMSGC STA ZMSGH SET RETURN JMP ZMS03 * * MESSAGE OUTPUT WITH HALT * ZMSGH NOP ENTRY JSB ZMSG OUTPUT MESSAGE OCT 2000 SWITCH 10 CHECK ZMS03 LDA ZHLT GET HALT CODE STA *+2 PUT IT IN PLACE LDA ZSAVA RESTORE A REGISTER NOP HALT FOR DISPLAY JMP ZMSGH,I RETURN TO CALLER * * ERROR MESSAGE WITH HALT * ZERMS NOP ENTRY JSB ZMSG OUTPUT MESSAGE OCT 4000 SWITCH 11 CHECK CLA LDB ZSW14 CHECK SWR BIT 14 TO SUPPRESS JSB SWRT,I HALT STA ZHLT PUT HALT IN PLACE LDA ZSAVA RESTORE A & B LDB ZSAVB ZHLT NOP WAIT FOR OPERATOR JMP ZERMS,I RETURN TO CALLER * * CHANGE PRIMARY LANGUAGE AS INDICATuÿþúED BY BIT 0 * ZPFNT NOP LDA OCMD JSB AOUT JUST IN CASE PRESET WAS SET ZPFN0 NOP CHECK FOR PRIMAY LAG. JMP ZPFN2 JMP ZPFN1 ROM0 NOP LDA ROM0 STA ZPFNT ZPFN1 LDA .5 LDB .@ JSB ESCAP SET ROM 0 AS PRIMARY LDA .6 LDB A.A JSB ESCAP ROM 1 AS SECONDARY JMP ZPFNT,I ZPFN2 LDA .5 LDB A.A JSB ESCAP SET ROM 1 AS PRIMARY LDA .6 LDB .@ JSB ESCAP ROM 0 AS SECONDARY JMP ZPFNT,I SKP * OUTPUT MESSAGE * ZMSG NOP CLF 0 INTERRUPTS HAVE GOT TO BE OFF STA ZSAVA SAVE A AND B REGISTERS STB ZSAVB LDB ZMSG,I GET SWITCH REGISTER BIT LDA ZMSG ADA ZBM2 DECREMENT RETURN ADDRESS STA ZMSG JSB SWRT,I CHECK TO SUPPRESS MESSAGE JMP ZMSG0 YES LDA ZMSG,I CHECK IF ERROR LDA A,I LDA A,I IF SO ALF,ALF AND ZB177 CPA ZA.E JSB ZCFTN CHECK TO OUTPUT TEST NUMBER LDA ZMSG,I NO RETRIEVE FORMAT LDB A,I ADDRESS CLA,CLE JSB FMTR,I CPA D# RETURN FOR NUMBER? JMP *+2 JMP ZMSG0 NO CLA,INA YES, MAKE IT DECIMAL LDB ZSAVB LOAD NUMBER JSB FMTR,I ZMSG0 LDA ZMSG,I CONVERT HALT CODE LDB A,I FROM ASCII STRING CCA,CCE JSB AS2N,I STA ZN2AO SAVE RESULT AND ZB300 DECODE LDB ZH2 HALT CODE CPA ZB100 LDB ZH6 CPA ZB200 LDB ZH3 CPA ZB300 LDB ZH7 LDA ZN2AO GET HALT NUMBER AND ZB77 IOR B STA ZHLT SAVE IT ISZ ZMSG,I ADJUST RETURN POINTERS ISZ ZMSG ISZ ZMSG ISZ ZMSG LDA ZSAVA RESTORE A AND B REGISTERS LDB ZSAVB JMP ZMSG,I * * SKP ZCFTN NOP LDA TSTN GET TEST NUMBER CPA ZCFTT ¹&þú IS IT THE SAME ONE? JMP ZCFTN,I YES SKIP OUTPUT STA ZCFTT NO - THEN UPDATE IT LDB ZTSTN CLE JSB I2AS,I CONVERT IT AND PUT IN STRING CLA DO A CRLF JSB SLOP,I CLA,CLE INDICATE START OF FORMAT LDB ZTSTF JSB FMTR,I JMP ZCFTN,I RETURN SKP * ******** HP-IB DRIVER MODUAL MARCH 08 77 CGG * * * * * * ROUTINE LISTEN USED TO ISSUE LISTEN REQUEST TO HP-IB DEVICE * THE ROUTINE RETURNS WITH THE BUS SET TO DATA MODE, DEVICE * SET TO LISTEN MODE, AND PCA SET TO TALK. ALL TRANSFERS ARE * FLAGED BY THE OUTPUT REGISTER ACCEPTED INTERUPT. THE MODES * OF TRANSFER ARE INDICATED BY THE CONTENTS OF THE A REG. * AS: * A=1 BYTE TRANSFER - RECIVE INTERUPT ON,EACH * A=2 WORD TRANSFER - RECIEVE INTERUPT ON EACH * WORD TRANSFERED. * A=3 DMA TRANSFER - ENABLE DMA EXECUTION * * * CALLING SEQUENCE: * * JSB LSTN * DEF *+N RETURN ADDRESS * DEF MYLSTN DEVICE LSTN ADDRESS * DEF MYSEC1 DEVICE SECONDARY COMMAND 1 * DEF MYSEC2 DEVICE SECONDARY COMMAND 2 * * * * * * ROUTINE TALK USED TO ISSUE TALK REQUEST TO HP-IB DEVICE * THE ROUTINE RETURNS WITH THE BUS SET TO DATA MODE, DEVICE * SET TO TALK MODE, AND PCA SET TO LISTEN. ALL TRANSFERS ARE * FLAGED BY THE INPUT REGISTER LOADED INTERUPT. THE MODES * OF TRANSFER ARE INDICATED BY THE CONTENTS OF THE A REG. * AS: * A=1 BYTE TRANSFER - RECIVE INTERUPT ON,EACH * A=2 WORD TRANSFER - RECIEVE INTERUPT ON EACH * WORD TRANSFERED * A=3 DMA TRANSFER - ENABLE DMA EXECUTION * * * CALLING SEQUENCE: * * JSB Œ”þúTALK * DEF *+N RETURN ADDRESS * DEF MYTALK DEVICE TALK ADDRESS * DEF MYSEC1 DEVICE SECONDARY COMMAND 1 * DEF MYSEC2 DEVICE SECONDARY COMMAND 2 * * * * SKP TALK NOP ENTRY POINT FOR DEVICE TO TALK * STA TRANS SAVE TYPE OF TRANSFER LDA CTLK GET ENABLE TALK COMMAND STA CMD4 AND PUT IT IN SLOT LDA MTA SET UP MY TALK ADDRESS STA MLTA COMMAND BITS. LDA DMAIN SET UP DMA COMMAND STA DMA FOR INPUT. LDA IRL ENABLE INPUT REGISTER LOADED STA INOUT FLAG FOR INPUT. LDA I.IAC PUT A DUMMY LIA FOR STA CMD5 TALK MODE JMP TL0 * * LSTN NOP ENTRY POINT FOR DEVICE TO LISTEN * STA TRANS SAVE TYPE OF TRANSFER LDA LSTN PUT RETURN ADDRESS STA TALK IN TALK RETURN LDA CLST GET ENABLE LISTEN COMMAND STA CMD4 AND PUT IT IN SLOT. LDA MLA SET UP MY LISTEN STA MLTA ADDRESS COMMAND BITS. LDA WORD SET UP DMA COMMAND STA DMA FOR OUTPUT. LDA ORA ENABLE OUTPUT REGISTER ACCEPTED STA INOUT FLAG FOR OUTPUT. CLA CLEAR THE DUMMY LIA STA CMD5 FROM THE TALK MODE. * TL0 JSB IBCL CLEAR INTERFACE JSB CMND OUTPUT A COMMAND- CMD1 OCT 5 ACTIVATE CONTROLLER FUNCTION. JSB CMND OUTPUT A COMMAND- CMD2 OCT 20267 SET COMMAND MODE, INITIALIZE FLAGS. * LDB TALK,I GET RETURN ADDRESS ISZ TALK MOVE ADDRESS POINTER TO GET LDA TALK,I TALK/LISTEN ADDRESS. LDA A,I IOR MLTA PUT ON MTA OR MLA BITS NOP DEBUG SLOT TL1 JSB OUTA OUTPUT TO DEVICE. ISZ TALK MOVE ADDRESS POINTER CPB TALK IF EQUAL TO RETURN ADDR. JMP TL2 THE WERE DONE. fþú LDA TALK,I GET SECONDARY LDA A,I COMMAND. IOR SCG ADD SECONDARY COMMAND BITS NOP DEBUG SLOT JMP TL1 * TL2 LDA CMD4 GET COMMAND FOR DATA MODE. IOR BYTE ASSUME BYTE TRANSFER FIRST. LDB .2 IF TRANSFER TYPE CPB TRANS IS A 2- IOR WORD ADD ON WORD BIT. INB CPB TRANS IF EQUAL TO A 3- IOR DMA SET FOR DMA TRANSFER. IOR INOUT SET ORA OR IRL FLAGS STA CMD4 PUT COMMAND IN PLACE. JSB CMND OUTPUT HPIB COMMAND- CMD3 OCT 7 INITIALIZE FLAGS JSB CMND OUTPUT A COMMAND- CMD4 NOP SET TO TALK OR LISTEN. LDA MLTA CHECK STATUS TALK OR LDB MLTA LISTEN BITS JSB ISTAT FOR PROPER MODE. CMD5 NOP SLOT FOR DUMMY LIA CLA CLEAR A TO INICATE NO ERRORS JMP TALK,I RETURN * * IRL OCT 40000 ORA OCT 20000 WORD OCT 4000 DMAIN OCT 6000 BYTE OCT 200 CLST OCT 110 CTLK OCT 120 MLA OCT 40 MTA OCT 100 SCG OCT 140 MLTA NOP INOUT NOP DMA NOP TRANS NOP * IB.TO DEC -10000 DRIVER TIMO-OUT VALUE DEFAULT=10 SEC. * * ROUTINE TO ACTUALLY DUMP COMMAND TO 59310 * CMND NOP STA CSAV SAVE REG. A LDA CMND,I GET PARAMETER CND1 STF CH SET BOARD TO COMMAND MODE CND2 OTA CH DUMP COMMAND NOP DEBUG SLOT ISZ CMND BUMP RETURN LDA CSAV RESTOR REG A JMP CMND,I RETURN CSAV NOP *********************************************** * * ROUTINE TO ISSUE CLEAR TO BOARD AND BUS. * IBCL NOP CLA CLEAR STATUS STA IBSTA JSB CMND GO DUMP COMMAND OCT 1 CLEAR COMMNAD LDA BT0 WAIT FOR IFC TO SETTLE JSB TMRR,I JMP IBCL,I RETURN TO CALLER * * ROUTINE TO INTIATE PRARLLEL POLL AND RETURN * POLL RESULTS * POLL NOP ENTRF­HFBY JSB CMND OCT 70 REQUEST PARALLEL POLL JSB CMND s¨Hÿÿ ÿý( ÿ02631-18002 1748 S 0146 DIAGNOSTICS FOR 2631A/2635A             H0101 ßsþú OCT 6 JSB LIA STROBE IN DATA STA B PP1 STF CH GET CONTROL MODE PP2 LIA CH GET STATUS STA IBSTA AND M17 SAVE PPOLL RESULTS SZA,RSS JMP POLL+1 CPA HT JMP POLL+1 JMP POLL,I RETURN RESPONCE TO CALLER * * ROUTINE TO PUT BOARD INTO ASCII MODE. * * ASCON NOP ENTRY JMP CMND OCT 600 SET ASCII MODE JMP ASCON,I RETURN TO CALLER * * ASCOF NOP JSB CMND GO TURN OFF ASCII MODE OCT 200 JMP ASCOF,I RETURN TO CALLER * * * ROUTINE TO EVALUATE IB STATUS AFTER COMMAND CHANGE * * ASSUMES EXPECTED STATUS IS IN B REG WITH * DESIRED MASK VALUE IN VARIABLE SMASK. * RETURNS IF VALID STATUS -- FATAL HALT IF NOT * ISTAT NOP ENTRY STA SMASK SAVE STATUS MASK IS1 STF CH GET COMMAND MODE IS2 LIA CH GET STATUS WORD STA IBSTA NOP DEBUG SLOT AND SMASK SAVE DESIRED VALUES CPA B CHECK TO SEE IF VALID JMP ISTAT,I YEP-- RETURN LDA IBSTA JSB ERMS,I SEND OUT ERROR MESSAGE DEF E051 JMP ISTAT,I * SMASK NOP * OUTA NOP STA OSAV STB BSAV1 LDB IB.TO GET TIME OUT VALUE STB SAV2 OA0 CLC CH OA1 OTA CH,C DUMP DATA/COMMAND OA3 JSB SFS IS IT ACCEPTED. JMP TOUT NO- GO WAIT OA4 LDA OSAV RESTORE REG A LDB BSAV1 JMP OUTA,I RETURN BSAV1 NOP * TOUT CLA,INA GO WAIT 1 MIL. SEC. JSB TMRR,I ISZ SAV2 JMP OA3 JSB ERMS,I HP-IB TIME OUT. DEF E053 JMP OA4 * * OSAV NOP SKP * * **************************************************************** * ZSAVA NOP ZSAVB NOP ZEOLC NOP ZTSTA NOP ZSINA NOP ZSINB NOP ZUINA NOP ZUINB NOP ZBTMP NOP Z.60 OCT 60 ZIOM OCT 177700 ZSW15 OCT 100000 ZB300 OCT 300 ZH2 OCT 1020š}þú00 ZH6 OCT 106000 ZH3 OCT 103000 ZH7 OCT 107000 ZCFTT DEC -1 ZTSTN DEF ZTSTF+3 ZTSTF DEF *+1 ASC 8,TEST XXXXX DEC/ ZRTLF ASC 1,// ZPSC ASC 8,PASS XXXXX DEC/ ZA.E OCT 105 ZHDMP DEF H027 RSS RSS HED GENERAL ROUTINES * * ZN2AO NOP STA ZIOAD SAVE NUMBER AND ZB7 CONVERT FIRST IOR Z.60 NUMBER STA B SAVE IT LDA ZIOAD GET RAR,RAR SECOND RAR NUMBER AND ZB7 CONVERT IOR Z.60 IT ALF,ALF MOVE TO UPPER HALF IOR B ADD LOWER JMP ZN2AO,I AND RETURN * * * * SWITCH REGISTER CHECK * ZSWRT NOP STA ZN2AO SAVE A REGISTER LIA SW GET SWITCH REG. AND B MASK OUT BIT SZA,RSS IS IT UP? ISZ ZSWRT NO LDA ZN2AO RESTORE A REGISTER LIB SW LET B = SWITCH REGISTER JMP ZSWRT,I RETURN TO CALLER * * * * INITIALIZE TRAP CELL HALTS * ZITCH NOP LDA ZTSH GET STARTING TRAP CELL HALT LDB ZB2 GET FIRST TRAP CELL LOCATION ZTSHL STA B,I PUT IT IN PLACE CPB ZB77 AM I FINISHED JMP ZITCH,I YES INB NEXT ADDRESS JMP ZTSHL * ZTSH OCT 106077 * * * SKP * PUT JSB INSTRUCTION IN TRAP CELL * ZTCJI NOP LDB ZJSBI GET INSTRUCTION STB ZIOSC,I PUT IT IN TRAP CELL LDA ZTCJI,I GET LOCATION STA 3B SAVE IT FOR JSB INSTRUCTION ISZ ZTCJI ADJUST RETURN JMP ZTCJI,I RETURN TO CALLER * ZJSBI JSB 3B,I JSB INSTRUCTION * * * INITIALIZE SELECT CODE I/O INSTRUCTIONS * ZISC NOP STA SC STA ZIOSC SAVE SELECT CODE STB ZIOAD SAVE TABLE ADDRESS ZIOL LDB ZIOAD,I GET ADDRESS OF LOCATION CPB ZBM1 IS IT THE TERMINATOR JMP ZISC,I YES RETURN TO CALLER LDA B,I NO - GET CON{‘þúTENTS AND ZIOM MASK OFF OLD SELECT CODE IOR ZIOSC ADD IN NEW SELECT CODE STA B,I RESTORE IT ISZ ZIOAD MOVE TO NEXT ADDRESS JMP ZIOL DO IT * ZIOSC NOP ZIOAD NOP * * * * * * * * * * * * HED BASIC I/O TESTS CH EQU 10B * TST00 EQU * NOP LDA USSC GET CELL LOCATION SSA,RSS JMP T00.1 RAL SSA JMP TST00,I T00.1 LDA USSC AND ZB77 MASK SELECT CODE 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 ZBI01 JSB ERMS,I EO00 CLF 0-SFC 0 ERROR DEF E000 ZBI01 SFS INTP JMP ZBI02 JSB ERMS,I EO01 CLF 0-SFS 0 ERROR DEF E001 ZBI02 STF INTP SFC INTP JMP ZBI03 CLF INTP TURN OFF INTS JSB ERMS,I EO02 STF 0-SFC 0 ERROR DEF E002 ZBI03 SFS INTP JMP ZBI04 CLF INTP TURN OFF INTERRUPTS JMP ZBIO2 ZBI04 CLF INTP TURN OFF INTS JSB ERMS,I EO03 STF 0-SFS 0 ERROR DEF E003 JMP ZBIO2 * SKP * CARD FLAG CHECK * ZBIO2 EQU * ZBS21 STF CH ZBS22 CLF CH ZBS23 SFC CH RSS JMP ZBS24 JSB ERMS,I EO05 CLF CH-SFC CH ERROR DEF E005 ZBS24 SFS CH JMP ZBS25 JSB ERMS,I EO06 CLF CH-SFS CH ERROR DEF E006 ZBS25 STF CH ZBS26 SFC CH JMP ZBS27 JSB ERMS,I EO07 STF CH-SFC CH ERROR DEF E007 ZBS27 SFS CH RSS JMP ZBIO3 JSB ERMS,I EO10 STF CH-SFS CH ERROR DEF E010 JMP ZBIO3 * * * * * * * * * * * * * * * * * * * * 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 * ZB3E NOP CLF INTP TURN OFF INTS JSB ERMS,I EO04 DEF E004 * * * * * * * * * * * * * * * * * * * * * * * * SKP * * SELECT CODE SCREEN TEST * ZBIO4 LDB ZB10 START WITH LOWEST ADDRESS ZB40 LDA USSC GET SELECT CODE AND ZB77 CPB A IS IT THE CH? JMP ZBCLF+1 YES - SKIP TEST LDA ZBSTF SET UP AND ZIOM IOR B STF INSTRUCTION STA ZBSTF PUT IT IN PLACE LDA ZBCLF SET UP AND ZIOM IOR B CLF INSTRUCTION STA ZBCLF PUT IT IN LINE ZBS41 CLF CH CLEAR CHANNEL FLAG ZBSTF STF CH EXECUTE STF CH INSTRUCTION ZBS42 JSB SFC TEST CHANNEL FLAG JMP ZB41 ZBCLF CLF CH CLEAR TEST FLAG CPB ZB77 IS TEST FINISHED? JMP ZBIO5 YES INB NO JMP ZB40 DO NEXT CHANNEL * ZB41 STB ZBTMP SAVE NUMBER LDA B CONVERT CH FOR MESSAGE JSB ZN2AO STA E011+5 LDA ZBTMP RETRIEVE NUMBER JSB ERMS,I EO11 DEF E011 * E011 ASC 14,E011 STF XX SET CARD FLAG// * * * * * * * * * * * 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 * DEæ%þúF *+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 ZBI06 JSB ERMS,I EO14 NO INT DEF E014 JMP ZBIO6 ABORT REST OF SECTION ZBI06 LDA ZBTMP CHECK FOR CORRECT INTERRUPT CPA ZB2 ? JMP ZBS53 JSB ERMS,I EO26 INT EXECUTION ERROR DEF E026 ZBS53 CLF CH TURN OFF CH FLAG JMP ZBIO6 GO TO NEXT SECTION * ZBD5 DEF ZBF5-1 ZBD5A DEF ZBF5+1 * * * * * * * * * * * SKP ZBI5 NOP CLF INTP TURN I/O SYSTEM OFF LDA ZBD5 CHECK TO SEE IF ALL CPA ZBF5 INSTRUCTION COMPLETED JMP ZBI07 YES JSB ERMS,I EO12 INT DURING HOLD OFF DEF E012 ZBI07 LDA ZBD5A CHECK RETURN ADDRESS LDB CPTO IF 210X SSB ADD ONE INA CPA ZBI5 JMP ZBI5A JSB ERMS,I EO15 INT RTN ADDR ERROR DEF E015 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 JSB ERMS,I EO13 SECOND INT OCURRED DEF E013 * * * * * * * * * * * * * * * * 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 aLþú CLF INTP TURN OFF INTS JMP ZBIO7 * * ZBI61 NOP CLF INTP TURN OFF INTS JSB ERMS,I EO16 CLC CH ERROR DEF E016 JMP ZB60 * ZBI62 NOP CLF INTP TURN OFF INTS JSB ERMS,I EO17 CLC 0 ERROR DEF E017 JMP ZBIO7 * * * * * * * * * * * * * * * * SKP * EXTERNAL & INTERNAL PRESET TEST * ZBIO7 LDB ZS812 CHECK TO SUPPRESS JSB SWRT,I ? JMP HO25 YES - SKIP PRESET TEST HO24 JSB MSGC,I TELL OPERATOR DEF H024 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 CLF INTP TURN OFF ONTPS ZBS72 JSB SFS 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 * * * * * * * * * * * * * * * * * * * * * * * SKP ZB70 SLA,RSS CHECK FOR ERRORS JMP ZBI08 JSB ERMS,I EO22 DID NOT CLEAR CONTROL DEF E022 ZBI08 RAR SLA,RSS JMP ZBI09 JSB ERMS,I EO23 I/O LINES NOT CLEAR DEF E023 ZBI09 RAR SLA,RSS JMP ZBI10 JSB ERMS,I EO20 FLAG NOT SET DEF E020 ZBI10 RAR SLA,RSS JMP HO25 JSB ERMS,I EO21 DID NOT DIABLE INTS DEF E021 HO25 JSB MSGC,I TELL OPERATOR DEF H025 BASIC I/O IS COMPLETE JMP ZBIO,I RETURN TüfþúO CALLER * ZBI70 NOP CONTROL FAILED CLF INTP TURN OFF INTPS INA JMP ZB70 * * * * * * * * * * * * * * * * SKP 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 DEF ZBS51 DEF ZBS52 DEF ZBS53 DEF ZBS61 DEF ZBS62 DEF ZBS63 DEF ZBS64 DEF ZBS65 DEF ZBS66 DEF ZBS71 DEC -1 * ZCEND EQU * * * * * * * * * * * * * * * * * * SKP ************************************************************************ * * HP-IB I/O TEST (FOR FUTURE DEVELOPEMENT) * ************************************************************************ SPC 1 ORG 6100B IBEND EQU * * * * * HED CONSTANTS AND STORAGE * * * * EXECUTIVE LINKAGE TABLES * * * ORG 140B IOIP DEF IODS POINTER TO I/O INSTR. ADDR. TBL TSTP DEF TSTD POINTER TO TEST ADDR. TBL HDMP NOP FLAG FOR PRINTING HEADER MESSAGE STDA OCT 177777 DEFALT TESTS 0-15 STDB OCT 37 DEFALT TESTS 16-20 TST.0 DEF TST00 SC NOP CKBTT DEF CKBTP * ORG 150B * ST.1 NOP 12845B STATUS OR SPECIAL COMBINED STATUS AS FOLLOWS * * * (BYTE 0) 15 - 1 = ALTERNATE SET AVAILABLE * 14 - 1 = SO/SI SELECT 0 = 8TH BIT SELECT * 13 - SECODARY SET 0= ROM 1, 1= ROM 0 * 12 - PRIMARY SET 1= ROM 1, 0= ROM 0 * * (BYTE 1) 11 - PRESENT CHARACTER SET 0= ROM 0, 1= ROM 1 * 10 - 1 = UNDERLINE ENABLED * 9 - 1 = EXPANDED PRINT ENABLED * 8 - 1 = COMPRESSED PRINT ENABLED * * (BYTE 3) 7 - 1 = POWER ON 8 LPI DEFALT(2631 SPARE) * 6 - SPARE(2631 1 = AUTO-LF LOCK) * Yþú 5 - 1 = POWER ON COMPRESS PRINT DEFALT * 4 - 1 = POWER ON EXPANDED PRINT DEFALT * * (BYTE 5) 3 - 1 = 12-INCH PAGE STRAP SELECTED * 2 - 1 = PRINTER OUT OF PAPER * 1 - 0 = SELF TEST MALFUNCTION DETECTED * 0 - 1 = OUT-OF-PAPER RESTART PENDING * * ST.2 NOP BYTE 0 ST.3 NOP BYTE 1 ST.4 NOP BYTE 2 ST.5 NOP BYTE 3 ST.6 NOP BYTE 4 ST.7 NOP BYTE 5 ST.8 NOP HP-IB ONE BYTE STATUS * IBSTA NOP HP-IB DRIVER STATUS WORD IBCLR DEF IBCL HP-IB CLEAR ROUTINE LSTNR DEF LSTN HP-IB LISTEN ROUTINE TALKR DEF TALK HP-IB TALK ROUTINE PPOLL DEF POLL HP-IB POLL ROUTINE ICMND DEF CMND HP-IB COMMAND ROUTINE RIPL DEF RIPLE RIPPLE PRINT ROUTINE ITCH DEF ZITCH SET TRAP CELL HALTS STAT DEF STAT. BUSTA DEF STBUS STATI DEF ISTAT ISC DEF ZISC XPFNT DEF ZPFNT ROM.0 DEF ROM0 * * .M1 DEC -1 * OTA NOP I.OTA OTA 0 JMP OTA,I * OTA.C NOP I.OAC OTA 0,C JMP OTA.C,I * LIA NOP I.LIA LIA 0 JMP LIA,I * LIA.C NOP I.IAC LIA 0,C JMP LIA.C,I * SFS NOP I.SFS SFS 0 JMP SFS,I ISZ SFS JMP SFS,I * SFC NOP I.SFC SFC 0 JMP SFC,I ISZ SFC JMP SFC,I * STC.C NOP I.STC STC 0,C JMP STC.C,I * STC NOP .STC STC 0 JMP STC,I * CLC.C NOP I.CLC CLC 0,C JMP CLC.C,I * CLC NOP .CLC CLC 0 JMP CLC,I * CLF NOP I.CLF CLF 0 JMP CLF,I * * TSC EQU 10B TEST SELECT CODE * HLT0 OCT 106000 HLT1 OCT 106001 HLTSC NOP TMP NOP TMP1 NOP * * CNTR NOP .3 OCT 3 .7 OCT 7 .10 DEC 10 .11 DEC 11 .12 DEC 12 .13 DEC 13 .14 DEC 14 .100 DEC 100 .110 DEC 110 .150 DEC 150 .300 DEC 300 .1200 DEC 1200 .1870 DEC 1870 .2400 DEC 2400 .136K DEC 13600 .67K DEC 6700 .2£¢þú27K DEC 22000 B300 OCT 300 B500 OCT 500 B600 OCT 600 B1100 OCT 1100 B1300 OCT 1300 .5K DEC 5000 .10K DEC 10000 NBDP DEF NBDQ .M2 DEC -2 .M4 DEC -4 .M16 DEC -16 .M100 DEC -100 .ME3 DEC -5000 * PTM EQU 10B * ZS812 OCT 010400 BT0 OCT 1 BT1 OCT 2 BT2 OCT 4 BT3 OCT 10 BT4 OCT 20 BT5 OCT 40 BT6 OCT 100 BT7 OCT 200 BT8 OCT 400 BT9 OCT 1000 BT10 OCT 2000 BT11 OCT 4000 BT12 OCT 10000 BT13 OCT 20000 BT14 OCT 40000 BT15 OCT 100000 .M3 DEC -3 .M5 DEC -5 .M6 DEC -6 .M7 DEC -7 .M8 DEC -8 .M12 DEC -12 .M20 DEC -20 .M21 DEC -21 .M30 DEC -30 .M31 DEC -31 .M32 DEC -32 .M41 DEC -41 .M60 DEC -60 .M61 DEC -61 .M70 DEC -70 DM80 DEC -80 .M81 DEC -81 .M90 DEC -90 DM64 DEC -64 DM2 DEC -2 DM1 DEC -1 DM227 DEC -220 DM10 DEC -10 .M11 DEC -11 DM40 DEC -40 DM50 DEC -50 .63 DEC 63 .127 DEC 127 DM67 DEC -67 DM5K DEC -5000 BCM DEC -256 TIME1 DEC 10000 TIMOT NOP TIMIN NOP CCNT NOP CNTR1 NOP CNTR2 NOP SAVE1 NOP SAVE2 NOP SAV1 NOP SAV2 NOP PP/L1 NOP LINE LENGTH PP/L NOP NSPC NOP PFONT NOP PRINT FONT CONSTANT--DEFINED BY SR. PLINE NOP STORAGE FOR PRINT LINE LENGTH B37 OCT 37 B176 OCT 176 B177 OCT 177 B377 OCT 377 B7000 OCT 7000 B7760 OCT 7760 B760 OCT 760 B31 OCT 31 B11 OCT 11 B3000 OCT 3000 DASH OCT 55 A. OCT 56 .ESC OCT 33 ESCAPE ENQ OCT 5 ACK OCT 6 HT OCT 11 LF OCT 12 FF OCT 14 FORM FEED SI OCT 17 SHIFT IN .8BIT NOP EIGHT BIT DC1 OCT 21 X.OFF OCT 23 CONTROL S D# OCT 43 ASCII # DM120 DEC -120 .M121 DEC -121 DM136 DEC -136 DM135 DEC -135 DM45 DEC -45 D1 DEC 1 A.LJ OCT 152 LOWER CASE J CHAR NOP REPC NOP REPETITION COUNT * BUFB DEF *+1 A.A OCT 101 OCT 102 OCT 103 A.D OCT 104 OCT 105 OCT 106 OCT 107 3þúA.H OCT 110 A.I OCT 111 OCT 112 OCT 113 OCT 114 A.M OCT 115 OCT 116 OCT 117 OCT 120 OCT 121 OCT 122 OCT 123 OCT 124 OCT 125 OCT 126 OCT 127 A.X OCT 130 OCT 131 OCT 132 OCT 133 A.\ OCT 134 OCT 135 OCT 136 A._ OCT 137 A0 OCT 60 A1 OCT 61 A2 OCT 62 A3 OCT 63 A4 OCT 64 OCT 65 A6 OCT 66 OCT 67 A8 OCT 70 A9 OCT 71 OCT 72 OCT 15,12 * DMAH EQU 6 DMAL EQU 2 WCNT DEC -44 B100K OCT 100000 B204 OCT 204 * TOLZA NOP TOLZB NOP HED COMMONLY USED SUBROUTINES * * * PUT JMP INSTRUCTION IN TRAP CELL * CALLING SEQUENCE: * * JSB TCJMP PUT INST. IN TRAP CELL * DEF DESTINATION OF JMP (ADDRESS) * TCJMP NOP LDA JMPI GET JUMP INSTRUCTION STA SC,I PUT IT ISC 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 JMPIL,I JSB INSTRUCTION JMPIL NOP JUMP LOCATION * * * OUTPUT A REG. TO PTM * AOUT NOP STA SAVE KEEP THE CHARACTER STB SAVE2 CPA OCMD IS IT A COMMAND? JMP *+2 JMP NOCMD NO, OUTPUT A-REG LDA USSC SSA 12966/68? JMP USCTL YES, USE SPEC. 12966/68 LOGIC RAL IS IT A 12845 BOARD? SSA JMP AOUT,I YES--IGNORE COMMAND LDA SAVE T.SC1 JSB OTA NO -DO IT NOTEX LDA SAVE RETRIEVE CHARACTER LDB SAVE2 JMP AOUT,I AND RETURN NOCMD SSA CHECK FOR A PRINT COMMAND JMP PCMD OUT PUT PRINT COMMAND ALF,ALF UPPER CHR. FIRST AND B177 MASK OFF UNWANTED BITS SZA,RSS IS IT A CHARACTER JMP AOUT1 NO IOR .8BIT EN]oþúABLE 8 BIT IF SET LDB USSC CHECK RBL USSER SSB,RSS SELECTION JSB XENQ FOR SERIAL JSB A1PTM YES - TRANSFER IT AOUT1 LDA SAVE DO OTHER HALF AND B177 MASK OFF UPPER BITS SZA,RSS IS IT A CHARACTER JMP NOTEX NO IOR .8BIT ENABLE 8TH BIT IF SET LDB USSC CHECK RBL USSER SSB,RSS SELECTION JSB XENQ FOR SERIAL JSB A1PTM YES - TRANSFER IT JMP NOTEX NO-RETURN TO CALLER USCTL EQU * USE SPECIAL CONTROL LOGIC RAL CHECK FOR 59310 SSA JMP IBOUT GO DO HPIB CHARACTER OUTPUT. LDA OWD3 SET PARITY T.SC2 JSB OTA LDA OWD4A PUT IT IN TRANSMIT MODE JMP T.SC1 PCMD JSB A1PTM 12845B PRINT COMMAND JMP NOTEX * SAVE NOP COUT NOP STA PTEM LDA OCMD JSB AOUT LDA PTEM JSB AOUT JMP COUT,I PTEM NOP * * A1PTM NOP STA SAV7 SAVE A REG. STB SAV6 SAVE B REG NOP DEBUG LDB USSC SSB,RSS 12531D? JMP TSC11 YES RBL 59310? SSB,RSS JMP TOSC4 NO -- DO 12966 TSC14 CLC PTM TOSC1 OTA PTM,C OUTPUT TO HP-IB JMP TOSC2 TOSC4 JSB OTA GIVE DATA TO TERMINAL LDA OWD1 INSURE BOARD IN CHAR. MODE TSC12 JSB OTA LDA OWD5C CLEAR BUFFER FULL FLAG TSC11 JSB OTA TOSC2 JSB STC.C * CLA STA MWAIT CLEAR MILI-SEC WAIT COUNT LDA TIMOT SET UP LOOP COUNTER STA SAV5 TOSC3 JSB SFC * WAIT FOR JMP CBEF CHAR, XFERED, CLEAR BUF. EMPTY CLA,INA .TRAP JSB TMRR,I ONE MILSEC DELAY ISZ MWAIT NUMBER OF MILI-SEC WAIT CLO CLEAR OVERFLOW TO INDECATE WAIT ISZ SAV5 LOOP DONE? JMP TOSC3 GO CHECK FLAG BERR JSB ERMS,I GO REPORT ERROR DEF E052 ¢HFB JSB CKBTT,I RE-INTIALIZE INTERFACE LDA USSC CHECK FOR AN HP-IB SSA,RSS OHÿÿ ÿý) ÿ02631-18003 1748 S 0146 DIAGNOSTICS FOR 2631A/2635A             H0101 àsþú JMP CBEF RAL SSA,RSS JMP CBEF CLA,INA YES, THIS IS HP-IB JSB LSTNR,I GO AND RE-ADDRESS PRINTER DEF *+3 DEF LSTAD DEF SECON CBEF CLF PTM CLEAR INTFACE FOR IMMEDIATE TURN AROUND STO SET OVERFLOW TO INDECATE DATA TRANSFER JSB CBEFL LDB SAV6 RESTOR B REG. LDA SAV7 JMP A1PTM,I RETURN * RCVMK OCT 177377 RECEIVE MODE MASK MWAIT NOP SAV4 NOP SAV5 NOP SAV6 NOP SAV7 NOP OWD1 OCT 010040 ENABLE DEVICE STATUS INTERRUPTS OWD3 OCT 030027 CHAR, FRAME CONTROL WORD OWD4 OCT 040400 INTERFACE CONTROL WORD OWD4A OCT 0 TRANSMIT MODE CONTROL WORD OWD4B OCT 0 RECEIVE MODE CONTROL WORD OWD5 OCT 150077 INTERRUPT STATUS RESET WORD OWD5A OCT 050002 OWD5B OCT 050077 OWD5C OCT 050010 * * * GOTIM NOP JSB NOACK MUST BE OFF FOR ACCURACY LDA GOTM1 GET THE JUMP STA .TRAP AND PUT IN DRIVER CLA STA TOSC3+1 CLEAR EXIT JUMP STA TOSC2+2 CLEAR MWAIT INIT LDA NGACK RESTORE A REG JMP GOTIM,I * GOTM1 JMP *+1 JSB TCJI,I INITILIZE TRAP CELL FOR INTERRUPTS DEF GOTM2 TO THIS ADDRESS. LDA GOTM3 GET THE JUMP STA .TRAP PUT IT IN THE DRIVER STF 0 TURN ON INTR. CLA NOTM1 JSB TMRR,I START CLOCK'N JMP BERR GOTM2 NOP CLF 0 STA MWAIT STB GOTM4 JMP CBEF GOTM3 JMP *+1 LDA MWAIT LDB GOTM4 STF 0 JMP GOTM2,I * GOTM4 NOP * * NOTIM NOP JSB GOACK TURN ON ACK CLF 0 LDA NOTM1 STA .TRAP RETURN DRIVER TO NORMAL LDA GOTM3-1 STA TOSC3+1 LDA GOTM2+2 STA TOSC2+2 REINITIALIZE AOUT JSB ITCH,I SET TRAP CELL HALTS LDA NGACK RESTORE A REG. JMP NOTIM,I * * OUTPUT DATA PATTERN TABLE * * IF CHR. IS POS. OUTPUT BOT˜cþúH CHARACTERS * IF CHR. IS NEG. USE UPPER AS CHARACTER REP. COUNT * OPDPT NOP STB XTMP SAVE POINTER AS ADDRESS CCB SET FOR 2 CHARACTERS LDA XTMP,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 OPDP1 NO-SKIP SETUP IOR B377 * ALF,ALF * STA B * SET UP COUNT LDA XTMP,I * AND B177 * OPDP1 JSB AOUT * INB,SZB OUTPUT AGAIN? JMP OPDP1 YES ISZ XTMP NO-MOVE TO NEXT CHR. NOP JMP OPDPT+2 DO IT TO IT * * XTMP NOP * * OPPTM NOP STA TOLZA STB TOLZB LDA OCMD JSB AOUT JSB ROM.0,I SELECT ROM 0 FOR MESSAGE LDB TOLZB JSB OPDPT JSB RTLF JSB XPFNT,I RETURN TO ORIGINAL FONT LDA TOLZA JMP OPPTM,I * * INPUT TO A REG. FROM PTM * AINEC NOP LDA AINEC GET RETURN ADDRESS STA AIN STORE RETURN ADDRESS LDA ICME CALL FOR INPUT WITH ECHO JMP ECHEK AIN NOP LDA ICMD CALL FOR INPUT WITH NO ECHO ECHEK STA AECHO ECHO CHECK FOR DIFFERENT BOARDS RAL,CLE,RAL ELA SAVE ECHO BIT STB SAV27 LDA USSC SSA 12966/68? JMP UICTL YES, USE 12966/68 INPUT CONTROLS LDA AECHO TISC1 JSB OTA TISC2 JSB STC.C LDA TIMIN 50 MILLI SEC TIME OUT STA SAV5 JSB TCJMP SET THE TRAP CELL JMP DEF TISC4 FOR THE UPCOMEING STF 0 INTERRUPT. TISC3 CLA,INA JSB TMRR,I WAIT ONE MILSEC CLO ISZ SAV5 JMP TISC3 ABORT INPUT BERR1 JSB ERMS,I REPORT ERROR DEF E040 JMP ABINP ABORT INPUT TISC4 CLF 0 TURN OFF INTERRUPTS LDA 2 DO A QUICKIE RESTOR JOB STA SC,I ON THE TRAP CùcþúELL JSB LIA.C GET DATA STO SET OVERFLOW TO INDECATE DATA RECEIVED LDB USSC SSB,RSS 12531D? JMP TISC6 YES RBL SSB 59310A? JMP TISC6 YES JSB CBEFL CLEAR BUFFER EMPTY FLAG SSA,RSS VALID DATA? JMP TISC4 NO TISC6 EQU * NOP FOR DEBUGGING AND B177 MASK OFF PARITY ABINP CLF 0 ABORT INPUT LDB USSC SSB,RSS 12966/68? JMP AIN01 NO RBL IS IT 59310? SSB,RSS JMP TISC7 NO GO TERMINATE 12966 JSB IBCLR,I GO CLEAR 59310 JMP AINEX TISC7 LDB OWD4A RESTORE OUTPUT MODE TO 12966/68 RSS AIN01 LDB OCMD RESTORE OUTPUT COMMAND TISC5 OTB PTM AINEX LDB SAV27 RELOAD B REGISTER JMP AIN,I RETURN TO CALLER UICTL EQU * USE INPUT CONTROL LOGIC FOR 66/68 RAL CHECK FOR 59310 SSA JMP HPIBI GO DO BYTE INPUT FROM 59310 LDA OWD3 SEZ,RSS INCLUDE ECHO? AND ECOMK NO, MASK OUT ECHO BIT TSC7 JSB OTA LDA OWD1 INSURE BOARD IN CHAR. MODE TSC13 JSB OTA LDA OWD4B PUT IT IN RECEIVE MODE JMP TISC1 * SAV27 NOP * * NOTE: INFORMATION FOR CONTROL OF 12966/68 BOARDS * IS KEYED OFF OF THE CONTROL WORDS FOR THE * 12531D. IF THE FOLLOWING CONTROL WORDS ARE * CHANGED, A MODIFICATION IN SOME CODING * MIGHT ALSO BE REQUIRED. * TEM1 NOP ICMD OCT 140000 INPUT WITH OUT ECHO ICME OCT 160000 INPUT WITH ECHO OCMD OCT 120000 SPC 2 * AECHO OCT 0 TEMP LOC OF A-REG. ECOMK OCT 177757 CLEAR ECHO BIT MASK * * CLEAR BUFFER EMPTY FLAG FOR 12966/68 * CBEFL NOP CLEAR BUFFER EMPTY FLAG STA BESAV NOP DEBUG SLOT LDA USSC SSA,RSS 12966/68? JMP CERTN NO, RETURN RAL CHECK FOR HPIB SSA JMµDþúP CERTN RETURN. TSC10 STC PTM RESET TO RECEIVE DATA LDA OWD5B CONTROL WORD 5 TSC1 JSB OTA CERTN LDA BESAV NOP TO LOOK AT DATA DURING INPUT JMP CBEFL,I RETURN BESAV OCT 0 SPC 2 NOOUT NOP JSB NOACK NO ENQ-ACK LDA TIMOT STA TIM LDA .M100 SET TIME OUT STA TIMOT TO 100 MILI SEC LDA NOOT1 GET INSTUCTION STA BERR TO MODIFY OUTPUT. LDA NOOT4 STA BERR+1 CLA JSB A1PTM GO DO IT LDA NOOT2 RESTORE STA BERR OUTPUT ROUTINE LDA NOOT3 TO ORIGINAL STA BERR+1 STATE LDA TIM RESTORE TIME STA TIMOT OUT JSB GOACK ENABLE ENQ-ACK JMP NOOUT,I * NOOT1 ISZ NOOUT NOOT2 JSB ERMS,I NOOT3 DEF E052 NOOT4 JMP CBEF SPC 2 NOIN NOP JSB NOACK NO ENQ-ACK LDA TIMIN STA TIM LDA .M100 SET TIME IN STA TIMIN TO 100 MSEC LDA NOIN1 GET INSTUCTION STA BERR1 TO MODIFY OUTPUT. STA ERRIB LDA NOIN3 STA BERR1+1 STA ERRIB+1 JSB AIN GO DO IT LDA NOOT2 RESTORE STA BERR1 INPUT ROUTINE STA ERRIB LDA NOIN2 TO ORIGINAL STA BERR1+1 STATE STA ERRIB+1 LDA TIM RESTORE TIME IN STA TIMIN TO ORIGINAL STATE. JSB GOACK ENABLE ENQ-ACK JMP NOIN,I * NOIN1 ISZ NOIN NOIN2 DEF E040 NOIN3 CLF 0 * * XENQ NOP OUTPUT ENQUIRY ISZ CCNT IS IT TIME TO OUTPUT ENQ JMP XENQ,I NO, GO BACK STA SAV1Q STB SAV2Q LDA DM80 SET CHAR COUNT STA CCNT BACK TO 40. XENQ1 NOP JSB TCJMP SET JMP IN TRAP CELL DEF CLFLG ENQIO CLC PTM,C INHIBIT INTERFACE FROM INTERRUPTING STF 0 TURN ON INTERUPT LDA ENQ JSB A1PTM OUTPUT ENQUIRY JSB AIN WAIT FOR RESPONCE.Åeþú CPA ACK EXPECTED A ACKNOWLEDGE XENQ2 JMP XENQ3 YES ITS THERE. LDB ACK GET EXPECTED JSB ERMS,I ERROR DEF E061 EXPECTED AN ACK XENQ3 JSB ITCH,I RE-INITIALIZE TRAP CELL HALTS LDA SAV1Q LDB SAV2Q JMP XENQ,I SAV1Q NOP SAV2Q NOP * * CLFLG CLF 0 TURN OFF INTERUPTS JMP CBEF GO TO COMPLETE DRIVER OUTPUT * * NOACK NOP STA NGACK LDA XENQ2 GET THE JUMP INSTR. INA SET IT UP ONE STA XENQ1 AND PUT IT SO IT WILL BYPASS LDA NGACK JMP NOACK,I * GOACK NOP STA NGACK CLA STA XENQ1 CLEAR BYPASS INSTR. LDA NGACK JMP GOACK,I * NGACK NOP SPC 2 * OUTPUT A CRLF * RTLF NOP STA SAVEA SAVE A-REG STB SAVEB LDB .8BIT CLA STA .8BIT 8 BIT CANNOT BE SET LDA CR TRANSMIT A JSB AOUT CARRIAGE RETURN CODE JSB .LF DO A LINE FEED STB .8BIT LDB SAVEB LDA SAVEA RESTORE A-REG JMP RTLF,I RETURN TO CALLER * * OUTPUT CARRIAGE RETURN * WITH TWO LINE FEEDS * RTLF2 NOP JSB RTLF TRANSMIT A RETURN LINE FEED JSB .LF DO A LINE FEED JMP RTLF2,I RETURN TO CALLER * .LF NOP EXECUTE LINE FEED STA SAVEX SAVE A-REG STB SAVEY LDB .8BIT CLA STA .8BIT LDA LF JSB AOUT OUTPUT LINE FEED STB .8BIT LDB SAVEY LDA SAVEX RESTORE A-REG JMP .LF,I YES - RETURN * SAVEX NOP SAVEY NOP * TOF NOP TOP OF FORM STA SAVEA SAVE A REG. STB SAVEB LDB .8BIT CLA STA .8BIT LDA FF OUTPUT FORM JSB AOUT FEED COMMAND STB .8BIT LDB SAVEB LDA SAVEA JMP TOF,I * .BS NOP BACKSPACE ROUTINE STA SAVEA STB h›þúSAVEB LDB .8BIT CLA STA .8BIT LDA BS OUTPUT BACKSPACE JSB AOUT COMMAND STB .8BIT LDA SAVEA LDB SAVEB JMP .BS,I RETURN * SAVEA NOP SAVEB NOP .HTS NOP STA SAVEA STB SAVEB LDB .8BIT CLA STA .8BIT LDA HTS HT SET JSB AOUT TRANSMIT CODE STB .8BIT LDA SAVEA LDB SAVEB JMP .HTS,I * HTS OCT 15461 ESC+1 * .HTC NOP STA SAVEA STB SAVEB LDB .8BIT CLA STA .8BIT LDA HTC HT CLEAR JSB AOUT TRANSMIT CODE STB .8BIT LDA SAVEA LDB SAVEB JMP .HTC,I * HTC OCT 15463 ESC+3 SKP * * * * THIS STARTS THE HP-IB LOGICAL DRIVER. IT COMUNICATE WITH * THOSE SECTIONS OF THE PHISICAL DRIVER NECESSARY. * * ROUTINE TO SET DEVICE TO LISTEN-BOARD TO TALK. * * * HPIBO STF CH GET DRIVER STATUS WORD IB5 LIA CH STA IBSTA SAVE HPIB STATUS WORD AND BT5 SZA IS IT ALREADY SET UP? JMP AOUT,I RETURN IBOUT LDA D1 JSB TALKR,I ADDRESS UNIT DEF *+2 DEF B37 TO UNTALK LDA D1 SET FOR BYTE TRANSFER JSB LSTNR,I GO SET UP TO RECIEVE DATA DEF *+3 RETURN ADDR DEF LSTAD PRARMETER PASS DEF SECON SECONDARY COMMAND JMP NOTEX RETURN TO CALLER * * * * * ROUTINE TO SET DEVICE TO TALK, 59310 TO LISTEN * FOR FUTURE DATA INPUT FROM DEVICE. * * HPIBI STF CH GET DRIVER STATUS IB6 LIA CH ERB SAVE THE E REG. STB SAV4 BECAUSE THE TIMER CLOBERS IT. STA IBSTA SAVE STATUS WORD AND BT6 SZA IS IT ALREADY SET UP? JMP IB7 GO GET INPUT LDA D1 JSB LSTNR,I ADDRESS UNIT DEF *+2 DEF B37 TO UNLISTEN LDA D1 SET TO BYTE INPUü«þúT JSB TALKR,I GO SET UP BOARD DEF *+3 RETURN ADDR. DEF TLKAD PARAMETER SLOT DEF SECON IB8 CLC CH,C IB7 LDA TIMIN SET MAXIMUM WAIT STA SAV5 IBE JSB SFC WAIT FOR INPUT TO OCCURE JMP IB2 GO PROCESS CLA,INA JSB TMRR,I WAIT ONE MILLISEC ISZ SAV5 BUMP WAIT TIME JMP IBE GO CHECK FLAG AGAIN JMP ERRIB GO ISSUE ERROR IB2 CLA,INA JSB TMRR,I JSB LIA.C GET DATA IBE0 CLC CH,C LDB SAV4 SSB,RSS CHECK FOR INPUT WITH ECHO JMP AINEX NO EXIT -- SO EXIT STA TMP1 LDA D1 BYTE OUTPUT JSB LSTNR,I GO SET UP BOARD. DEF *+3 DEF LSTAD DEF SECON LDA TMP1 IB3 OTA CH,C DUMP DATA BACK TO DEVICE LDA TIMIN SET MAX INPUT WAIT STA SAV5 IB4 JSB SFC WAIT FOR ACCEPTANCE JMP IB.03 ACCEPTED CLA,INA JSB TMRR,I WAIT ONE MILLISEC ISZ SAV5 BUMP WAIT COUNT JMP IB4 ERRIB JSB ERMS,I DEF E040 DATA INPUT TIME OUT JMP ABINP ABORT INPUT IB.03 LDA TMP1 SET DATA JMP AINEX RETURN * * LSTAD DEC 1 DEVICE LISTEN ADDRESS TLKAD DEC 1 DEVICE TALK ADDRESS SECON NOP SECONDARY COMMAND * * SKP * ****************************************************** * * ROUTINE USED TO OUTPUT ESCAPE SEQUENCES TO 2631. * WHEN ENTERED, A REG. CONTAINS DECIMAL 0-16 TO DEFINE * THE FOLLOWING REQUESTS: * A=0 ESC & L (LOWER CASE L) AND V * A=1 ESC & K (LOWER CASE K) AND S * A=2 ESC & L (LOWER CASE L) AND D * A=3 ESC & K (LOWER CASE K) AND R * A=4 ESC & D (LOWER CASE D) * A=5 ESC ( * A=6 ESC ) * A=7 ESC E * A=8 ESC 1 * õ¯þú A=9 ESC 2 * A=10 ESC 3 * A=11 ESC ^ (CORROT) * A=12 ESC Z (LOWER CASE Z) * A=13 ESC Y * A=14 ESC Z (UPPER CASE Z) * A=15 ESC N (LOWER CASE N) * A=16 ESC O (LOWER CASE O) * * WHEN 0<= A REG. <= 6, THE B REG. MUST CONTAIN THE * DESIRED PARAMETER TO BE APPENDED TO THE END OF * THE ESCAPE SEQUENCE * * ESCAP NOP STB ESAV1 SAVE CONTENTS OF B ADA ESC ADJUST TABLE ADDR. STA ESAV2 SAVE IT LDB .8BIT 8 BIT STB SAVEB MUST BE OFF CLA STA .8BIT LDA .ESC GET ASCII ESC (33 OCTAL) JSB AOUT DUMP IT TO PRINTER LDA ESAV2,I GET REST OF SEQUENCE AND ASMSK BE SURE JUST ASCII JSB AOUT DUMP IT LDA ESAV1 GET USER PASSED PARAMETER JSB AOUT DUMP IT LDA ESAV2,I CHECK TO SEE SSA,RSS IF SEQUENCE IS DONE? JMP ESC01 YES: LDA ESC.X NO: ADA ESAV2 LDA A,I FETCH NEXT PARAMETER JSB AOUT DUMP IT ESC01 LDB SAVEB STB .8BIT RESTOR 8 BIT LDB ESAV1 JMP ESCAP,I RETURN * * ESAV1 NOP ESAV2 NOP ASMSK OCT 77577 * * TABLE OF DEFINED ESCAPE SEQUENCES: * ESC DEF *+1 ESC0 OCT 123154 ASCII &L (LOWER CASE) OCT 123153 ASCII &K (LOWER CASE) OCT 123154 ASCII &L (LOWER CASE) OCT 123153 ASCII &K (LOWER CASE) OCT 023144 ASCII &D (LOWER CASE) OCT 000050 ASCII ( OCT 000051 ASCII ) OCT 042400 ASCII E OCT 030400 ASCII 1 OCT 031000 ASCII 2 OCT 031400 ASCII 3 OCT 057000 ASCII ^ OCT 075000 ASCII Z (LOWER CASE) OCT 054400 ASCII Y OCT 055000 ASCII Z (UPPER CASE) OCT 000156 ASCII N (LOWER CASE) OCMþúT 000157 ASCII O (LOWER CASE) * ESC.X ABS *+1-ESC0 OCT 126 V OCT 123 S OCT 104 D OCT 122 R * * SOF NOP ROUTINE TO SKIP OVER FOLD JSB *+2,I JMP SOF,I DEF SOF. * PRFNT NOP JSB *+2,I JMP PRFNT,I DEF PFNT. * * * * MANUEL TEST CONSTANTS * CNT NOP M1514 OCT 140000 MIN NOP SLOPY NOP SAVO3 NOP SAV4A NOP SAV4B NOP TIM NOP STRT DEF COMBF CNTI DEC -15 CMPRX NOP * * LINER NOP LINE DENSITY ERROR STA E070A,I STB E070B,I JSB ERMS,I DEF E070 JMP LINER,I * E070A DEF E070+24 E070B DEF E070+11 SKP ORG ZCEND SPC 1 ************************************************************************ * * STAT,I CHECK PRINTER STATUS * * THIS ROUTINE READS 10-8 BYTE STATUS WORDS FROM * THE PRINTER AND COMBINES THEM INTO THREE STATUS * BYTES. FOR THE PARALLEL INTERFACE * ONLY ONE WORD IS READ. * ************************************************************************ SPC 1 STAT. NOP READ PRINTER STATUS ROUTINE LDA USSC CHECK USSER SELECTION RAL SLA JMP STAT2-1 SSA IS THIS THE 12845B? JMP STAT1 YES: TAKE OFF JMP STAT3 LDB .M20 STAT2 INB,SZB,RSS DUMP ANY STATUS INPUT JMP STAT3 WHICH MIGHT STILL BE THERE JSB NOIN FROM A PREVIOUS ABORTED OPERATION. JMP STAT2 STAT3 LDA OCMD JSB AOUT RETURN INTERFACE TO OUTPUT LDA .11 LDB DC1 JSB ESCAP ASK PRINTER FOR STATUS JSB AIN GET FIRST BYTE LDB .ESC CPA .ESC IT SHOULD BE AN ESCAPE JMP *+2 IT IS JMP STERR IT ISNT JSB AIN GET SECOND BYTE LDB A.\ CPA A.\ IT SHOULD BE A BACK SLASpÙþúH JMP *+2 IT IS JMP STERR IT ISNT JSB AIN GET THIRD BYTE(STATUS BYTE 0) STA ST.2 AND B17 MASK IN KEY BITS. ALF,ALF ALF STA SBYTE SAVE IN BITS 15-12 JSB AIN GET FOUTH BYTE(STATUS BYTE 1) STA ST.3 AND B17 MASK IN KEY BITS. ALF,ALF MOVE THEM TO BITS 11-8 IOR SBYTE COMBINE WITH FIRST STA SBYTE AND PUT IT BACK. JSB AIN GET FIFTH BYTE(STATUS BYTE 2) STA LPI SAVE IT IN LINE PER INCH JSB AIN GET SIXTH BYTE(STATUS BYTE 3) STA ST.5 AND B17 MASK IN KEY BITS. ALF MOVE THEM TO BITS 7-4 IOR SBYTE COMBINE AS BEFORE STA SBYTE AND SAVE IT. JSB AIN GET SEVENTH BYTE(STATUS BYTE 4) STA SBUS SAVE FOR HP-IB STATUS. JSB AIN GET EIGHT BYTE(STATUS BYTE 5) STA ST.7 AND B17 MASK IN KEY BITS. IOR SBYTE COMBINE INTO BITS 3-0 STA SBYTE AND SAVE IT JSB AIN GET NINTH BYTE LDB CR CPA CR IT SHOULD BE A CARIAGE RETURN JMP *+2 IT IS JMP STERR IT ISNT JSB AIN GET TENTH AND FINAL BYTE LDA USSC SSA,RSS JMP STAT5 RAL SSA,RSS JMP STAT5 JMP STAT4 STBUS NOP LDA *-1 STA STAT. STAT4 LDA .1 JSB TALKR,I DEF *+3 DEF TLKAD DEF .14 JSB AIN HP-IB ONE BYTE STATUS STA ST.8 STAT5 LDA OCMD JSB AOUT RETURN INTERFACE TO OUTPUT JSB GOACK LDA SBYTE PUT STATUS BYTE IN A REG. LDB LPI PUT LINE DESITY IN B REG. JMP STAT.,I RETURN * * SBYTE EQU ST.1 PRINTER STATUS WORD * * * (BYTE 0) 15 - 1 = ALTERNATE SET AVAILABLE * 14 - 1 = SO/SI SELECT 0 = 8TH BIT SELECT * 13 - SECODARY SET 0= ROM 1, 1= ROM 0 * {ïþú 12 - PRIMARY SET 1= ROM 1, 0= ROM 0 * * (BYTE 1) 11 - PRESENT CHARACTER SET 0= ROM 0, 1= ROM 1 * 10 - 1 = UNDERLINE ENABLED * 9 - 1 = EXPANDED PRINT ENABLED * 8 - 1 = COMPRESSED PRINT ENABLED * * (BYTE 3) 7 - 1 = POWER ON 8 LPI DEFALT(2631 SPARE) * 6 - SPARE(2631 1 = AUTO-LF LOCK) * 5 - 1 = POWER ON COMPRESS PRINT DEFALT * 4 - 1 = POWER ON EXPANDED PRINT DEFALT * * (BYTE 5) 3 - 1 = 12-INCH PAGE STRAP SELECTED * 2 - 1 = PRINTER OUT OF PAPER * 1 - 0 = SELF TEST MALFUNCTION DETECTED * 0 - 1 = OUT-OF-PAPER RESTART PENDING * * LPI EQU ST.4 PRINTER LINE DENSITY * * * ASCII NUMBERS * * (BYTE 2) 0 = 12 LPI (OCT 60) * 1 = 1 LPI (OCT 61) * 2 = 2 LPI (OCT 62) * 3 = 3 LPI (OCT 63) * 4 = 4 LPI (OCT 64) * 6 = 6 LPI (OCT 66) * 8 = 8 LPI (OCT 70) * * SBUS EQU ST.6 HP-IB STATUS FROM PRINTER * * * HP-IB STATUS ONLY ANY OTHER * INTERFACE WILL RETURN NO STATUS * * (BYTE 4) 3 - 1 = RECEIVE READY MASK * 2 - 1 = POWER FAIL MASK * 1 - 1 = SEND READY MASK * 0 - 1 = PAPER OUT MASK * * * * * STERR JSB ERMS,I REPORT ERROR DEF E033 STATUS SEQUENCE JMP STAT.,I * * * * STAT1 JSB LIA READ IN STATUS FOR PARALLEL STA SBYTE SAVE IT CLB NO LINE DENSITY JMP STAT.,I * * * * HED MAIN TEST SECTION ************************************************** * * TEST 00 * BASIC I-O TESTS * **************************************************************** SPC 1 * TST0 NOP JSB TST.0,I GO TO BASIHFBC I-O SECTION JMP TST0,I RETURN * * * * ******************************************************* ³ÌHÿÿ ÿý* ÿ02631-18004 1748 S 0146 DIAGNOSTICS FOR 2631A/2635A             H0101 ásþú* * TEST 01 * SELF TEST AND HP-IB PROTOCOL * ***************************************************************** SPC 1 TST01 NOP * * DO SELF TEST * JSB STAT,I SZB JMP T01A LDA BT13 JSB TMRR,I T01A LDA .12 CLB JSB ESCAP NOP DEBUG T01R CCA STA TST0 LDA .10K JSB TMRR,I LDA USSC RAL SSA SERIAL INTF.? JMP T01F NO LDA ENQ JSB AOUT PROMPT UNIT FOR ACK JSB NOIN IT SHOULD NOT COME BACK JMP T01J IT DID JMP T01H T01F LDB .M21 NO OUTPUT SHOULD BE POSSIBLE INB,SZB,RSS JMP T01J JSB NOOUT JMP T01F+1 THERE WAS T01H LDA .5K SELF TEST SHOULD BE OVER IN 13 SEC JSB TMRR,I WAIT MAXIMUM 15 SEC FOR ST TO FIN ISZ TST0 NOP LDA USSC RAL SSA SERIAL INTF.? JMP T01I NO LDA ENQ JSB AOUT PROMPT UNIT FOR ACK JSB NOIN THIS TIME THERE SHOULD BE ONE JMP T01J YES JMP T01K SELF TEST TIME OUT T01I JSB NOOUT THERE SHOULD BE OUTPUT THIS TIME JMP T01J YES JMP T01K * * READ SELF TEST RESULTS * T01J JSB STAT,I SZB,RSS IF 12845B JMP T01L FORGET IT. AND BT1 SZA ERROR DETECTED? JMP T01L NO JSB MSGC,I YES DEF E067 SELF TEST MALFUNCTION LDA USSC RAL,RAL AND .3 CPA .3 JMP T01N CLA JMP T01D T01N LDA BT0 JSB TALKR,I DEF *+3 DEF TLKAD DEF B37 JSB AIN STA B LDA T01R STA ZMSG0-3 LDA B JSB MSGC,I DEF ERCOD LDA .TRAP-1 STA ZMSG0-3 T01D JSB MSGC,I DEF ZRTLF LDB BT11 JSB SWRT,I CHECK TO SUPRESS HALT JMP T01L HLT 67B T01L LDA .ME3 STA TIMIN I þú ISZ TST0 JMP *+2 JMP T01K * LDA USSC RAL SLB,RSS JMP T01P SSA,RSS JMP T01P LDA BT1 WORD TRANSFER JSB TALKR,I DEF *+3 DEF D31 ASK PRINTER TO IDENTIFY DEF TLKAD JSB AIN GET IDENTITY LDB IDENT CPA IDENT JMP T01B CORRECT JSB ERMS,I DEF E034 IDENITFY T01B LDA BT1 JSB TALKR,I DEF *+2 DEF D30 COME OUT OF IDENTIFY MODE * * PARALLEL POLL * JSB PPOLL,I DO A PARALLEL POLL NOP JMP T01C JSB ERMS,I DEF E035 PARALLEL POLL T01C NOP NOP NOP * LDA .M7 STA TST0 LDA BT4 JSB TMRR,I JSB NOIN NOP LDA BT0 JSB TALKR,I DO A DSJ DEF *+3 DEF TLKAD DEF BT4 JSB AIN GET RESULTS NOP DEBUG CLB SZA,RSS SHOULD BE ZERO JMP T01O CPA BT0 JMP T01Q JSB ERMS,I REPORT ERROR DEF E036 DSJ JMP T01O T01Q JSB NOIN NOP ISZ TST0 JMP T01C JMP T01Q-3 T01O LDA OCMD JSB AOUT LDA .11 LDB DC1 JSB ESCAP LDA BT3 JSB TMRR,I GIVE IT TIME TO HAPPEN LDA BT0 JSB TALKR,I DO A DSJ DEF *+3 DEF TLKAD DEF BT4 JSB AIN GET RESULTS LDB BT0 CPA BT0 JMP T01P OK JSB ERMS,I NOT RIGHT DEF E036 T01P LDA OCMD JSB AOUT JMP TST01,I * * T01K JSB ERMS,I DEF E072 SELF TEST TIMEOUT JMP T01L * D31 DEC 31 D30 DEC 30 IDENT OCT 20002 SKP ******************************************************* * * INSERT MANUAL TESTS TEST 02 * ******************************************************* SPC 1 ORG 4000B TST02 NOP LDB BT8 EXECUTE MANUEL TESTS? JSB SWRT,I JMP æ#þúTST02,I NO, GO AWAY LDA OCMD OUTPUT JSB AOUT PRINT COMMAND JSB TOF TOP OF FORM JSB STAT,I UPDATE STATUS LDB T02M1 JSB OPPTM * TEST 02 LDA OWD4A STA SAV4A LDA OWD4B STA SAV4B LDA OWD3 STA SAVO3 * * SUBTEST 1 * JSB MSGH,I DISPLAY MESSAGE DEF H110 POWER OFF LP (BACK, LOWER RIGHT): PRESS RUN JSB CKBTT,I CLEAR INTERFACE?? LDA USSC RAL SSA JMP T02A1 PARRALLEL LDA OCMD JSB AOUT JSB NOOUT SHOULD OUTPUT NOTHING JMP *+2 IT DID JMP T02B1 LDA ENQ CHECK FOR RESPONCE IN CASE JSB AOUT OF INTERNAL CLOCK. JSB NOIN SHOULD BE NO INPUT JMP *+2 JSB NOIN IN CASE VERY SLOW JMP *+2 JMP T02B1 JSB AIN GETTING INPUT FROM CARD CPA ACK SEE IF ITS AN ACK JSB ERRST YES, REPORT ERROR JMP T02B1 T02A1 SLA JMP T02A2 HPIB JSB STAT,I 12845B SSA,RSS JSB ERRST ERROR T02A2 LDB .M20 LOOP 20 TIMES T02A3 JSB NOOUT NO OUTPUT SHOULD JMP *+2 OCCUR JMP T02B1 NONE DID INB,SZB THERE WAS - JMP T02A3 BUT TRY AGAIN TO BE SURE JSB ERRST TO BAD T02B1 JSB TBT9 CHECK FOR BIT 9 SET * * SUBTEST 2 * JSB MSGH,I OUTPUT MESSAGE DEF H111 POWER ON, INSTALL PAPER, ONLINE: PRESS RUN LDA USSC SSA,RSS JMP T02B2 RAL SSA JSB IBCLR,I T02B2 JSB CKBTT,I REINITIAL INTERFACE ?? JSB STAT,I GET STATUS SZB,RSS IF B IS ZERO IT MUST BE PARALLEL JMP T02A IF NOT GO DO REGULAR STUFF AND BT2 CHECK IF ON LINE, PAPER IN SZA JSB ERRST NOPE, ITS NOT JMP T02B IT CHECKS OUT T02A STA B AND BT15 CHECK IF ON LINE SZA,RSS @uþúJSB ERRST LDA B AND BT14 PAPER IN SZA JSB ERRST NO IT DOESNT * * SUBTEST 3 * T02B JSB TBT9 CHECK FOR BIT 9 JSB MSGH,I OUTPUT MESSAGE DEF H112 PRESS OFF LINE, PRESS RUN JSB OFLIN CHECK FOR OFF LINE JMP T02C6 OFLIN NOP OFF LINE ENTRY POINT LDA USSC RAL SSA SERIAL OR PARALLEL? JMP T02C1 PARALLEL LDA ENQ JSB AOUT SO JSB NOIN NO ACK SHOULD COME BACK JSB ERRST WHOOPS JMP T02C5 T02C1 SLA HPIB? JMP T02C4 YES JSB STAT,I READ STATUS SSA IS IT OFF LINE JSB ERRST NO JMP T02C5 T02C4 LDB .M10 JSB NOOUT NO OUTPUT SHOULD OCCUR JMP *+2 SOME DID JMP T02C5 NONE DID AND THAT OK. INB,SZB TRY AGAIN IN CASE FIFO JMP T02C4+1 IS TAKING IN SOME. JSB ERRST TO MANY TIMES * T02C5 EQU * JMP OFLIN,I T02C6 EQU * * * SUBTEST 4 * LDA USSC CHECK TYPE RAL IF THIS IS A SSA,RSS SERIAL PRINTER, I CANT PAPER OUT JMP T02D SO SKIP THE WHOLE THING JSB MSGH,I OUTPUT MESSAGE DEF H113 REMOVE PAPER, ON LINE, PRESS RUN SLA HPIB/ JMP T02D1 YES- JSB STAT,I GET STATUS AND BT14 SZA,RSS PAPER OUT? JSB ERRST NO JMP T02D GO DO OTHER STUFF T02D1 JSB BUSTA,I LDA ST.8 GO ASK FOR ONE BYTE STATUS AND BT1 BIT 1 IS THE ONE SZA,RSS OUT OF PAPER? JSB ERRST NO, AND IT SHOULD BE. * * SUBTEST 5 * T02D JSB TBT9 CHECK FOR BIT 9 JSB MSGH,I OUTPUT MESSAGE FO THIS SUBTEST DEF H114 REINSTALL PAPER, ONLINE, PRESS RUN JSB STAT,I FETCH STATUS UPON RESTART SZB IF B IS 0 IT MUST BE PARALLEL JMP T02E IF NOT GO DO THE OTHER STATUS ‚þú AND BT14 SZA IS PAPER IN? JSB ERRST ITS NOT ALRIGHT JMP T02F T02E AND BT2 COMPARE STATUS SZA IS PAPER IN? JSB ERRST INCORRECT STATUS T02F EQU * JSB TBT9 CHECK FOR BIT 9 T02H EQU * LDA USSC CHECK FOR A RAL 12845B INTERFACE SSA,RSS SKIP TO RESET TEST FOR IT. JMP T02H1 NOT A 12845B TEST NORMAL SLA,RSS MIGHT BE ONE LET'S SEE JMP T02H3 YEP IT'S ONE LET'S TEST IT T02H1 LDA .2 SET 1 LINE PER INCH LDB A1 FOR RESET JSB ESCAP TEST JSB STAT,I CHECK TO SEE IF IT'S THERE LDA A1 CPB A1 JMP *+2 JSB LINER DID NOT GO INTO MODE JSB MSGH,I SEND OUT MESSAGE DEF H115 PRESS RESET JSB STAT,I CHECK STATUS CPB A6 DID IT GO TO 6 LPI JMP T02I YES TEST WORKED CPB A8 NO, CHECK FOR 8 JMP T02I WENT INTO 8 TEST WORKED LDA A6 REPORT ERROR RESET DID NOT WORK JSB LINER JMP T02I T02H3 JSB MSGH,I DEF H115A HIT RESET PRESS RUN JSB STAT,I FIND OUT STATUS SSA IS IT ON LINE JSB ERRST YES, RESET FAILED T02I EQU * JSB TBT9 TEST BIT 9 JSB MSGH,I SEND OUT MESSAGE DEF H117 DO SELF TEST IFN T02J EQU * JSB TBT9 JSB MSGH,I DEF H120 SET COMPRESSED DEFAULT LDB CMPM SEND OUT COMPRESSED PRINT JSB OPPTM JSB MSGH,I DEF H121 SET EXPANDED MODE LDB EXPM SEND OUT EXPANDED PRINT JSB OPPTM JSB MSGH,I DEF H122 SET NORMAL MODE LDB NORMM SEND OUT NORMAL PRINT JSB OPPTM JMP T02K EXPM DEF *+1 ASC 19,THIS PRINT SHOULD BE IN EXPANDED MODE DEC -1 CMPM DEF *+1 ASC 20,THIS PRINT SHOULD BE IN COMPRESSED MODE DEC -1 NORMM DEF *+1 ASC 18,TzþúHIS PRINT SHOULD BE IN NORMAL MODE DEC -1 T02K EQU * JSB TBT9 JSB MSGH,I DEF H123 SELECT 8LPI DEFAULT PRESS RESET JSB STAT,I CHECK STATUS SZB,RSS IF B=0 THEN CANNOT CHECK JMP T02L CANNOT CHECK GO AWAY LDA A8 CPB A8 CHECK FOR 8LPI RSS IT'S ALL RIGHT JSB LINER IT'S NOT THERE REPORT ERROR * * T02L EQU * JSB TBT9 JSB MSGH,I DEF H124 SELECT 6LPI DEFAULT AND RESET JSB STAT,I CHECK STATUS SZB,RSS IF B ZERO THEN CANNOT CHECK JMP T02M LDA A6 CPB A6 RSS IT'S OK GO ON JSB LINER IT'S A BUMMER REPORT ERROR T02M EQU * * * SUBTEST 6 * JSB MSGH,I OUTPUT MESSAGE DEF H125 DEPRESS OFFLINE, 8 LPI, ONLINE PRESS RUN JSB STAT,I GET STATUS SZB,RSS IF B IS 0 IT MUST B PARALLEL JMP T02LF WELL YOU CANT CHECK 8 LPI. T02G CPB A8 COMPARE STATUS. JMP T02LF OK LDA A8 JSB LINER NOT OK * * * SUB TEST 6A * XIF T02LF EQU * IFN LDA .2 LDB A6 JSB ESCAP JSB STAT,I SZB,RSS JMP T02LC CPB A6 JMP T02LC LDA A6 JSB LINER XIF T02LC JSB TBT9 CHECK BIT 9 IFN JSB MSGH,I XIF IFZ JSB MSGC,I OUTPUT MESSAGE XIF DEF H126 DEPRESS LINE FEED, VERIFY PAPER ADVANCE IFZ CLA STA TIMIN LENGTHEN CHARACTER TIMEOUT FOR INPUT JSB AINEC INPUT CHARACTER CPA LF WAS CHARACTER A LINE FEED JMP T02FF YES, GO DO YOUR THING JSB ERMS,I NO, GIVE ERROR HALT DEF E061 NO LINE FEED XIF * * SUBTEST 7 * T02FF EQU * JSB TBT9 CHECK BIT 9 IFN JSB MSGH,I OUTPUT MESSAGE XIF IFZ JSB MSGC,I OUTPUT MESSAGE €Yþú XIF DEF H127 ISSUE FORM FEED CHARACTER, VERIFY PAPER MOTION IFZ JSB AINEC INPUT CHARACTER CPA FF WAS CHARACTER A FORM FEED? JMP T020D YES, GO ON JSB ERMS,I NO, GIVE ERROR HALT DEF E061 NO FORM FEED. * * SUBTEST 8 * T020D EQU * JSB TBT9 CHECK BIT 9 JSB MSGC,I OUTPUT MESSAGE DEF H130 INPUT STRING:"2635 TERMINALS." LDA STRT INITIALIZE POINTERS STA CMPRX LDA CNTI INITIALIZE COUNTER STA CNT INLOP JSB AINEC START INPUT OF STRING CPA CMPRX,I PROPER CHARACTER INPUT? JMP OK YES, LOOK AT NEXT CHARACTER. LDB CMPRX,I JSB ERMS,I NOPE, TELL THEM IT'S WRONG DEF E061 JMP T02RN EXIT SUB TEST OK ISZ CMPRX BUMP COMPARE CHARACTER ISZ CNT BUMP COUNTER JMP INLOP GO GET ANOTHER CHARACTER LDA OCMD JSB AOUT SET UP FOR OUTPUT JSB RTLF OUTPUT A CR/LF JSB TBT9 CHECK BIT 9 * * SUBTEST 9 * T02RN JSB MSGC,I OUTPUT MESSAGE DEF H131 ENTER ANY PATTERN TERMINATED BY CR. CLA INITIALIZE COUNT STA CNT LDB FWAM INITIALIZE BUFFER POINTER. LP25 JSB AINEC INPUT A CHARACTER CPB LWAM CHECK FOR OVERFLOW JMP STLP STA B,I STORE IT FOR LATER INB SET UP FOR ANOTHER ISZ CNT COUNT IT. CPA CR CHECK FOR A CARRIAGE RETURN RSS THAT'S ALL FOLKS. JMP LP25 GOT TO GET MORE STLP LDA CNT BRING UP COUNT CMA,INA NEGATE IT STA CNT SAVE IT AGAIN LDA OCMD SET UP OUTPUT JSB AOUT JSB RTLF SPACE A LINE LDB FWAM LP26 LDA B,I PICK UP CHARACTER JSB AOUT SEND IT OUT INB BUMP BUFFER ISZ CNT ARE THEY ALL OUT? JMP LP26 NO, GOí|þú PUT OUT NEXT ONE. JSB RTLF SPACE A LINE XIF LDA .ME3 RESET TIME OUT STA TIMIN * * SUBTEST 10 * T02EC EQU * JSB TBT9 CHECK BIT 9 JSB MSGH,I OUTPUT MESSAGE DEF H132 PUT IN DISPLAY FUNCTIONS CLA SET UP TO SEND LDB A1 A CONTROL SEQUENCE JSB ESCAP TO THE PRINTER LDA .14 TO VERIFY CLB JSB ESCAP DISPLAY FUNCTIONS JSB RTLF2 JSB TBT9 CHECK FOR BIT 9 * * CHECK INTERFACE FOR SERIAL * LDA USSC IS THIS AND M1514 A SERIAL RAL INTERFACE SZA,RSS JMP SER01 YES, TEST SERIAL SSA,RSS JMP SER01 YEP, THAT'S SERIAL TOO JMP T02EX GO BACK WHERE YOU CAME FROM * * SETUP 12966/68 FOR PARITY CHECK * SER01 EQU * IFZ CLA STA TIMIN * * SUBTEST 11 HALF DUPLEX * JSB MSGH,I SEND OUT MESSAGE DEF H133 SELECT HALF DUPLEX JSB MSGC,I DEF H134 PRESS A KEY AND VERIFY ECHO JSB AIN LOOK FOR CHARACTER WITH NO ECHO JSB MSGC,I DEF H134 PRESS A KEY AND VERIFY ECHO JSB AINEC LOOK FOR CHARACTER AND ECHO JSB TBT9 LOOK FOR BIT 9 * * SUBTEST 12 FULL DUPLEX * SER02 EQU * JSB MSGH,I OUTPUT MESSAGE DEF H135 SELECT FULL DUPLEX JSB MSGC,I OUTPUT INSTRUCTION DEF H136 PRESS A KEY AND VERIFY NO ECHO JSB AIN INPUT CHARACTER WITH NO ECHO JSB MSGC,I OUTPUT INSTRUCTION DEF H134 PRESS A KEY AND VERIFY ECHO JSB AINEC PRESS A KEY AND VERIFY ECHO LDA .ME3 STA TIMIN XIF JSB TBT9 CHECK BIT 9 * LDA USSC LET'S SEE IF WE AND M1514 ARE USING A RAL,RAL 12966/68 CLB STB PTIMP CPA .2 JMÊÍþúP SER03 YES WE ARE, KEEP TESTING CCA STA PTIMP JMP BRTST SET UP TO TEST BAUD RATE. * * SUBTEST 13 * 12966/68 INTERFACE ONLY. * SER03 EQU * LDA B17 SELECT ODD PARITY CMA AND OWD3 IOR LF STA OWD3 JSB MSGH,I OUTPUT MESSAGE DEF H137 SELECT ODD PARITY AND PRESS RUN LDA .5 JSB COUT OUTPUT ODD PARITY ENQ JSB AIN LOOK FOR ACK JSB TBT9 LOOK AT BIT 9 * * SUBTEST 14 * 12966/68 INTERFACE ONLY * SER04 JSB MSGH,I OUTPUT MESSAGE DEF H140 SELECT EVEN PARITY, @ SHOULD BE PRINTED LDA .5 JSB COUT OUTPUT ODD PARITY ENQ JSB NOIN NO ACK SHOULD COME BACK JSB ERRST FLAG ERROR LDA OWD3 SET UP EVEN PARITY IOR BT2 STA OWD3 LDA .5 JSB COUT OUTPUT EVEN PARITY ENQ JSB AIN LOOK FOR ACK TO COME BACK JSB TBT9 LOOK FOR BIT 9 * * SUBTEST 15 * 12966/68 INTERFACE ONLY * SER05 JSB MSGH,I OUTPUT MESSAGE DEF H141 SELECT NONE PARITY LDA .5 JSB COUT SEND EVEN PARITY ENQ JSB AIN LOOK FOR ACK LDA BT2 SET TO ODD PARITY CMA AND OWD3 STA OWD3 LDA .5 JSB COUT SEND ODD PARITY ENQ JSB NOIN NO ACK THIS TIME JSB ERRST FLAG AN ERROR JSB TBT9 LOOK FOR BIT 9 * * SET UP FOR BAUD RATE TEST * BRTST LDA SAVO3 GET OCMD3 IOR BT5 SET UP FOR 110 BAUD STA OWD3 LDA B17 CMA AND OWD4A SET UP FOR EXT BAUD STA OWD4A LDA B17 CMA AND OWD4B STA OWD4B LDA PTIMP SSA JMP SER11+2 * * SUBTEST 16 * 12966 ONLY * SER11 JSB MSGH,I DEF H142 SELECT EXT BAUþ˜þúD LDB .M8 INITILIZE CONSTANTS LDA .5 PICK UP ACK CHARACTER JSB COUT SEND IT OUT JSB GOTIM SET UP TO TIME ALL OUTPUT LP19 JSB AOUT SEND OUT CHARACTER INB,SZB ENOUGH SAMPLES? JMP LP19 NO, GO TAKE ANOTHER. JSB NOTIM SHUT OFF TIMER LDA PTIMP ARE WE ON A 12531D SSA JMP D1253 YES, GO CHECK IT'S BAUD RATE LDA MWAIT GET TIME FOR OUTPUT LDB BAUDP PICKUP POINTER TO BAUD RATE TABLE LP18 ADA B,I CHECK FOR BAUD RATE INB BUMP POINTER SSA IS THIS A LEGAL BAUD RATE JMP NBDR NO REPORT NO BAUD ADA B,I CHECK FOR LEGAL INB BMP POINTER SSA ARE WE THERE? JMP BRMSG YES, WE HAVE BAUD RATE INB LET'S LOOK AT NEXT BAUD RATE JMP LP18 GO BACK AND CHECK NBDR LDB NBDP SET UP TO REPORT BAD BAUD RATE BRMSG LDB B,I SET UP BAUD RATE MESSAGE LDA PNTI STA CNT LDA B,I STA CNT,I ISZ CNT INB LDA B,I STA CNT,I ISZ CNT INB LDA B,I STA CNT,I INB LDA B,I PICKUP TABLE POINTER JSB MSGC,I SEND OUT BAUD RATE MESSAGE DEF H145 BAUD RATE IS XXXX JSB TBT9 CHECK FOR BIT 9 JMP SER06 GO ON TO NEXT TEST D1253 LDA MWAIT LDB BD531 PICK UP 12531 TABLE LP17 ADA B,I LOOK THROUGH TABLE AND SEE INB IF WE CAN FIND A BAUD RATE SSA IS THIS THE ONE JMP LBDR NO CAN'T FIND A LEGAL ONE ADA B,I STILL LOOKING INB SSA IS THIS IT JMP BDCMP YES GO CHECK FOR VALID INB NO KEEP LOOKING JMP LP17 LBDR CLB,RSS NO VALID BAUD RATE, REPORT ERROR BDCMP LDB B,I BAUD RATE VALID, WAS IT SELECTED LDA USSC LET'S LOOK ALF,ALF RAL,RAL ANaþúD B17 MASK BAUD RATE CPA B CHECK FOR A COMPARE JMP BDOK THEY COMPARE GO AWAY JSB ERMS,I NO COMPARE, REPORT ERROR DEF E060 BDOK JMP T02EX END OF MANUAL TEST'S FOR THIS CARD BD531 DEF T531B * * SUBTEST 17 * 12966 INTERFACE ONLY * SER06 LDB .110 LDA B300 JSB MSGH,I OUTPUT MESSAGE DEF H143 SELECT 110 BAUD LDA MIN11 CHECK OUTPUT RATE STA MIN LDA SLP11 STA SLOPY JSB BAUDT JSB TBT9 LOOK FOR BIT 9 * * SUBTEST 18 * 12966 INTERFACE ONLY * SER07 LDB .150 LDA B500 JSB MSGH,I OUTPUT MESSAGE DEF H143 SELECT 150 BAUD LDA SAVO3 SET BACK TO NORMAL VALUE STA OWD3 LDA MIN15 INITIALIZE COMPARE VALUES STA MIN LDA SLP15 STA SLOPY JSB BAUDT JSB TBT9 LOOK FOR BIT 9 * * SUBTEST 19 * 12966 INTERFACE ONLY * SER08 LDB .300 LDA B600 JSB MSGH,I DEF H143 SELECT 300 BAUD LDA MIN30 INITIALIZE PARAMETERS STA MIN LDA SLP30 STA SLOPY JSB BAUDT TEST BAUD RATE JSB TBT9 LOOK FOR BIT 9 * * SUBTEST 20 * 12966 INTERFACE ONLY * SER09 LDB .1200 LDA B1100 JSB MSGH,I OUTPUT MESSAGE DEF H143 SELECT 1200 BAUD LDA MIN12 INITIALIZE PARAMETERS STA MIN LDA SLP12 STA SLOPY JSB BAUDT TEST BAUD RATE JSB TBT9 LOOK FOR BIT 9 * * SUBTEST 21 * 12966 ONLY * SER10 LDB .2400 LDA B1300 JSB MSGH,I OUTPUT MESSAGE DEF H143 SELECT 2400 BAUD LDA MIN24 INITIALIZE PARAMETER STA MIN LDA SLP24 STA SLOPY JSB BAUDT CHECK BAUD RATE JSB TBT9 LOOK FOR BIT 9 ƒHFB * * END OF MANUEL TESTS * T02EX EQU * JSB MSGH,I HHÿÿ ÿý+ ÿ02631-18005 1748 S 0146 DIAGNOSTICS FOR 2631A/2635A             H0101 âsþú DEF H144 ALIGN TOP OF FORM LDA .2 LDB A6 JSB ESCAP JSB STAT,I LDA A6 CPB A6 RSS JSB LINER LDB T02M2 JSB OPPTM LDA SAV4A STA OWD4A LDA SAV4B STA OWD4B LDA SAVO3 RESET VALUES OF 12966/68 CONTROL WORDS STA OWD3 JMP TST02,I EXIT BAUDT NOP LDA .M16 STA CNT CLA INITIALIZE TIME VALUE STA TIM LP28 LDA .5 JSB COUT OUTPUT ENQ LDA MWAIT CHECK TIME ADA TIM SUM UP TIMES STA TIM SAVE THE TIME SUM ISZ CNT JMP LP28 TAKE SEVERAL SAMPLES ARS,ARS DIVIDE BY ARS,ARS 16 ADA MIN IS IT LESS THAN SSA THE MINIMUM ALLOWABLE JMP E016D YES, WRONG BAUD RATE. ADA SLOPY IS IT GREATER THAN THE MAX SSA JMP BAUDT,I NO, GO BACK NO ERROR E016D JSB MSGH,I DEF E060 BAUD RATE OUT OF TOLERANCE. JMP BAUDT,I * * BAUD RATE CONSTANTS * PNTI DEF H145B BAUDP DEF BAUDQ * * ERRST NOP JSB ERMS,I DEF E032 INCORRECT STATUS JMP ERRST,I * * T02M1 DEF *+1 ASC 12,TEST 02 MANUAL CONTROL DEC -1 T02M2 DEF T04M2+1 TBT9 NOP STB TBT9B LDB BT9 JSB SWRT,I JMP T02EX LDB TBT9B JMP TBT9,I TBT9B OCT 0 PTIMP OCT 0 SKP ******************************************************************** * * TEST03 RIPPLE PRINT TEST * *********************************************************************** SPC 1 TST03 NOP LDA OCMD OUTPUT JSB AOUT PRINT COMMAND JSB PRFNT GO SET PRINT FONT JSB TOF GO TO TOP OF FORM JSB STAT,I UPDATE STATUS LDB T03M1 * RIPPLE PRINT TEST JSB OPPTM OUTPUT MESSAGE JSB RTLF LDA .M100 NUMBER OF LINES TO PRINT 0êþúLDB BT7 JSB SWRT,I CHECK FOR SHORT TEST LDA .M30 CLB DEFALT LINE LENGTH JSB RIPLE GO DO RIPPLE PRINT JSB RTLF2 LDB T03M2 JSB OPPTM OUTPUT MESSAGE NOP JMP TST03,I EXIT TEST T03M1 DEF *+1 ASC 11,TEST 03 RIPPLE PRINT OCT 177777 T03M2 DEF *+1 ASC 10,PRINT TEST COMPLETE OCT 177777 * * * RIPPLE PRINT ROUTINE * CALL: LDA NEG. NUMBER OF LINES TO PRINT * LDB NEG. LINE LENGTH (IF CLEAR, DEFALT) * JSB RIPLE * * RIPLE NOP STA CNTR1 LINES TO PRINT LDA .M60 STA CNTR2 NUM OF LINES/PAGE SZB,RSS IF B REG. IS ZERO LDB PLINE SET UP PRINT POSITIONS STB PP/L1 STB PP/L PER LINE LDA B40 FIRST CHARACTER STA CHAR STORE STA SAVE1 CHARACTER RIP01 EQU * LDB BT9 JSB SWRT,I ABORT? JMP RIPLE,I YES LDA CHAR JSB AOUT PRINT CHARACTER ISZ CHAR NEXT CHARACTER NOP CPA B177 LAST CHARACTER ? JMP RIP04 YES JMP RIP02 NO RIP04 LDA B40 GET FIRST CHARACTER STA CHAR AND STORE RIP02 ISZ PP/L END OF PRINT LINE ? JMP RIP01 NO,CONTINUE PRINTING LDA SAVE1 NEXT CHARACTER + 1 INA CPA BT7 LDA B40 STA SAVE1 SAVE STA CHAR CHARACTER ISZ CNTR1 END OF TEST ? JMP RIP05 NO JMP RIPLE,I YES,RETURN TO TCP RIP05 LDA PP/L1 RESET COUNTER STA PP/L ISZ CNTR2 END OF PAGE ? JMP RIP03 NO LDA .M60 YES, RESET STA CNTR2 COUNTER JSB TOF DO A TOP OF FORM FEED NOP RIP03 JSB RTLF DO CRLF JMP RIP01 * * * * * * * * * * * SKP **********************************************+Èþú*********************** * * TEST 04 * TRIANGULAR PRINT TEST (TPT) * ********************************************************************* SPC 1 TST04 NOP LDA OCMD SET UP TO TRANSMIT JSB AOUT JSB PRFNT CHECK PRINT FONT JSB TOF GO TO TOP OF FORM JSB STAT,I UPDATE STATUS LDB T04M1 GET TEST MESSAGE JSB OPPTM DUMP IT JSB RTLF T04A LDA PLINE GET # LINES NOP DEBUG STA TMP05 SAVE IT T04B LDB BT9 CHECK SWICTH 9 JSB SWRT,I ABORT JMP T04D YES LDA B40 SPACE LDB TMP05 SUBTRACT THE NUMBER CMB OF CHARACTER TO BE PRINTED ADB PLINE FROM LINE LENGTH T04E INB,SZB,RSS TO FIND NUMBER OF SPACES. JMP T04F DONE WITH SPACES. JSB AOUT PRINT A SPACE. JMP T04E T04F LDA A0 START LINE WITH ASCII 0 LDB TMP05 GET CHAR PER THIS LINE. T04C JSB AOUT OUTPUT CHARACTER INA SET NEXT CHAR. CPA BT7 IF LAST CHAR. LDA B40 RESET INB,SZB CHECK FOR LAST CHAR. JMP T04C LOOP TILL DONE LDA ISWR CHECK SWITCH REG AT LAST SETTING AND BT7 IF BIT 7 SET SZA FOR SHORT TEST ISZ TMP05 SKIP A LINE. JMP T04G JMP T04D T04G ISZ TMP05 CHECK FOR LAST LINE JMP T04H JMP T04D DONE--GO TERMINATE T04H JSB RTLF NEXT LINE JMP T04B DO NEXT LINE T04D JSB RTLF2 LDB T04M2 GET COMPLETION MESS. JSB OPPTM JMP TST04,I RETURN * TMP05 NOP * * T04M1 DEF *+1 ASC 13,TEST 04 TRIANGULAR PRINT OCT 177777 T04M2 DEF *+1 ASC 7,TEST COMPLETE OCT 177777 * T4END EQU * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * SPC 5 SKP ********************C1þú*********************************************: * * VERTICAL FORMAT TEST TEST 5 * ******************************************************* SPC 1 ORG IBEND TST05 NOP LDA OCMD GET OUTPUT COMMAND JSB AOUT AND SEND TO DEVICE JSB PRFNT SET PRINT FONT JSB TOF GO TO TOP OF FORM JSB STAT,I UPDATE STATUS LDB T05M1 JSB OPPTM *VERTICAL FORMAT TEST LDA VFUS SET UP LDB BT7 JSB SWRT,I CHECK FOR SHORT TEST LDA VFU2 STA TMP1 POINTERS T05A LDB BT9 JSB SWRT,I ABORT? JMP T05B YES LDB TMP1,I GET CHANNEL # CPB DM1 IS IT THE TERMINATOR JMP T05B YES: EXIT SZB,RSS IF B IS ZERO JMP T05C GO EXECUTE VFC CHANGE. LDA USSC GET USER SELECTION SSA JMP T05E RAL CHECK FOR 12845B SSA,RSS JMP T05E LDA B IF SO AND B17 FORMULATE THE ADA .M1 IOR P845B PRINT COMMAND JSB AOUT JMP T05F T05E CLA JSB ESCAP OUTPUT ESCAPE SEQUIENCE T05F LDA B GET LAST CHANNEL NO. AND B17 FIX A NUMBER ADA MSGS FIND AN ADDRESS LDB A,I GET THE ADDRESS JSB OPDPT PRINT POSITION LDA USSC CHECK FOR 12845B SSA JMP T05G RAL SSA JMP T05D T05G LDA CR JSB AOUT T05D ISZ TMP1 BUMP POINTER JMP T05A DO IT AGIAN T05B JSB RTLF LDA .5K JSB TMRR,I LDB T05M2 JSB OPPTM *TEST COMPLETED JMP TST05,I T05C ISZ TMP1 MOVE POINTER LDB TMP1,I GET LINE CHANGE LDA .2 JSB ESCAP GO CHANGE LINE FORMAT JMP T05D * P845B OCT 100100 * VFUS DEF .VFUS TABLE OF VFU CHANNELS ORG T4END .VFUS OCT 0,66,61 OCT 63,63,63,63,63,63,63,63,63,63,0,61 OCT 63,63,63,63,63,63,63ïDþú,63,63,63,0,62 OCT 63,63,63,63,63,63,63,63,63,63,0,63 OCT 63,63,63,63,63,63,63,63,63,63,0,64 OCT 63,63,63,63,63,63,63,63,63,63,0,60 OCT 63,63,63,63,63,63,63,63,63,63,0,66 OCT 64,64,64,64,64,0,61 OCT 64,64,64,64,64,0,62 OCT 64,64,64,64,64,0,63 OCT 64,64,64,64,64,0,64 OCT 64,64,64,64,64,0,60 OCT 64,64,64,64,64,0,66 OCT 65,65,65,65,0,61 OCT 65,65,65,65,0,62 OCT 65,65,65,0,63 OCT 65,65,65,0,64 OCT 65,65,65,0,60 OCT 65,65,65,0,66 OCT 70,0,61,70,0,62,70,0,63,70,0,64,70,0,60,70 OCT 62 OCT 0,70,61 OCT 63,63,63,63,63,63,63,63,63,63,63,63,63,63,63 OCT 63,63,63,63,63,63,63,63,63,63,63,63,63 OCT 63,63,63,63,63,63,63,63,63,63,63,63,63 OCT 63,63,63,63,63,63,63,63,63,63,63,63,63 OCT 63,63,63,63,63,63,63,63,63,63,63,63,63 OCT 63,63,63,63,63,63,63,63,63,63,63,63,63 OCT 64,64,64,64,64,64,64,64,64,64 OCT 64,64,64,64,64,64 OCT 64,64,64,64,64,64 OCT 64,64,64,64,64,64 OCT 64,64,64,64,64,64 OCT 64,64,64,64,64,64 OCT 65,65,65,65,65,65,65 OCT 65,65,65,65 OCT 65,65,65,65 OCT 65,65,65,65 OCT 65,65,65,65 OCT 65,65,65,65 OCT 70,70,70,70,70,70,70,70 OCT 62 NOP OCT 66 OCT 67,67,67,67 OCT 66,66 OCT 61 OCT 62 NOP OCT 70 OCT 67,67,67,67 OCT 66,66 OCT 61 OCT 62 NOP OCT 66 DEC -1 ORG VFUS+1 * VFU2 DEF *+1 OCT 0,66,61 OCT 63,63,63 OCT 64,64,64 OCT 65,65,65 OCT 66 OCT 67 OCT 70 OCT 62 OCT 0,70,61 OCT 63,63,63 OCT 64,64,64 OCT 65,65,65 OCT 66 OCT 67 OCT 70 OCT 62 OCT 0,66 DEC -1 * MSGS DEF * TABLE OF MESSAGE POINTERS DEF MSG01 DEF MSG02 DEF MSG03 DEF MSG04 ;þúDEF MSG05 DEF MSG06 DEF MSG07 DEF MSG08 * * T05M1 DEF TO5M1 T05M2 DEF T04M2+1 * * SKP ******************************************************** * * BI-DIRECTIONAL PRINT TEST TEST 06 * ********************************************************************* SPC 1 TST06 NOP LDA OCMD SET UP TRANSMIT MODE JSB AOUT JSB PRFNT CHECK PRINT FONT JSB TOF GO TO TOP OF FORM JSB STAT,I UPDATE STATUS LDB T06M1 DUMP TEST MESSAGE JSB OPPTM JSB RTLF LDA .M4 REPEAT SUBTEST 1 STA REPC 4 TIMES T06G LDA DM64 GET COUNT FOR FIRST LINE LDB PFONT CPB A1 IF EXPANDED ARS DIVIDE COUNT BY 2. T06A LDB BT9 JSB SWRT,I ABORT? JMP TST06,I YES STA TMP LDA A.M GET ASCII "M" LDB TMP GET CHAR PER THIS LINE JSB AOUT DUMP CHARS INB,SZB LAST ONE? JMP *-2 NOP-- LOOP JSB RTLF TERMINATE LINE LDB TMP GET LAST LINE COUNT BLS DOUBLE IT JSB AOUT DUMP CHARACTERS INB,SZB LAST ONE? JMP *-2 NOPE--LOOP JSB RTLF TERMINATE LINE LDA TMP GET PREVIOUS LINE COUNT CPA DM1 WAS IT -1? JMP T06B YEP -- SUBTEST ONE DONE ARS DIVIDE IT BY 2 JMP T06A LOOP ON PROCESS * * * T06B LDA ISWR CHECK SR AT LAST SETTING AND BT7 IF BIT 7 SET SZA JMP T06H DO SHORT TEST ISZ REPC 4 TIMES? JMP T06G NO T06H CLA LDB A6 JSB ESCAP GO TO HALF PAGE. LDB T06M2 GET SUBTEST 2 MESSAGE JSB OPPTM JSB RTLF2 LDA .M4 REPEAT SUBTEST 2 STA REPC 4 TIMES T06D CLA,INA GET 1 STA TMP SAVE IT AS CURRENT LINE LENGTH LDA A.M GET ASCII "M" JSB AO€ÇþúUT JSB RTLF TERMINATE LINE 1 T06C LDA TMP GET THE LINE LENGTH ADA TMP DOUBLE IT INA +1 MORE STA TMP SAVE RESULT LDB BT9 JSB SWRT,I ABORT? JMP TST06,I YES LDB TMP GET NUMBER OF CHAR FOR THIS LINE CMB,INB LDA A.M GET "M" JSB AOUT DUMP CHAR. INB,SZB LAST ONE IN THAT LINE? JMP *-2 NOPE--LOOP JSB RTLF TERMINATE LINE. LDA PFONT CPA A1 IF SET FOR EXPANDED JMP T06F GO AND SHORTEN LINE. LDA TMP CPA .127 LAST LINE? JMP T06E YEP--TERMINATE JMP T06C * T06E LDA ISWR AND BT7 IS 7 SET FOR SHORT TEST SZA JMP *+3 YES EXIT ISZ REPC 4 TIMES JMP T06D NO LDB T06M3 JSB OPPTM JMP TST06,I * T06F LDA TMP CPA .63 LAST LINE FOR EXPANDED JMP T06E YES: TERMINATE. JMP T06C NO: CONTINUE WITH TEST. * T06M1 DEF *+1 ASC 4,TEST 06 OCT 6412 OCT 12 ASC 17,SUBTEST 1 BI-DIRECTIONAL PRINT OCT 177777 T06M2 DEF *+1 ASC 20,SUBTEST 2 PRINTING LEFT TO RIGHT ONLY OCT 177777 T06M3 DEF T04M2+1 SKP ******************************************************************** * * TEST 07 * DOT MATRIX TEST (DMT) * ******************************************************************** SPC 1 TST07 EQU * DMT NOP DOT MATRIX TEST LDA OCMD SET UP TO TRANSMIT JSB AOUT JSB PRFNT GET PROPER PRINT FONT LDA .2 LDB A8 JSB ESCAP DO IT AT 8 LPI. JSB STAT,I CHECK STATUS SZB,RSS JMP T07A CPB A8 8 LPI JMP *+3 YES LDA A8 JSB LINER LINE DENSITY ERROR T07A CLA LDB A2 JSB ESCAP PRINT MESSAGE AT BOTTOM OF PAGE. JSB RTLF2 Ç6þú JSB RTLF2 JSB RTLF2 JSB RTLF MOVE MESSAGE OVER FOLD LDB T07M1 GET TEST MESSAGE JSB OPDPT DUMP IT LDB BT2 CHECK SW-REG JSB SWRT,I BIT 1 JMP DMT1 OMIT PRINTING LDA A.H JSB DMTS PRINT CHARACTER SPC 1 DMT1 LDB BT2 CHECK SW-REG JSB SWRT,I BIT 1 JMP DMT2 OMIT PRINTING LDA A.I JSB DMTS PRINT CHARACTER SPC 1 DMT2 LDB BT3 CHECK SW-REG JSB SWRT,I BIT 2 JMP DMT3 OMIT PRINTING LDA D# JSB DMTS PRINT CHARACTER SPC 1 DMT3 LDB BT3 CHECK SW-REG JSB SWRT,I BIT 2 JMP DMT4 OMIT PRINTING LDA A.LJ JSB DMTS PRINT CHARACTER SPC 1 DMT4 JSB RTLF2 LDB T07M2 JSB OPPTM * TEST COMPLETE LDA .2 LDB A6 JSB ESCAP GO BACK TO 6 LPI. JMP DMT,I EXIT SPC 1 DMTS NOP STA CHAR SAVE CHAR LDB DM80 NUMBER OF STB CNTR3 LINES/PAGE LDB ISWR CHECK SR BLF,BLF SSB,RSS IF BIT 7 SET JMP *+3 LDB .M10 DO SHORT TEST STB CNTR3 DMTS2 JSB SOF SKIP OVER FOLD LDB BT9 JSB SWRT,I ABORT? JMP DMT4 YES LDB PLINE NUMBER OR PRINT POSITIONS DMTS1 LDA CHAR JSB AOUT SEND CHARACTER INB,SZB LAST COLUMN ? JMP DMTS1 NO ISZ CNTR3 END OF PAGE ? JMP DMTS2 NO JMP DMTS,I EXIT * CNTR3 NOP * T07M1 DEF *+1 ASC 10,TEST 07 DOT MATRIX OCT 177777 T07M2 DEF T04M2+1 * * * * * * * * * * * * * * SKP ******************************************************* * * CHARACTER SET TEST TEST 8 * **************************************************************** SPC 1 TST08 NOP LDA OCMD JSB AOUT OUTPUT INTERFACE COM’iþúMAND JSB PRFNT SELECT DESIRED PRINT FONT JSB TOF GO TO TOP OF FORM JSB STAT,I UPDATE STATUS LDB T08M1 JSB OPPTM *CHARACTER SET TEST JSB RTLF LDA .13 CLB JSB ESCAP GO INTO DISPLAY MODE. LDB BT7 JSB SWRT,I CHECK BIT 7 FOR SHORT TEST JMP T08E GO DO SHORT SET. CLA STA TMP START WITH A NULL. T08A LDA PLINE GET CURRENT LINE LENGTH. ADA .1 SUBTRACT 1 STA REPC SAVE IT T08B LDA TMP GET NEXT CHAR. JSB A1PTM OUT PUT IT LDA USSC CHECK FOR A RAL SERIAL INTERFACE SSA,RSS IF SO JSB XENQ DO ENQ-ACK HAND SHAKE ISZ REPC END OF LINE? JMP T08B NO: NEXT CHAR. LDA CR YES: JUST JSB AOUT OUTPUT A CR ONLY. LDB BT9 CHECK BIT 9 IN SW JSB SWRT,I FOR ABORT JMP T08C YES ABORT. T08D ISZ TMP SET FOR NEXT CHAR. LDA TMP CPA CR IF IT'S A CR JMP T08D SKIP IT CPA BT7 LAST CHAR? JMP T08C YES: JMP T08A NO: T08C LDA .14 JSB ESCAP COME OUT OF DISPLAY MODE. JSB RTLF2 LDB T08M2 JSB OPPTM *TEST COMPLETED. JMP TST08,I * T08E CLA START WITH A NOP T08F JSB A1PTM OUTPUT CHAR LDB USSC CHECK FOR SERIAL RBL INTERFACE SSB,RSS JSB XENQ DO ENQ-ACK HAND SHAKE INA READY FOR NEXT ONE CPA BT7 CHECK FOR LAST ONE JMP T08C GO TERMINATE JMP T08F CYCLE * T08M1 DEF *+1 ASC 11,TEST 08 CHARACTER SET DEC -1 T08M2 DEF T04M2+1 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * SKP ******************************************************************* * * DMA (DCPC) TEST * 0Œþú* TEST 9 * --12966/68, 12845B, 59310 ONLY-- * THE DMA TEST CHECKS THE DMA PORTION OF THE INTERFACE * (SRQ FLIP/FLOP) BY REQUESTING A DMA CYCLE. * ********************************************************************** SPC 1 TST09 NOP LDA CPTO CHECK CPU OPTIONS AND B204 LOOK TO SEE IF SZA,RSS DMA IS AVAILABLE JMP M10A NO: SKIP THIS TEST LDA USSC SSA 12531D? JMP T09C RAL SSA,RSS JMP TST09,I YES RETURN T09C LDA OCMD JSB AOUT SET UP AS USUAL FOR NOW JSB TOF GO TO TOP OF FORM JSB STAT,I UPDATE STATUS LDA .M20 STA CNTR1 SET LINE COUNT JSB RTLF2 LDB T09M2 JSB OPPTM *DMC (DCPC) TEST JSB RTLF2 LDA USSC SSA,RSS JMP *+4 RAL CHECK FOR HP-IB SSA JMP DMA2 GO DO HP-IB DMA RAL SSA JMP DMA45 T09S2 CCA STA CCNT JSB XENQ LDA OWD4A SET UP FOR DMA IOR B20 TURN ON DMA JSB OTA LDA OWD1 TURN OFF CHAR MODE AND CHOFF T09S3 JSB OTA LDA BUFB LDB WCNT T09A JSB INDMA CONFIGURE DMA T09S4 JSB STC.C * STC DMAH,C * LDA TIME1 WAIT FOR DMA CMA,INA STA SAV5 T09E SFC DMAH IS DMA FINISHED ? JMP T09S5 EXIT CLA,INA NO JSB TMRR,I WAIT 1 MS ISZ SAV5 IS WAIT TIME UP? JMP T09E NO CHECK FLAG AGAIN JMP M10C DMA TIME OUT T09S5 LDA TIME1 CMA,INA STA SAV5 JSB CLC T09S6 JSB LIA AND BT7 SZA JMP T09S1 CLA,INA JSB TMRR,I ISZ SAV5 JMP T09S6 JMP M10C T09S1 CLC 6,C JSB CBEFL T09B LDA OWD4A JSB OTA LDA OWD1 JSB OTA LDB BT9 JSB SWRT,I JMP T09D ISZ CNTR1 júþú JMP T09S2 T09D CCA STA CCNT JSB RTLF2 LDB H072 JSB OPPTM *DMA TEST COMPLETE T091 JSB RTLF RETURN LINE FEED CLC 0,C JSB CKBTT,I REINITIALIZE BOARD JMP TST09,I RETURN * * M10A JSB MSGC,I DEF H071 JMP TST09,I M10C JSB ERMS,I DEF E107 JMP T091 * CHOFF OCT 177757 TURN DMA OFF * * TEST 10 MESSAGES * * H071 ASC 12,H071 DMA NOT AVAILIABLE/ H072 DEF *+1 ASC 09,DMA TEST COMPLETE DEC -1 T09M2 DEF *+1 ASC 12,TEST 09 DMA (DCPC) TEST DEC -1 E107 ASC 9,E107 DMA TIME OUT/ * * DMA2 LDA .1 CODE FOR DMA JSB LSTNR,I TO PHISICAL DRIVER. DEF *+2 RETURN POINT DEF LSTAD LOCATION OF LISTEN ADDRESS. DMA3 LDA BUFB LDB WCNT JSB INDMA STC DMAH,C START DMA LDA TIME1 WAIT FOR DMA STA SAV5 T09F SFC DMAH IS IT? JMP T09S7 YES CLA,INA NO JSB TMRR,I WAIT 1 MS ISZ SAV5 IS WAIT TIME UP JMP T09F NO, CHECK FLAG AGAIN JMP M10C NO T09S7 LDA TIME1 STA SAV5 JSB SFC IS DEVICE? JMP T09S8 CLA,INA JSB TMRR,I ISZ SAV5 JMP T09S7+2 JMP M10C NO NOP T09S8 ISZ CNTR1 JMP DMA3 CLC DMAH,C INHIBIT DMA FROM INTERUPTING JSB RTLF2 LDB H072 JSB OPPTM JMP TST09,I * * DMA45 NOP LDA BUFB LDB WCNT JSB INDMA JSB STC.C STC DMAH,C LDA TIME1 STA SAV5 T09J SFC DMAH JMP T09K CLA,INA JSB TMRR,I ISZ SAV5 JMP T09J JSB ERMS,I DEF E107 JMP DMA45+1 T09K LDA TIME1 STA SAV5 JSB SFC JMP T09L CLA,INA JSB TMRR,I ISZ SAV5 JMP T09K+2 JMP T09K-3 T09L ISZ CNTR1 JMP DMA45+1 JMP T09D * * LDA (BUFFER ADDRESS) * LDB (NEG. WORD HFB COUNT) * JSB INDNA * . RETURN A= DMA CONTROL WORD * B UNCHANGED ÞHÿÿ ÿý, ÿ02631-18006 1748 S 0146 DIAGNOSTICS FOR 2631A/2635A             H0101 ãsþú* * INDMA NOP STA TST10 LDA USSC AND B77 IOR B100K OTA DMAH LDA TST10 CLC DMAL OTA DMAL STC DMAL OTB DMAL JMP INDMA,I * * * * * * * * * * SKP ************************************************************************ * * FAST SKIP OVER BLANKS TEST TEST 10 * ************************************************************************ SPC 1 TST10 NOP LDA OCMD SET FOR OUTPUT JSB AOUT JSB PRFNT SET PRINT FONT JSB TOF GO TO TOP OF FORM JSB STAT,I UPDATE STATUS LDB T10M1 JSB OPPTM * FAST SKIP OVER TEST JSB RTLF2 JSB ROM.0,I LDA DM50 LDB BT7 JSB SWRT,I CHECK FOR SHORT TEST LDA .M10 STA REPC DO 50 LINES. T10A LDB T10M3 JSB OPDPT PRINT A LINE. LDB PLINE GET CURRENT LINE LENGTH ADB B40 SUBTRACT 32 LDA B40 GET THE BLANKS JSB AOUT SPACE OVER INB,SZB ENOUGH SPACES? JMP *-2 GO BACK LDB T10M4 JSB OPDPT * RIGHT COLUMN LDB BT9 JSB SWRT,I ABORT? JMP T10B YES ISZ REPC JMP T10A T10B JSB RTLF2 LDB T10M2 JSB OPPTM * TEST COMPLETED JMP TST10,I * * T10M1 DEF *+1 ASC 15,TEST 10 FAST SKIP OVER BLANKS DEC -1 T10M2 DEF T04M2+1 T10M3 DEF *+1 ASC 8,***LEFT COLUMN** DEC -1 T10M4 DEF *+1 ASC 8,**RIGHT COLUMN** OCT 6412 DEC -1 * * * SKP ********************************************************************** * * TEST 11 * CHECK FOR PROPER OPERATION OF THE HORIZONTAL TAB. * THE HT IS SET AT EVERY FIFTH POSISTION. THE LETTER * X IS THEN PRINTED AT EACH HT POSITION. THEN EACH HT * ARE MOVE OVER ONE POSITION. THIS OPERATION IS CONTINUED * UNTIL EACH HT SE$uþúT IS COMPLETED. * *********************************************************************** SPC 1 TST11 NOP LDA OCMD OUTPUT JSB AOUT PRINT COMMAND JSB PRFNT SELECT DESIRED PRINT FONT JSB TOF GO TO TOP OF FORM JSB STAT,I UPDATE STATUS LDB M13A JSB OPPTM * HORIZ TAB TEST JSB RTLF T11A LDA .M10 NUMBER OF TAB POSITIONS/LINE LDB A1 CHECK FOR EXPANDED CPB PFONT LDA .M7 STA CNTR1 LDB BT7 JSB SWRT,I SHORT TEST? JMP T11G LDB A1 CPB PFONT EXPANDED? JMP T11G YES LDB A2 CPB PFONT COMPRESSED? JMP T11H YES LDA DM45 IT MUST BE NORMAL JMP T11J T11G LDA .M7 JMP T11J T11H LDA DM135 T11J STA CNTR2 BETWEEN TAB SETS LDA .M1 BEGIN WITH ONE SP STA NSPC NUMBER OF SPACES JSB .HTC CLEAR HT'S T11E LDB NSPC NUMBER OF SPACES LDA B40 SPACE CODE JSB AOUT TRANSMIT CODE INB,SZB LAST SPACE ? JMP *-2 NO JSB .HTS YES,TRANSMIT HT SET T11B LDB .M10 NUM OF SPACES BETWEEN HT SETS LDA B40 SPACE CODE T11C JSB AOUT TRANSMIT CODE INB,SZB LAST SPACE ? JMP T11C NO JSB .HTS YES,TRANSMIT HT SET ISZ CNTR1 LAST HT ? JMP T11B NO LDA CR JSB AOUT YES, RETURN TO FIRST HT SET LDB .M10 RESET COUNTER LDA A1 CPA PFONT IF EXPANDED MODE LDB .M7 DO ONLY 7 STB CNTR1 T11D LDB BT9 JSB SWRT,I ABORT? JMP T11F YES LDA HT PRINT THE JSB AOUT LETTER X LDA A.X AT EACH HT SET JSB AOUT ISZ CNTR1 LAST HT ? JMP T11D NO JSB .HTC YES, CLEAR HT'S JSB RTLF RETURN + LINE FEED ISZ CNTR2 END OF TEST ? 5¦þúJMP *+2 NO JMP T11F YES LDA NSPC START HT SET CMA,INA IN NEXT COLOUM CMA * STA NSPC * LDB .M10 RESET COUNTER LDA A1 CPA PFONT IF EXPANDED MODE LDB .M7 DO ONLY 7 STB CNTR1 JMP T11E REPEAT TEST T11F LDA HT TRANSMIT HT CODE, SHOULD GO TO JSB AOUT COLOUM 119. TRANSMIT LETTER LDA A.X X, THE LETTER X SHOULD JSB AOUT NOT B PRINTED. JSB .HTC CLEAR TABS FOR INSURANCE JSB RTLF2 LDB M13B REPORT JSB OPPTM END OF TEST JMP TST11,I RETURN TO TCP SPC 1 * * * MESSAGES FOR TEST 13 M13A DEF *+1 ASC 10,TEST 11 HORIZ TABS OCT 177777 M13B DEF *+1 ASC 10,HORIZ TAB TEST COMP OCT 177777 * * SKP ******************************************************************** * * LINE DENSITY TEST TEST 12 * ********************************************************************* SPC 1 TST12 NOP LDA OCMD OUTPUT COMMAND JSB AOUT TO INTERFACE JSB PRFNT SET TO CURRENTLY SELECTED FONT JSB STAT,I UPDATE STATUS CLA LDB A2 JSB ESCAP START AT BOTTOM OF FORM. JSB RTLF2 JSB RTLF2 MOVE MESS OVER THE FOLD JSB RTLF LDB BT7 IF BIT 7 SET JSB SWRT,I JSB TOF GO TO TOP LDB T12M1 JSB OPPTM * LINE DENSITY TEST JSB ROM.0,I * * ONE LINE PER INCH * LDB .M11 LDA ISWR INTERNAL SR. AND BT7 IF BIT SZA 7 IS SET- LDB .M1 SET COUNT FOR SHORT TEST STB REPC REPEAT 10 TIMES LDA A1 IOR BT13 INSERT A SPACE LDB A1 JSB T12A * * TWO LINES PER INCH * LDB .M21 LDA ISWR INTERNAL SR. AND BT7 IF BIT SZA 7 I]þúS SET- LDB .M2 SET COUNT FOR SHORT TEST STB REPC REPEAT 20 TIMES LDA A2 IOR BT13 INSERT A SPACE LDB A2 JSB T12A * * THREE LINES PER INCH * LDB .M31 LDA ISWR INTERNAL SR. AND BT7 IF BIT SZA 7 IS SET- LDB .M3 SET COUNT FOR SHORT TEST STB REPC REPEAT 30 TIMES LDA A3 IOR BT13 INSERT A SPACE LDB A3 JSB T12A * * FOUR LINES PER INCH * LDB .M41 LDA ISWR INTERNAL SR. AND BT7 IF BIT SZA 7 IS SET- LDB .M4 SET COUNT FOR SHORT TEST STB REPC REPEAT 40 TIMES LDA A4 IOR BT13 INSERT A SPACE LDB A4 JSB T12A * * SIX LINES PER INCH * LDB .M61 LDA ISWR INTERNAL SR. AND BT7 IF BIT SZA 7 IS SET- LDB .M6 SET COUNT FOR SHORT TEST STB REPC REPEAT 60 TIMES LDA A6 IOR BT13 INSRET A SPACE LDB A6 JSB T12A * * EIGHT LINES PER INCH * LDB .M81 LDA ISWR INTERNAL SR. AND BT7 IF BIT SZA 7 IS SET- LDB .M8 SET COUNT FOR SHORT TEST STB REPC REPEAT 80 TIMES LDA A8 IOR BT13 LDB A8 JSB T12A * * TWELVE LINES PER INCH * LDB .M121 LDA ISWR INTERNAL SR. AND BT7 IF BIT SZA 7 IS SET- LDB .M12 SET COUNT FOR SHORT TEST STB REPC REPEAT 120 TIMES LDA A1 ALF,ALF IOR A2 LDB A0 JSB T12A * T12D JSB PRFNT JSB RTLF2 LDB T12M2 JSB OPPTM * TEST COMPLETED LDA .2 LDB A6 JSB ESCAP GO BACK TO 6 LPI JMP TST12,I * T12A NOP STA T12M3,I SAVE THE LINE DENSITY LDA .2 JSB ESCAP GO SET LINE DENSITY STB TOF SAVE LINE DENSITY %þúJSB STAT,I CHECK STATUS TO SEE IF SZB,RSS IF PARALLEL JMP T12C FORGET IT CPB TOF PRINTER AGREES JMP T12C YES DENSITY WAS SELECTED LDA TOF AND B177 CPA A0 IF DENSITY IS 0 LDA T12M3,I RELPACE WITH A 12 JSB LINER T12C LDA T12M3,I CHECK DENSITY CPA A.2 SEE IF IT IS SPACE 2 JMP T12B SKIP TOF IF IT IS LDA ISWR AND BT7 IF BIT 7 SET SZA,RSS JSB TOF DO NOT GO TO TOP OF FORM T12B LDB T12M3 JSB OPDPT PRINT LINE LDB BT9 JSB SWRT,I ABORT? JMP T12D YES ISZ REPC DONE? JMP T12B NO JMP T12A,I YES * A.2 ASC 01, 2 * T12M1 DEF *+1 ASC 11,TEST 12 LINE DENSITY DEC -1 T12M2 DEF T04M2+1 T12M3 DEF *+1 ASC 4,XX LPI OCT 157537 OCT 6412 DEC -1 SKP *********************************************************************** * * AUTO UNDER LINE TEST TEST 13 * ********************************************************************** SPC 1 ORG 10000B TST13 NOP LDA OCMD SET TO TRANSMIT JSB AOUT JSB PRFNT JSB TOF GO TO TOP OF FORM JSB STAT,I UPDATE STATUS LDB T13M1 JSB OPPTM *AUTO UNDER LINE TEST JSB RTLF LDA .4 LDB A.D JSB ESCAP TURN ON UNDERLINE JSB STAT,I CHECK STATUS SZB,RSS IF 12845B JMP T13C FORGET IT. AND BT10 TO SEE IF IT SZA,RSS IS ON. JSB T13A NOPE LDA .4 LDB .@ JSB ESCAP TURN OFF UNDERLINE JSB STAT,I CHECK STATUS SZB,RSS JMP T13C AND BT10 TO SEE IF IT SZA IS OFF. JSB T13B NOPE T13C LDA PLINE GET NORMAL LINE LENGTH STA LLEN SAVE IT JSB UNDER DUMP BLOCK JSB RTLF2 DUMP 2 LINE hþþúFEEDS LDA .4 LDB .@ JSB ESCAP TURN OFF UNDER LINE JSB PRFNT LDB T13M2 GET COMPLETION MESS JSB OPPTM DUMP IT JMP TST13,I RETURN * T13A NOP JSB ERMS,I OUTPUT ERROR MESS. DEF E066 UNDERLINE DID NOT TURN ON JMP T13A,I * T13B NOP JSB ERMS,I OUTPUT ERROR MESS. DEF E041 UNDERLINE DID NOT TURN OFF JMP T13B,I * * UNDER NOP ROUTINE TO DUMP 10 LINE BLOCK LDA DM50 GET BLOCK SIZE LDB BT7 JSB SWRT,I CHECK FOR SHORT TEST LDA .M10 STA BSIZE SAVE IT LDA B37 PUT A SPACE STA CHAR IN CHAR. UNDR0 LDB BT9 JSB SWRT,I ABORT? JMP UNDER,I YES LDA A.D CHAR TO TURN ON MODE STA MOD1 SAVE IT LDB LLEN GET LINE LENGTH STB TMP1 SAVE IT LDA CHAR LOAD FIRST CHAR IN LINE ISZ CHAR BUMP CHAR FOR RIPLE EFFECT. STA REPC UNDR1 LDB DM10 SET TO ALTERNATE EVERY STB CNT1 10 CHAR. UNDR2 LDA REPC CPA B177 IS IT THE LAST ONE? LDA B37 INA BUMP TO NEXT CHAR. STA REPC JSB AOUT NO: DUMP CHAR. ISZ TMP1 CHECK FOR END OF LINE RSS JMP UNDR3 ISZ CNT1 CHECK FOR CHANGE OF MODE JMP UNDR2 LOOP ON CHAR. JMP UNDR4 UNDR3 JSB RTLF END LINE LDA .4 LDB .@ JSB ESCAP TURN OFF UNDERLINED IF ON. ISZ BSIZE END OF BLOCK? JMP UNDR0 NO--LOOP ON PROCESS JMP UNDER,I RETURN TO CALLER. * * UNDR4 LDA .4 LDB MOD1 JSB ESCAP GO CHANGE AUTO MODE CPB A.D CHANGE FOR NEXT SEG. JMP UNDR6 LDA A.D TURN ON MODE RSS UNDR6 LDA .@ TURN OFF MODE STA MOD1 JMP UNDR1 * * T13M1 DEF *+1 ASC 12,TEST 13 AUTO UNDER LINE OCT 177777 T13M2 DEF *+1 ASC 7,TEST COMPLETE ú5þú OCT 177777 * LLEN NOP PMOD NOP BSIZE NOP MOD1 NOP CNT1 NOP * * * * * * * * * * * * * * * * * * * * SKP *******************************************************: * * PRIMARY-SECONDARY SELECT TEST -- TEST 14 * ********************************************************** SPC 1 TST14 NOP LDA OCMD OUTPUT JSB AOUT PRINT COMMAND JSB PRFNT GO SET PRINT FONT JSB TOF GO TO TOP OF FORM JSB STAT,I UPDATE STATUS LDB T14M1 JSB OPPTM *PRIMARY SECONDARY SELECT TEST LDB BT1 JSB SWRT,I CHECK FOR 8TH BIT JMP T14A LDA SI JSB AOUT SET PRIMARY SET T14A CLA STA .8BIT JSB RTLF2 LDB T14M2 JSB OPPTM *PRIMARY SET JSB RTLF2 LDA .M8 CLB JSB RIPL,I PRINT 2 LINES JSB RTLF2 LDB T14M3 JSB OPPTM *SECONDARY SET JSB RTLF2 LDB BT1 JSB SWRT,I JMP T14B LDA SO JSB AOUT SHIFT OUT JMP T14C T14B LDA BT7 STA .8BIT T14C LDA .M8 CLB JSB RIPL,I PRINT TWO LINES CLA STA .8BIT JSB RTLF JSB PRFNT RETURN TO SELECTED PRINT FONT. JSB RTLF2 LDB T14M4 JSB OPPTM *TEST COMPLETE JMP TST14,I * T14M1 DEF *+1 ASC 17,TEST 14 PRIMARY/SECONDARY SELECT DEC -1 T14M2 DEF *+1 ASC 6,PRIMARY SET DEC -1 T14M3 DEF *+1 ASC 7,SECONDARY SET DEC -1 T14M4 DEF T04M2+1 * SKP ********************************************************* * * PRIMARY / SECONDARY INTERMIX TEST --TEST 15 * **************************************************************** SPC 1 TST15 NOP LDA OCMD GET OUTPUT COMMAND JSB AOUT SEND TO INTERFACE JSB PRFNT SET PRINT FONT JSB TOF GO TO TOP OF FORM ʤþú JSB STAT,I UPDATE STATUS LDB T15M1 JSB OPPTM *PRI/SEC INTERMIX TEST JSB RTLF LDA .M1 SET UP COUNT STA CNTR1 FOR ONE LINE T15A LDA B40 START WITH STA CHAR SPACE CHAR. T15B LDB BT9 JSB SWRT,I ABORT? JMP T15C YES CLA STA .8BIT LDB BT1 JSB SWRT,I CLA,RSS LDA SI SELECT PRIMARY SET ALF,ALF IOR CHAR GET CHARACTER JSB AOUT OUTPUT THEM LDB BT1 JSB SWRT,I JMP T15D JMP T15E T15D LDA BT7 STA .8BIT CLA,RSS T15E LDA SO SELECT SECONDARY SET ALF,ALF PUT IN UPPER IOR CHAR GET CHAR. JSB AOUT OUTPUT THEM LDA CHAR INA NEXT CHAR. STA CHAR CPA BT7 LAST CHAR.? JMP *+2 YES JMP T15B NO: DO ANOTHER CLA STA .8BIT JSB RTLF GO TO NEXT LINE ISZ CNTR1 TEST DONE? JMP T15A NO: DO ANOTHER LINE T15C JSB PRFNT YES: RETURN TO PRINT FONT. JSB RTLF2 LDB T15M2 JSB OPPTM *TEST COMPLETE JMP TST15,I * T15M1 DEF *+1 ASC 13,TEST 15 PRI/SEC INTERMIX DEC -1 T15M2 DEF T04M2+1 SKP *********************************************************** * * BACK SPACE SHORT LINE TEST -- TEST 16 * *****************************************************************: SPC 1 TST16 NOP LDA OCMD GET OUT PUT COMMAND JSB AOUT SEND TO INTERFACE JSB PRFNT SET PRINT FONT. JSB TOF GO TO TOP OF FORM JSB STAT,I UPDATE STATUS LDB T16M1 JSB OPPTM *SO-SI-BS TEST JSB RTLF * * SUBTEST 1 * LDA A.A THE CHARACTER "A" LDB PLINE GET CURRENT LINE LENGTH. JSB RCHR OUTPUT THEM. LDA BS THE BACK SPACE. LDB PLINE CURRENT LINE LENGTH. JSª0þúB RCHR OUTPUT LDA A._ THE UNDERLINE. LDB PLINE LINE LENGTH. JSB RCHR OUT JSB RTLF * * SUBTEST 2 * CLA STA TIMOT SET LONGER TIME OUT. STA TIMIN LDB PLINE SET THE LINE LENGTH. T16A LDA A.A "A" JSB AOUT OUTPUT LDA BS NO, "BS" STANDS FOR BACK SPACE. JSB AOUT OUTPUT IT. LDA A._ UNDERLINE JSB AOUT UNDERLINE THE "A" INB,SZB END OF LINE? JMP T16A NOPE JSB RTLF * * SUBTEST 5 * LDB DM120 SET COUNT FOR 120 LINES LDA A1 START AT ONE. T16B JSB AOUT OUTPUT THE NUMBER. JSB RTLF INA INCREMENT FOR NEXT LINE. CPA A9+1 CHECK FOR ROLL OVER. LDA A0 ZERO INB,SZB DONE? JMP T16B NOPE LDA .ME3 RESTORE TIME STA TIMOT OUT COUNT. STA TIMIN * * JSB RTLF2 LDB T16M2 JSB OPPTM *TEST COMPLETED JMP TST16,I * * RCHR NOP JSB AOUT INB,SZB JMP *-2 JMP RCHR,I * * T16M1 DEF *+1 ASC 15,TEST 16 BACK SPACE-SHORT LINE DEC -1 T16M2 DEF T04M2+1 * * * * * * * * * * * * * * * * * SKP ************************************************************************ * * INTERMIX PRINT FONT ON ONE LINE TEST 17 * ************************************************************************ SPC 1 TST17 NOP LDA OCMD JSB AOUT SET TO TRANSMIT JSB TOF GO TO TOP OF FORM JSB STAT,I UPDATE STATUS LDB BT7 JSB SWRT,I CHECK FOR SHORT TEST CCA,RSS LDA .M2 STA T17TM JSB PRFNT LDB T17M1 JSB OPPTM * MIX PRINT FONT TEST JSB RTLF2 LDA D1 LDB A1 JSB ESCAP GO INTO EXPANDED JSB STAT,I CHECK STATUS SZB,RSS JMP ßþúT17C AND BT9 FOR EXPANDED MODE SZA,RSS JSB T17E NO LDA D1 LDB A2 JSB ESCAP GO INTO COMPRESSED JSB STAT,I CHECK STATUS AND BT8 FOR COMPRESSED MODE SZA,RSS JSB T17F NO LDA D1 LDB A0 JSB ESCAP GO INTO NORMAL JSB STAT,I CHECK STATUS AND BT9 FOR AND BT8 NORMAL SZA JSB T17G NO T17C LDA T17BF TABLE ADDRESS STA TMP19 TEMP STORAGE T17A ISZ TMP19 MOVE TO NEXT ADDRESS LDB TMP19,I GET MESSAGE ADDR. CPB .M1 IF -1 JMP T17B QUIT ADB T17DT LDB B,I JSB OPDPT PRINT MESSAGE LDB BT9 CHECK BIT 9 JSB SWRT,I FOR ABORT? JMP T17D YES ABORT. JMP T17A T17B ISZ T17TM JMP T17C T17D JSB PRFNT RESET TO CHOSEN FONT JSB RTLF2 LDB T17M2 JSB OPPTM * TEST COMPLETE JMP TST17,I * T17E NOP JSB ERMS,I OUTPUT ERROR MESS DEF E063 DID NOT GO INTO EXPANDED MODE JMP T17E,I * T17F NOP JSB ERMS,I OUTPUT ERROR MESS DEF E064 DID NOT GO INTO COMPRESSED MODE JMP T17F,I * T17G NOP JSB ERMS,I OUTPUT ERROR MESS DEF E062 DID NOT GO INTO NORMAL MODE JMP T17G,I * TMP19 NOP T17TM NOP * T17M1 DEF *+1 ASC 12,TEST 17 MIX PRINT FONT DEC -1 T17M2 DEF T04M2+1 * T17DT DEF *+1 DEF CRLF DEF NORM DEF EXPN DEF COMP DEF NORML DEF EXPNL DEF COMPL * SKP * * T17BF DEF * OCT 1,2,3,4,5,6,0 OCT 1,3,2,4,6,5,0 OCT 2,1,3,5,4,6,0 OCT 2,3,1,5,6,4,0 OCT 3,1,2,6,4,5,0 OCT 3,2,1,6,5,4,0 OCT 6,3,5,2,4,1,0 OCT 4,5,6,1,2,3,0 OCT 4,6,5,1,3,2,0 OCT 5,4,6,2,1,3,0 OCT 5,6,4,2,3,1,0 OCT 6,4,5,3,1,2,0 OCT 6,5,4,3,2,1,0 OCT 3,6,2,5,1,4,0 ´\þú OCT 2,3,4,5,6,1,0 OCT 3,4,5,6,1,2,0 OCT 4,5,6,1,2,3,0 OCT 5,6,1,2,3,4,0 OCT 6,1,2,3,4,5,0 OCT 1,4,2,5,3,6,0 OCT 1,5,2,6,3,4,0 OCT 1,6,2,4,3,5,0 OCT 2,4,3,5,1,6,0 OCT 3,4,1,5,2,6,0 OCT 177777 * * NORM OCT 33,23153,30123,15446,62100 ASC 6,NORMAL PRINT OCT 40 DEC -1 EXPN OCT 33,23153,30523,15446,62100 ASC 7,EXPANDED PRINT OCT 40 DEC -1 COMP OCT 33,23153,31123,15446,62100 ASC 8,COMPRESSED PRINT OCT 40 DEC -1 NORML OCT 33,23153,30123,15446,62104 ASC 9,NORMAL UNDERLINED DEC -1 EXPNL OCT 33,23153,30523,15446,62104 ASC 10,EXPANDED UNDERLINED DEC -1 COMPL OCT 33,23153,31123,15446,62104 ASC 11,COMPRESSED UNDERLINED DEC -1 CRLF OCT 6412 DEC -1 * * SKP **************************************************************** * * TEST 18 ON LINE OFF LINE TEST * **************************************************************** SPC 1 TST18 NOP JSB STAT,I UPDATE STATUS LDA USSC CHECK USSER SSA JMP T18E SELECTION RAL SSA FOR 12845B JMP TST18,I EXIT T18E LDA OCMD OUTPUT JSB AOUT PRINT COMMAND JSB PRFNT SET CURRENT PRINT FONT JSB TOF GO TO TOP OF FORM JSB STAT,I UPDATE STATUS LDB T18M1 JSB OPPTM * ON/OFF LINE TEST JSB RTLF * * SUBTEST ONE * LDA .M10 STA CNTR1 DO 10 LINES T18D LDA PLINE SET LINE STA REPC LENGTH COUNT T18A LDB BT9 JSB SWRT,I ABORT? JMP T18C YES CLB LDA .16 JSB ESCAP GO OFFLINE LDA LF JSB TMRR,I DELAY 12 MSEC JSB NOACK LDA DASH OUTPUT A DASH JSB AOUT CLB LDA .15 JSB ESCAP GO ON LINE LDA LF JSB TMRR,I DELAY 12 MSEC. JS¼×HFBB GOACK LDA A.X JSB AOUT OUTPUT AN X ISZ REPC LINE DONE? ˸Hÿÿ ÿý- ÿ02631-18007 1748 S 0146 DIAGNOSTICS FOR 2631A/2635A             H0101 äsþú JMP T18A NO JSB RTLF ISZ CNTR1 SUBTEST DONE? JMP T18D NO * * SUBTEST TWO * LDA DM40 STA REPC ON/OFF COUNT JSB NOACK INHIBIT ENQ-ACK T18B LDB BT9 JSB SWRT,I ABORT? JMP T18C YES CLB LDA .16 JSB ESCAP GO OFF LINE LDA BT6 JSB TMRR,I WAIT .1 SEC CLB LDA .15 JSB ESCAP GO ON LINE LDA BT4 JSB TMRR,I WAIT .1 SEC ISZ REPC SUBTEST DONE? JMP T18B NO JSB GOACK ENABLE ENQ-ACK * T18C LDB T18M2 JSB OPPTM * TEST COMPLETE JMP TST18,I * * T18M1 DEF *+1 ASC 10,TEST 18 ON/OFF LINE DEC -1 T18M2 DEF T04M2+1 SKP ******************************************************************** * * SLEW RATE TEST TEST 19 * ********************************************************************** SPC 1 IFN TST19 NOP JSB STAT,I UPDATE STATUS LDA USSC CHECK USSER SELECTION RAL FOR SERIAL INTERFACES SSA,RSS IF SO- JMP TST19,I BYPASS THIS TEST LDA OCMD PRINT COMMAND JSB AOUT OUTPUT IT LDA D1 LDB A0 JSB ESCAP JSB TOF GO TO TOP OF FORM JSB STAT,I UPDATE STATUS LDB T19M1 * SLEW RATE TEST JSB OPPTM OUTPUT MESSAGE JSB RTLF LDA BT11 JSB TMRR,I WAIT ONE SEC. CLA STA BIGER CLEAR JSB TCJI,I SET THE TRAP CELL ADDRESS DEF TIMCK TO JUMP TO TIME CHECK ROUTINE LDA .M8 DO 8 LINES LDB DM136 FIRST TO BUFFER UP JSB RIPL,I AND STABLIZE PRINTER. JSB RTLF JSB TOF DO TWO JSB TOF TOP OF FORMS STF 0 TURN ON INTERRUPTS T19A LDA .M8 NOW DO 8 LINES OF PRINT LDB DM136 WHICH SHOULD BI-DIRECTIONALY PRINT JSB RIPL,I THEkþú TIMCK ROUTINE WILL SAVE THE JSB RTLF LONGEST TIME DELAY CLF 0 TURN OF INTERRUPTS JSB ITCH,I RE-INTIALIZE TRAP CELL HALTS LDB BT9 JSB SWRT,I JMP T19B LDA BIGER TAKE THE LARGEST LDB .100 JSB DIVID STA B LDA .1870 JSB DIVID CCE START WITH LOWER LDB T19M4 JSB I2AS,I CONVERT TO ASCII LDA T19M3+12 AND B177 ALF,ALF IOR A. STA T19M3+12 JSB RTLF2 LDB T19M3 JSB OPPTM OUTPUT TIME FOR SLEW JSB RTLF T19B LDB T19M2 JSB OPPTM * TEST COMPLETED JMP TST19,I * * T19M1 DEF *+1 ASC 09,TEST 19 SLEW RATE DEC -1 T19M2 DEF T04M2+1 T19M3 DEF *+1 ASC 22,SLEW RATE MEASURES XXXXXX INCHES PER SECOND DEC -1 T19M4 DEF T19M3+10 SKP ************************************************************************ * * INSERT PRINT SPEED TEST TEST 20 * ************************************************************************ SPC 1 TST20 NOP LDA USSC CHECK USSER SELECTION RAL FOR SERIAL INTERFACES SSA,RSS IF SO- JMP TST20,I BYPASS THIS TEST LDA OCMD PRINT COMMAND JSB AOUT OUTPUT IT JSB PRFNT SET PRINT FONT JSB TOF GO TO TOP OF FORM JSB STAT,I UPDATE STATUS LDB T20M1 * PRINT SPEED TEST JSB OPPTM OUTPUT MESSAGE JSB RTLF LDA BT11 JSB TMRR,I WAIT ONE SEC. CLA STA BIGER CLEAR THE STA TIMAV BOARD LDA .M16 STA CNTR TAKE 16 MEASUREMENTS JSB TCJI,I SET THE TRAP CELL ADDRESS DEF TIMCK TO JUMP TO TIME CHECK ROUTINE LDA .M8 DO 8 LINES CLB FIRST TO BUFFER UP JSB RIPL,I AND STABLIZE PRINTER. JSB RTLF STF 0 TURN ON INTERRUPTS T20A LDA .M2 NOW DO TWO LINES OF PRINÎþúT CLB WHICH SHOULD BI-DIRECTIONALY PRINT JSB RIPL,I THE TIMCK ROUTINE WILL SAVE THE JSB RTLF LDB BT9 JSB SWRT,I JMP T20D LDA TIMAV LARGEST TIME DELAY BETWEEN CHAR. ADA BIGER ADD THIS TIME TO THE LAST TIME STA TIMAV SAVE THE TOTAL FOR NEXT ISZ CNTR IS ALL THE MEASURMENTS COMPLETE JMP T20A NO: CONTINUE CLF 0 YES: TURN OF INTERRUPTS JSB ITCH,I RE-INTIALIZE TRAP CELL HALTS LDA TIMAV TAKE THE SUM OF THE LARGEST CLE,ERA TOTAL DELAYS ARS AND DIVIDE IT ARS,ARS BY 16 TO CALCULATE ADA .M70 SUBTRACT LF AND TURNAROUND TIME LDB .10 JSB DIVID ADB .M5 SSB,RSS INA STA TIMAV LDB PFONT CPB A0 LDA .136K CPB A1 LDA .67K CPB A2 LDA .227K LDB TIMAV JSB DIVID ADB .M5 SSB,RSS INA T20C CCE START WITH LOWER LDB T20M4 JSB I2AS,I CONVERT TO ASCII JSB RTLF2 LDB T20M3 JSB OPPTM OUTPUT TIME PER LINE JSB RTLF T20D LDB T20M2 JSB OPPTM * TEST COMPLETED JMP TST20,I * * TIMCK NOP ROUTINE TO SAVE LARGEST CHAR DELAY STA .HTC SAVE A REG. LDA MWAIT GET THE WAIT TIME CMA,INA AND SUBTRACT IT ADA BIGER FROM THE PREVIOUS SSA,RSS IF IT IS SMALLER JMP TIM01 EXIT LDA MWAIT IT MUST BE LARGER STA BIGER SO SAVE NEW VALUE TIM01 LDA .HTC RESTOR A REG. JMP TIMCK,I RETURN TO WHERE EVER YOU WERE * BIGER NOP TIMAV NOP * * DIVID NOP CMB,INB,SZB,RSS JMP DIVID,I STB DIV03 CLB DIV01 ADA DIV03 SSA JMP DIV02 INB STA DIV04 JMP DIV01 DIV02 LDA B LDB DIV04 JMP DIVID,I * DIV03 NOP DIV04 NOP * iÃþú* T20M1 DEF *+1 ASC 10,TEST 20 PRINT SPEED DEC -1 T20M2 DEF T04M2+1 T20M3 DEF *+1 ASC 24,AVERAGE RATE PER LINE IS XXXXXX CHAR PER SECOND DEC -1 T20M4 DEF T20M3+13 XIF SKP * * ****************************************** * * ORG 12000B PFNT. NOP ENTRY LDB BT6 CHECK FOR COMPRESSED FONT JSB SWRT,I JMP CMPR LDB BT5 CHECK FOR EXPANDED FONT JSB SWRT,I JMP EXPND NRMAL LDB A0 STB PFONT STANDARD FONT LDA DM136 STANDARD PRINT LINE LENGTH STA PLINE LDA .ME3 STANDARD INPUT TIME STA TIMIN JMP PREX * CMPR LDB BT5 CHECK IF BOTH JSB SWRT,I SWITCHES ARE SET JMP BOTH YES: GO CYCLE THOUGH FONTS CMPRS LDB A2 COMPRESSED FONT STB PFONT LDA DM227 COMPRESSED PRINT LINE STA PLINE LDA .ME3 COMPRESSED INPUT TIME STA TIMIN JMP PREX * EXPND LDB A1 EXPANDED FONT STB PFONT LDA DM67 EXPANDED PRINT LINE STA PLINE LDA .10K EXPANDED INPUT TIME STA TIMIN PREX LDA D1 GET PRINT TYPE STB SOF JSB ESCAP DUMP IT JSB STAT,I READ STATUS SZB,RSS IF 12845 JMP PREX. FORGET IT LDA ST.3 ERA,RAR SWAP ELA,ELA BITS AND A3 CPA SOF JMP PREX. ITS OK LDB SOF CPB BT0 JMP PREX1 CPB BT1 JMP PREX2 JMP PREX3 PREX. LDB BT1 JSB SWRT,I JMP *+4 LDA SI BY THE WAY- JSB AOUT MAKE SURE YOUR IN THE PRIMARY SET. JMP *+3 CLA STA .8BIT LDA .4 LDB .@ JSB ESCAP AND MAKE SURE UNDERLINE IS OFF LDA .2 LDB A6 JSB ESCAP SET 6 LPI JMP PRFNT,I RETURN * BOTH LDA EOLC,I CHECK THE CURRENT PASS COUNT CPA PASSC COMPARE TO LAST CH:þúECK. JMP BOTH1 IF SAME STAY IN SAME MODE STA PASSC DIFFERANT: GO TO NEXT FONT LDA PFONT CHECK THE LAST PRINT FONT CPA A0 IF IT WAS NORMAL JMP EXPND GO TO EXPANDED CPA A1 IF IT WAS EXPANDED JMP CMPRS GO TO COMPRESSED CPA A2 IF IT IS COMPRESSED JMP NRMAL GO TO NORMAL JMP NRMAL IF NONE OF THEM, DEFALT NORMAL * BOTH1 LDA PFONT CHECK THE CURRENT PRINT FONT CPA A0 IF NORMAL JMP NRMAL STAY IN NORMAL CPA A1 IF EXPANDED JMP EXPND STAY IN EXPANDED CPA A2 IF COMPRESSED JMP CMPRS STAY IN COMPRESSED JMP NRMAL IT SHOULDN'T EVER HAPPEN * EOLC DEF ZEOLC LOCATION OF PASS COUNT PASSC NOP LAST PASS COUNT * PREX1 JSB ERMS,I DEF E063 JMP PREX. * PREX2 JSB ERMS,I DEF E064 JMP PREX. * PREX3 JSB ERMS,I DEF E062 JMP PREX. * * SKP * * SOF. NOP ROUTINE TO SKIP OVER FOLD STA SOF.A STB SOF.B SAVE A AND B LDA USSC CHECK FOR 12845B SSA JMP SOF01 RAL SSA,RSS JMP SOF01 LDA PSOF JSB AOUT JMP SOF02 SOF01 CLA FOR ESC & LITTLE L LDB A3 VFU CHAN 3 JSB ESCAP DO IT LDA CR OUTPUT A RETURN JSB AOUT BECAUSE IT NEEDS IT SOF02 LDA SOF.A LDB SOF.B RESTORE JMP SOF,I * SOF.A NOP SOF.B NOP PSOF OCT 100102 SKP * CONFIGURATION SECTION * ZCONF CLC INTP,C TURN I/O SYSTEM OFF JSB NOTIM MAKE SURE DVR IS NORMAL LDA DM5K SET STA TIMOT UP TIME LDA .ME3 STA TIMIN VALUES LDA .M40 SET CHAR STA CCNT COUNT. LDA .M1 STA CFTT LIA SW GET SELECT CODE AND OPTIONS STA USSC SAVE THEM AND BT10 IF BIT 10 SZA,RS3dþúS IS SET JMP ZCON1 CLA DELETE ENQ-ACK HAND SHAKE STA XENQ+1 JMP ZCON2 ZCON1 LDA ISZCT ENABLE STA XENQ+1 ENQ-ACK HAND SHAKE ZCON2 LDA USSC GET USSER OPTIONS RAL IFZ SSA,RSS JMP *+3 HLT 72B JMP ZCONF XIF LDB I.CLF SSA,RSS IF SERIAL INTERFACE STB CBEF SET THE CLEAR SO SERIAL WILL WORK LDA USSC AND ZB77 ELIMINATE OPTIONS LDB A CMB,INB CHECK THAT SC > 7 ADB ZB7 SSB ? JMP ZCON3 OK GO ON HLT 73B NO JMP ZCONF TRY AGAIN ZCON3 LDB IOIP INITIALIZE TEST I/O JSB ISC,I INSTRUCTIONS JSB CKBTP CHECK TYPE OF BOARD CLA OTA SW CLEAR SWITCH REG. HLT 74B ALLOW OPERATOR TO CHANGE SWIT JMP STEX,I GO TO EXEC CONTROL SECTION * * * * CKBTP NOP CHECK BOARD TYPE LDA USSC SSA,RSS 12966/68? JMP CKBTP,I RAL CHECK FOR SSA 59310B (HP-IB) JMP IBSET GO SETUP IB * * INITIALIZE 12966/68 BOARD * LDA OWD5 INT. STATUS RESET/MC TSC6 JSB OTA LDA USSC GET THE ALF,ALF BAUD RATE RAL,RAL SELECTION AND B17 STA B TSC3A IOR OWD4 INTERFACE CONTROL WORD TSC3 JSB OTA STA OWD4A SAVE FOR FUTURE AND RCVMK CONSTRUCT RECEIVE MODE WORD IOR BT5 SET CLEAR TO SEND LINE STA OWD4B RECEIVE MODE CONTROL WORD LDA OWD1 ENABLE DEV. STATUS INTERFACE WD. TSC4 JSB OTA LDA BT5 CMA AND OWD3 CPB B11 IOR BT5 STA OWD3 JSB OTA * * CLEAR SPEC CHAR RAM FOR 12966 * LDA OWD6 CONTROL WORD & WITH TSC4A JSB OTA REMOVE CHAR INDICATED INA CPA MAXL LOOP THROUGH TO 377 CHARS JMP CKBT:JþúP,I DONE JMP TSC4A OWD6 OCT 60000 MAXL OCT 60400 WORD & AFTER 377O CHARS * * IBSET CLA STA CBEF CLEAR THE CLEAR SO HPIB WILL WORK LDA USSC GET THE ALF,ALF PRINTER ADDRESS RAL,RAL SECTION AND B17 SEPARATE FROM OTHER BITS STA LSTAD PUT IN LISTEN ADDRESS STA TLKAD PUT IN TALK ADDRESS JMP CKBTP,I RETURN TO CALLER * * ISZCT ISZ CCNT CFTT DEF ZCFTT STEX DEF ZSTEX SKP M20 EQU BT4 M200 EQU BT7 M300 EQU ZB300 M17 EQU SI M11 EQU HT .15 EQU SI .16 EQU BT4 .M40 EQU DM40 CR EQU .13 SO EQU .14 .2 EQU BT1 .4 EQU BT2 BS EQU BT3 B20 EQU BT4 B40 EQU BT5 .@ EQU BT6 @ COMMERCIAL AT .5 EQU ENQ .M10 EQU DM10 B77 EQU .63 HIBYT EQU BCM .6 EQU ACK B17 EQU SI .1 EQU D1 ZB2 EQU BT1 ZB7 EQU .7 ZB10 EQU BT3 ZB77 EQU .63 ZB177 EQU .127 ZBM1 EQU DM1 ZBM2 EQU DM2 ZSW14 EQU BT14 ZSW13 EQU BT13 ZSW12 EQU BT12 ZSW9 EQU BT9 ZB100 EQU BT6 ZB200 EQU BT7 ZSW0 EQU D1 MIN11 EQU .M90 MIN30 EQU .M32 MIN15 EQU .M60 MIN12 EQU .M7 MIN24 EQU .M4 SLP11 EQU .M12 SLP15 EQU .M8 SLP30 EQU .M3 SLP12 EQU .M3 SLP24 EQU .M2 SKP * * POINTERS TO ALL TEST LOCATIONS * TSTD EQU * DEF TST0 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 DEF TST16 DEF TST17 DEF TST18 IFN DEF TST19 DEF TST20 XIF DEC -1 * SKP * * POINTERS TO EACH TEST SELECT CODE I/O INSTRUCTION * * IODS EQU * I/O DEF START DEF CND2 DEF PP2 DEF IS2 DEF TOSC1 DEF TISC5 DEF TSC14 DEF TSC10 DEF IB3 DEF HPIBO hâþúDEF IB5 DEF HPIBI DEF IB6 DEF IB8 DEF IBE0 DEF CND1 DEF OA0 DEF OA1 DEF PP1 DEF IS1 DEF CBEF DEF I.STC DEF .STC DEF I.OTA DEF I.OAC DEF I.LIA DEF I.IAC DEF I.SFS DEF I.SFC DEF I.CLC DEF .CLC DEF I.CLF DEF ENQIO DEC -1 SKP * * MESSAGES * E000 ASC 12,E000 CLF 0-SFC 0 ERROR/ E001 ASC 12,E001 CLF 0-SFS 0 ERROR/ E002 ASC 12,E002 STF 0-SFC 0 ERROR/ E003 ASC 12,E003 STF 0-SFS 0 ERROR/ E004 ASC 16,E004 CLF 0 DID NOT INHIBIT INT/ E005 ASC 13,E005 CLF CH-SFC CH ERROR/ E006 ASC 13,E006 CLF CH-SFS CH ERROR/ E007 ASC 13,E007 STF CH-SFC CH ERROR/ E010 ASC 13,E010 STF CH-SFS CH ERROR/ E012 ASC 16,E012 INT DURING HOLD OFF INSTR/ E013 ASC 13,E013 SECOND INT OCCURRED/ E014 ASC 06,E014 NO INT/ E015 ASC 12,E015 INT RTN ADDR ERROR/ E016 ASC 9,E016 CLC CH ERROR/ E017 ASC 9,E017 CLC 0 ERROR/ E020 ASC 17,E020 PRESET(EXT) DID NOT SET FLAG/ E021 ASC 19,E021 PRESET(INT) DID NOT DISABLE INTS/ E022 ASC 20,E022 PRESET(EXT) DID NOT CLEAR CONTROL/ E023 ASC 21,E023 PRESET(EXT) DID NOT CLEAR I-O LINES/ H024 ASC 20,H024 PRESS PRESET (EXT&INT), PRESS RUN/ H025 ASC 08,H025 BI-O COMP/ E026 ASC 13,E026 INT EXECUTION ERROR/ IFZ H027 ASC 26,H027 2635A PRINTING TERMINAL DIAG. DSN = 105007/ XIF IFN H027 ASC 26,H027 2631A RECEIVE ONLY PRINTER DIAG. DSN = 105006/ XIF IFZ H111 ASC 28,H111 POWER ON, INSTALL PAPER, LATCH REMOTE; PRESS RUN/ H112 ASC 16,H112 UNLATCH REMOTE; PRESS RUN/ H113 ASC 12,H113 SHOULD NOT BE HERE/ H114 ASC 15,H114 LATCH REMOTE; PRESS RUN/ H115 ASC 17,H115 PRESS TERM RESET; PRESS RUN/ H117 ASC 28,H117 UNLATCH REMOTE, PRESS SELF-TEST, VERIFY SELF-TEST, OCT 6412 ASC 15, LATCH REMOTE; PRESS RUN/ H126 ASC 22,H126 PRESS LINE FEED, VERIFY PAPER ADVANCE/ H127 ASC 26,H127 DEPRESS CNTL AND L SIMULTANEOUSLY, VERIFY FORM -¬þúASC 3,FEED/ H132 ASC 28,H132 UNLATCH REMOTE, LATCH DISPLAY FUNCTIONS AND REMOTE; OCT 6412 ASC 22, PRESS RUN, VERIFY FUNCTIONS DISPLAYED/ H144 ASC 26,H144 ALIGN TOP OF FORM, PRESS TERM RESET; PRESS RUN/ E040 ASC 13,E040 DATA INPUT TIME OUT/ E061 ASC 18,E061 INCORRECT CHARACTER RECEIVED./ XIF E032 ASC 11,E032 INCORRECT STATUS/ E033 ASC 11,E033 STATUS SEQUENCE/ E034 ASC 07,E034 IDENTIFY/ E035 ASC 10,E035 PARALLEL POLL/ E036 ASC 05,E036 DSJ/ H110 ASC 25,H110 POWER OFF LP (BACK, LOWER RIGHT); PRESS RUN/ IFN H111 ASC 25,H111 POWER ON, INSTALL PAPER, ON LINE; PRESS RUN/ H112 ASC 16,H112 PRESS OFF LINE; PRESS RUN/ H113 ASC 19,H113 REMOVE PAPER, ON LINE; PRESS RUN/ H114 ASC 21,H114 REINSTALL PAPER, ON LINE; PRESS RUN/ H125 ASC 24,H125 DEPRESS OFF LINE, 8LPI, ON LINE PRESS RUN/ H127 ASC 22,H127 DEPRESS FORM FEED, VERIFY PAPER MOTION; ASC 6, PRESS RUN/ H126 ASC 10,H126 PRESS OFF LINE, ASC 17, LINE FEED, VERIFY PAPER ADVANCE/ ORG *-1 ASC 6,; PRESS RUN/ H117 ASC 25,H117 PRESS OFF LINE, SELF-TEST, VERIFY SELF-TEST; ASC 6, PRESS RUN/ H115 ASC 19,H115 PRESS RESET, ON LINE; PRESS RUN/ XIF H115A ASC 19,H115 PRESS RESET; PRESS RUN/ H123 ASC 27,H123 SELECT 8 LPI DEFAULT, PRESS RESET, PRESS ON LINE; ASC 6, PRESS RUN/ H124 ASC 27,H124 SELECT 6 LPI DEFAULT, PRESS RESET, PRESS ON LINE; ASC 6, PRESS RUN/ H120 ASC 26,H120 SELECT COMP DEFAULT, PRESS ON LINE; PRESS RUN/ H121 ASC 28,H121 PRESS OFF LINE, SELECT EXP DEFAULT, PRESS ON LINE; ASC 5,PRESS RUN/ H122 ASC 28,H122 PRESS OFF LINE, SELECT NORM DEFAULT, PRESS ON LINE; ASC 6, PRESS RUN/ IFZ H130 ASC 27,H130 KEY IN THE FOLLOWING CHARACTERS: 2635 TERMINALS./ XIF COMBF OCT 62,66,63,65,40,124,105,122,115,111,116,101,114,123,56 IFZ H131 ASC 23,H131 ENTER ANY PATTERN TERMINATED BY RETURN./ XIF IFN H132 ASC 5,H132 PRESS ASC 9, DISPLAY FUNCTIONS ASC 11,, ON LINEþú; PRESS RUN, OCT 6412 ASC 16, VERIFY FUNCTIONS DISPLAYED/ XIF H137 ASC 18,H137 SELECT ODD PARITY; PRESS RUN/ H140 ASC 18,H140 SELECT EVEN PARITY; PRESS RUN, ASC 11,"@" SHOULD BE PRINTED/ H141 ASC 18,H141 SELECT NONE PARITY; PRESS RUN/ IFZ H135 ASC 18,H135 SELECT FULL DUPLEX; PRESS RUN/ H136 ASC 18,H136 PRESS A KEY AND VERIFY NO EHCO/ H133 ASC 18,H133 SELECT HALF DUPLEX; PRESS RUN/ H134 ASC 17,H134 PRESS A KEY AND VERIFY ECHO/ XIF H143 ASC 16,H143 SELECT # BAUD; PRESS RUN/ H142 ASC 16,H142 SELECT EXT BAUD; PRESS RUN/ IFN H144 ASC 18,H144 ALIGN TOP OF FORM, PRESS RESET, ASC 10, ON LINE; PRESS RUN/ XIF E060 ASC 16,E060 BAUD RATE OUT OF TOLERANCE/ E051 ASC 09,E051 HP-IB STATUS/ E052 ASC 14,E052 DATA OUTPUT TIME OUT/ E053 ASC 10,E053 HP-IB TIME OUT/ IFN E040 ASC 14,E040 STATUS INPUT TIME OUT/ XIF E041 ASC 16,E041 UNDERLINE DID NOT TURN OFF/ E066 ASC 16,E066 UNDERLINE DID NOT TURN ON/ IFN E061 ASC 11,E061 EXPECTED AN ACK/ XIF E062 ASC 17,E062 DID NOT GO INTO NORMAL MODE/ E063 ASC 18,E063 DID NOT GO INTO EXPANDED MODE/ E064 ASC 19,E064 DID NOT GO INTO COMPRESSED MODE/ E067 ASC 18,E067 SELF TEST MALFUNCTION DETECTED_ ERCOD ASC 08,, ERROR CODE #_ E070 ASC 15,E070 LINE DENSITY IS XX LPI, ASC 13,AND IT SHOULD BE XX LPI/ E072 ASC 12,E072 SELF TEST TIME OUT/ H145 ASC 13,H145 EXTERNAL BAUD RATE IS H145B ASC 4,******/ MSG01 ASC 6,TOP OF FORM DEC -1 MSG02 ASC 7,BOTTOM OF FORM DEC -1 MSG03 ASC 6,SINGLE SPACE DEC -1 MSG04 ASC 6,DOUBLE SPACE DEC -1 MSG05 ASC 6,TRIPLE SPACE DEC -1 MSG06 ASC 5,HALF PAGE DEC -1 MSG07 ASC 6,QUARTER PAGE DEC -1 MSG08 ASC 5,TEN SPACES DEC -1 TO5M1 ASC 12,TEST 05 VERTICAL FORMAT DEC -1 BAUDQ DEC -8 *-8 DEC -1 *-9 DEF BD96 DEC -8 *-17 DEC -2 *-19 DEF BD48 DEC -4 *-23 \–þú DEC -2 *-25 DEF BD36 DEC -10 *-35 DEC -3 *-38 DEF BD24 DEC -8 *-46 DEC -5 *-51 DEF BD18 DEC -19 *-70 DEC -7 *-77 DEF BD12 DEC -16 *-93 DEC -10 *-103 DEF BD9 DEC -36 *-139 DEC -15 *-154 DEF BD6 DEC -125 *-279 DEC -29 *-308 DEF BD3 DEC -110 *-418 DEC -44 *-462 DEF BD2 DEC -95 *-557 DEC -59 *-616 DEF BD1.5 DEC -5 *-621 DEC -65 *-686 DEF BD1.3 DEC -74 *-760 DEC -80 *-840 DEF BD1 DEC -275 *-1115 DEC -117 *-1232 DEF BD.75 DEC -440 *-1672 DEC -176 *-1848 DEF BD.5 DEC -925 *-2773 DEC -1000 *-3773 NBDQ DEF NBD T531B DEC -32 -32 DEC -3 -35 OCT 13 DEC -30 -65 DEC -3 -68 OCT 11 DEC -197 -265 DEC -4 -269 OCT 6 DEC -430 -631 DEC -4 -635 OCT 5 DEC -95 -798 DEC -4 -802 OCT 3 DEC -31900 DEC 0 OCT 0 * * BAUD RATE CONSTANTS * BD96 ASC 3, 9600 OCT 1700 BD48 ASC 3, 4800 OCT 1500 BD36 ASC 3, 3600 OCT 1400 BD24 ASC 3, 2400 OCT 1300 BD18 ASC 3, 1800 OCT 1200 BD12 ASC 3, 1200 OCT 1100 BD9 ASC 3, 900 OCT 1000 BD6 ASC 3, 600 OCT 700 BD3 ASC 3, 300 OCT 600 BD2 ASC 3, 200 OCT 0 BD1.5 ASC 3, 150 OCT 5 BD1.3 ASC 3, 134.5 OCT 400 BD1 ASC 3, 110 OCT 300 BD.75 ASC 3, 75 OCT 200 BD.5 ASC 3, 50 OCT 100 NBD ASC 3, UNDEF OCT 0 *********************************************************** FWAA EQU * êÍHFB* END .DHÿÿ ÿý. ÿ02640-18001 1502 S 0122 01HP2640A STANDALONE DIAG. FOR 2100 CPUS             H0101 q:þú ASMB¬A¬B¬Ã¬Ì  HP ²6´0A DÉAGNÏSÔÉà- 0²6´0-±600±       HÅD GÅNÅÒAÌ ÏPÅÒAÔÉNG PÒÏÃÅDUÒÅ       ÏÒG 0       SUP ª     GÅNÅÒAÌ ÏPÅÒAÔÉNG PÒÏÃÅDUÒÅ ª  ª         A. ÌÏAD DÉAGNÏSÔÉàÃÏNÆÉGUÒAÔÏÒ AND SÅÔ ÉÔ UP. ª         B. ÌÏAD DÉAGNÏSÔÉàMAÉN PÒÏGÒAM ª         Ã. ÌÏAD ADDÒÅSS ±00B. ª         D. ÌÏAD S×ÉÔÃH ÒÅG. ×ÉÔH SÅÌÅÃÔ ÃÏDÅ AND ÏPÔÉÏNS ª         Å. PÒÅSS ÒUN AND ×AÉÔ ÆÏÒ HAÌÔ ±0·0·´. ª         Æ. ÌÏAD S×ÉÔÃH ÒÅGÉSÔÅÒ ª                   ÉÆ SÅÔ ½: ª                   ±5 ½ HAÌÔ AÔ ÅND ÏÆ ÅAÃH ÔÅSÔ ª                   ±´ ½ SUPÒÅSS ÅÒÒÏÒ HAÌÔS ª                   ±3 ½ ÌÏÏP ÏN ÌASÔ ÔÅSÔ ª                   ±² ½ ÌÏÏP ÏN DÉAGNÏSÔÉà ª                        (SUPPÒÅSS AÌÌ ÏPÅÒAÔÏÒ ÉNÔÅÒVÅNÔÉÏN© ª                   ±± ½ SUPÒÅSS ÅÒÒÏÒ MÅSSAGÅS ª                   ±0 ½ SUPÒÅSS NÏN-ÅÒÒÏÒ MÅSSAGÅS ª                    9 ½ GÏ ÔÏ USÅÒ ÃÏNÔÒÏÌ SÅÃÔÉÏN ª                        AÔ ÅND ÏÆ PÒÅSÅNÔ SUBÔÅSÔ ª                    ¸½ SUPPÒÅSS ÏPÅÒAÔÏÒ ÉNÔÅÒVÅNÔÉÏN ÔÅSÔS ª                    · ª                      ½ DÉAGNÏSÔÉàÏPÔÉÏNS ª                    0 ª         NÏÔÅ: SÔANDAÒD ÒUN SHÏUÌD BÅ ×ÉÔH S×. ÒÅG. ½ 0 ª               USÅÒ ÃÏNÔÒÏÌ ×ÉÌÌ ASK ÆÏÒ A 3² BÉÔ ×ÏÒD. ª               ÅAÃH BÉÔ ×ÉÌÌ ½ ± ÔÅSÔ ª  ª         G. PÒÅSS ÒUN. ª         H. ÒÅSÔAÒÔ - ÌÏAD ADDÒÅSS ²000B ª         É. ÒÅÃÏNÆÉGUÒÅ ÉÆ ÔÅSÔÉNG É¯Ï ÉNÔÅÒÆAÃÅ - ÌÏAD ADDÒÅSS ±00B ª  ª         GÅNÅÒAÌ ÃÏMPUÔÅÒ HAÌÔS ª  ª         ±0²0ØØ    Å ÏÒ H  000 ÔÏ 06· ª         ±060ØØ    Å ÏÒ H  ±00 ÔÏ ±6· ª         ±030ØØ    Å ÏÒ H  ²00 ÔÏ ²6· ª         ±0·0ØØ    Å ÏÒ H  300 ÔÏ 36· ª  ª         ÃÏNÔÒÏÌ PÒÏGÒAM HAÌÔ MÅSSAGÅS ª  ª         ±0²0··    ÅND ÏÆ DÉAG (A ½ PASS ÃÏUNÔ© ª         ±0²0·6    ÅND ÏÆ ÔÅSÔ (A ½ ÔÅSÔ £© ª         ±0²0·5    USÅÒ SÅÌÅÃÔÉÏN ÒÅÑUÅSÔ ª         ±0²0·´    SÅÌÅÃÔ ÃÏDÅ ÉNPUÔ ÃÏMPÌÅÔÅ ª         ±0²0·3    USÅÒ SÅÌÅÃÔ ÃÏDÅ ÅÒÒÏÒ ª         ±0²0·²    ÒÅSÅÒVÅD ª         ±0²0·±    ÒÅSÅÒVÅD ª         ±0²0·0    ÒÅSÅÒVÅD ª  ª         ±060··    ÔÒAP ÃÅÌÌ HAÌÔ ª  ª  ª        HÅD PÒÏGÒAM ÏÒGANÉ4iþúZAÔÉÏN ÃHAÒÔ ª         ªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªª ª         ª         ÃÏNÆÉGUÒAÔÏÒ            ±00B    ª ª         ª            ÌÉNKAGÅ ÔABÌÅ                ª ª         ªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªª ª         ª         ÅØÅÃUÔÉVÅ               ±30B    ª ª         ª         ÌÉNKAGÅ                         ª ª         ªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªª ª         ª         ÃÏNSÔANÔS               ±50B    ª ª         ª            AND                          ª ª         ª         SÔÏÒAGÅ                         ª ª         ªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªª ª         ª                                ²000B    ª ª         ª         ÅØÅÃUÔÉVÅ ÃÏNÔÒÏÌ               ª ª         ª                                ZÃÅND    ª ª         ªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªª ª         ª                                         ª ª         ª                                         ª ª         ª                                         ª ª         ª                                         ª ª         ª                                         ª ª         ª         MAÉN DÉAGNÏSÔÉÃS (±-3±©         ª ª         ª                                         ª ª         ª                                         ª ª         ª                                         ª ª         ª                                         ª ª         ª                                         ª ª         ªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªª       HÅD ÃÏNÆÉGUÒAÔÏÒ ÌÉNKAGÅ ÔABÌÅ A     ÅÑU 0         A ÒÅGÉSÔÅÒ ÒÅÆÅÒÅNÃÅ B     ÅÑU ±         B ÒÅGÉSÔÅÒ ÒÅÆÅÒÅNÃÅ S×    ÅÑU ±         S×ÉÔÃH ÒÅGÉSÔÅÒ ÒÅÆÅÒÅNÃÅ ÉNÔP  ÅÑU 0         ÉNÔÅÒÒUPÔ ÃHANNÅÌ ÒÅÆÅÒÅNÃÅ ª  ª        ÏÒG ±00B ª        ÊMP ÃÆÉG¬É    GÏ ÔÏ ÃÏNÆÉGUÒAÔÉÏN SÅÃÔÉÏN ÆAÉN  BSS ±         ÆASÔ ÉNPUÔ (PHÏÔÏ ÒÅADÅÒ© SÌÏP  BSS ±         SÌÏ× ÏUÔPUÔ (ÌÉSÔ© ÆAÏP  BSS ±         ÆASÔ ÏUÔPUÔ (DUMP ÏÒ PUNÃH© SÌÉN  BSS ±         SÌÏ× ÉNPUÔ (KÅYBÏAÒD© Æ×AM  DÅÆ Æ×AA      ÆÉÒSÔ ×ÏÒD ÏÆ AVˤþúBÌ. MÅMÏÒY Ì×AM  BSS ±         ÌASÔ ×ÏÒD ÏÆ AVBÌ. MÅMÏÒY       BSS ±         NÏÔ USÅD (MAG ÔAPÅ© ÏÔMà BSS ±         ± MÉÌÌ SÅàÔÉMÅ ÏUÔ ÃÏUNÔ       BSS ´         SÅÌÅÃÔ ÃÏDÅS ÆÏÒ É¯Ï ÃPÔÏ  BSS ±         ÃÏMPUÔÅÒ ÔYPůÏPÔÉÏNS USSà BSS ±         USÅÒ ÃAÒD ÔYPÅ AND SÅÌÅÃÔ ÃÏDÅ MÅMÏ  BSS ±         MÅMÏÒY SÉZÅ AND ÔYPÅ ÉS×Ò  BSS ±         ÉNÔÅÒNAÌ S×ÉÔÃH ÒÅGÉSÔÅÒ ÔMÒÒ  BSS ±         ± MÉÌÌ SÅàÔÉMÅÒ S×Òà BSS ±         ÃÏNÆÉGUÒAÔÏÒ S×ÉÔÃH ÃK PÔÒ É²AS  BSS ±         ÉNÔÅGÅÒ ÔÏ ASÃÉÉ ÃÏNVÅÒSÉÏN ϲAS  BSS ±         ÏÃÔAÌ ÔÏ ASÃÉÉ ÃÏNVÅÒSÉÏN AS²N  BSS ±         ASÃÉÉ ÃÏNVÅÒSÉÏN DSNÌ  BSS ±         DÉAGNÏSÔÉàSÅÒÉAÌ NUMBÅÒ ÆMÔÒ  BSS ±         ÆÏÒMAÔÔÅÒ ª  ª  ª         ÃÏNÔÒÏÌ ÌÉNKAGÅ AND DAÔA ÒÅÆÅÒÅNÃÅS ª  ÃÆÉG  DÅÆ ZÃÏNÆ     ÃÏNÆÉGUÒAÔÉÏN SÅÃÔÉÏN MSGà DÅÆ ZMSGà    MÅSSAGÅ ×ÉÔH NÏ HAÌÔ MSGH  DÅÆ ZMSGH     MÅSSAGÅ ×ÉÔH HAÌÔ ÅÒMS  DÅÆ ZÅÒMS     ÅÒÒÏÒ MÅSSAGÅ S×ÒÔ  DÅÆ ZS×ÒÔ     S×ÉÔÃH ÒÅGÉSÔÅÒ ÃHÅÃK ÒÏUÔÉNÅ ÔSÔN  ÏÃÔ 0         ÃUÒÒÅNÔ ÔÅSÔ NUMBÅÒ ÅØÒÔ  DÅÆ ZÅØÒÔ     ÒÅÔUÒN ÔÏ ÃÏNÔÒÏÌ PÒÏGÒAM       NÏP           ÒÅSÅÒVÅD       HÅD ÅØÅÃUÔÉVÅ ÃÏNÔÒÏÌ       ÏÒG ²000B ZSÔÅØ ÃÌàÉNÔP¬Ã    ÔUÒN É¯Ï SYSÔÅM ÏÆÆ       ÊSB MSGìɠ   DÏ ÃÒÌÆ       DÅÆ ZÒÔÌÆ       ÌDA HDMP      GÅÔ ÉNÔÒÏDUÃÔÏÒY MÅSSAGÅ       SÔA ª+²       ÊSB MSGìɠ   ÏUÔ PUÔ ÉÔ       NÏP       ÃÌA           ÃÌÅAÒ PASS       SÔA ZÅÏÌà      ÃÏUNÔ       ÌDB S×9       ÃHÅÃK ÆÏÒ USÅÒ SÅÌÅÃÔÉÏN ÒÅÑ       ÊSB S×ÒÔ¬É       ÊMP ZUSÒ      ÉÔ'S USÅÒS ÃHÏÉÃÅ ZNUSÒ ÌDA SÔDA      GÅÔ SÔANDAÒD ÔÅSÔ ÒUN       ÌDB SÔDB      ª       ÊMP ZÅØÃ ª  ZUSÒ  ÌDA ZSÉNA     ÒÅÔÒÉÅVÅ PÒÅVÉÏUS ÒUN       ÌDB ZSÉNB       HÌÔ ·5B       ×AÉÔ ÆÏÒ USÅÒ ÉNPUÔ ZÅØÃ  SÔA ZUÉNA     SAVÅ       SÔB ZUÉNB       USÅÒ       SÔA ZSÉNA         ÉNPUÔ       SÔB ZSÉNB           PÒÏGÒAM       ÌDB S×9       ÃHÅÃK ÉÆ S×9 ÉS DÏ×N       ÊSB S×ÒÔ¬É       ÊMP ZUSÒ      NÏ GÏ AND ×AÉÔ       ÃÃA           SÅÔ ÔÅSÔ NUMBÅÒ       SÔA ÔSÔN      ½-±       ÃÌA       SÔA ZÔSÔA     ÃÌÅAÒ ÔÅSÔ ÒUN ÆÌAG       SKP ZÅØÃÌ ÌDA ZUÉNA   ^úþú  ÒÅSÔÏÒÅ A ÒÅG.       ÌDB ZUÉNB     ÒÅSÔÏÒÅ B ÒÅG.       ÅÒA¬ÒAÌ       ÒÏÔAÔÅ       ÅÒB             ÆÉÒSÔ       ÅÒA               ÔÅSÔ BÉÔ       SÔA ZUÉNA     SAVÅ PÏSÉÔÉÏNS       SÔB ZUÉNB       ÉSZ ÔSÔN      MÏVÅ ÔÅSÔ UP ÏNÅ       NÏP ZØÃ̱ ÌDA ÔSÔN       ADA .ÔSÔB     GÅÔ ÔHÅ MÉÃÒÏ-ÃÏDÅ ADDÒÅSS       ÌDA A¬É       ÃPA M±        ÉS ÉÔ ÅND ÏÆ ÌÉSÔ       ÊMP ZÅÏÌ      YÅS       ÌDB ZUÉNB       SSB¬ÒSS       SHÏUÌD ÉÔ BÅ ÒUN?       ÊMP ZÅØÃÌ     NÏ       SZA¬ÒSS       DÏÅS ÔÅSÔ ÅØÉSÔ?       ÊMP ZÅØÃÌ     NÏ - BYPASS ÔHÅ ÔÅSÔ       SÔA ZÔSÔA     YÅS - SAVÅ ÔÅSÔ ADDÒÅSS       ÊSB ZÉÔÃH     ÉNÉÔÉAÌÉZÅ ÔÒAP ÃÅÌÌ HAÌÔS       ÊSB ÅØÅà     GÏ DÏ ÔHÅ ÔÅSÔ ZÅØÒÔ ÌDA ÔSÔN      DÉSPÌAY ÔÅSÔ NUMBÅÒ ÉÆ HAÌÔÅD       ÌDB ZS×±5     ÃHÅÃK ÆÏÒ HAÌÔ AÔ ÅND ÏÆ ÔÅSÔ       ÊSB S×ÒÔ¬É       HÌÔ ·6B       YÅS ×AÉÔ ÆÏÒ ÏPÅÒAÔÏÒ       ÌDB S×9       ÃHÅÃK ÆÏÒ ABÏÒÔ       ÊSB S×ÒÔ¬É       ÊMP ZUSÒ      YÅS       ÌDB ZS×±3     ÃHÅÃK ÆÏÒ ÌÏÏP ÏN ÒÏUÔÉNÅ       ÊSB S×ÒÔ¬É       ÊMP ZØÃ̱     YÅS - ÌÏÏP       ÊMP ZÅØÃÌ     ÃÏNÔÉNUÅ ª  ZÅÏÌ  ÌDA ZÔSÔA     ÃHÅÃK ÉÆ ANY ÔÅSÔS ×ÅÒÅ ÒUN       SZA¬ÒSS       ?       ÊMP ZNUSÒ     NÏ  SÏ PÉÃK UP SÔANDAÒD ÒUN       ÌDA ZÅÏÌà    UP DAÔÅ PASS ÃÏUNÔ       ÉNA       SÔA ZÅÏÌà       ÃÃÅ       ÌDB ZPSÃA     GÅÔ PASS ÃÏUNÔ       ADB D²          ADDÒÅSS       ÊSB É²AS¬É    ÃÏNVÅÒÔ ÉÔ       ÊSB MSGìɠ   ÃAÌÌ PÒÉNÔ ÒÏUÔÉNÅ ZPSÃA DÅÆ ZPSà       ÌDB ZS×±²     ÃHÅÃK ÆÏÒ ÌÏÏP ÏN DÉAG.       ÊSB S×ÒÔ¬É       ÊMP ª+3       YÅS       ÌDA ZÅÏÌà       HÌÔ ··B       NÏ ×AÉÔ AND DÉSPÌAY PASS ÃÏUNÔ       ÌDA ZSÉNA     ÒÅSÔÏÒÅ ÏÒÉGÉNAÌ       ÌDB ZSÉNB       PÒÏGÒAM       ÊMP ZÅØÃ      DÏ ÉÔ AÌÌ AGAÉN ª        SKP ª         MÅSSAGÅ ÏUÔPUÔ ×ÉÔH ÏUÔ HAÌÔ ª  ZMSGàNÏP           ÅNÔÒY       ÊSB ZMSG      ÏUÔPUÔ MÅSSAGÅ       ÏÃÔ ²000      S×ÉÔÃH ±0 ÃHÅÃK       ÊMP ZMSGìɠ  ÒÅÔUÒN ÔÏ ÃAÌÌÅÒ ª  ª         MÅSSAGÅ ÏUÔPUÔ ×ÉÔH HAÌÔ ª  ZMSGH NÏP           ÅNÔÒY       ÊSB ZMSG      ÏUÔPUÔ MÅSSAGÅ       ÏÃÔ ²000      S×ÉÔÃH ±0 ÃHÅÃK FÚþú       ÌDA ZHÌÔ      GÅÔ HAÌÔ ÃÏDÅ       SÔA ª+²       PUÔ ÉÔ ÉN PÌAÃÅ       ÌDA ZSAVA     ÒÅSÔÏÒÅ A ÒÅGÉSÔÅÒ       NÏP           HAÌÔ ÆÏÒ DÉSPÌAY       ÊMP ZMSGH¬É   ÒÅÔUÒN ÔÏ ÃAÌÌÅÒ ª  ª         ÅÒÒÏÒ MÅSSAGÅ ×ÉÔH HAÌÔ ª  ZÅÒMS NÏP           ÅNÔÒY       ÊSB ZMSG      ÏUÔPUÔ MÅSSAGÅ       ÏÃÔ ´000      S×ÉÔÃH ±± ÃHÅÃK       ÃÌA       ÌDB S×±´      ÃHÅÃK S×Ò BÉÔ ±´ ÔÏ SUPPÒÅSS       ÊSB S×ÒԬɠ   HAÌÔ       SÔA ª+3       PUÔ  HAÌÔ ÉN PÌAÃÅ       ÌDA ZSAVA     ÒÅSÔÏÒÅ A ¦ B       ÌDB ZSAVB ZHÌÔ  NÏP           ×AÉÔ ÆÏÒ ÏPÅÒAÔÏÒ       ÊMP ZÅÒMS¬É   ÒÅÔUÒN ÔÏ ÃAÌÌÅÒ       SKP ª         ÏUÔPUÔ MÅSSAGÅ ª  ZMSG  NÏP       SÔA ZSAVA     SAVÅ A AND B ÒÅGÉSÔÅÒS       SÔB ZSAVB       ÌDB ZMSG¬É    GÅÔ S×ÉÔÃH ÒÅGÉSÔÅÒ BÉÔ       ÌDA ZMSG       ADA M²        DÅÃÒÅMÅNÔ ÒÅÔUÒN ADDÒÅSS       SÔA ZMSG       ÊSB S×ÒԬɠ   ÃHÅÃK ÔÏ SUPPÒÅSS MÅSSAGÅ       ÊMP ZMSG0     YÅS       ÌDA ZMSG¬É    ÃHÅÃK ÉÆ ÅÒÒÏÒ       ÌDA A¬É       ÌDA A¬É       ÉÆ SÏ       AÌÆ¬AÌÆ       AND .±··       ÃPA ÌÅÔÒÅ       ÊSB ZÃÆÔN     ÃHÅÃK ÔÏ ÏUÔPUÔ ÔÅSÔ NUMBÅÒ       ÌDA ZMSG¬É    NÏ ÒÅÔÒÉÅVÅ ÆÏÒMAÔ       ÌDB A¬É         ADDÒÅSS       ÃÌA¬ÃÌÅ       ÊSB ÆMÔÒ¬É ZMSG0 ÌDA ZMSG¬É    ÃÏNVÅÒÔ HAÌÔ ÃÏDÅ       ÌDB A¬É         ÆÒÏM ASÃÉÉ SÔÒÉNG       ÃÃA¬ÃÃÅ       ÊSB AS²N¬É       SÔA ZN²AÏ     SAVÅ ÒÅSUÌÔ       AND Z.300     DÅÃÏDÅ       ÌDB ZH²         HAÌÔ ÃÏDÅ       ÃPA .±00       ÌDB ZH6       ÃPA .²00       ÌDB ZH3       ÃPA Z.300       ÌDB ZH·       ÌDA ZN²AÏ     GÅÔ HAÌÔ NUMBÅÒ       AND .··       ÉÏÒ B       SÔA ZHÌÔ      SAVÅ ÉÔ       ÉSZ ZMSG¬É    ADÊUSÔ ÒÅÔUÒN PÏÉNÔÅÒS       ÉSZ ZMSG       ÉSZ ZMSG       ÉSZ ZMSG       ÌDA ZSAVA     ÒÅSÔÏÒÅ A AND B ÒÅGÉSÔÅÒS       ÌDB ZSAVB       ÊMP ZMSG¬É       SKP ZÃÆÔN NÏP       ÌDA ÔSÔN      GÅÔ ÔÅSÔ NUMBÅÒ       ÃPA ZÃÆÔÔ     ÉS ÉÔ ÔHÅ SAMÅ ÏNÅ?       ÊMP ZÃÆÔN¬É   YÅS SKÉP ÏUÔPUÔ       SÔA ZÃÆÔÔ     NÏ - ÔHÅN UPDAÔÅ ÉÔ       ÊSB ZN²AÏ     ÃÏNVÅÒÔ ÉÔ       SÔA ZÔSÔN     PUÔ ÉÔ ÉN SÔÒÉNG       LŒþúÃÌA           DÏ A ÃÒÌÆ       ÊSB SÌÏP¬É       ÃÌA¬ÃÌÅ       ÉNDÉÃAÔÅ SÔAÒÔ ÏÆ ÆÏÒMAÔ       ÌDB ZÔSÔÆ       ÊSB ÆMÔÒ¬É       ÊMP ZÃÆÔN¬É   ÒÅÔUÒN ª  ª  ª  ª  ZSAVA NÏP ZSAVB NÏP ZÅÏÌàNÏP ZÔSÔA NÏP ZSÉNA NÏP ZSÉNB NÏP ZUÉNA NÏP ZUÉNB NÏP ZÉÏM  ÏÃÔ ±···00 ZS×±5 ÏÃÔ ±00000 ZS×±3 ÏÃÔ ²0000 ZS×±² ÏÃÔ ±0000 Z.300 ÏÃÔ 300 ZH²   ÏÃÔ ±0²000 ZH6   ÏÃÔ ±06000 ZH3   ÏÃÔ ±03000 ZH·   ÏÃÔ ±0·000 ZÃÆÔÔ DÅà-± ZÔSÔÆ DÅÆ ª+±       ASà3¬ÔÅSÔ ZÔSÔN ASà²¬ØØ¯¯ ZÒÔÌÆ AS౬¯¯ ZPSà ASà6¬PASS ØØØØØØ¯       HÅD GÅNÅÒAÌ ÒÏUÔÉNÅS ª  ª  ZN²AÏ NÏP       ÌDB ÃNVB±     ÃÏNVÅÒÔ ÔÏ ÉNÔÅGÅÒ       ÃÌÅ       ÊSB É²AS¬É       ÌDA ÃNVB3     ÆÅÔÃH ÌASÔ ² DÉGÉÔS       ÊMP ZN²AϬɠ  ÒÅÔUÒN ª  ª  ª  ª         S×ÉÔÃH ÒÅGÉSÔÅÒ ÃHÅÃK ª  ZS×ÒÔ NÏP       SÔA ZN²AÏ     SAVÅ A ÒÅGÉSÔÅÒ       ÌÉA S×        GÅÔ S×ÉÔÃH ÒÅG.       AND B         MASK ÏUÔ BÉÔ       SZA¬ÒSS       ÉS ÉÔ UP?       ÉSZ ZS×ÒÔ     NÏ       ÌDA ZN²AÏ     ÒÅSÔÏÒÅ A ÒÅGÉSÔÅÒ       ÌÉB S×        ÌÅÔ B ½ S×ÉÔÃH ÒÅGÉSÔÅÒ       ÊMP ZS×ÒԬɠ  ÒÅÔUÒN ÔÏ ÃAÌÌÅÒ ª  ª  ª  ª         ÉNÉÔÉAÌÉZÅ ÔÒAP ÃÅÌÌ HAÌÔS ª  ZÉÔÃH NÏP       ÌDA ZÔSH      GÅÔ SÔAÒÔÉNG ÔÒAP ÃÅÌÌ HAÌÔ       ÌDB D²        GÅÔ ÆÉÒSÔ ÔÒAP ÃÅÌÌ ÌÏÃAÔÉÏN ZÔSHÌ SÔA B¬É       PUÔ ÉÔ ÉN PÌAÃÅ       ÃPB .··       AM É ÆÉNÉSHÅD       ÊMP ZÉÔÃH¬É   YÅS       ÉNB             NÅØÔ ADDÒÅSS       ÊMP ZÔSHÌ ª  ZÔSH  ÏÃÔ ±060·· ª  ª  ª        SKP ª         PUÔ ÊSB ÉNSÔÒUÃÔÉÏN ÉN ÔÒAP ÃÅÌÌ ª  ZÔÃÊÉ NÏP       ÌDB ZÊSBÉ     GÅÔ ÉNSÔÒUÃÔÉÏN       SÔB ZÉÏSìɠ  PUÔ ÉÔ ÉN ÔÒAP ÃÅÌÌ       ÌDA ZÔÃÊɬɠ  GÅÔ ÌÏÃAÔÉÏN       SÔA 3B        SAVÅ ÉÔ ÆÏÒ ÊSB ÉNSÔÒUÃÔÉÏN       ÉSZ ZÔÃÊÉ     ADÊUSÔ ÒÅÔUÒN       ÊMP ZÔÃÊɬɠ  ÒÅÔUÒN ÔÏ ÃAÌÌÅÒ ª  ZÊSBÉ ÊSB 3B¬É      ÊSB ÉNSÔÒUÃÔÉÏN ª  ª  ª         ÉNÉÔÉAÌÉZÅ SÅÌÅÃÔ ÃÏDŠɯϠÉNSÔÒUÃÔÉÏNS ª  ZÉSà NÏP       SÔA ZÉÏSà    SAVÅ SÅÌÅÃÔ ÃÏDÅ       SÔB ZÉÏAD     SAVÅ ÔABÌÅ ADDÒÅSS ZÉÏÌ  ÌDB ZÉÏAD¬É   GÅÔ ADDÒÅSS ÏÆ ÌÏÃAÔÉÏN       ÃPB M±        ÉS ÉÔ ÔHÅ ÔÅÒMÉNAÔÏÒ       ÊMP ZÉSìɠ   E§þúYÅS ÒÅÔUÒN ÔÏ ÃAÌÌÅÒ       ÌDA B¬É       NÏ - GÅÔ ÃÏNÔÅNÔS       AND ZÉÏM      MASK ÏÆÆ ÏÌD SÅÌÅÃÔ ÃÏDÅ       ÉÏÒ ZÉÏSà    ADD ÉN NÅ× SÅÌÅÃÔ ÃÏDÅ       SÔA B¬É       ÒÅSÔÏÒÅ  ÉÔ       ÉSZ ZÉÏAD     MÏVÅ ÔÏ NÅØÔ ADDÒÅSS       ÊMP ZÉÏÌ      DÏ ÉÔ ª  ZÉÏSàNÏP ZÉÏAD NÏP ª  ª  ª  ª        SKP ª         ÃÏNÆÉGUÒAÔÉÏN SÅÃÔÉÏN ª  ZÃÏNÆ ÃÌàÉNÔP¬Ã    ÔUÒN É¯Ï SYSÔÅM ÏÆÆ       ÌÉA S×        GÅÔ SÅÌÅÃÔ ÃÏDÅ AND ÏPÔÉÏNS       SÔA USSà     SAVÅ ÔHÅM       AND .··       ÅÌÉMÉNAÔÅ ÏPÔÉÏNS       ÌDB A       ÃMB¬ÉNB       ÃHÅÃK ÔHAÔ Sྠ·       ADB .·       SSB           ?       ÊMP ª+3       ÏK GÏ ÏN       HÌÔ ·3B       NÏ       ÊMP ZÃÏNÆ     ÔÒY AGAÉN       ÌDB ÉÏÉP      ÉNÉÔÉAÌÉZÅ ÔÅSÔ É¯Ï       ÊSB ZÉSà       ÉNSÔÒUÃÔÉÏNS ZÃÏS± ÃÌÆ VÔ        ÃÌÅAÒ ÆÌAG ÏN ÉNÔÅÒÆAÃÅ ZÃÏS² SÆÃ VÔ        ÆÌAG SÔÉÌÌ SÅÔ?       ÊMP Å0·±      YÅS - BÏAÒD ÉS ±²5¸·¬ ÉNVAÌÉD       ÌDA ÒÅSÅÔ     ÏUÔPUÔ MASÔÅÒ ÒÅSÅÔ ZÃÏS3 ÏÔA VÔ          ÃÏNÔÒÏÌ ×ÏÒD ÆÏÒ ±²966 ZÃÏS´ SÆÃ VÔ        ÆÌAG SÅÔ?       ÊMP ZÃÏ̲     YÅS - BÏAÒD ÉS ±²966¯6¸ ÔYPÅ ZÃÏS5 ÌÉA VÔ        NÏ - ÆÅÔÃH BYÔÅ ÆÒÏM ÉNÔÅÒÆAÃÅ       ÃPA .··       ÉS ÉÔ ·· ÏÃÔAÌ?       ÊMP ZÃÏ̱     YÅS¬ ÉNÔÅÒÆAÃÅ ÉS ±²53±¯¸¸0 ª  Å0·±  HÌÔ ·±B       ÉNVAÌÉD ÉNÔÅÒÆAÃÅ ÔYPÅ ÏÒ ÃAN'Ô       ÊMP ZÃÏNÆ       DÅÔÅÃÔ BAUD ÒAÔÅ ª  ª         SÅÔ UP ÆÏÒ ±²53±¯¸¸0 ÉNÔÅÒÆAÃÅ ª  ZÃÏ̱ ÌDA .ÉN53     SÅÔ ÉNPUÔ ÒÏUÔÉNÅ ÌÉNKS       SÔA VÔ²A       ÌDA .NØ53       SÔA NØV²A       ÌDA .ÏP53     SÅÔ ÏUÔPUÔ ÒÏUÔÉNÅ ÌÉNKS       SÔA A²VÔ       ÌDA .M53±     ÆÅÔÃH PÏÉNÔÅÒ ÔÏ ±²53± MÅSSAGÅ       ÊMP ZÃÏÌ6     GÏ SÅÔ UP ÉNÔÒÏDUÃÔÏÒY MÅSSAGÅ ª  ª         SÅÔ UP ÆÏÒ ±²966¯6¸ ÉNÔÅÒÆAÃÅ ª  ZÃÏ̲ ÌDA .ÉN96     SÅÔ ÉNPUÔ ÒÏUÔÉNÅ ÌÉNKS       SÔA VÔ²A       ÌDA .NØ96       SÔA NØV²A       ÌDA .ÏP96     SÅÔ ÏUÔPUÔ ÒÏUÔÉNÅ ÌÉNKS       SÔA A²VÔ       ÌDA M±6       ÉNÉÔÉAÌÉZÅ ÆÏÒ BAUD ÒAÔÅ       SÔA SÔNUM       DÅÔÅÃÔÉÏN       ÌDA Ã×´ÉN       SÔA ÉNÃMD       ÌDA Ã×´ÏP       SÔA ÏPÃMD ª  ª         DÅÔÅÒMÉNÅ BAUD ÒAÔÅ ÆÏÒ ±²966¯6¸ ÉNÔÅÒt‚þúÆAÃÅ ª  ZÃÏÌ3 ÊSB ÅNÑÒÔ     ÃHÅÃK ÆÏÒ  7 ADB .7 SSB ? JMP *+3 OK GO ON HLT 73B NO JMP ZCONF TRY AGAIN LDB IOIP INITIALIZE TEST I/O JSB ZISC INSTRUCTIONS ZCOS1 CLF VT CLEAR FLAG ON INTERFACE ZCOS2 SFC VT FLAG STILL SET? JMP E071 YES - BOARD IS 12587, INVALID LDA RESET OUTPUT MASTER RESET ZCOS3 OTA VT CONTROL WORD FOR 12966 ZCOS4 SFC VT FLAG SET? JMP ZCOL2 YES - BOARD IS 12966/68 TYPE ZCOS5 LIA VT NO - FETCH BYTE FROM INTERFACE CPA .77 IS IT 77 OCTAL? JMP ZCOL1 YES, INTERFACE IS 12531/880 * E071 HLT 71B INVALID INTERFACE TYPE OR CAN'T JMP ZCONF DETECT BAUD RATE * * SET UP FOR 12531/880 INTERFACE * ZCOL1 LDA .IN53 SET INPUT ROUTINE LINKS STA VT2A LDA .NX53 STA NXV2A LDA .OP53 SET OUTPUT ROUTINE LINKS STA A2VT LDA .M531 FETCH POINTER TO 12531 MESSAGE JMP ZCOL6 GO SET UP INTRODUCTORY MESSAGE * * SET UP FOR 12966/68 INTERFACE * ZCOL2 LDA .IN96 SET INPUT ROUTINE LINKS STA VT2A LDA .NX96 STA NXV2A LDA .OP96 SET OUTPUT ROUTINE LINKS STA A2VT LDA M16 INITIALIZE FOR BAUD RATE STA STNUM DETECTION LDA CW4IN STA INCMD LDA CW4OP STA OPCMD * * DETERMINE BAUD RATE FOR 1296Ñþú6/68 INTERFACE * ZCOL3 JSB ENQRT CHECK FOR AFTER RSS VALID RESPONSE? JMP ZCOL5 YES - CHECK FOR VALID BAUD RATE ZCOL4 ISZ INCMD NO - TRY NEXT BAUD RATE ISZ OPCMD ISZ STNUM ALL BAUD RATES DONE? JMP ZCOL3 NO - TRY AGAIN JMP E071 YES - ERROR, HALT 71 * ZCOL5 LDA STNUM FETCH POINTER TO ADA TB966 BAUD RATE TABLE LDA A,I SSA VALID BAUD RATE FOUND? JMP ZCOL4 NO - TRY NEXT BAUD RATE LDB .HDA2 YES - TRANSFER BAUD JSB XFR RATE VALUE HEADING DEC -4 LDA .M966 FETCH POINTER TO 12966/68 TITLE * * SET UP INTRODUCTORY MESSAGE * ZCOL6 LDB .HDA1 JSB XFR DEC -10 HLT 74B LET OPERATOR CHANGE SWITCH REG JMP ZSTEX GO TO CONTROL ROUTINE * * MESSAGES FOR HEADER * .M531 DEF *+*+2 12531/880 INTERFACE HEADER ASC 5,531D-880A/ * .M966 DEF *+*+2 ASC 2,966A OCT 54,0,0 PAD FOR LATER "-968A," * * BAUD RATE HEADER TABLE * DEF M96.0+M96.0 EXT OCT -1 50 - INVALID OCT -1 75 - INVALID DEF M96.3+M96.3 110 OCT -1 134.5 - INVALID DEF M96.5+M96.5 150 DEF M96.6+M96.6 300 OCT -1 600 - INVALID OCT -1 900 - INVALID DEF M96.9+M96.9 1200 OCT -1 1800 - INVALID DEF M96.B+M96.B 2400 OCT -1 3600 - INVALID OCT -1 4800 - INVALID OCT -1 7200 - INVALID OCT -1 9600 - INVALID TB966 DEF * * M96.0 ASC 2,EXT M96.3 ASC 2,110 M96.5 ASC 2,150 M96.6 ASC 2,300 M96.9 ASC 2,1200 M96.B ASC 2,2400 * ZCEND EQU * HED HP 2644A DIAG (NON-CTU) - 02644-16001 * * BASE PAGE DATA FOR TEST CONTROL PROGRAM * SLOSC EQU 112B SLOW OUTPUT SELECT CODE ORG 126B DSN OCT 104012 DIAGNOSTIC SERIAL 2µþúNUMBER ORG 140B IOIP DEF IODP POINTER TO I/O INSTRUCTION TABLE HDMP DEF HDMS POINTER TO HEADER MESSAGE STDA OCT 177777 STANDARD RUN - STDB OCT 000007 TESTS 1 THRU 18 ORG 150B * * BASE PAGE CONSTANTS AND ROUTINES * M110 DEC -110 M80 DEC -80 M16 DEC -16 M2 DEC -2 M1 DEC -1 D2 DEC 2 D3 DEC 3 D16 DEC 16 D17 DEC 17 D19 DEC 19 D20 DEC 20 .377 OCT 377 .200 OCT 200 .177 OCT 177 .100 OCT 100 .77 OCT 77 .60 OCT 60 ASCII ZERO (0) .40 OCT 40 ASCII BLANK .7 OCT 7 DELAY DEC 5000 COUNT FOR 5 SECONDS SW1 EQU D2 BIT 1 MASK SW2 OCT 4 BIT 2 MASK SW3 OCT 10 BIT 3 MASK SW4 EQU D16 BIT 4 MASK SW5 EQU .40 BIT 5 MASK SW9 OCT 1000 BIT 9 MASK SW14 OCT 40000 BIT 14 MASK NOPSW OCT 10400 BITS 8 AND 12 - NO OPERATOR MASK OPTBT OCT 174000 OPTION BITS AUTLF EQU SW2 -SET BIT BFMTY EQU .200 BUFFER EMPTY STATUS BIT LDCHK EQU SW2 LOADER CHECKSUM VERIFY BIT OCMD OCT 120000 OUTPUT COMMAND CMD14 OCT 140000 INPUT COMMAND VT EQU 10B DUMMY SELECT CODE FOR TERMINAL ACK OCT 6 CR OCT 15 ENQ OCT 5 STWRD OCT 15534 -<\> - STATUS RESPONSE X.ON EQU D17 NMSYM OCT 43 <#> SLANT OCT 57 CAP.A OCT 101 LETRD OCT 104 LETRE OCT 105 LETRH OCT 110 LETRT OCT 124 RBRKT OCT 135 <]> REVSL OCT 134 <\> SML.A OCT 141 MSFLG OCT 0 NON-ERROR MESSAGE PRINTED FLAG MSPFL OCT 0 MESSAGE PENDING FLAG WTFLG OCT 0 WAIT FLAG WTLIM OCT 0 A00 ASC 1,00 COMMON CODE BLOCK FLAG A99 ASC 1,99 LAST SUBTEST FLAG NUMIN DEC 0 NUMBER OF INPUT CHARACTERS OUTCT DEC -80 OUTPUT COUNTER CHKSM OCT 0 LOADER CHECKSUM DCRTA DEF DCRTN+DCRTN D þúATACOM DRIVERS STBY3 DEF INBFR+2 LOCATION OF STATUS BYTE 3 STBY5 DEF INBFR+3 LOCATION OF STATUS BYTE 5 BUFAD DEF INBFR+INBFR INPUT BUFFER .INBF DEF INBFR BUFLN DEC 80 INPUT BUFFER LENGTH .TSTB DEF TSTB POINTER TO TEST TABLE ERRNM OCT 0 ERROR NUMBER STNUM DEC 0 SUBTEST NUMBER * CNVB1 DEF *+1 CONVERSION BUFFER ASC 1,00 CNVBA ASC 1,00 CNVB3 ASC 1,00 CNVB2 DEF CNVBA+CNVBA+1 SKP * * * * * DSPMS - DISPLAY NON-ERROR MESSAGE * * CALLING SEQUENCE: * * JSB DSPMS * DEF * * * SETS THE "MSFLG" * DSPMS NOP CCA SET THE "NON-ERROR MESSAGE" STA MSFLG FLAG LDA DSPMS,I TRANSFER MESSAGE ADDRESS TO STA DSPW1 DISPLAY MESSAGE CALL ISZ DSPMS INCREMENT THE RETURN JSB MSGC,I DISPLAY THE MESSAGE DSPW1 DEF * JMP DSPMS,I RETURN * * * * * * ERREX - REPORT ERROR * * CALLING SEQUENCE: * * JSB ERREX * DEF * * RETURNS TO SUBTEST EXECUTE ROUTINE TO DO NEXT SUBTEST * ERREX NOP LDA ERREX,I PUT POINTER TO ERROR MESSAGE STA ERRW1 INTO ERROR CALL LDA STNUM SET A TO SUBTEST NUMBER LDB .INBF SET B TO INPUT BUFFER ADDRESS JSB ERMS,I REPORT ERROR ERRW1 DEF * CLA CLEAR MESSAGE PENDING FLAG STA MSPFL JMP NEXT GO DO NEXT SUBTEST SKP * * * * * XFR - TRANSFER STRING * * CALLING SEQUENCE: * * LDA * LDB * JSB XFR * DEC - * * * POINTERS POINT TO LEFT END OF STRING * * RETURNS WITH UPDATED POINTERS IN A- AND * B-REGISTERS * žiB@< * * * A-REGISTER CONTAINS THE NEXT DATA BYTE * B-REGISTER CONTAINS THE DATA SOURCE WORD * * THE POINTER IS INCREMENTED ON EACH CALL * NXCHR NOP LDA NXCHR,I FETCH PATTERN POINTER ISZ NXCHR,I INCREMENT POINTER ISZ NXCHR INCREMENT RETURN ADDRESS CLE,ERA SHIFT OUT UPPER/LOWER FLAG LDA A,I FETCH WORD STA B PUT WORD IN B-REGISTER SEZ,RSS UPPER CHARACTER? ALF,ALF YES - ROTATE DOWN AND .377 MASK OUT UPPER BITS JMP NXCHR,I RETURN TO CALLING ROUTINE * * * * * * A2BUF - ADD CHAR IN A-REG TO A BUFFER * * CALLING SEQUENCE: * * LDA * JSB A2BUF * DEF * * A2BUF NOP STA A2BCH SAVE THE CHARACTER LDB A2BUF,I FETCH THE BUFFER ADDRESS ISZ A2BUF,I INCREMENT THE BUFFER POINTER SLB,INB ADJUST ADDRESS TO FETCH THE ADB M2 OPPOSITE CHARACTER STB A2BW1 BRS Ù¸þú SHIFT OUT UPPER/LOWER FLAG STB A2BPT SAVE THE CURRENT ADDRESS JSB NXCHR FETCH THE OPPOSITE CHARACTER A2BW1 DEF * ALF,ALF ROTATE IT UP IOR A2BCH MERGE IN THE INPUT CHARACTER SEZ NEW CHARACTER TO UPPER BYTE? ALF,ALF YES - ROTATE THE WORD STA A2BPT,I RESTORE THE BUFFER WORD ISZ A2BUF INCREMENT THE RETURN ADDRESS JMP A2BUF,I RETURN * A2BCH OCT 0 INPUT CHARACTER A2BPT DEF * CURRENT BUFFER WORD ADDRESS SKP * * * * * OPMCD - OUTPUT MICRO-CODE * * CALLING SEQUENCE: * * JSB OPMCD * DEF
* * OPMCD NOP LDA OPMCD,I FETCH POINTER TO OUTPUT ISZ OPMCD STRING CLE,ELA PUT INTO FETCH CALL STA OPMW1 CLA CLEAR LEADING ZERO FLAG STA OPMW2 * OPML1 JSB NXCHR FETCH OUTPUT CHARACTER OPMW1 DEF * SSB IS IT THE TERMINATOR? JMP OPMCD,I YES - RETURN LDB OPMW2 NO - FETCH LEADING ZERO FLAG SZB LEADING ZEROES DONE? JMP OPML2 YES - OUTPUT THE CHAR CPA .60 NO - IS IT A ZERO? JMP OPML1 YES - SKIP IT STA OPMW2 NO - SET THE FLAG * OPML2 ISZ OUTCT BUFFER BLOCK COMPLETED? JMP OPML3 NO - TRANSMIT THE CHARACTER JSB ENQRT YES - POLL THE TERMINAL JMP E034 NO RESPONSE - REPORT ERROR * OPML3 JSB A2VT,I OUTPUT THE CHARACTER JMP OPML1 DO THE NEXT CHARACTER * OPMW2 OCT 0 LEADING ZERO FLAG * * * * * * ENQRT - POLL THE TERMINAL * * CALLING SEQUENCE: * * JSB ENQ * * * * A-REGISTER RESTORED TO ENTRY VALUE ON NORMAL EXIT * ENQRT NOP STA A2BCH SAVE THE A-REGISTER LDA M80 RESET THE COUNTER STA OUTCT LDA ENQ SEND JSB A2VT,I CCA péþú SET FOR LIMITED WAIT ON STA WTFLG INPUT JSB VT2A,I WAIT FOR RESPONSE JMP ENQRT,I IF TIMEOUT - FAIL RETURN CPA ACK IS INPUT ? RSS YES - NORMAL RETURN JMP ENQRT,I NO - FAIL RETURN LDA A2BCH RECALL THE CHARACTER ISZ ENQRT INCREMENT THE ROUTINE JMP ENQRT,I RETURN * E034 JSB ERREX NOT ACKNOWLEDGED PROPERLY DEF MS034 * * * * * * VT2BF - READ DATA FROM TERMINAL INTO A BUFFER * * CALLING SEQUENCE: * * LDA * LDB - * JSB VT2BF * * * * ON RETURN, THE A-REGISTER IS SET TO 0 IF A BUFFER * OVERFLOW OCCURRED, -1, OTHERWISE. * VT2BF NOP LDA BUFAD INITIALIZE BUFFER POINTER STA INBUF AND BUFFER COUNTER LDA BUFLN STA INCTR CLA CLEAR INPUT COUNTER STA NUMIN LDA X.ON SEND X-ON TO INDICATE READY FOR JSB A2VT,I INPUT CLE INITIALIZE UPPER/LOWER FLAG JSB VT2A,I GO FETCH FIRST CHARACTER JMP E031 TIME OUT - REPORT ERROR JMP VT2S4 GO GET REMAINING INPUT * VT2LP JSB NXV2A,I GO GET NEXT CHARACTER JMP E031 TIME OUT - REPORT ERROR VT2S4 STC VT,C SET FOR NEXT CHARACTER AND .177 MASK OUT PARITY BIT JSB A2BUF PUT THE CHAR INTO THE BUFFER INBUF DEF * POINTER TO INPUT BUFFER LDA A2BCH FETCH THE INPUT CHARACTER CPA CR IS CHARACTER A ? JMP VT2X1 YES - EXIT (LINE MODE ONLY) ISZ NUMIN INCREMENT INPUT COUNTER ISZ INCTR NO - BUFFER FILLED? JMP VT2LP NO - GO GET NEXT CHARACTER CLA,RSS YES - SET A-REG FOR FULL BUFFER VT2X1 CCA SET A-REG FOR SHORT RECORD LDB NUMIN SZB,RSS NULL INPUT? JMP NEXT YES - GO DO NEXT SB5þúUBTEST ISZ VT2BF INCREMENT RETURN ADDRESS VT2S5 CLC VT,C TURN OFF INTERFACE PCA JMP VT2BF,I NORMAL RETURN * INCTR DEC 0 LENGTH OF INPUT BUFFER * * INPUT TIME OUT * E031 CLC VT,C TURN OFF THE INTERFACE LDA WTFLG SZA,RSS TIME OUT AFTER INPUT STARTED? JMP VT2BF,I NO - RETURN IMMEDIATELY JSB ERREX YES - PRINT ERROR MESSAGE DEF MS031 * * * * * * FLAG WAIT ROUTINE * * CALLING SEQUENCE: * * JSB FLGWT * * * FLGWT NOP LDA M110 STA WTLIM CLA CLEAR TIME OUT COUNT FLGLP SFC VT JMP FLGEX FLAG SET - NORMAL RETURN INA,SZA TIMEOUT? JMP FLGLP NO - CONTINUE WAIT ISZ WTLIM JMP FLGLP FLGS2 CLC VT,C YES - TURN OFF INTERFACE JMP FLGWT,I RETURN FAIL FLGEX ISZ FLGWT NORMAL RETURN JMP FLGWT,I SKP * * * * * IN531 - INPUT A CHARACTER FROM 12531/12880 INTERFACES * * CALLING SEQUENCE: * * JSB IN531 * * * IN531 NOP LDA CMD14 SET INTERFACE FOR INPUT IN5S1 OTA VT IN5S2 STC VT,C INITIATE INPUT ISZ WTFLG WAIT FLAG SET? JMP IN5S3 NO - WAIT INDEFINITELY JSB NX531 YES - LIMIT WAIT TIME JMP IN531,I TIME OUT - RETURN IMMEDIATELY JMP IN5L1 * IN5S3 SFS VT FLAG SET? JMP IN5S3 NO - CONTINUE WAIT IN5S4 LIA VT YES - FETCH CHARACTER * IN5L1 AND .177 MASK OUT EXCESS BITS ISZ IN531 INCREMENT RETRURN JMP IN531,I RETURN SUCCESSFUL * .IN53 DEF IN531 POINTER TO INPUT ROUTINE RESET OCT 150077 RESET AND CLEAR FOR 12966 SETIN OCT 10040 INTERRUPT ENABLE CONTROL SETCH OCT 30003 CHARACTER FRAME CONTROL CLEAR OCT 50077 CLEAR FOR 12966 INCMD OCT 40000 INPUT INTERFACE CONTROL WORD OPCMD OCT 407Ýþú400 OUTPUT INTERFACE CONTROL WORD CW4IN OCT 40100 CONTROL WORD 4 - INPUT CW4OP OCT 40500 CONTROL WORD 4 - OUTPUT VT2A DEF * POINTER TO INPUT ROUTINE A2VT DEF * POINTER TO OUTPUT ROUTINE * * * * * * IN966 - INPUT A CHARACTER FROM 12966 INTERFACE * * CALLING SEQUENCE: * * JSB IN966 * * * IN966 NOP LDA RESET CLEAR THE INTERFACE IN9S1 OTA VT LDA SETIN SET INTERRRUPT CONTROL IN9S2 OTA VT LDA SETCH SET CHARACTER PARAMETERS IN9S3 OTA VT LDA INCMD SET INPUT MODE IN9S4 OTA VT IN9S5 STC VT,C INITIATE INPUT ISZ WTFLG WAIT FLAG SET? JMP IN9S6 NO - WAIT INDEFINITELY JSB NX966 YES - LIMIT WAIT TIME JMP IN966,I TIME OUT - RETURN IMMEDIATELY JMP IN9L1 EXIT * IN9S6 SFS VT FLAG SET? JMP IN9S6 NO - CONTINUE WAIT IN9S7 LIA VT YES - FETCH THE CHARACTER LDB CLEAR CLEAR THE INTERRUPT IN9S8 OTB VT SSA,RSS IS INPUT A VALID CHARACTER? JMP IN9S5 NO - TRY AGAIN * IN9L1 AND .177 MASK OUT EXCESS BITS ISZ IN966 INCREMENT RETURN JMP IN966,I RETURN SUCCESSFUL * .IN96 DEF IN966 POINTER TO INPUT ROUTINE * * * * * * NX531 - GET NEXT INPUT FROM A 12531/12880 INTERFACE * * CALLING SEQUENCE: * * JSB NX531 * * * NX531 NOP JSB FLGWT WAIT FOR FLAG JMP NX531,I TIME OUT - FAIL RETURN NX5S1 LIA VT FETCH THE CHARACTER ISZ NX531 INCREMENT RETURN JMP NX531,I SUCCESSFUL RETURN * * * * * * NX966 - GET NEXT INPUT FROM A 12966 INTERFACE * * CALLING SEQUENCE: * * JSB NX966 * * * NX966 NOP NX9L1 JSB FLGWT WAIT FOR FLAG JMP NX966,I TIME OUTèÁþú - FAIL RETURN NX9S1 LIA VT FETCH THE CHARACTER LDB CLEAR CLEAR THE INTERFACE NX9S2 OTB VT SSA,RSS IS INPUT A VALID CHARACTER? JMP NX9S3 NO - TRY AGAIN ISZ NX966 INCREMENT RETURN JMP NX966,I RETURN SUCCESSFUL * NX9S3 STC VT,C SET CONTROL FOR ANOTHER CHAR JMP NX9L1 GO WAIT FOR IT * .NX53 DEF NX531 POINTER TO 12531 INPUT ROUTINE .NX96 DEF NX966 POINTER TO 12966 INPUT ROUTINE NXV2A DEF * POINTER TO CONTINUE INPUT RTN * * * * * * OP531 - OUTPUT A CHARACTER THRU THE 12531 * * ENTRY: A-REGISTER = CHARACTER TO BE OUTPUT * * EXIT : REGISTERS UNCHANGED * OP531 NOP STA VTCHR SAVE THE CHARACTER LDA OCMD SET INTERFACE TO OP5S1 OTA VT OUTPUT MODE LDA VTCHR RECALL CHARACTER OP5S2 OTA VT SEND TO INTERFACE OP5S3 STC VT,C SEND IT TO THE TERMINAL JSB FLGWT GO WAIT FOR FLAG JMP E030 FAIL RETURN LDA VTCHR RECALL OUTPUT CHARACTER JMP OP531,I RETURN * .OP53 DEF OP531 POINTER TO 12531 OUTPUT ROUTINE VTCHR NOP CHARACTER SAVE AREA * E030 CLC VT,C TURN OFF THE INTERFACE LDA STNUM FETCH SUBTEST NUMBER SSA CONFIGURATION PHASE? JMP .ZCL4,I YES - EXIT TO INIT ROUTINE JSB ERREX NO - REPORT NO FLAG SET DEF MS030 ON OUTPUT * .ZCL4 DEF ZCOL4 POINTER TO CONFIGURATION EXIT * * * * * * OP966 - OUTPUT A CHARACTER ON THE 12966 * * ENTRY: A-REGISTER = CHARACTER TO BE OUTPUT * * EXIT : REGISTERS UNCHANGED * OP966 NOP STA VTCHR SAVE THE CHARACTER LDA RESET CLEAR THE INTERFACE OP9S1 OTA VT LDA SETCH SET CHARACTER PARAMETERS OP9S2 OTA VT LDA OPCMD SET INTERFACE TO OUTPUT MODE OP9S3 OTA VT LDA VTCHR OP9S4 OTA VT OUTPUT THE CHARACTER OP9S5 STC VT,C JSB FLGWT WAIT FOR A FLAG JMP E030 TIME OUT - REPORT ERÕþúROR OP9S6 CLC VT FETCH THE STATUS WORD FROM OP9S7 LIA VT THE INTERFACE AND BFMTY MASK FOR BUFFER EMPTY STATUS STA B SAVE THE STATUS WORD LDA CLEAR CLEAR THE INTERFACE OP9S8 OTA VT SZB,RSS BUFFER EMPTY STATUS? JMP OP9S5 NO - CONTINUE WAITING LDA VTCHR YES - RESTORE A-REGISTER JMP OP966,I * .OP96 DEF OP966 SKP * * * * * LOADR - MICRO-CODE LOADER * * CALLING SEQUENCE: * * LDA * JSB LOADR * * * ON RETURN, WORD "LOAPT" CONTAINS THE WORD ADDRESS OF * THE WORD IMMEDIATELY FOLLOWING THE MICRO-CODE * LOADR NOP CLE,ELA SHIFT IN UPPER/LOWER BYTE FLAG STA LOAW3 STORE POINTER CCA SET END POINTER TO MINUS ONE STA ENDPT LDA M80 INITIALIZE OUTPUT COUNTER STA OUTCT JSB OPMCD CLEAR THE TERMINAL DEF PREPT LDA .377 WAIT 255 MILLESECONDS JSB TMRR,I FOR CLEAR TO BE DONE JSB ENQRT POLL TERMINAL JMP E034 NO RESPONSE - REPORT ERROR * LOAL. CLA STA CHKSM LDA SML.A INITIALIZE ADDRESS CONTROL STA LOAW4 LETTER JSB OPMCD INITIATE THE LOADER DEF LOAP1 * LDA DCRTA LOAD DATACOM DRIVERS JSB LOAR2 LDB SW14 IS THE SUPPRESS ERROR HALTS JSB SWRT,I SWITCH ON? JMP LOAL YES - LOAD SUBTEST JSB VCKSM NO - VERIFY CHECKSUM JSB OPMCD INITIATE THE LOADER AGAIN DEF LOAP1 LOAL LDA LOAW3 LOAD SUBTEST MICRO-CODE * * LOAD SUBTEST MICRO-CODE * LOAL0 JSB LOAR2 JSB LOAR1 FETCH MSB OF EXECUTE ADDRESS ALF,ALF STA LOAW1 JSB LOAR1 COMBINE WITH LSB IOR LOAW1 SSA,RSS IS IT A REAL ADDRESS? JMP LOAL3 YES - SEND IT INA,SZA,RSS CONTINUE ON A NEW BLOCK? JMP LOAL2 YES - SET POINTEjýþúR LDA LOAPT NO - LOAD COMMON BLOCK ADA M1 SET END POINTER CLE,ERA STA ENDPT LDA COMCD FETCH COMMON BLOCK POINTER JMP LOAL0 LOAL2 LDA LOAPT FETCH CURRENT POINTER VALUE JMP LOAL0 CONTINUE WITH NEXT BLOCK * * TRANSMIT EXECUTE ADDRESS * LOAL3 LDB CHKSM ADD ADDRESS TO CHECKSUM ADB A STB CHKSM LDB LOAA3 CONVERT TO ASCII CLE JSB O2AS,I LDB SW14 IS THE SUPPRESS ERROR HALTS JSB SWRT,I SWITCH ON? RSS YES - NO CHECKSUM JMP LOAL4 NO - CONTINUE LOADER LDA CAP.A TERMINATE LOADER ON ADDRESS STA LOAW4 LOAL4 JSB OPMCD SEND EXECUTE ADDRESS LOAA3 DEF LOAW2 JSB VCKSM VERIFY THE CHECKSUM JSB OPMCD INITIATE EXECUTION DEF LOAP3 * LDA LOAPT SET MESSAGE ADDRESS TO NEXT WORD INA CLE,ERA REMOVE UPPER/LOWER BYTE FLAG STA MSPTR SET MESSAGE POINTER LDB ENDPT INB,SZB,RSS IS END POINTER SET? STA ENDPT NO - SET TO MESSAGE ADDRESS LDA .377 WAIT 255 MILLESECONDS FOR JSB TMRR,I TERMINAL TO START EXECUTING JMP LOADR,I RETURN * LOAW1 OCT 0 PREVIOUS DATA BYTE LOAW3 DEF * POINTER TO SUBTEST MICRO-CODE * PREPT EQU * ESC OCT 33 ASCII OCT 110 - HOME THE CURSOR OCT -1 TERMINATOR * LOAP1 OCT 15446 INITIATE LOADER - -<&> OCT 142 OCT -1 TERMINATOR * LOAW2 ASC 3,000000 LOAD ADDRESS LOAW4 OCT 141 : ADDRESS FLAG OCT -1 TERMINATOR * LOAA2 DEF *+1 BSS 2 CONVERSION BUFFER * LOAP2 ASC 1,00 OCT 30144 <0>- OCT -1 TERMINATOR * LOAP3 OCT 7 SOUND THE BELL OCT 15446 INITIATE EXECUTION - OCT 61105 - OCT -1 TERMINATOR tšþú* * * * * * LOAR1 - FETCH BYTE FROM MICRO-CODE AREA * LOAR1 NOP JSB NXCHR FETCH NEXT BYTE LOAPT DEF * JMP LOAR1,I RETURN * * * * * * LOAR2 - LOAD MICRO-CODE BLOCK * LOAR2 NOP STA LOAPT SET MICRO-CODE POINTER JSB LOAR1 FETCH THE LOAD ADDRESS ALF,ALF STA LOAW1 JSB LOAR1 IOR LOAW1 LDB CHKSM ACCUMULATE CHECKSUM ADB A STB CHKSM LDB LOAA1 CONVERT ADDRESS TO ASCII CLE JSB O2AS,I JSB OPMCD SEND LOAD ADDRESS LOAA1 DEF LOAW2 JSB LOAR1 FETCH FIRST DATA BYTE STA LOAW1 SAVE IT * LOAL1 JSB LOAR1 FETCH DATA BYTE LDB A ALF,ALF COMBINE WITH PREVIOUS BYTE IOR LOAW1 INA,SZA,RSS IS IT THE TERMINATOR? JMP LOAR2,I YES - RETURN * LDA LOAW1 NO - SEND PREVIOUS BYTE STB LOAW1 SAVE CURRENT BYTE LDB CHKSM ACCUMULATE CHECKSUM ADB A STB CHKSM LDB LOAA2 CONVERT BYTE TO ASCII CCE JSB O2AS,I JSB OPMCD SEND IT TO THE TERMINAL DEF LOAP2 JMP LOAL1 DO THE NEXT BYTE * * * * * * VCKSM - VERIFY CHECKSUM * * RETURNS TO EXEC IF CHECKSUM DOES NOT VERIFY * VCKSM NOP LDB SW14 IS SUPPRESS ERROR HALTS JSB SWRT,I SWITCH ON? JMP VCKSM,I YES - DON'T VERIFY CHECKSUM LDA CHKSM NO - CONVERT CHECKSUM TO ASCII LDB VCKA1 CLE JSB O2AS,I JSB OPMCD SEND IT TO THE TERMINAL VCKA1 DEF VCKP1 LDA .377 WAIT 255 MILLESECONDS FOR JSB TMRR,I TERMINAL TO CLEAR IF FAIL CLA CLEAR THE CHECKSUM STA CHKSM * * GET STATUS * JSB OPMCD REQUEST STATUS FROM TERMINAL DEF VCKP2 CCA SET FOR LIMITED WAIT ON STA WTFLG INPUT ROUTINE JSB VT2BF JMP E032 TIME OUT - REPORT ERROR LDA STBY3,I FETCH STATUS BNþúYTE 3 AND AUTLF SZA,RSS IS AUTO LF DOWN? JMP VCKL1 NO - VERIFY CHECKSUM CCA YES - WAIT FOR STA WTFLG LIMIT WAIT TIME JSB VT2A,I JMP E032 TIME OUT - REPORT ERROR * * CHECK THE STATUS RECEIVED * VCKL1 LDA .INBF,I FETCH FIRST INPUT WORD CPA STWRD IS IT -<\>? RSS YES - CHECK CHECKSUM STATUS JMP E033 NO - REPORT ERROR LDA STBY5,I FETCH STATUS BYTE 5 AND LDCHK CHECKSUM OK? SZA JMP VCKSM,I YES - RETURN E033 JSB ERREX NO - REPORT ERROR DEF MS033 * E032 JSB ERREX TIME OUT ON INPUT DEF MS032 REPORT ERROR * VCKP1 ASC 3,000000 CHECKSUM PATTERN OCT 103 OCT -1 TERMINATOR * VCKP2 OCT 15536 STATUS REQUEST - -<^> OCT -1 TERMINATOR SKP * * * * * EXDGN - EXECUTE DIAGNOSTIC MODULE * * CALLING SEQUENCE: * * LDA * JSB EXDGN * * EXDGN NOP CLB,INB CLEAR SUBTEST COUNTER STB STNUM * * DETERMINE IF VALID CODE IS FOUND * EXDL0 STA EXDW4 SAVE POINTER TO SUBTEST BLOCK STA ENDPT SET LAST REFERENCE POINTER LDB A,I FETCH HEADER MESSAGE NUMBER CPB M2 IS IT -2? JMP EXDL5 YES - CONTINUE LOOKING FOR SUBTEST CPB A00 IS IT "00"? JMP EXDLA YES - MARK AS COMMON CODE BLOCK LDB EXDW4 NO - FETCH OPTION 2 FLAGS FROM ADB D19 FROM HEADER LDA B,I SZA,RSS ANY FLAGS SET? JMP EXDL NO - CHECK OPTION 1 FLAGS AND USSC YES - MATCH WITH OPTIONS SET XOR B,I BY USER DURING CONFIGURATION SZA,RSS OPTIONS MATCH? JMP EXDL. YES - EXECUTE THE SUBTEST JMP EXDLE NO - SKIP THE SUBTEST * ²ÔB@< * JSB BLDMS * * * BLDMS NOP ALF,ALF ROTATE MESSAGE TYPE CHARACTER STA ERRBA,I UP AND PUT INTO BUFFER LDA EXDWÛìþú1 CONVERT MESSAGE NUMBER TO LDB CNVB2 INTERNAL VALUE JSB XFR DEC -3 STA BLDW3 SAVE UPDATED POINTER LDB CNVB2 CLE,ERB SET SOURCE POINTER CCA CONVERT OCTAL VALUE JSB AS2N,I STA ERRNM SAVE AS ERROR NUMBER * ADA MSPTR,I ADD NUMBER OF MESSAGES SSA,RSS MESS NUMBER > NUMBER OF MESS? JMP BLDMS,I YES - RETURN IMMEDIATELY LDA MSPTR NO - FETCH POINTER TO MESSAGE INA ADA ERRNM LDA A,I FETCH POINTER TO MESSAGE ALS SHIFT IN UPPER/LOWER BYTE FLAG STA BLDW1 PUT INTO FETCH CALL LDA NUMIN SET NUMBER OF INPUT CMA,INA PARAMETERS ADA D3 STA BLDW4 LDA ERRBA INITIALIZE PUT ROUTINE CCE POINTER ELA STA BLDW2 * BLDL1 JSB NXCHR FETCH MESSAGE CHARACTER BLDW1 DEF * CPA REVSL IS IT THE LINE TERMINATOR? JMP BLDL4 YES - SEND END OF LINE PATTERN CPA NMSYM IS IT A NUMBER REQUEST? JMP BLDL3 YES - GO FETCH ONE * BLDL2 JSB A2BUF TRANSFER CHAR TO ERR BUFFER BLDW2 DEF * LDA A2BCH RECALL MESSAGE CHARACTER CPA SLANT IS IT THE TERMINATOR? JMP BLDL6 YES - EXIT JMP BLDL1 DO NEXT CHARACTER * BLDL3 ISZ BLDW4 ALL PARAMETERS USED? RSS NO - FETCH PARAMETER JMP BLDMS,I YES - RETURN IMMEDIATELY JSB NXCHR FETCH INPUT CHARACTER BLDW3 DEF * JMP BLDL2 PUT THE CHAR INTO THE BUFFER * * REVERSE SLANT (\) - LINE TERMINATOR * BLDL4 LDB SW3 JSB SWRT,I DISPLAY ACTION PART ONLY? JMP BLDL5 YES - TERMINATE MESSAGE LDA BLDA1 NO - TRANSFER END OF LINE LDB BLDW2 TO OUTPUT BUFFER JSB XFR DEC -7 STB BLDW2 RESTORE UPDATED BUFFER POINTER JMP BLDL1 DO NEXT MESSAGE CHARACTER * BLDL5 LDA SLANT SUBSTITUTE MESSAGE TERMINA!ÄþúTOR CCB CHAR FOR LINE TERMINATOR STB BLDW4 SET PARAMETER COUNT TO -1 JMP BLDL2 TRANSFER CHAR TO OUTPUT BUFF * * SLANT (/) - MESSAGE TERMINATOR * BLDL6 ISZ BLDW4 ALL PARAMETERS USED? RSS NO - RETURN IMMEDIATELY ISZ BLDMS YES - INCREMENT RETURN JMP BLDMS,I RETURN * BLDW4 DEC 0 NUMBER OF INPUT PARAMETERS BLDA1 DEF *+*+2 OCT 6412 END OF LINE PATTERN ASC 3, SKPBS SKP * * * * * I/O INSTRUCTION POINTERS * IODP DEF OP5S1 DEF OP5S2 DEF OP5S3 DEF VT2S4 DEF VT2S5 DEF E031 DEF E030 DEF FLGLP DEF FLGS2 DEF IN5S1 DEF IN5S2 DEF IN5S3 DEF IN5S4 DEF IN9S1 DEF IN9S2 DEF IN9S3 DEF IN9S4 DEF IN9S5 DEF IN9S6 DEF IN9S7 DEF IN9S8 DEF NX5S1 DEF NX9S1 DEF NX9S2 DEF NX9S3 DEF OP9S1 DEF OP9S2 DEF OP9S3 DEF OP9S4 DEF OP9S5 DEF OP9S6 DEF OP9S7 DEF OP9S8 DEF ZCOS1 DEF ZCOS2 DEF ZCOS3 DEF ZCOS4 DEF ZCOS5 OCT -1 TERMINATOR HED DIAGNOSTIC EXECUTIVE * EXEC - DIAGNOSTIC EXECUTIVE * EXEC NOP LDA TSTN NO - FETCH POINTER TO TEST ADA .TSTB LDA A,I SZA,RSS DOES TEST EXITS? JMP EXEC,I NO - RETURN IMMEDIATELY STA EXEW1 YES - SAVE POINTER TO TEST ADA D17 FETCH OPERATOR INTERVENTION LDA A,I FLAG FROM HEADER ALF,ALF ROTATE DOWN OPERATOR FLAG SLA,RSS OPERATOR INTERVENTION NEEDED? JMP EXEL1 NO - GO EXECUTE THE TEST LDB NOPSW YES - CHECK FOR SUPPRESS JSB SWRT,I OPERATOR INTERVENTION TESTS JMP EXEC,I SUPPRESS ON - RETURN IMMEDIATELY * * SET UP AND DISPLAY BEGIN "TEST" MESSAGE * EXEL1 LDA EXEW1 SET UP BEGIN "TESTðúþú" MESSAGE ADA D2 SKIP OVER NUMBER IN HEADER CLE,ELA SHIFT IN U/L BYTE FLAG LDB MSBGA FETCH DESTINATION POINTER JSB XFR TRANSFER HEADER MESSAGE DEC -25 LDA SLANT INSERT A SLANT TO TERMINATE JSB A2BUF .LAST DEF * JSB DSPMS DISPLAY THE BEGIN MESSAGE DEF MSBG * * LOAD AND EXECUTE DIAGNOSTIC CODE * LDA EXEW1 RECALL POINTER TO TEST JSB EXDGN EXECUTE IT LDA TSTN SET UP TEST COMPLETED LDB CNVB1 MESSAGE CLE JSB I2AS,I LDA CNVB3 STA MTSTW JSB DSPMS DISPLAY TEST COMPLETED DEF MSTST MESSAGE JMP EXEC,I RETURN TO CONTROL * EXEW1 DEF * POINTER TO TEST HED DIAGNOSTIC PROGRAM MESSAGES HDMS ASC 13,2644A TERMINAL DIAGNOSTIC ASC 8,(NON-CTU TESTS) OCT 6412 ASC 7,INTERFACE = 12 HDA1 ASC 11,531D-880A/ BAUD RATE = HDA2 ASC 3, / * .HDA1 DEF HDA1+HDA1 .HDA2 DEF HDA2+HDA2+1 * MSBG ASC 3,BEGIN MSBG1 BSS 15 SPACE FOR HEADER MESSAGE MSBGA DEF MSBG1+MSBG1 POINTER TO HEADER AREA * MSTST ASC 3, TEST MTSTW ASC 7, COMPLETED/ * ORG ZCEND LOAD AT END OF CONTROL PROGRAM MS030 ASC 15,E030 I-O FAILURE, I-O FLAG NOT ASC 13, SET FOR TRANSMITTED DATA/ * MS031 ASC 17,E031 I-O FAILURE, INPUT STRING NOT ASC 12, TERMINATED BY A RETURN/ * MS032 ASC 15,E032 I-O FAILURE, NO RESPONSE ASC 7,FROM TERMINAL/ * MS033 ASC 16,E033 TRANSMISSION ERROR, LOADER ASC 11,CHECKSUM NOT VERIFIED/ * MS034 ASC 14,E034 I-O FAILURE, NOT ASC 13,ACKNOWLEDGED BY AN / * MS035 ASC 16,E035 TRANSMISSION ERROR, INVALID ASC 9, TEST RESPONSE: HED HP 2644A DIAG (NON-CTU) - MICRO-CODE BLOCKS * MICRO-CODE BLOCKS * DCRTN EQU * OCT 036000,144066,057456,036307,130110,010074 OCT 043036,036104,000474,003060,040444,001150 OCT 010074,14056{“þú1,026015,174007,033135,027074 OCT 143404,177770,044061,036076,100060,143454 OCT 077770,051406,030101,022001,025406,010101 OCT 022177,036033,044102,036000,036021,044113 OCT 036066,057770,003474,055510,052074,033134 OCT 174007,036135,005466,056076,000007,000200 OCT 000000 OCT -1 * TST01 EQU * ASC 18,040 PROCESSOR TEST /01990 OCT 177777,000000,036140,031104,102074,013060 OCT 003105,043000,036006,030106,000074,003060 OCT 043000,036302,043000,036006,006506,000074 OCT 000026,030504,063074,124150,105474,042144 OCT 036100,110474,042144,036270,044144,036310 OCT 134510,062074,060144,036160,062074,004550 OCT 062074,060144,036120,062074,004110,062074 OCT 070144,036010,134550,062074,040144,036120 OCT 062074,150420,040144,036250,060144,036332 OCT 014343,020354,024365,030011,044144,036021 OCT 010510,062074,014431,014510,062074,020441 OCT 020441,044144,036051,024451,024451,044144 OCT 036061,030461,030461,030510,062074,036000 OCT 044177,036011,003377,134510,077474,004010 OCT 140410,060144,036002,001002,001002,001002 OCT 060144,036002,040144,036002,060144,036271 OCT 044144,036012,060144,036012,040144,036012 OCT 060144,036012,005012,005012,134510,062074 OCT 004432,060144,036032,040144,036320,015140 OCT 062074,036200,044144,036022,040144,036330 OCT 011140,062074,134510,062074,004701,135110 OCT 062074,135510,062074,003125,007252,005012 OCT 036125,044177,036012,134510,077474,033125 OCT 167345,156323,145301,036125,044144,036066 OCT 125356,162734,151712,140474,125110,062074 OCT 004170,062074,004530,062074,007125,004570 OCT 062074,004130,062074,007252,013125,017377 OCT 140651,044144,036302,125110,062074,140652 OCT 135510,062074,141251,135510,062074,140661 OCT 134510,062074,141262,135110,062074,140662 OCT 135510,062)þú074,141261,135510,062074,140641 OCT 134510,062074,141242,135110,062074,140642 OCT 044144,036302,120510,062074,007000,004106 OCT 172075,044144,036152,174475,064144,036104 OCT 177475,004407,042144,036013,004013,042144 OCT 036016,001006,000106,007076,026177,044144 OCT 036104,000476,032001,043024,037007,032002 OCT 043032,037007,032004,043040,037007,032010 OCT 043046,037007,032020,043054,037007,032040 OCT 043062,037007,032100,004413,043101,037054 OCT 177510,062074,042104,037064,100007,007125 OCT 013252,033000,027377,143200,060144,036110 OCT 062074,140602,060144,036275,044144,036302 OCT 100540,062074,136510,062074,102500,062074 OCT 036376,044144,036002,005216,060144,036275 OCT 044144,036216,060144,036275,044144,036221 OCT 060144,036272,044144,036220,060144,036110 OCT 062074,003007,110500,062074,036262,044144 OCT 036002,005232,060144,036074,003510,062074 OCT 117140,062074,036007,044144,036106,017074 OCT 033140,147411,174510,060474,003124,043000 OCT 036006,006506,000074,000377,177474,060400 * DEC -2 DEF T0111 DEF T0112 * T0111 EQU * ASC 18,041 POSSIBLE PROCESSOR PCA FAILURE \ ASC 19,INSTRUCTION FAILED OR WRONG CODE READ/ T0112 EQU * ASC 18,042 POSSIBLE PROCESSOR PCA FAILURE \ ASC 14,INPUT DATA COMPARE FAILURE/ OCT -2 * TST02 EQU * ASC 18,050 FIRMWARE TEST /02990 OCT 177777,000000,036147,000400,000000,033140 OCT 027074,037375,030076,027650,154340,033152 OCT 174106,017074,043002,036506,017475,033140 OCT 147411,174510,075074,030317,004771,050172 OCT 036066,061773,030374,043002,036466,063370 OCT 043037,036506,001075,033145,174106,017475 OCT 141664,045326,036066,065307,033143,174106 OCT 001075,026377,033144,174066,065317,004112 OCT 156474,033147,147411,174510,065474,003124 OCT 043000,0Иþú36006,006506,000074,000026,000046 OCT 002104,160474,013001,023002,003105,043000 OCT 036302,043111,036466,061076,061066,061317 OCT 004371,170707,043111,036441,044356,036006 OCT 006506,000074,000066,064307,030357,170327 OCT 030110,007075,024316,142466,064056,036371 OCT 030370,030302,103414,000370,141007,126026 OCT 000170,023075,010032,060057,036446,000104 OCT 031075,023200,120310,015100,034075,020251 OCT 144302,005032,124710,142012,126044,140253 OCT 125340,154407,013003,001002,154044,001444 OCT 003464,030106,000074,141402,001002,154021 OCT 044120,036407,177777,036153 * DEC -2 DEF T0211 DEF T0212 * T0211 EQU * ASC 21,051 POSSIBLE CONTROL STORE PCA FAILURE \ ASC 06,CRC FAILURE\ ASC 18,COMPUTED ### ###, EXPECTED ### ### / T0212 EQU * ASC 21,052 POSSIBLE CONTROL STORE PCA FAILURE \ ASC 09,CHECKSUM FAILURE \ ASC 14,COMPUTED ###, EXPECTED ### / OCT -2 * TST03 EQU * ASC 18,060 RAM TEST /03000 OCT 177777,000000,036143,033072,027075,007125 OCT 160506,031075,174701,005310,043351,036110 OCT 065074,146106,031075,143651,045274,036301 OCT 005310,043351,036110,074074,142012,144140 OCT 064474,007017,023377,043062,036771,043351 OCT 036110,111474,043062,036707,124512,136074 OCT 043351,036110,116474,007360,020150,111474 OCT 003124,043000,036006,006506,000074,000251 OCT 156746,033140,027074,174060,174460,175406 OCT 042506,000074,124106,015075,033142,157506 OCT 177074,033140,143506,015075,033141,143506 OCT 015075,003015,043000,036000,030013,024305 OCT 036100,021466,035056,036407,142002,141422 OCT 154304,011340,003426,003106,172474,022001 OCT 022007,002060,043000,036106,172474,043365 OCT 036106,172474,010510,002475,003426,001402 OCT 001330,022003,022007,032060,043000,036303 OCT 00Ç<:61002,001330,010510,020475,003725,157106 OCT 017074,165363,003777,177474,061400 * DEC -1 DEF T0331 OCT -2 * ASC 18,060 RAM TEST /03010 OCT 177777,000000,036717,033377,027073,043367 OCT 036451,024451,030261,045367,036661,044347 OCT 036451,030504,151475,142404,002066,047456 OCT 037370,164066,000046,177504,050076,124370 OCT 127710,003377,174257,003710,033113,027076 OCT 143660,044020,037106,017076,042001,037006 OCT 030101,022002,064020,037301,070454,006770 OCT 003466,044456,037307,002377,174110,030476 OCT 037200,030307,026177,174123,003060,040444 OCT 000453,003020,040444,077474,015510,041076 OCT 000074,010413,033113,174007,100000,000000 OCT 000000,000016,052506,174076,174701,005310 OCT 043254,037110,051076,043370,037307,134512 OCT 100076,005310,043254,037110,057476,007252 OCT 020150,051076,003124,043000,037006,006506 OCT 000076,000335,163066,046056,037370,030371 OCT 030373,003105,043000,037250,043340,037066 OCT 047337,043304,037066,046307,043340,037066 OCT 046707,043340,037006,006506,000076,000060 OCT 005450,142474,037043,033117,027076,167466 OCT 000007,142002,141422,154304,011340,003426 OCT 003106,135476,022001,022007,002060,043000 OCT 037106,135476,043273,037106,135476,010510 OCT 145476,003426,001402,001330,022003,022007 OCT 032060,043000,037303,001002,001330,010510 OCT 163476,003725,157106,017076,165363,003777 OCT 177475,147400 * DEC -1 DEF T0331 OCT -2 * 5Œ<ÿÿþú ASC 18,060 RAM TEST /03990 OCT 177777,000000,036717,033377,027073,043367 OCT 036451,024451,030261,045367,036661,044347 OCT 036451,030504,151475,142404,002066,047456 OCT 037370,164066,000046,177504,050076,124370 OCT 127710,003377,174257,003710,033113,027076 OCT 143660,044020,037106,017076,042001,037006 OCT 030101,022002,064020,037301,070454,006770 OCT 003466,044456,037307,002377,174110,030476 OCT 037200,030307,026177,174123,003060,040444 OCT 000453,003020,040444,077474,015510,041076 OCT 000074,010413,033113,174007,100000,000000 OCT 000000,000016,007506,006477,174506,140476 OCT 044122,037106,006477,143671,045225,037106 OCT 140476,044134,037016,170040,064122,037345 OCT 003104,043000,037006,000506,172476,003100 OCT 112012,005004,030106,000076,003015,043000 OCT 037006,052106,000076,003015,043000,037000 OCT 156746,033114,027076,174060,174460,175406 OCT 042506,000076,124106,172476,033116,157506 OCT 154476,033114,143506,172476,033115,143506 OCT 172476,003015,043000,037000,030013,024305 OCT 036076,021466,047456,037357,033000,003704 OCT 001303,011330,142022,160007,013006,043320 OCT 037044,000444,003404,030106,000076,043320 OCT 037106,150076,043320,037021,044340,037007 OCT 013003,001002,154044,001444,003464,030106 OCT 000076,141402,001002,154021,044374,037007 OCT 152736,043036,037352,171407,177777,036717 * DEC -2 DEF T0331 DEF T0332 * T0331 EQU * ASC 17,062 POSSIBLE MEMORY PCA'S FAILURE\ ASC 23,AT ###### STORED PATTERN IS ###, EXPECTED ###/ T0332 EQU * ASC 14,061 TERMINAL HAS #K MEMORY / OCT -2 * TST04 EQU * ASC 18,100 RAM ADDRESSING TEST /04000 OCT 177777,000000,036140,033377,027077,043360 OCT 036306,126770,143024,000760,040165,036051 OCT 042144,036074,000510,062074,142474,036)9þú510 OCT 062074,033377,027073,043360,036306,126770 OCT 143024,000760,142434,000350,040204,036106 OCT 123074,043246,036006,052106,000074,003015 OCT 043000,036000,033000,027076,043360,036306 OCT 126677,044300,036370,030110,125074,024305 OCT 036100,060252,036007,156746,003105,043000 OCT 036026,001406,030106,000074,010510,144474 OCT 013006,043370,036044,000444,003404,030106 OCT 000074,043370,036106,174074,043370,036021 OCT 044331,036104,120074,152736,043036,036352 OCT 171407,142002,141422,154304,011340,003777 OCT 177474,060000 * DEC -1 DEF T0421 OCT -2 * ASC 18,100 RAM ADDRESSING TEST /04990 OCT 177777,000000,037000,144066,045456,037307 OCT 130110,010076,043036,037104,000476,003060 OCT 040444,001150,010076,140561,026015,174007 OCT 033111,027076,143404,177770,044061,037076 OCT 100060,143454,077770,051406,030101,022001 OCT 025406,010101,022177,036033,044102,037000 OCT 036021,005466,045770,003600,000000,000066 OCT 177456,035506,111476,024451,024460,130512 OCT 111476,130510,062476,024461,042121,037305 OCT 002004,033114,027076,174066,177456,036506 OCT 172076,143255,174306,012001,170305,016000 OCT 164100,070476,043234,037106,116076,003124 OCT 043000,037006,006506,000076,000250,174257 OCT 144006,177770,127407,033114,027076,167466 OCT 000106,172076,143255,137510,142076,174060 OCT 044243,037050,142474,037140,121476,033005 OCT 027077,142656,174060,044274,037007,156746 OCT 003105,043000,037026,001406,030106,000076 OCT 010510,146476,013006,043374,037044,000444 OCT 003404,030106,000076,043374,037106,176076 OCT 043374,037021,044335,037104,106476,152736 OCT 043036,037352,171407,142002,141422,154304 OCT 011340,003777,177476,046400 * DEC -1 DEF T0421 * T0421 EQU * ASC 17,101 POSSIBLE MEMOÁUþúRY PCA'S FAILURE\ ASC 25,LOCATION ###### ACCESSED BY MORE THAN ONE ADDRESS/ OCT -2 * TST05 EQU * ASC 18,110 DISPLAY TEST /05000 OCT 177777,000000,036141,044015,000000,033376 OCT 027377,037054,030076,177250,053567,043076 OCT 037106,044076,044164,036006,052106,000074 OCT 003200,073406,006506,000074,000316,042105 OCT 054501,046120,051511,042040,051511,020105 OCT 047111,046040,051511,044124,020106,044440 OCT 042105,051122,052503,041517,020123,040510 OCT 020116,047511,052103,047125,043114,040515 OCT 020101,020055,020066,020105,047111,046316 OCT 027105,047111,046040,052123,040514,020105 OCT 044124,020123,044440,051511,044124,020055 OCT 020065,020105,047111,046314,030311,034710 OCT 034307,033706,033305,032704,032303,031702 OCT 031301,030700,030040,020060,034405,176462 OCT 004375,031413,176464,007375,032421,176466 OCT 012375,033777,176070,001375,030460,020040 OCT 026514,040503,044524,047105,042111,020105 OCT 041040,042114,052517,044123,020123,052111 OCT 043511,042040,043117,020055,020064,020105 OCT 047111,046314,051520,052517,051107,020117 OCT 053524,020107,047111,053517,046114,047506 OCT 020105,044124,020040,027122,042502,046525 OCT 047040,042516,044514,020105,044124,020123 OCT 044440,067040,042522,042510,053440,026042 OCT 067040,042516,044514,021040,042523,040522 OCT 044120,020055,020063,020105,047111,046314 OCT 042510,052040,044124,044527,020116,044507 OCT 042502,020104,046125,047510,051440,042516 OCT 044514,020110,041501,042440,020056,024461 OCT 030461,020075,020105,042117,041440,051117 OCT 051122,042450,020104,042522,051125,041503 OCT 047440,051501,044040,026440,031040,042516 OCT 044514,020040,051447,040503,050040,054501 OCT 046120,051511,042040,042510,052040,043117 OCT 020105,051125,046111,040506,îþú020105,046102 OCT 044523,051517,050040,040440,026124,041505 OCT 051122,047503,047111,020123,044440,054501 OCT 046120,051511,042040,051511,044124,020106 OCT 044440,026440,030440,042516,044514,033137 OCT 124277,025466,060707,030317,174061,174506 OCT 000074,003466,061456,036076,000060,037230 OCT 003506,017074,033134,124277,064134,037066 OCT 061476,177060,037377,043055,037066,061737 OCT 014373,005460,157430,175407,177777,036145 * DEC -0 OCT -2 * ASC 18,110 DISPLAY TEST /05010 OCT 177777,000000,036141,044015,000000,033376 OCT 027377,037126,030076,176466,061456,036250 OCT 174060,037310,053466,060026,170370,073506 OCT 165074,064220,036021,044176,036066,060307 OCT 026200,042172,036250,033140,174320,033376 OCT 027377,037000,030076,177167,043352,036150 OCT 145474,010110,117474,033140,143404,000770 OCT 022020,064225,036066,177056,177476,151060 OCT 037376,007300,043036,036010,044277,036006 OCT 040104,117074,003124,043000,036006,006506 OCT 000074,003200,073400,033137,124277,025466 OCT 060707,030317,174061,174506,000074,003506 OCT 017074,033134,124277,064376,036066,061476 OCT 177060,037377,043331,036066,061737,014373 OCT 005460,157430,175407,147051,031061,030440 OCT 036440,042504,047503,020122,047522,051105 OCT 024040,042522,052514,044501,043040,051447 OCT 040503,050040,054501,046120,051511,042040 OCT 042514,041111,051523,047520,020054,043516 OCT 044513,047111,046102,020124,047516,020123 OCT 044440,054501,046120,051511,042040,043111 OCT 147064,031314,031462,146062,031314,030462 OCT 146060,031314,034461,146070,030714,033461 OCT 146066,030714,032461,146064,030714,031461 OCT 146062,030714,030461,146060,030714,034714 OCT 034314,033714,033314,032714,032314,031714 OCT 024463,030461,020075,020105,042117,04144¾7þú0 OCT 051117,051122,042450,020105,051125,046111 OCT 040506,020123,023501,041520,020131,040514 OCT 050123,044504,020105,046102,044523,051517 OCT 050040,026106,043117,020116,051125,052040 OCT 052117,047040,051505,047504,020110,051505 OCT 051106,042522,020106,044714,042105,052101 OCT 042520,042522,020123,042516,044514,020117 OCT 047040,026440,047117,020110,051505,051106 OCT 042522,151376,146131,040514,050123,044504 OCT 020114,046111,043040,047524,020104,042524 OCT 040505,050105,051040,051505,047111,046040 OCT 047527,052040,026440,043106,047440,044123 OCT 042522,043105,051040,020040,020040,020314 OCT 054501,046120,051511,042040,046114,044506 OCT 020117,052040,042105,052101,042520,042522 OCT 020123,042516,044514,020117,053524,020055 OCT 020106,043117,020110,051505,051106,042522 OCT 020040,020040,146131,040514,050123,044504 OCT 020114,046111,043040,047524,020104,042524 OCT 040505,050105,051040,051505,047111,046040 OCT 047527,052040,026440,043106,047440,044123 OCT 042522,043105,051040,020314,054501,046120 OCT 051511,042040,046114,044506,020117,052040 OCT 042105,052101,042520,042522,020123,042516 OCT 044514,020117,053524,020055,020106,043117 OCT 020110,051505,051106,042522,177777,036145 * DEC -0 OCT -2 * ASC 18,110 DISPLAY TEST /05990 OCT 177777,000000,036140,140000,044015,033376 OCT 027377,037171,030076,176506,017074,033316 OCT 027075,037315,043010,036476,176426,001016 OCT 050506,004075,037040,004510,077474,037202 OCT 010510,076474,043036,036066,071056,037076 OCT 106106,004075,037377,013002,017200,043010 OCT 036476,146016,021506,004075,037040,043010 OCT 036773,043010,036476,020106,004075,141454 OCT 001370,004510,123474,154021,044240,036006 OCT 014167,043036,036066,056307,130150,165474 OC‹þúT 033140,037376,030076,177466,057707,130150 OCT 165474,033142,143460,147770,030771,043000 OCT 036066,060337,014373,044310,036060,157430 OCT 175510,144074,003124,043000,036006,100167 OCT 003015,043000,036000,030013,024007,070776 OCT 146117,042504,044526,020105,051522,042526 OCT 047111,020106,047440,051505,047111,046040 OCT 046114,052506,020117,053524,146314,024461 OCT 030461,020075,020105,042117,041440,051117 OCT 051122,042450,020105,051125,046111,040506 OCT 020123,023501,041520,020131,040514,050123 OCT 044504,020105,046102,044523,051517,050040 OCT 026124,041505,051122,047503,047111,020123 OCT 044440,054501,046120,051511,042040,043111 OCT 106377,030070,027056,027041,027056,027056 OCT 030067,027056,027041,027056,027056,030066 OCT 027056,027041,027056,027056,030065,027056 OCT 027041,027056,027056,020040,020060,033440 OCT 047115,052514,047503,020117,052040,047505 OCT 042111,053040,042523,051105,053116,044440 OCT 042116,040440,046101,046522,047516,146314 OCT 177777,036144 * DEC -0 OCT -2 * TST06 EQU * ASC 18,120 CURSOR CONTROL TEST /06990 OCT 177777,000000,036143,044015,000000,033376 OCT 027377,037141,030076,176650,053567,043147 OCT 037106,070476,044166,036066,177056,177476 OCT 074460,037375,124106,063476,124127,043161 OCT 037110,104474,033376,027377,037221,030076 OCT 176506,063476,124167,043161,037110,116474 OCT 033376,027377,037342,030076,176466,061056 OCT 036076,001250,033141,174026,140066,060370 OCT 043060,037110,172074,010510,136474,033140 OCT 143404,000474,050100,162074,053504,134074 OCT 013300,174106,030076,044364,036021,044330 OCT 036066,060307,002377,070356,036127,042325 OCT 036106,042476,044307,036066,177056,177476 OCT 027460,037376,033142,027074,037003,124127 OCT 013377,033140,174106,030tþú076,044101,036421 OCT 044012,036466,060307,002001,036030,040061 OCT 036567,042005,036426,177770,043060,037110 OCT 040475,010510,022475,033140,143404,177560 OCT 035475,073504,021075,043105,037110,012075 OCT 003200,073406,052106,000074,003015,043000 OCT 036006,100167,000316,051117,051522,052503 OCT 020107,047111,045516,044514,041316,024530 OCT 024040,051117,051522,052503,020107,047111 OCT 045516,044514,041055,047117,047316,024531 OCT 024040,043516,044513,047111,046102,026516 OCT 047516,020122,047523,051125,041716,030070 OCT 027056,027041,027056,027056,030067,027056 OCT 027041,027056,027056,030066,027056,027041 OCT 027056,027056,030065,027056,027041,027056 OCT 027056,030064,027056,027041,027056,027056 OCT 030063,027056,027041,027056,027056,030062 OCT 027056,027051,054050,020116,040503,051440 OCT 051117,051522,052503,147064,031314,031462 OCT 146062,031314,030462,146060,031314,034461 OCT 146070,030714,033461,146066,030714,032461 OCT 146064,030714,031461,146062,030714,030461 OCT 146060,030714,034714,034314,033714,033314 OCT 032714,032314,031714,031314,024531,024040 OCT 047101,041523,020122,047523,051125,041506 OCT 017074,124066,056267,033141,064102,037370 OCT 043126,037250,003677,174007,033134,124277 OCT 033142,064120,037076,001066,061317,004771 OCT 003466,057650,137453,033143,143460,147770 OCT 030771,043000,036007,033145,027074,037000 OCT 030076,144007,043036,036066,056250,137550 OCT 102476,033145,037376,030076,177506,053076 OCT 033145,157430,175413,030337,014373,003777 OCT 177474,063400 * DEC -0 OCT -2 * TST07 EQU * ASC 18,130 DOT MATRIX TEST /07990 OCT 177777,000000,036140,044015,000310,033376 OCT 027377,037073,030076,176506,017074,033074 OCT 027075,037040,043253,036076,177406,055016 À/þúOCT 053026,074446,001506,127474,043253,036076 OCT 101106,127474,020510,101474,124127,003001 OCT 073506,136474,044227,036006,052106,000074 OCT 003015,043000,036006,100167,000060,005450 OCT 003436,050106,125474,174301,145327,014510 OCT 130474,003506,017074,033134,124277,064340 OCT 036066,061076,177060,037377,033137,124277 OCT 064340,036066,060307,030317,174061,174506 OCT 000074,033142,157430,175413,030337,014373 OCT 003440,177714,024461,031461,020075,020105 OCT 042117,041440,051117,051122,042450,020105 OCT 051125,046111,040506,020123,023501,041520 OCT 020131,040514,050123,044504,020105,046102 OCT 044523,051517,050040,026124,041505,051122 OCT 047503,047111,020105,051101,020123,051105 OCT 052103,040522,040510,041440,043111,177777 OCT 036144 * DEC -0 OCT -2 * TST08 EQU * ASC 18,140 CHARACTER SET /08990 OCT 177777,000000,036140,176477,002000,000110 OCT 006400,151056,036106,152474,043272,036076 OCT 146106,144074,033144,143404,020370,033142 OCT 147411,174510,064474,043272,036076,147066 OCT 177056,177476,102060,037375,003030,073506 OCT 012075,044225,036006,052106,000074,003015 OCT 043000,036006,100167,000066,057650,137453 OCT 033145,143460,147770,030771,043000,036007 OCT 033140,143460,167760,003706,012001,170003 OCT 024407,043301,036306,146466,060056,036370 OCT 030371,003466,061476,001106,175074,033143 OCT 147411,174510,154474,037002,043272,036076 OCT 101106,144074,043372,036066,061717,004771 OCT 044346,036007,043036,036066,062327,043272 OCT 036016,020372,010106,140474,004510,002475 OCT 037314,043310,036007,043036,036066,056250 OCT 137550,024075,033147,037376,030076,177506 OCT 124474,033147,157430,175413,030337,014373 OCT 003775,177714,146051,030464,030440,036440 OCT 042504,047503,020122,047522,05 tþú1105,024040 OCT 042522,052514,044501,043040,051447,040503 OCT 050040,054501,046120,051511,042040,042514 OCT 041111,051523,047520,020054,052103,042522 OCT 051117,041516,044440,042522,040440,051522 OCT 042524,041501,051101,044103,020106,044777 OCT 177474,064400 * DEC -0 OCT -2 * TST09 EQU * ASC 18,150 CALIBRATION PATTERNS /09990 OCT 177777,000000,036143,044015,000000,033140 OCT 037377,030076,177506,016475,013202,175106 OCT 052475,017120,043101,036466,061076,013104 OCT 105474,043035,036476,101106,052475,013314 OCT 017002,043101,036466,061317,004771,044203 OCT 036106,016475,037377,043072,036476,177506 OCT 022075,013105,043142,036506,022075,033140 OCT 037377,030076,177506,016475,017007,037314 OCT 043072,036431,044273,036076,146106,052475 OCT 033142,037010,013202,017026,043101,036426 OCT 100036,007506,040475,013212,017006,043101 OCT 036426,146036,007506,040475,033142,147411 OCT 174510,146474,043035,036476,147106,022075 OCT 013077,043142,036506,022075,003124,043000 OCT 036006,006506,000074,000066,057650,137453 OCT 033143,143460,147770,030771,043000,036007 OCT 033140,143460,167760,003466,062456,036076 OCT 000060,037260,003030,073506,073475,044060 OCT 036406,100167,003706,012001,170003,024407 OCT 043036,036106,016475,037040,043072,036431 OCT 044107,036772,043125,036407,043072,036706 OCT 146466,060056,036370,030371,003506,017074 OCT 017120,033377,027377,175061,014510,065475 OCT 037377,030476,177407,043036,036066,056250 OCT 137550,105475,033145,037376,030076,177506 OCT 006075,033145,157430,175413,030337,014373 OCT 003777,177474,063400 * DEC -0 OCT -2 * TST10 EQU * ASC 18,160 EXTENDED ENHANCEMENTS /10990 OCT 177777,000000,036140,100300,000110,006644 OCT 176657,176674,176713,176462,1776/¹þú46,176661 OCT 176676,176400,176000,176000,176000,176066 OCT 177056,177476,016460,037376,043036,036066 OCT 036456,037076,054106,051475,037377,013117 OCT 043123,036476,146016,043106,051475,141054 OCT 003720,174006,105170,126074,003202,043123 OCT 036770,156746,043036,036353,172011,044235 OCT 036302,026007,150074,047510,113074,043127 OCT 036466,036456,037076,030506,051475,037377 OCT 003132,007126,013171,043123,036770,156746 OCT 043036,036353,172036,050301,145327,043123 OCT 036770,014510,162474,036132,044330,036106 OCT 051475,037314,043036,036066,060307,002001 OCT 174066,107456,037370,033340,027076,174066 OCT 030456,037770,007000,150444,007550,030075 OCT 004012,040032,036730,140600,002163,170056 OCT 176302,100004,067370,141504,012075,141200 OCT 064105,036404,062066,146056,036770,030076 OCT 176106,053475,042372,036006,052106,000074 OCT 003200,073406,006506,000074,000060,005450 OCT 003650,053406,001567,033141,027074,037000 OCT 030076,130106,017074,033134,143660,064210 OCT 036466,060476,177060,037377,033137,143660 OCT 064210,036466,061707,030317,174061,174506 OCT 000074,033141,157430,175510,062475,030337 OCT 014373,044145,036406,100167,003566,176107 OCT 047111,045516,044514,041040,026170,176105 OCT 051522,042526,047111,020054,075374,042516 OCT 044514,051105,042116,052440,026174,176124 OCT 044107,044522,041055,043114,040510,036376 OCT 146314,024461,030062,020075,020105,042117 OCT 041440,051117,051122,042450,020105,051125 OCT 046111,040506,020101,041520,020124,047105 OCT 046505,041516,040510,047105,020131,040514 OCT 050123,044504,020105,046102,044523,051517 OCT 050040,026104,040502,020123,044440,054501 OCT 046120,051511,042040,043111,054377,146105 OCT 051522,042526,047111,020124,044107,044522 OCT 041040,046114,052506,0ÓB@<20104,047101,020106 OCT 046101,044377,177474,076400 * DEC -0 OCT -2 * ªéBÿÿþúTST11 EQU * ASC 18,200 ALTERNATE CHARACTER SETS /11990 OCT 177777,000000,036142,100000,001400,000110 OCT 006466,177056,177476,063060,037375,033116 OCT 027075,147410,174506,145474,033145,037000 OCT 030076,130106,025075,044203,036006,100167 OCT 033144,147411,174510,071074,003124,043000 OCT 036006,006506,000074,000066,057650,137453 OCT 033147,143460,147770,030771,043000,036007 OCT 033140,143460,167760,003706,012001,170003 OCT 024407,043267,036306,146466,060056,036370 OCT 030371,003466,060056,036076,176460,037077 OCT 030307,002020,174066,061337,043007,036436 OCT 101106,003475,043260,036076,146106,133474 OCT 037314,043276,036066,061707,002040,022177 OCT 174110,154474,043260,036076,147006,014167 OCT 027074,003506,017074,033143,153506,130074 OCT 007040,175506,133474,175020,043267,036076 OCT 020106,133474,004510,013075,037314,043276 OCT 036007,043036,036066,056250,137550,037075 OCT 033145,037376,030076,177506,117474,033145 OCT 157430,175413,030337,014373,003775,177714 OCT 146314,040040,052105,051440,051105,052103 OCT 040522,040510,041440,042524,040516,051105 OCT 052114,040777,177474,064400 * DEC -0 OCT -2 * TST12 EQU * ASC 18,000 KEYBOARD TEST /12001 OCT 177777,000000,036176,057400,043036,036066 OCT 032456,037476,154460,037375,030016,120076 OCT 020106,024075,004510,107474,043036,036066 OCT 177056,177476,156460,037375,043054,036510 OCT 122074,124127,003012,073466,077317,004371 OCT 170707,036377,064320,036340,043054,036550 OCT 136074,136112,161074,033177,143404,002770 OCT 053504,127474,003031,073466,154456,036476 OCT 146106,017074,043054,036504,154474,033177 OCT 157466,032456,037476,153060,037375,027077 OCT 003326,043001,036466,077737,027077,003206 OCT 152106,000475,003623,170100,003475,024436 Aþú OCT 001702,001002,150044,001444,003464,030370 OCT 143024,000760,142434,000350,141002,001002 OCT 150031,044017,036456,036007,030013,024007 OCT 043036,036036,006466,076707,071703,032020 OCT 041720,127510,042475,030431,050063,036650 OCT 003710,124221,120710,121307,044124,036651 OCT 174104,037075,130770,141402,001002,150301 OCT 005140,062075,010104,056075,141074,031413 OCT 003124,043000,036006,006506,000074,003200 OCT 073400,147105,052516,044524,047117,041440 OCT 047524,020122,040502,020105,041501,050123 OCT 020123,051505,051120,146331,176504,042524 OCT 041505,050130,042440,051105,041115,052516 OCT 020131,042513,020122,042526,047440,042105 OCT 052103,042524,042504,020122,042502,046525 OCT 047040,054505,045440,051501,020104,042531 OCT 040514,050123,044504,020123,051117,051122 OCT 042714,146333,176716,177777,036200 * DEC -0 OCT -2 * ASC 18,210 KEYBOARD TEST /12011 OCT 177777,000000,036140,000411,010431,020451 OCT 030471,040521,054541,064417,003777,000377 OCT 177777,177475,155222,176623,177326,177714 OCT 042503,040520,051440,020040,020134,020040 OCT 020040,057040,020040,020055,020040,020040 OCT 030040,020040,020071,020040,020040,034040 OCT 020040,020067,020040,020040,033040,020040 OCT 020065,020040,020040,032040,020040,020063 OCT 020040,020040,031040,020040,020061,020040 OCT 041523,042714,045503,040502,020040,020040 OCT 020040,020040,020040,020040,020040,020040 OCT 020040,020040,020040,020040,020040,020040 OCT 020040,020040,020040,020040,020040,020040 OCT 020040,020040,020040,020040,020040,020040 OCT 020040,020040,020040,020040,020040,020040 OCT 020040,020040,020040,146314,035123,054505 OCT 045440,043516,044527,047514,046117,043040 OCT 051523,042522,050314,146314,146314,146377 OCT 177777,17700"Çþú0 OCT -2 * ASC 18,210 KEYBOARD TEST /12021 OCT 177777,000000,036140,001012,011032,021052 OCT 031072,041112,051132,061152,177400,177777 OCT 177777,036732,111375,040376,153377,146137 OCT 020040,020040,055440,020040,020100,020040 OCT 020040,050040,020040,020117,020040,020040 OCT 044440,020040,020125,020040,020040,054440 OCT 020040,020124,020040,020040,051040,020040 OCT 020105,020040,020040,053440,020040,020121 OCT 020040,041101,052314,146072,051531,042513 OCT 020107,047111,053517,046114,047506,020123 OCT 051505,051120,146314,146314,146314,146377 OCT 177777,177000 OCT -2 * ASC 18,210 KEYBOARD TEST /12031 OCT 177777,000000,036137,000400,066144,056124 OCT 046104,036064,026044,016024,006377,000377 OCT 177777,177475,155222,176505,177326,177714 OCT 047122,052524,042522,020040,020040,056440 OCT 020040,020072,020040,020040,035440,020040 OCT 020114,020040,020040,045440,020040,020112 OCT 020040,020040,044040,020040,020107,020040 OCT 020040,043040,020040,020104,020040,020040 OCT 051440,020040,020101,020114,052116,041714 OCT 146072,051531,042513,020107,047111,053517 OCT 046114,047506,020123,051505,051120,146314 OCT 146314,146314,146377,177777,177000 OCT -2 * ASC 18,210 KEYBOARD TEST /12041 OCT 177777,000000,036140,001413,011433,021453 OCT 035503,045523,055404,177400,177777,177777 OCT 036732,111375,072776,153377,146124,043110 OCT 051440,020040,020057,020040,020040,027040 OCT 020040,020054,020040,020040,046440,020040 OCT 020116,020040,020040,041040,020040,020126 OCT 020040,020040,041440,020040,020130,020040 OCT 020040,055040,052106,044123,146124,044107 OCT 044522,020040,020040,020040,020040,020040 OCT 020040,020040,020040,020040,020040,020040 OCT 020040,020040,020040,020ªÂþú040,020040,020040 OCT 020040,020040,020040,020040,020040,020040 OCT 020040,020040,020124,043105,046314,146072 OCT 051531,042513,020107,047111,053517,046114 OCT 047506,020123,051505,051120,146314,146314 OCT 146314,177777,177776 OCT -2 * ASC 18,210 KEYBOARD TEST /12051 OCT 177777,000000,036140,052515,002415,012406 OCT 007026,057126,047377,000377,177777,177475 OCT 155222,176475,177326,177714,034440,020040 OCT 020070,020040,020040,033440,020040,020066 OCT 020040,020040,032440,020040,020064,020040 OCT 020040,031440,020040,020062,020040,020040 OCT 030440,020040,020056,020040,020040,030314 OCT 146055,042101,050040,041511,051105,046525 OCT 047314,146072,051531,042513,020107,047111 OCT 053517,046114,047506,020123,051505,051120 OCT 146314,146314,146377,177777,177000 OCT -2 * ASC 18,210 KEYBOARD TEST /12061 OCT 177777,000000,036140,043076,033036,023056 OCT 016445,026505,036465,177400,177777,177777 OCT 036732,111375,105376,153377,146105,043501 OCT 050040,053522,051101,020116,053517,042040 OCT 053522,051101,020127,051122,040440,053522 OCT 051101,020105,043501,050040,053522,051101 OCT 020040,020120,052440,054520,051504,020040 OCT 041101,052040,020102,040524,146126,042522 OCT 050040,047127,047504,020114,046117,051040 OCT 052110,043522,020105,046517,044040,052106 OCT 042514,020124,054105,047040,020040,050125 OCT 020114,046117,051040,020122,046103,020040 OCT 052105,051440,020122,046103,146314,026520 OCT 052517,051107,020114,047522,052116,047503 OCT 020131,040514,050123,044504,146314,035123 OCT 054505,045440,043516,044527,047514,046117 OCT 043040,051523,042522,050314,146314,146377 OCT 177777,177000 OCT -2 * ASC 18,210 KEYBOARD TEST /12071 OCT 177777,000000,036140,024070,04L˜þú0010,010030 OCT 020110,050130,060111,064377,000377,177777 OCT 177475,155034,177354,177222,176523,054505 OCT 045440,043114,020117,052125,040440,042116 OCT 040440,026113,041517,046040,051520,040503 OCT 020054,042504,047515,020113,041517,046102 OCT 020106,047440,051507,047111,052124,042523 OCT 020105,051117,052123,042522,101314,153377 OCT 146113,040505,051102,020122,052116,042440 OCT 020131,042513,020104,041505,051040,042101 OCT 042522,020040,054505,045440,020040,043114 OCT 020113,041517,046040,045503,047514,020105 OCT 052115,051040,042504,047515,020103,047125 OCT 043040,052123,042524,146104,046117,043440 OCT 020040,020040,020040,020040,020116,042505 OCT 051107,020117,052125,040440,020115,042515 OCT 020123,050101,041440,020040,020040,020113 OCT 041514,041040,054520,051504,020105,050101 OCT 052314,146072,051531,042513,020107,047111 OCT 053517,046114,047506,020123,051505,051120 OCT 146314,051531,042513,020106,046040,047524 OCT 052501,020104,047101,020054,045503,047514 OCT 020123,050101,041440,026105,052117,046505 OCT 051040,026105,042117,046440,045503,047514 OCT 041040,042523,040505,046105,051202,146314 OCT 146314,177777,177776 OCT -2 * ASC 18,210 KEYBOARD TEST /12991 OCT 177777,000000,036140,067547,057527,013437 OCT 023457,047507,033477,177400,177777,177777 OCT 036732,111375,071776,153377,146122,040510 OCT 041440,051101,044103,020105,047111,046040 OCT 042516,044514,020040,020070,043040,020040 OCT 033506,020040,020066,043040,020040,032506 OCT 020040,020064,043040,020040,031506,020040 OCT 020062,043040,020040,030506,146114,042504 OCT 020122,051516,044440,020114,042504,020122 OCT 051516,044440,020040,020040,020040,020040 OCT 020040,020040,020040,020040,020040,020040 OCT 020040,020040,020040,020040,­¬þú020040,020040 OCT 020040,020040,020040,020314,146072,051531 OCT 042513,020107,047111,053517,046114,047506 OCT 020123,051505,051120,146314,146314,146314 OCT 177777,177776 OCT -2 * TST13 EQU * ASC 18,220 KEYBOARD FREE INPUT /13991 OCT 177777,000000,036162,125375,000000,000000 OCT 000000,030464,000000,030521,055000,031065 OCT 056000,031127,054135,031466,000000,031505 OCT 041472,000000,000000,032122,053073,000000 OCT 000000,032524,041114,000000,000000,033131 OCT 020113,000000,000000,033525,047112,000000 OCT 000000,034111,046510,000000,000000,000060 OCT 026107,027071,000000,034520,027106,030070 OCT 000000,030100,027504,000067,000000,026533 OCT 000123,000000,000000,057137,000101,000000 OCT 000066,177056,177476,032060,037376,043036 OCT 036066,176456,037506,160075,037377,030476 OCT 125061,043340,036461,037375,033117,027077 OCT 037376,030476,135250,053506,113075,044017 OCT 036406,007567,003036,041426,004066,053456 OCT 037432,007040,060051,036416,054371,030421 OCT 044041,036506,113075,064030,036404,072760 OCT 124267,064113,036710,033162,143466,072227 OCT 170056,177771,042153,036466,071307,033164 OCT 113760,027377,017003,141002,001320,022003 OCT 022007,032060,174061,141002,001002,150031 OCT 044134,036466,072056,036307,002005,174127 OCT 036113,060030,036650,174127,033162,143460 OCT 157770,030773,033065,027076,174363,027377 OCT 043340,036424,050760,176504,014075,043036 OCT 036036,006466,066707,071703,032020,041720 OCT 127510,127475,030431,050235,036650,003710 OCT 124221,120710,121307,044276,036651,174104 OCT 124075,130770,141402,001002,150301,005140 OCT 147075,010104,143075,141074,031413,003124 OCT 043000,036006,006506,000074,003200,073400 OCT 007120,037040,030411,044342,036476,146061 OCT 037316,003527,1774åþú40,020040,052105,051440 OCT 043111,020130,146110,043506,042504,041502 OCT 040440,020040,020040,051105,050115,052512 OCT 146314,051507,047111,052124,042523,020122 OCT 042520,046525,045040,042503,040506,051105 OCT 052116,044440,042122,040517,041131,042513 OCT 101375,177714,146314,042514,041101,054501 OCT 046120,051511,042055,047117,047040,051511 OCT 020131,042513,020106,044440,042105,054501 OCT 046120,051511,042040,051105,041115,052516 OCT 020131,042513,146314,024505,052516,044524 OCT 047117,041440,047524,020122,040502,020105 OCT 041501,050123,020123,051505,051120,024314 OCT 046101,047111,046522,042524,020124,042523 OCT 042522,020124,050105,041530,042440,051531 OCT 042513,020131,047101,020123,051505,051120 OCT 146314,052125,050116,044440,042505,051106 OCT 101314,146377,177474,162400 * DEC -0 OCT -2 * TST14 EQU * ASC 18,230 KEYBOARD SWITCHES TEST /14991 OCT 177777,000000,036144,003000,000106,017074 OCT 033007,027077,013376,017266,007010,043234 OCT 036426,176436,143016,006506,116075,013375 OCT 017344,007034,043234,036466,177056,177476 OCT 064060,037376,043036,036006,003016,036506 OCT 077475,154106,043475,033141,143673,045040 OCT 036430,043211,036466,062317,004771,044235 OCT 036006,006016,017506,077475,017001,043374 OCT 036031,043374,036106,043475,033142,143436 OCT 001243,143552,020075,003022,007020,043177 OCT 036730,043107,036673,045040,036506,104475 OCT 043107,036430,135512,020075,003030,073466 OCT 133056,037076,146106,017074,043012,036504 OCT 171474,043107,036466,061307,135512,020075 OCT 043211,036407,124163,003026,041444,004053 OCT 003124,043000,036006,006506,000074,003200 OCT 073400,150066,062707,030227,033007,027077 OCT 037006,043221,036476,177456,177760,141004 OCT 030370,043225,036476,027506,11z‚þú2475,141404 OCT 030370,027074,003506,017074,033140,143563 OCT 003021,041710,127771,022020,064135,036641 OCT 044143,036506,005075,042107,036406,017503 OCT 005310,022007,033141,174301,005012,005310 OCT 022003,030370,140412,005012,022001,030370 OCT 003567,124066,062771,030370,174127,003466 OCT 063307,002005,174127,003460,005450,003706 OCT 012001,170003,024407,175506,110475,175106 OCT 110475,037040,004510,120475,043221,036407 OCT 010377,146114,046125,043040,043114,040510 OCT 146314,026530,042514,050125,042202,146314 OCT 146037,177714,042516,047516,020040,042104 OCT 047440,047105,053105,146314,026531,052111 OCT 051101,050202,146314,146075,177714,030060 OCT 032062,020060,030062,030440,020060,030063 OCT 020040,030065,030440,020060,030461,020040 OCT 052130,042714,146055,042524,040522,020104 OCT 052501,041202,146314,024507,047111,052124 OCT 042523,020107,047111,045501,046440,051105 OCT 052106,040440,054505,045440,047122,052524 OCT 042522,020123,051505,051120,024314,051516 OCT 047511,052111,051517,050040,043516,044527 OCT 047514,046117,043040,047524,020123,042510 OCT 041524,044527,051440,042105,044506,044503 OCT 042520,051440,052105,051716,042525,047111 OCT 052116,047503,020117,052040,051101,041040 OCT 042503,040520,051440,051523,042522,050314 OCT 146123,047117,044524,044523,047520,020114 OCT 040516,044507,044522,047440,047524,020123 OCT 043516,044524,052105,051440,044103,052111 OCT 053523,020105,051117,052123,042522,101314 OCT 147104,042524,041505,050130,042440,051105 OCT 041115,052516,020131,041040,042105,053517 OCT 046114,047506,020104,042524,041505,052105 OCT 042040,051105,041115,052516,020116,047511 OCT 052111,051517,050040,044103,052111,053523 OCT 020123,040440,042105,052101,041511,042116 OCT 044440,051522,047522œçþú,051105,146377,177474 OCT 063400 * DEC -0 OCT -2 * TST15 EQU * ASC 18,240 KEYBOARD LIGHTS TEST /15991 OCT 177777,000000,036157,000400,000000,000000 OCT 100100,000000,100000,000000,000440,000000 OCT 000400,000000,002010,000000,002000,000000 OCT 000000,000000,040000,000000,000000,000000 OCT 020000,000000,000000,000000,004000,000000 OCT 000000,000000,010000,000000,000000,000000 OCT 001000,000000,000000,000000,000000,000000 OCT 000000,000000,000000,000000,000002,000000 OCT 000000,000000,000020,000066,177056,177476 OCT 072060,037376,003030,073506,007075,033135 OCT 176550,156074,036113,044361,036066,060076 OCT 177504,156074,036140,040334,036004,070360 OCT 124267,064334,036066,060317,004371,033141 OCT 044011,036667,174123,042334,036106,017074 OCT 017015,033157,143563,141464,010103,150257 OCT 044047,036461,014520,012475,124007,144250 OCT 110641,144242,143510,033075,124770,042040 OCT 036661,174303,001002,001320,140412,060106 OCT 036420,042076,036702,036063,005406,052106 OCT 000074,003015,043000,036006,100167,000316 OCT 042525,047111,052116,047503,020117,052040 OCT 051101,041040,042503,040520,051440,051523 OCT 042522,050314,146123,047117,044524,040516 OCT 044502,046517,041440,051117,043040,051524 OCT 044507,044504,020116,042505,053524,042502 OCT 020101,046515,047503,020123,051505,051120 OCT 146314,051105,052103,040522,040510,041440 OCT 052122,042523,047111,020040,034314,052111 OCT 042105,020040,033714,052111,046523,047101 OCT 051124,020040,033314,054505,045440,042114 OCT 047507,020040,032714,042122,047503,042522 OCT 020040,032314,045503,047514,020131,051117 OCT 046505,046440,020063,146123,047117,044524 OCT 041516,052506,020131,040514,050123,044504 OCT 020040,031314,046114,042502,020105,044124 OCT ¬ˆ<:6020104,047125,047523,020040,030714,146072 OCT 046114,042502,020105,044124,020104,047125 OCT 047523,020122,047440,051524,044107,044514 OCT 020107,047111,042116,047520,051505,051122 OCT 047503,020116,047440,047122,052524,020117 OCT 052040,051531,042513,020107,047111,053517 OCT 046114,047506,020123,051505,051120,146314 OCT 052123,042524,020123,052110,043511,046040 OCT 042122,040517,041131,042513,177777,036320 * DEC -0 OCT -2 * TSTB EQU * OCT 0 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 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 OCT 0 OCT 0 OCT 0 TSTEN OCT -1 TERMINATOR FOR TEST TABLE * ERRBF BSS 80 ERROR MESSAGE BUFFER INBFR EQU * INPUT BUFFER FWAA EQU * FIRST WORD OF AVAILABLE MEMORY END »$<ÿÿ ÿý'=e ÿ02644-18002 1542 S 0442 2644 STANDALONE DIAGNOSTICFOR 2100,21MX (CTU ONLY)             H0104 ;&þúASMB,A,B,C,L 2644A DIAG (CTU TESTS ONLY) 10/7/75 HED GENERAL OPERATING PROCEDURE ORG 0 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 107074. * 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 * (SUPPRESS ALL OPERATOR INTERVENTION) * 11 = SUPRESS ERROR MESSAGES * 10 = SUPRESS NON-ERROR MESSAGES * 9 = GO TO USER CONTROL SECTION * AT END OF PRESENT SUBTEST * 8= SUPPRESS OPERATOR INTERVENTION TESTS * 7 * = DIAGNOSTIC OPTIONS * 0 * NOTE: STANDARD RUN SHOULD BE WITH SW. REG. = 0 * USER CONTROL WILL ASK FOR A 32 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 * * 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 * * CONTROL PROGRAM HALT MESSAGES * * 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 RESERVED * 102071 RESERVED * 102070 RESERVED * * 106077 TRAP CELL HALT * * * HED PROGRAM ORGAÇqþúNIZATION CHART * ******************************************* * * CONFIGURATOR 100B * * * LINKAGE TABLE * * ******************************************* * * EXECUTIVE 130B * * * LINKAGE * * ******************************************* * * CONSTANTS 150B * * * AND * * * STORAGE * * ******************************************* * * 2000B * * * EXECUTIVE CONTROL * * * ZCEND * * ******************************************* * * * * * * * * * * * * * * * * * MAIN DIAGNOSTICS (1-31) * * * * * * * * * * * * * * * * * ******************************************* HED 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 * * 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 DSNL BSS 1 DIAGNOSTIC SERIAL NUMBER FMTR BSS 1 FORMATTER * * * CONTROL LINKAGE AND DATA REFERENCES * CFIG DEF ZCONF CONFIGURATION SECTION MSGC DEF ZMSGC MESSAGE WITH NO HALT MSGH DEF ZMSGH MESSAGE WITH HALT ERMS DEF ZERMS ERROR MESSAGE SWRT DEF ZSWRT SWITCH REGISTER CHECK ROUTINE TSTN OCT 0 CURRENT TEST NUMBER EXRT DEF ZEXRT RETURN TO CONTROL PROGRAM NOP RESERVED HED EXECUTIVE CONTROL ORG 2000B ZSTEX CLC INTP,C TURN I/O SYSTEM OFF JSB MSGC,I DO CRLF DEF ZRTLF LDA HDMP GET INTRODUCTORY MESSAGE STA *+2 JSB MSGC,I OUT PUT IT NOP CLA CLEAR PASS STA ZEOLC COUNT LDB SW9 CHECK FOR USER SELECTION REQ JSB SWRT,I JMP ZUSR IT'S USERS CHOICE ZNUSR LDA STDA GET STANDARD TEST RUN LDB STDB * JMP ZEXC * ZUSR LDA ZSINA RETRIEVE PREVIOUS RUN LDB ZSINB HLT 75B WAIT FOR USER INPUT ZEXC STA ZUINA SAVE STB ZUINB USER STA ZSINA INPUT STB ZSINB PROGRAM LDB SW9 CHECK IF SW9 IS DOWN JSB SWRT,I JMP ZUSR NO GO AND WAIT CCA SET TEST NUMBER STA TSTN =-1 CLA STA ZTSTA CLEAR TEST RUN FLAG SKP ZEXCL LDA ZUINA §°þú RESTORE A REG. LDB ZUINB RESTORE B REG. ERA,RAL ROTATE ERB FIRST ERA TEST BIT STA ZUINA SAVE POSITIONS STB ZUINB ISZ TSTN MOVE TEST UP ONE NOP ZXCL1 LDA TSTN ADA .TSTB GET THE MICRO-CODE ADDRESS LDA A,I CPA M1 IS IT END OF LIST JMP ZEOL YES LDB ZUINB SSB,RSS SHOULD IT BE RUN? JMP ZEXCL NO SZA,RSS DOES TEST EXIST? JMP ZEXCL NO - BYPASS THE TEST STA ZTSTA YES - SAVE TEST ADDRESS JSB ZITCH INITIALIZE TRAP CELL HALTS JSB EXEC GO DO THE TEST ZEXRT LDA TSTN DISPLAY TEST NUMBER IF HALTED LDB ZSW15 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 ZUSR YES LDB ZSW13 CHECK FOR LOOP ON ROUTINE JSB SWRT,I JMP ZXCL1 YES - LOOP JMP ZEXCL CONTINUE * ZEOL LDA ZTSTA CHECK IF ANY TESTS WERE RUN SZA,RSS ? JMP ZNUSR NO SO PICK UP STANDARD RUN LDA ZEOLC UP DATE PASS COUNT INA STA ZEOLC CCE LDB ZPSCA GET PASS COUNT ADB D2 ADDRESS JSB I2AS,I CONVERT IT JSB MSGC,I CALL PRINT ROUTINE ZPSCA DEF ZPSC LDB ZSW12 CHECK FOR LOOP ON DIAG. JSB SWRT,I JMP *+3 YES LDA ZEOLC HLT 77B NO WAIT AND DISPLAY PASS COUNT LDA ZSINA RESTORE ORIGINAL LDB ZSINB PROGRAM JMP ZEXC DO IT ALL AGAIN * SKP * MESSAGE OUTPUT WITH OUT HALT * ZMSGC NOP ENTRY JSB ZMSG OUTPUT MESSAGE OCT 2000 SWITCH 10 CHECK JMP ZMSGC,I RETURN TO CALLER * * MESSAGE OUTPUT WITH HALT * ZMSGH NOP ENTRY JSB ZMSG OUTPUT MESSAGE OCT 2000 SWITCH 10 CHEC¿ZþúK LDA ZHLT GET HALT CODE STA *+2 PUT IT IN PLACE LDA ZSAVA RESTORE A REGISTER NOP HALT FOR DISPLAY JMP ZMSGH,I RETURN TO CALLER * * ERROR MESSAGE WITH HALT * ZERMS NOP ENTRY JSB ZMSG 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 ZSAVA RESTORE A & B LDB ZSAVB ZHLT NOP WAIT FOR OPERATOR JMP ZERMS,I RETURN TO CALLER SKP * OUTPUT MESSAGE * ZMSG NOP STA ZSAVA SAVE A AND B REGISTERS STB ZSAVB LDB ZMSG,I GET SWITCH REGISTER BIT LDA ZMSG ADA M2 DECREMENT RETURN ADDRESS STA ZMSG JSB SWRT,I CHECK TO SUPPRESS MESSAGE JMP ZMSG0 YES LDA ZMSG,I CHECK IF ERROR LDA A,I LDA A,I IF SO ALF,ALF AND .177 CPA LETRE JSB ZCFTN CHECK TO OUTPUT TEST NUMBER LDA ZMSG,I NO RETRIEVE FORMAT LDB A,I ADDRESS CLA,CLE JSB FMTR,I ZMSG0 LDA ZMSG,I CONVERT HALT CODE LDB A,I FROM ASCII STRING CCA,CCE JSB AS2N,I STA ZN2AO SAVE RESULT AND Z.300 DECODE LDB ZH2 HALT CODE CPA .100 LDB ZH6 CPA .200 LDB ZH3 CPA Z.300 LDB ZH7 LDA ZN2AO GET HALT NUMBER AND .77 IOR B STA ZHLT SAVE IT ISZ ZMSG,I ADJUST RETURN POINTERS ISZ ZMSG ISZ ZMSG ISZ ZMSG LDA ZSAVA RESTORE A AND B REGISTERS LDB ZSAVB JMP ZMSG,I SKP ZCFTN NOP LDA TSTN GET TEST NUMBER CPA ZCFTT IS IT THE SAME ONE? JMP ZCFTN,I YES SKIP OUTPUT STA ZCFTT NO - THEN UPDATE IT JSB ZN2AO CONVERT IT STA ZTSTN PUT IT IN STRING<¢þú CLA DO A CRLF JSB SLOP,I CLA,CLE INDICATE START OF FORMAT LDB ZTSTF JSB FMTR,I JMP ZCFTN,I RETURN * * * * ZSAVA NOP ZSAVB NOP ZEOLC NOP ZTSTA NOP ZSINA NOP ZSINB NOP ZUINA NOP ZUINB NOP ZIOM OCT 177700 ZSW15 OCT 100000 ZSW13 OCT 20000 ZSW12 OCT 10000 Z.300 OCT 300 ZH2 OCT 102000 ZH6 OCT 106000 ZH3 OCT 103000 ZH7 OCT 107000 ZCFTT DEC -1 ZTSTF DEF *+1 ASC 3,TEST ZTSTN ASC 2,XX// ZRTLF ASC 1,// ZPSC ASC 6,PASS XXXXXX/ HED GENERAL ROUTINES * * ZN2AO NOP LDB CNVB1 CONVERT TO INTEGER CLE JSB I2AS,I LDA CNVB3 FETCH LAST 2 DIGITS JMP ZN2AO,I RETURN * * * * SWITCH REGISTER CHECK * ZSWRT NOP STA ZN2AO SAVE A REGISTER LIA SW GET SWITCH REG. AND B MASK OUT BIT SZA,RSS IS IT UP? ISZ ZSWRT NO LDA ZN2AO RESTORE A REGISTER LIB SW LET B = SWITCH REGISTER JMP ZSWRT,I RETURN TO CALLER * * * * INITIALIZE TRAP CELL HALTS * ZITCH NOP LDA ZTSH GET STARTING TRAP CELL HALT LDB D2 GET FIRST TRAP CELL LOCATION ZTSHL STA B,I PUT IT IN PLACE CPB .77 AM I FINISHED JMP ZITCH,I YES INB NEXT ADDRESS JMP ZTSHL * ZTSH OCT 106077 * * * SKP * PUT JSB INSTRUCTION IN TRAP CELL * ZTCJI NOP LDB ZJSBI GET INSTRUCTION STB ZIOSC,I PUT IT IN TRAP CELL LDA ZTCJI,I GET LOCATION STA 3B SAVE IT FOR JSB INSTRUCTION ISZ ZTCJI ADJUST RETURN JMP ZTCJI,I RETURN TO CALLER * ZJSBI JSB 3B,I JSB INSTRUCTION * * * INITIALIZE SELECT CODE I/O INSTRUCTIONS * ZISC NOP STA ZIOSC SAVE SELECT CODE STB ZIOAD SAVE TABLE ADDRESS ZIOL LDB ZIOAD,I GET ADDRESS OF LOCATION CPB M1 IS IT THE TERMINATOR JMP ZI!ÅþúSC,I YES RETURN TO CALLER LDA B,I NO - GET CONTENTS AND ZIOM MASK OFF OLD SELECT CODE IOR ZIOSC ADD IN NEW SELECT CODE STA B,I RESTORE IT ISZ ZIOAD MOVE TO NEXT ADDRESS JMP ZIOL DO IT * ZIOSC NOP ZIOAD NOP * * * * SKP * CONFIGURATION SECTION * ZCONF CLC INTP,C TURN I/O SYSTEM OFF LIA SW GET SELECT CODE AND OPTIONS STA USSC SAVE THEM AND .77 ELIMINATE OPTIONS LDB A CMB,INB CHECK THAT SC > 7 ADB .7 SSB ? JMP *+3 OK GO ON HLT 73B NO JMP ZCONF TRY AGAIN LDB IOIP INITIALIZE TEST I/O JSB ZISC INSTRUCTIONS ZCOS1 CLF VT CLEAR FLAG ON INTERFACE ZCOS2 SFC VT FLAG STILL SET? JMP E071 YES - BOARD IS 12587, INVALID LDA RESET OUTPUT MASTER RESET ZCOS3 OTA VT CONTROL WORD FOR 12966 ZCOS4 SFC VT FLAG SET? JMP ZCOL2 YES - BOARD IS 12966/68 TYPE ZCOS5 LIA VT NO - FETCH BYTE FROM INTERFACE CPA .77 IS IT 77 OCTAL? JMP ZCOL1 YES, INTERFACE IS 12531/880 * E071 HLT 71B INVALID INTERFACE TYPE OR CAN'T JMP ZCONF DETECT BAUD RATE * * SET UP FOR 12531/880 INTERFACE * ZCOL1 LDA .IN53 SET INPUT ROUTINE LINKS STA VT2A LDA .NX53 STA NXV2A LDA .OP53 SET OUTPUT ROUTINE LINKS STA A2VT LDA .M531 FETCH POINTER TO 12531 MESSAGE JMP ZCOL6 GO SET UP INTRODUCTORY MESSAGE * * SET UP FOR 12966/68 INTERFACE * ZCOL2 LDA .IN96 SET INPUT ROUTINE LINKS STA VT2A LDA .NX96 STA NXV2A LDA .OP96 SET OUTPUT ROUTINE LINKS STA A2VT LDA M16 INITIALIZE FOR BAUD RATE STA STNUM DETECTION LDA CW4IN STA INCMD LDA CW4OP STA OPCMD * * DETERMINE BAUD RATE FOR 1296Ñþú6/68 INTERFACE * ZCOL3 JSB ENQRT CHECK FOR AFTER RSS VALID RESPONSE? JMP ZCOL5 YES - CHECK FOR VALID BAUD RATE ZCOL4 ISZ INCMD NO - TRY NEXT BAUD RATE ISZ OPCMD ISZ STNUM ALL BAUD RATES DONE? JMP ZCOL3 NO - TRY AGAIN JMP E071 YES - ERROR, HALT 71 * ZCOL5 LDA STNUM FETCH POINTER TO ADA TB966 BAUD RATE TABLE LDA A,I SSA VALID BAUD RATE FOUND? JMP ZCOL4 NO - TRY NEXT BAUD RATE LDB .HDA2 YES - TRANSFER BAUD JSB XFR RATE VALUE HEADING DEC -4 LDA .M966 FETCH POINTER TO 12966/68 TITLE * * SET UP INTRODUCTORY MESSAGE * ZCOL6 LDB .HDA1 JSB XFR DEC -10 HLT 74B LET OPERATOR CHANGE SWITCH REG JMP ZSTEX GO TO CONTROL ROUTINE * * MESSAGES FOR HEADER * .M531 DEF *+*+2 12531/880 INTERFACE HEADER ASC 5,531D-880A/ * .M966 DEF *+*+2 ASC 2,966A OCT 54,0,0 PAD FOR LATER "-968A," * * BAUD RATE HEADER TABLE * DEF M96.0+M96.0 EXT OCT -1 50 - INVALID OCT -1 75 - INVALID DEF M96.3+M96.3 110 OCT -1 134.5 - INVALID DEF M96.5+M96.5 150 DEF M96.6+M96.6 300 OCT -1 600 - INVALID OCT -1 900 - INVALID DEF M96.9+M96.9 1200 OCT -1 1800 - INVALID DEF M96.B+M96.B 2400 OCT -1 3600 - INVALID OCT -1 4800 - INVALID OCT -1 7200 - INVALID OCT -1 9600 - INVALID TB966 DEF * * M96.0 ASC 2,EXT M96.3 ASC 2,110 M96.5 ASC 2,150 M96.6 ASC 2,300 M96.9 ASC 2,1200 M96.B ASC 2,2400 * ZCEND EQU * HED HP 2644A DIAG (CTU ONLY) - 02644-16002 * * BASE PAGE DATA FOR TEST CONTROL PROGRAM * SLOSC EQU 112B SLOW OUTPUT SELECT CODE ORG 126B DSN OCT 104013 DIAGNOSTIC SERIAL 4ßþúNUMBER ORG 140B IOIP DEF IODP POINTER TO I/O INSTRUCTION TABLE HDMP DEF HDMS POINTER TO HEADER MESSAGE STDA OCT 177777 STANDARD RUN - STDB OCT 000007 TESTS 1 THRU 18 ORG 150B * * BASE PAGE CONSTANTS AND ROUTINES * M110 DEC -110 M80 DEC -80 M16 DEC -16 M2 DEC -2 M1 DEC -1 D2 DEC 2 D3 DEC 3 D16 DEC 16 D17 DEC 17 D19 DEC 19 D20 DEC 20 .377 OCT 377 .200 OCT 200 .177 OCT 177 .100 OCT 100 .77 OCT 77 .60 OCT 60 ASCII ZERO (0) .40 OCT 40 ASCII BLANK .7 OCT 7 DELAY DEC 5000 COUNT FOR 5 SECONDS SW1 EQU D2 BIT 1 MASK SW2 OCT 4 BIT 2 MASK SW3 OCT 10 BIT 3 MASK SW4 EQU D16 BIT 4 MASK SW5 EQU .40 BIT 5 MASK SW9 OCT 1000 BIT 9 MASK SW14 OCT 40000 BIT 14 MASK NOPSW OCT 10400 BITS 8 AND 12 - NO OPERATOR MASK OPTBT OCT 174000 OPTION BITS AUTLF EQU SW2 -SET BIT BFMTY EQU .200 BUFFER EMPTY STATUS BIT LDCHK EQU SW2 LOADER CHECKSUM VERIFY BIT OCMD OCT 120000 OUTPUT COMMAND CMD14 OCT 140000 INPUT COMMAND VT EQU 10B DUMMY SELECT CODE FOR TERMINAL ACK OCT 6 CR OCT 15 ENQ OCT 5 STWRD OCT 15534 -<\> - STATUS RESPONSE X.ON EQU D17 NMSYM OCT 43 <#> SLANT OCT 57 CAP.A OCT 101 LETRD OCT 104 LETRE OCT 105 LETRH OCT 110 LETRT OCT 124 RBRKT OCT 135 <]> REVSL OCT 134 <\> SML.A OCT 141 MSFLG OCT 0 NON-ERROR MESSAGE PRINTED FLAG MSPFL OCT 0 MESSAGE PENDING FLAG WTFLG OCT 0 WAIT FLAG WTLIM OCT 0 A00 ASC 1,00 COMMON CODE BLOCK FLAG A99 ASC 1,99 LAST SUBTEST FLAG NUMIN DEC 0 NUMBER OF INPUT CHARACTERS OUTCT DEC -80 OUTPUT COUNTER CHKSM OCT 0 LOADER CHECKSUM DCRTA DEF DCRTN+DCRTN D þúATACOM DRIVERS STBY3 DEF INBFR+2 LOCATION OF STATUS BYTE 3 STBY5 DEF INBFR+3 LOCATION OF STATUS BYTE 5 BUFAD DEF INBFR+INBFR INPUT BUFFER .INBF DEF INBFR BUFLN DEC 80 INPUT BUFFER LENGTH .TSTB DEF TSTB POINTER TO TEST TABLE ERRNM OCT 0 ERROR NUMBER STNUM DEC 0 SUBTEST NUMBER * CNVB1 DEF *+1 CONVERSION BUFFER ASC 1,00 CNVBA ASC 1,00 CNVB3 ASC 1,00 CNVB2 DEF CNVBA+CNVBA+1 SKP * * * * * DSPMS - DISPLAY NON-ERROR MESSAGE * * CALLING SEQUENCE: * * JSB DSPMS * DEF * * * SETS THE "MSFLG" * DSPMS NOP CCA SET THE "NON-ERROR MESSAGE" STA MSFLG FLAG LDA DSPMS,I TRANSFER MESSAGE ADDRESS TO STA DSPW1 DISPLAY MESSAGE CALL ISZ DSPMS INCREMENT THE RETURN JSB MSGC,I DISPLAY THE MESSAGE DSPW1 DEF * JMP DSPMS,I RETURN * * * * * * ERREX - REPORT ERROR * * CALLING SEQUENCE: * * JSB ERREX * DEF * * RETURNS TO SUBTEST EXECUTE ROUTINE TO DO NEXT SUBTEST * ERREX NOP LDA ERREX,I PUT POINTER TO ERROR MESSAGE STA ERRW1 INTO ERROR CALL LDA STNUM SET A TO SUBTEST NUMBER LDB .INBF SET B TO INPUT BUFFER ADDRESS JSB ERMS,I REPORT ERROR ERRW1 DEF * CLA CLEAR MESSAGE PENDING FLAG STA MSPFL JMP NEXT GO DO NEXT SUBTEST SKP * * * * * XFR - TRANSFER STRING * * CALLING SEQUENCE: * * LDA * LDB * JSB XFR * DEC - * * * POINTERS POINT TO LEFT END OF STRING * * RETURNS WITH UPDATED POINTERS IN A- AND * B-REGISTERS * žiB@< * * * A-REGISTER CONTAINS THE NEXT DATA BYTE * B-REGISTER CONTAINS THE DATA SOURCE WORD * * THE POINTER IS INCREMENTED ON EACH CALL * NXCHR NOP LDA NXCHR,I FETCH PATTERN POINTER ISZ NXCHR,I INCREMENT POINTER ISZ NXCHR INCREMENT RETURN ADDRESS CLE,ERA SHIFT OUT UPPER/LOWER FLAG LDA A,I FETCH WORD STA B PUT WORD IN B-REGISTER SEZ,RSS UPPER CHARACTER? ALF,ALF YES - ROTATE DOWN AND .377 MASK OUT UPPER BITS JMP NXCHR,I RETURN TO CALLING ROUTINE * * * * * * A2BUF - ADD CHAR IN A-REG TO A BUFFER * * CALLING SEQUENCE: * * LDA * JSB A2BUF * DEF * * A2BUF NOP STA A2BCH SAVE THE CHARACTER LDB A2BUF,I FETCH THE BUFFER ADDRESS ISZ A2BUF,I INCREMENT THE BUFFER POINTER SLB,INB ADJUST ADDRESS TO FETCH THE ADB M2 OPPOSITE CHARACTER STB A2BW1 BRS Ù¸þú SHIFT OUT UPPER/LOWER FLAG STB A2BPT SAVE THE CURRENT ADDRESS JSB NXCHR FETCH THE OPPOSITE CHARACTER A2BW1 DEF * ALF,ALF ROTATE IT UP IOR A2BCH MERGE IN THE INPUT CHARACTER SEZ NEW CHARACTER TO UPPER BYTE? ALF,ALF YES - ROTATE THE WORD STA A2BPT,I RESTORE THE BUFFER WORD ISZ A2BUF INCREMENT THE RETURN ADDRESS JMP A2BUF,I RETURN * A2BCH OCT 0 INPUT CHARACTER A2BPT DEF * CURRENT BUFFER WORD ADDRESS SKP * * * * * OPMCD - OUTPUT MICRO-CODE * * CALLING SEQUENCE: * * JSB OPMCD * DEF
* * OPMCD NOP LDA OPMCD,I FETCH POINTER TO OUTPUT ISZ OPMCD STRING CLE,ELA PUT INTO FETCH CALL STA OPMW1 CLA CLEAR LEADING ZERO FLAG STA OPMW2 * OPML1 JSB NXCHR FETCH OUTPUT CHARACTER OPMW1 DEF * SSB IS IT THE TERMINATOR? JMP OPMCD,I YES - RETURN LDB OPMW2 NO - FETCH LEADING ZERO FLAG SZB LEADING ZEROES DONE? JMP OPML2 YES - OUTPUT THE CHAR CPA .60 NO - IS IT A ZERO? JMP OPML1 YES - SKIP IT STA OPMW2 NO - SET THE FLAG * OPML2 ISZ OUTCT BUFFER BLOCK COMPLETED? JMP OPML3 NO - TRANSMIT THE CHARACTER JSB ENQRT YES - POLL THE TERMINAL JMP E034 NO RESPONSE - REPORT ERROR * OPML3 JSB A2VT,I OUTPUT THE CHARACTER JMP OPML1 DO THE NEXT CHARACTER * OPMW2 OCT 0 LEADING ZERO FLAG * * * * * * ENQRT - POLL THE TERMINAL * * CALLING SEQUENCE: * * JSB ENQ * * * * A-REGISTER RESTORED TO ENTRY VALUE ON NORMAL EXIT * ENQRT NOP STA A2BCH SAVE THE A-REGISTER LDA M80 RESET THE COUNTER STA OUTCT LDA ENQ SEND JSB A2VT,I CCA péþú SET FOR LIMITED WAIT ON STA WTFLG INPUT JSB VT2A,I WAIT FOR RESPONSE JMP ENQRT,I IF TIMEOUT - FAIL RETURN CPA ACK IS INPUT ? RSS YES - NORMAL RETURN JMP ENQRT,I NO - FAIL RETURN LDA A2BCH RECALL THE CHARACTER ISZ ENQRT INCREMENT THE ROUTINE JMP ENQRT,I RETURN * E034 JSB ERREX NOT ACKNOWLEDGED PROPERLY DEF MS034 * * * * * * VT2BF - READ DATA FROM TERMINAL INTO A BUFFER * * CALLING SEQUENCE: * * LDA * LDB - * JSB VT2BF * * * * ON RETURN, THE A-REGISTER IS SET TO 0 IF A BUFFER * OVERFLOW OCCURRED, -1, OTHERWISE. * VT2BF NOP LDA BUFAD INITIALIZE BUFFER POINTER STA INBUF AND BUFFER COUNTER LDA BUFLN STA INCTR CLA CLEAR INPUT COUNTER STA NUMIN LDA X.ON SEND X-ON TO INDICATE READY FOR JSB A2VT,I INPUT CLE INITIALIZE UPPER/LOWER FLAG JSB VT2A,I GO FETCH FIRST CHARACTER JMP E031 TIME OUT - REPORT ERROR JMP VT2S4 GO GET REMAINING INPUT * VT2LP JSB NXV2A,I GO GET NEXT CHARACTER JMP E031 TIME OUT - REPORT ERROR VT2S4 STC VT,C SET FOR NEXT CHARACTER AND .177 MASK OUT PARITY BIT JSB A2BUF PUT THE CHAR INTO THE BUFFER INBUF DEF * POINTER TO INPUT BUFFER LDA A2BCH FETCH THE INPUT CHARACTER CPA CR IS CHARACTER A ? JMP VT2X1 YES - EXIT (LINE MODE ONLY) ISZ NUMIN INCREMENT INPUT COUNTER ISZ INCTR NO - BUFFER FILLED? JMP VT2LP NO - GO GET NEXT CHARACTER CLA,RSS YES - SET A-REG FOR FULL BUFFER VT2X1 CCA SET A-REG FOR SHORT RECORD LDB NUMIN SZB,RSS NULL INPUT? JMP NEXT YES - GO DO NEXT SB5þúUBTEST ISZ VT2BF INCREMENT RETURN ADDRESS VT2S5 CLC VT,C TURN OFF INTERFACE PCA JMP VT2BF,I NORMAL RETURN * INCTR DEC 0 LENGTH OF INPUT BUFFER * * INPUT TIME OUT * E031 CLC VT,C TURN OFF THE INTERFACE LDA WTFLG SZA,RSS TIME OUT AFTER INPUT STARTED? JMP VT2BF,I NO - RETURN IMMEDIATELY JSB ERREX YES - PRINT ERROR MESSAGE DEF MS031 * * * * * * FLAG WAIT ROUTINE * * CALLING SEQUENCE: * * JSB FLGWT * * * FLGWT NOP LDA M110 STA WTLIM CLA CLEAR TIME OUT COUNT FLGLP SFC VT JMP FLGEX FLAG SET - NORMAL RETURN INA,SZA TIMEOUT? JMP FLGLP NO - CONTINUE WAIT ISZ WTLIM JMP FLGLP FLGS2 CLC VT,C YES - TURN OFF INTERFACE JMP FLGWT,I RETURN FAIL FLGEX ISZ FLGWT NORMAL RETURN JMP FLGWT,I SKP * * * * * IN531 - INPUT A CHARACTER FROM 12531/12880 INTERFACES * * CALLING SEQUENCE: * * JSB IN531 * * * IN531 NOP LDA CMD14 SET INTERFACE FOR INPUT IN5S1 OTA VT IN5S2 STC VT,C INITIATE INPUT ISZ WTFLG WAIT FLAG SET? JMP IN5S3 NO - WAIT INDEFINITELY JSB NX531 YES - LIMIT WAIT TIME JMP IN531,I TIME OUT - RETURN IMMEDIATELY JMP IN5L1 * IN5S3 SFS VT FLAG SET? JMP IN5S3 NO - CONTINUE WAIT IN5S4 LIA VT YES - FETCH CHARACTER * IN5L1 AND .177 MASK OUT EXCESS BITS ISZ IN531 INCREMENT RETRURN JMP IN531,I RETURN SUCCESSFUL * .IN53 DEF IN531 POINTER TO INPUT ROUTINE RESET OCT 150077 RESET AND CLEAR FOR 12966 SETIN OCT 10040 INTERRUPT ENABLE CONTROL SETCH OCT 30003 CHARACTER FRAME CONTROL CLEAR OCT 50077 CLEAR FOR 12966 INCMD OCT 40000 INPUT INTERFACE CONTROL WORD OPCMD OCT 407Ýþú400 OUTPUT INTERFACE CONTROL WORD CW4IN OCT 40100 CONTROL WORD 4 - INPUT CW4OP OCT 40500 CONTROL WORD 4 - OUTPUT VT2A DEF * POINTER TO INPUT ROUTINE A2VT DEF * POINTER TO OUTPUT ROUTINE * * * * * * IN966 - INPUT A CHARACTER FROM 12966 INTERFACE * * CALLING SEQUENCE: * * JSB IN966 * * * IN966 NOP LDA RESET CLEAR THE INTERFACE IN9S1 OTA VT LDA SETIN SET INTERRRUPT CONTROL IN9S2 OTA VT LDA SETCH SET CHARACTER PARAMETERS IN9S3 OTA VT LDA INCMD SET INPUT MODE IN9S4 OTA VT IN9S5 STC VT,C INITIATE INPUT ISZ WTFLG WAIT FLAG SET? JMP IN9S6 NO - WAIT INDEFINITELY JSB NX966 YES - LIMIT WAIT TIME JMP IN966,I TIME OUT - RETURN IMMEDIATELY JMP IN9L1 EXIT * IN9S6 SFS VT FLAG SET? JMP IN9S6 NO - CONTINUE WAIT IN9S7 LIA VT YES - FETCH THE CHARACTER LDB CLEAR CLEAR THE INTERRUPT IN9S8 OTB VT SSA,RSS IS INPUT A VALID CHARACTER? JMP IN9S5 NO - TRY AGAIN * IN9L1 AND .177 MASK OUT EXCESS BITS ISZ IN966 INCREMENT RETURN JMP IN966,I RETURN SUCCESSFUL * .IN96 DEF IN966 POINTER TO INPUT ROUTINE * * * * * * NX531 - GET NEXT INPUT FROM A 12531/12880 INTERFACE * * CALLING SEQUENCE: * * JSB NX531 * * * NX531 NOP JSB FLGWT WAIT FOR FLAG JMP NX531,I TIME OUT - FAIL RETURN NX5S1 LIA VT FETCH THE CHARACTER ISZ NX531 INCREMENT RETURN JMP NX531,I SUCCESSFUL RETURN * * * * * * NX966 - GET NEXT INPUT FROM A 12966 INTERFACE * * CALLING SEQUENCE: * * JSB NX966 * * * NX966 NOP NX9L1 JSB FLGWT WAIT FOR FLAG JMP NX966,I TIME OUTèÁþú - FAIL RETURN NX9S1 LIA VT FETCH THE CHARACTER LDB CLEAR CLEAR THE INTERFACE NX9S2 OTB VT SSA,RSS IS INPUT A VALID CHARACTER? JMP NX9S3 NO - TRY AGAIN ISZ NX966 INCREMENT RETURN JMP NX966,I RETURN SUCCESSFUL * NX9S3 STC VT,C SET CONTROL FOR ANOTHER CHAR JMP NX9L1 GO WAIT FOR IT * .NX53 DEF NX531 POINTER TO 12531 INPUT ROUTINE .NX96 DEF NX966 POINTER TO 12966 INPUT ROUTINE NXV2A DEF * POINTER TO CONTINUE INPUT RTN * * * * * * OP531 - OUTPUT A CHARACTER THRU THE 12531 * * ENTRY: A-REGISTER = CHARACTER TO BE OUTPUT * * EXIT : REGISTERS UNCHANGED * OP531 NOP STA VTCHR SAVE THE CHARACTER LDA OCMD SET INTERFACE TO OP5S1 OTA VT OUTPUT MODE LDA VTCHR RECALL CHARACTER OP5S2 OTA VT SEND TO INTERFACE OP5S3 STC VT,C SEND IT TO THE TERMINAL JSB FLGWT GO WAIT FOR FLAG JMP E030 FAIL RETURN LDA VTCHR RECALL OUTPUT CHARACTER JMP OP531,I RETURN * .OP53 DEF OP531 POINTER TO 12531 OUTPUT ROUTINE VTCHR NOP CHARACTER SAVE AREA * E030 CLC VT,C TURN OFF THE INTERFACE LDA STNUM FETCH SUBTEST NUMBER SSA CONFIGURATION PHASE? JMP .ZCL4,I YES - EXIT TO INIT ROUTINE JSB ERREX NO - REPORT NO FLAG SET DEF MS030 ON OUTPUT * .ZCL4 DEF ZCOL4 POINTER TO CONFIGURATION EXIT * * * * * * OP966 - OUTPUT A CHARACTER ON THE 12966 * * ENTRY: A-REGISTER = CHARACTER TO BE OUTPUT * * EXIT : REGISTERS UNCHANGED * OP966 NOP STA VTCHR SAVE THE CHARACTER LDA RESET CLEAR THE INTERFACE OP9S1 OTA VT LDA SETCH SET CHARACTER PARAMETERS OP9S2 OTA VT LDA OPCMD SET INTERFACE TO OUTPUT MODE OP9S3 OTA VT LDA VTCHR OP9S4 OTA VT OUTPUT THE CHARACTER OP9S5 STC VT,C JSB FLGWT WAIT FOR A FLAG JMP E030 TIME OUT - REPORT ERÕþúROR OP9S6 CLC VT FETCH THE STATUS WORD FROM OP9S7 LIA VT THE INTERFACE AND BFMTY MASK FOR BUFFER EMPTY STATUS STA B SAVE THE STATUS WORD LDA CLEAR CLEAR THE INTERFACE OP9S8 OTA VT SZB,RSS BUFFER EMPTY STATUS? JMP OP9S5 NO - CONTINUE WAITING LDA VTCHR YES - RESTORE A-REGISTER JMP OP966,I * .OP96 DEF OP966 SKP * * * * * LOADR - MICRO-CODE LOADER * * CALLING SEQUENCE: * * LDA * JSB LOADR * * * ON RETURN, WORD "LOAPT" CONTAINS THE WORD ADDRESS OF * THE WORD IMMEDIATELY FOLLOWING THE MICRO-CODE * LOADR NOP CLE,ELA SHIFT IN UPPER/LOWER BYTE FLAG STA LOAW3 STORE POINTER CCA SET END POINTER TO MINUS ONE STA ENDPT LDA M80 INITIALIZE OUTPUT COUNTER STA OUTCT JSB OPMCD CLEAR THE TERMINAL DEF PREPT LDA .377 WAIT 255 MILLESECONDS JSB TMRR,I FOR CLEAR TO BE DONE JSB ENQRT POLL TERMINAL JMP E034 NO RESPONSE - REPORT ERROR * LOAL. CLA STA CHKSM LDA SML.A INITIALIZE ADDRESS CONTROL STA LOAW4 LETTER JSB OPMCD INITIATE THE LOADER DEF LOAP1 * LDA DCRTA LOAD DATACOM DRIVERS JSB LOAR2 LDB SW14 IS THE SUPPRESS ERROR HALTS JSB SWRT,I SWITCH ON? JMP LOAL YES - LOAD SUBTEST JSB VCKSM NO - VERIFY CHECKSUM JSB OPMCD INITIATE THE LOADER AGAIN DEF LOAP1 LOAL LDA LOAW3 LOAD SUBTEST MICRO-CODE * * LOAD SUBTEST MICRO-CODE * LOAL0 JSB LOAR2 JSB LOAR1 FETCH MSB OF EXECUTE ADDRESS ALF,ALF STA LOAW1 JSB LOAR1 COMBINE WITH LSB IOR LOAW1 SSA,RSS IS IT A REAL ADDRESS? JMP LOAL3 YES - SEND IT INA,SZA,RSS CONTINUE ON A NEW BLOCK? JMP LOAL2 YES - SET POINTEjýþúR LDA LOAPT NO - LOAD COMMON BLOCK ADA M1 SET END POINTER CLE,ERA STA ENDPT LDA COMCD FETCH COMMON BLOCK POINTER JMP LOAL0 LOAL2 LDA LOAPT FETCH CURRENT POINTER VALUE JMP LOAL0 CONTINUE WITH NEXT BLOCK * * TRANSMIT EXECUTE ADDRESS * LOAL3 LDB CHKSM ADD ADDRESS TO CHECKSUM ADB A STB CHKSM LDB LOAA3 CONVERT TO ASCII CLE JSB O2AS,I LDB SW14 IS THE SUPPRESS ERROR HALTS JSB SWRT,I SWITCH ON? RSS YES - NO CHECKSUM JMP LOAL4 NO - CONTINUE LOADER LDA CAP.A TERMINATE LOADER ON ADDRESS STA LOAW4 LOAL4 JSB OPMCD SEND EXECUTE ADDRESS LOAA3 DEF LOAW2 JSB VCKSM VERIFY THE CHECKSUM JSB OPMCD INITIATE EXECUTION DEF LOAP3 * LDA LOAPT SET MESSAGE ADDRESS TO NEXT WORD INA CLE,ERA REMOVE UPPER/LOWER BYTE FLAG STA MSPTR SET MESSAGE POINTER LDB ENDPT INB,SZB,RSS IS END POINTER SET? STA ENDPT NO - SET TO MESSAGE ADDRESS LDA .377 WAIT 255 MILLESECONDS FOR JSB TMRR,I TERMINAL TO START EXECUTING JMP LOADR,I RETURN * LOAW1 OCT 0 PREVIOUS DATA BYTE LOAW3 DEF * POINTER TO SUBTEST MICRO-CODE * PREPT EQU * ESC OCT 33 ASCII OCT 110 - HOME THE CURSOR OCT -1 TERMINATOR * LOAP1 OCT 15446 INITIATE LOADER - -<&> OCT 142 OCT -1 TERMINATOR * LOAW2 ASC 3,000000 LOAD ADDRESS LOAW4 OCT 141 : ADDRESS FLAG OCT -1 TERMINATOR * LOAA2 DEF *+1 BSS 2 CONVERSION BUFFER * LOAP2 ASC 1,00 OCT 30144 <0>- OCT -1 TERMINATOR * LOAP3 OCT 7 SOUND THE BELL OCT 15446 INITIATE EXECUTION - OCT 61105 - OCT -1 TERMINATOR tšþú* * * * * * LOAR1 - FETCH BYTE FROM MICRO-CODE AREA * LOAR1 NOP JSB NXCHR FETCH NEXT BYTE LOAPT DEF * JMP LOAR1,I RETURN * * * * * * LOAR2 - LOAD MICRO-CODE BLOCK * LOAR2 NOP STA LOAPT SET MICRO-CODE POINTER JSB LOAR1 FETCH THE LOAD ADDRESS ALF,ALF STA LOAW1 JSB LOAR1 IOR LOAW1 LDB CHKSM ACCUMULATE CHECKSUM ADB A STB CHKSM LDB LOAA1 CONVERT ADDRESS TO ASCII CLE JSB O2AS,I JSB OPMCD SEND LOAD ADDRESS LOAA1 DEF LOAW2 JSB LOAR1 FETCH FIRST DATA BYTE STA LOAW1 SAVE IT * LOAL1 JSB LOAR1 FETCH DATA BYTE LDB A ALF,ALF COMBINE WITH PREVIOUS BYTE IOR LOAW1 INA,SZA,RSS IS IT THE TERMINATOR? JMP LOAR2,I YES - RETURN * LDA LOAW1 NO - SEND PREVIOUS BYTE STB LOAW1 SAVE CURRENT BYTE LDB CHKSM ACCUMULATE CHECKSUM ADB A STB CHKSM LDB LOAA2 CONVERT BYTE TO ASCII CCE JSB O2AS,I JSB OPMCD SEND IT TO THE TERMINAL DEF LOAP2 JMP LOAL1 DO THE NEXT BYTE * * * * * * VCKSM - VERIFY CHECKSUM * * RETURNS TO EXEC IF CHECKSUM DOES NOT VERIFY * VCKSM NOP LDB SW14 IS SUPPRESS ERROR HALTS JSB SWRT,I SWITCH ON? JMP VCKSM,I YES - DON'T VERIFY CHECKSUM LDA CHKSM NO - CONVERT CHECKSUM TO ASCII LDB VCKA1 CLE JSB O2AS,I JSB OPMCD SEND IT TO THE TERMINAL VCKA1 DEF VCKP1 LDA .377 WAIT 255 MILLESECONDS FOR JSB TMRR,I TERMINAL TO CLEAR IF FAIL CLA CLEAR THE CHECKSUM STA CHKSM * * GET STATUS * JSB OPMCD REQUEST STATUS FROM TERMINAL DEF VCKP2 CCA SET FOR LIMITED WAIT ON STA WTFLG INPUT ROUTINE JSB VT2BF JMP E032 TIME OUT - REPORT ERROR LDA STBY3,I FETCH STATUS BNþúYTE 3 AND AUTLF SZA,RSS IS AUTO LF DOWN? JMP VCKL1 NO - VERIFY CHECKSUM CCA YES - WAIT FOR STA WTFLG LIMIT WAIT TIME JSB VT2A,I JMP E032 TIME OUT - REPORT ERROR * * CHECK THE STATUS RECEIVED * VCKL1 LDA .INBF,I FETCH FIRST INPUT WORD CPA STWRD IS IT -<\>? RSS YES - CHECK CHECKSUM STATUS JMP E033 NO - REPORT ERROR LDA STBY5,I FETCH STATUS BYTE 5 AND LDCHK CHECKSUM OK? SZA JMP VCKSM,I YES - RETURN E033 JSB ERREX NO - REPORT ERROR DEF MS033 * E032 JSB ERREX TIME OUT ON INPUT DEF MS032 REPORT ERROR * VCKP1 ASC 3,000000 CHECKSUM PATTERN OCT 103 OCT -1 TERMINATOR * VCKP2 OCT 15536 STATUS REQUEST - -<^> OCT -1 TERMINATOR SKP * * * * * EXDGN - EXECUTE DIAGNOSTIC MODULE * * CALLING SEQUENCE: * * LDA * JSB EXDGN * * EXDGN NOP CLB,INB CLEAR SUBTEST COUNTER STB STNUM * * DETERMINE IF VALID CODE IS FOUND * EXDL0 STA EXDW4 SAVE POINTER TO SUBTEST BLOCK STA ENDPT SET LAST REFERENCE POINTER LDB A,I FETCH HEADER MESSAGE NUMBER CPB M2 IS IT -2? JMP EXDL5 YES - CONTINUE LOOKING FOR SUBTEST CPB A00 IS IT "00"? JMP EXDLA YES - MARK AS COMMON CODE BLOCK LDB EXDW4 NO - FETCH OPTION 2 FLAGS FROM ADB D19 FROM HEADER LDA B,I SZA,RSS ANY FLAGS SET? JMP EXDL NO - CHECK OPTION 1 FLAGS AND USSC YES - MATCH WITH OPTIONS SET XOR B,I BY USER DURING CONFIGURATION SZA,RSS OPTIONS MATCH? JMP EXDL. YES - EXECUTE THE SUBTEST JMP EXDLE NO - SKIP THE SUBTEST * ²ÔB@< * JSB BLDMS * * * BLDMS NOP ALF,ALF ROTATE MESSAGE TYPE CHARACTER STA ERRBA,I UP AND PUT INTO BUFFER LDA EXDWÛìþú1 CONVERT MESSAGE NUMBER TO LDB CNVB2 INTERNAL VALUE JSB XFR DEC -3 STA BLDW3 SAVE UPDATED POINTER LDB CNVB2 CLE,ERB SET SOURCE POINTER CCA CONVERT OCTAL VALUE JSB AS2N,I STA ERRNM SAVE AS ERROR NUMBER * ADA MSPTR,I ADD NUMBER OF MESSAGES SSA,RSS MESS NUMBER > NUMBER OF MESS? JMP BLDMS,I YES - RETURN IMMEDIATELY LDA MSPTR NO - FETCH POINTER TO MESSAGE INA ADA ERRNM LDA A,I FETCH POINTER TO MESSAGE ALS SHIFT IN UPPER/LOWER BYTE FLAG STA BLDW1 PUT INTO FETCH CALL LDA NUMIN SET NUMBER OF INPUT CMA,INA PARAMETERS ADA D3 STA BLDW4 LDA ERRBA INITIALIZE PUT ROUTINE CCE POINTER ELA STA BLDW2 * BLDL1 JSB NXCHR FETCH MESSAGE CHARACTER BLDW1 DEF * CPA REVSL IS IT THE LINE TERMINATOR? JMP BLDL4 YES - SEND END OF LINE PATTERN CPA NMSYM IS IT A NUMBER REQUEST? JMP BLDL3 YES - GO FETCH ONE * BLDL2 JSB A2BUF TRANSFER CHAR TO ERR BUFFER BLDW2 DEF * LDA A2BCH RECALL MESSAGE CHARACTER CPA SLANT IS IT THE TERMINATOR? JMP BLDL6 YES - EXIT JMP BLDL1 DO NEXT CHARACTER * BLDL3 ISZ BLDW4 ALL PARAMETERS USED? RSS NO - FETCH PARAMETER JMP BLDMS,I YES - RETURN IMMEDIATELY JSB NXCHR FETCH INPUT CHARACTER BLDW3 DEF * JMP BLDL2 PUT THE CHAR INTO THE BUFFER * * REVERSE SLANT (\) - LINE TERMINATOR * BLDL4 LDB SW3 JSB SWRT,I DISPLAY ACTION PART ONLY? JMP BLDL5 YES - TERMINATE MESSAGE LDA BLDA1 NO - TRANSFER END OF LINE LDB BLDW2 TO OUTPUT BUFFER JSB XFR DEC -7 STB BLDW2 RESTORE UPDATED BUFFER POINTER JMP BLDL1 DO NEXT MESSAGE CHARACTER * BLDL5 LDA SLANT SUBSTITUTE MESSAGE TERMINA!ÄþúTOR CCB CHAR FOR LINE TERMINATOR STB BLDW4 SET PARAMETER COUNT TO -1 JMP BLDL2 TRANSFER CHAR TO OUTPUT BUFF * * SLANT (/) - MESSAGE TERMINATOR * BLDL6 ISZ BLDW4 ALL PARAMETERS USED? RSS NO - RETURN IMMEDIATELY ISZ BLDMS YES - INCREMENT RETURN JMP BLDMS,I RETURN * BLDW4 DEC 0 NUMBER OF INPUT PARAMETERS BLDA1 DEF *+*+2 OCT 6412 END OF LINE PATTERN ASC 3, SKPBS SKP * * * * * I/O INSTRUCTION POINTERS * IODP DEF OP5S1 DEF OP5S2 DEF OP5S3 DEF VT2S4 DEF VT2S5 DEF E031 DEF E030 DEF FLGLP DEF FLGS2 DEF IN5S1 DEF IN5S2 DEF IN5S3 DEF IN5S4 DEF IN9S1 DEF IN9S2 DEF IN9S3 DEF IN9S4 DEF IN9S5 DEF IN9S6 DEF IN9S7 DEF IN9S8 DEF NX5S1 DEF NX9S1 DEF NX9S2 DEF NX9S3 DEF OP9S1 DEF OP9S2 DEF OP9S3 DEF OP9S4 DEF OP9S5 DEF OP9S6 DEF OP9S7 DEF OP9S8 DEF ZCOS1 DEF ZCOS2 DEF ZCOS3 DEF ZCOS4 DEF ZCOS5 OCT -1 TERMINATOR HED DIAGNOSTIC EXECUTIVE * EXEC - DIAGNOSTIC EXECUTIVE * EXEC NOP LDA TSTN NO - FETCH POINTER TO TEST ADA .TSTB LDA A,I SZA,RSS DOES TEST EXITS? JMP EXEC,I NO - RETURN IMMEDIATELY STA EXEW1 YES - SAVE POINTER TO TEST ADA D17 FETCH OPERATOR INTERVENTION LDA A,I FLAG FROM HEADER ALF,ALF ROTATE DOWN OPERATOR FLAG SLA,RSS OPERATOR INTERVENTION NEEDED? JMP EXEL1 NO - GO EXECUTE THE TEST LDB NOPSW YES - CHECK FOR SUPPRESS JSB SWRT,I OPERATOR INTERVENTION TESTS JMP EXEC,I SUPPRESS ON - RETURN IMMEDIATELY * * SET UP AND DISPLAY BEGIN "TEST" MESSAGE * EXEL1 LDA EXEW1 SET UP BEGIN "TESTðúþú" MESSAGE ADA D2 SKIP OVER NUMBER IN HEADER CLE,ELA SHIFT IN U/L BYTE FLAG LDB MSBGA FETCH DESTINATION POINTER JSB XFR TRANSFER HEADER MESSAGE DEC -25 LDA SLANT INSERT A SLANT TO TERMINATE JSB A2BUF .LAST DEF * JSB DSPMS DISPLAY THE BEGIN MESSAGE DEF MSBG * * LOAD AND EXECUTE DIAGNOSTIC CODE * LDA EXEW1 RECALL POINTER TO TEST JSB EXDGN EXECUTE IT LDA TSTN SET UP TEST COMPLETED LDB CNVB1 MESSAGE CLE JSB I2AS,I LDA CNVB3 STA MTSTW JSB DSPMS DISPLAY TEST COMPLETED DEF MSTST MESSAGE JMP EXEC,I RETURN TO CONTROL * EXEW1 DEF * POINTER TO TEST HED DIAGNOSTIC PROGRAM MESSAGES HDMS ASC 13,2644A TERMINAL DIAGNOSTIC ASC 8,(CTU TESTS ONLY) OCT 6412 ASC 7,INTERFACE = 12 HDA1 ASC 11,531D-880A/ BAUD RATE = HDA2 ASC 3, / * .HDA1 DEF HDA1+HDA1 .HDA2 DEF HDA2+HDA2+1 * MSBG ASC 3,BEGIN MSBG1 BSS 15 SPACE FOR HEADER MESSAGE MSBGA DEF MSBG1+MSBG1 POINTER TO HEADER AREA * MSTST ASC 3, TEST MTSTW ASC 7, COMPLETED/ * ORG ZCEND LOAD AT END OF CONTROL PROGRAM MS030 ASC 15,E030 I-O FAILURE, I-O FLAG NOT ASC 13, SET FOR TRANSMITTED DATA/ * MS031 ASC 17,E031 I-O FAILURE, INPUT STRING NOT ASC 12, TERMINATED BY A RETURN/ * MS032 ASC 15,E032 I-O FAILURE, NO RESPONSE ASC 7,FROM TERMINAL/ * MS033 ASC 16,E033 TRANSMISSION ERROR, LOADER ASC 11,CHECKSUM NOT VERIFIED/ * MS034 ASC 14,E034 I-O FAILURE, NOT ASC 13,ACKNOWLEDGED BY AN / * MS035 ASC 16,E035 TRANSMISSION ERROR, INVALID ASC 9, TEST RESPONSE: HED HP 2644A DIAG (CTU ONLY) - MICRO-CODE BLOCKS * MICRO-CODE BLOCKS * DCRTN EQU * OCT 034000,144066,057456,034307,130110,010070 OCT 043036,034104,000470,003060,040444,001150 OCT 010070,14056œ´þú1,026015,174007,033135,027070 OCT 143404,177770,044061,034076,100060,143454 OCT 077770,051406,030101,022001,025406,010101 OCT 022177,036033,044102,034000,036021,044113 OCT 034066,057770,003474,055510,052070,033134 OCT 174007,036135,005466,056076,000007,000200 OCT 000000 OCT -1 * TST16 EQU * ASC 18,250 CTU STATIC TEST /16991 OCT 177777,000000,034141,010114,043124,051110 OCT 052006,000133,033376,027077,037237,030076 OCT 175506,045473,033141,027070,037000,003060 OCT 045406,010113,003020,045710,022140,026040 OCT 064223,034046,001504,172471,140444,013150 OCT 117070,023007,042051,035106,162072,064251 OCT 034046,000504,172471,037020,003020,055406 OCT 010113,022025,064273,034046,003504,024472 OCT 043344,035150,143070,023001,042365,034476 OCT 000006,005533,003020,045446,000106,117072 OCT 064365,034660,044365,034573,003020,045444 OCT 040110,172471,043236,035150,172471,003053 OCT 055406,030113,043236,035110,172471,003017 OCT 055506,117072,044365,034406,004533,043236 OCT 035110,172471,003012,055506,117072,044365 OCT 034406,000133,033374,027077,037272,030076 OCT 175460,037046,030076,176106,045473,003020 OCT 045444,001454,001150,032071,023010,042051 OCT 035106,173072,030076,010066,176056,037476 OCT 152060,037373,030076,034060,037374,043113 OCT 035406,010113,022003,026001,064133,034446 OCT 004104,024472,043366,035060,037000,033374 OCT 027077,037356,030076,175506,045473,043262 OCT 035060,037020,033374,027077,037007,030076 OCT 176106,045473,043262,035066,177056,037476 OCT 026060,037375,003030,073436,000106,017070 OCT 013000,003020,041710,022010,064240,034426 OCT 100301,022020,141150,124471,032100,135550 OCT 127471,154133,003026,041444,004150,110071 OCT 003000,055406,154167,033376,027077,037210 OCT 030076,176øcþú506,045473,003124,043000,034006 OCT 006506,000070,000150,034301,130053,013377 OCT 010510,155471,004510,154471,003426,177406 OCT 010113,022020,025421,044346,034446,005504 OCT 024472,013000,003000,055406,042506,000070 OCT 003060,043000,034304,005012,005044,003404 OCT 030106,000070,142044,003404,030106,000070 OCT 141260,064046,035363,143506,000070,014021 OCT 044034,035104,147071,013003,033141,027070 OCT 143660,044071,035036,062504,173471,017142 OCT 042367,034416,001056,002426,177406,010113 OCT 022020,044121,035021,044104,035007,024510 OCT 055072,023012,042051,035303,124730,055506 OCT 162071,140660,064102,035016,002106,153071 OCT 042102,035056,001406,010113,003020,045444 OCT 010053,024510,101072,023012,042051,035303 OCT 032001,026002,055506,162071,141533,007010 OCT 043326,034504,070072,033141,027070,127461 OCT 174133,003426,012006,010113,022100,044255 OCT 035021,044240,035007,026100,005420,003406 OCT 001106,112472,023002,003020,045444,002110 OCT 172471,003032,043225,035006,010113,022004 OCT 044365,034406,005106,112472,003020,045444 OCT 002110,160072,023011,042051,035006,000133 OCT 003406,010113,144026,170006,010113,124444 OCT 004013,010510,165072,003406,001506,112472 OCT 154046,002506,037072,043344,035150,024472 OCT 043344,035150,024472,141444,177330,055416 OCT 004106,153071,043156,035106,162072,064045 OCT 035446,002104,172471,003023,043225,035106 OCT 162072,064065,035446,000504,172471,003012 OCT 043225,035006,010113,022004,064107,035446 OCT 003104,024472,003000,055407,003030,073406 OCT 013103,022010,044116,035506,017070,003026 OCT 041444,004150,053073,003330,073416,024106 OCT 153071,003716,026440,051101,041040,042503 OCT 040520,051440,042510,052040,051523,042522 OCT 050040,047105,044124,020055,146314,146123 OCT =€þú042507,042111,051124,051101,041440,044124 OCT 047502,020105,053117,046505,051211,175505 OCT 053111,051104,020124,044107,044522,020117 OCT 052116,044440,042105,046102,040523,044504 OCT 104773,042526,044522,042040,052106,042514 OCT 020117,052116,044440,042105,046102,040523 OCT 044504,104773,042526,044522,042040,052110 OCT 043511,051040,047524,047111,020104,042514 OCT 041101,047105,104773,042526,044522,042040 OCT 052106,042514,020117,052116,044440,042105 OCT 046102,040516,042775,177440,042122,047503 OCT 042522,020110,052111,053440,042507,042111 OCT 051124,051101,041440,052122,042523,047111 OCT 146054,042507,042111,051124,051101,041440 OCT 042526,047515,042522,147055,020105,052516 OCT 044524,047117,041440,047524,020122,040502 OCT 020105,041501,050123,020123,051505,051120 OCT 020055,146314,146105,051125,046111,040506 OCT 020131,046102,046505,051523,040440,042507 OCT 042111,051102,020104,040505,044040,024524 OCT 044107,044522,027524,043105,046050,020107 OCT 047111,042116,047520,051505,051122,047503 OCT 020122,047714,026105,051125,046111,040506 OCT 020101,041520,020106,026511,020125,052103 OCT 020105,046102,044523,051517,050040,026123 OCT 051125,041503,047440,047117,044524,041516 OCT 052506,046101,046440,040440,043111,146314 OCT 024523,024124,044107,044514,020107,047111 OCT 042116,047520,051505,051122,047503,020116 OCT 047440,051516,051125,052040,024523,024131 OCT 042513,020124,043111,044123,020124,044107 OCT 044522,027524,043105,046040,043516,044523 OCT 051505,051120,042504,146314,146055,052123 OCT 042524,020123,052110,043511,046040,047117 OCT 052124,052502,020124,041505,045105,104773 OCT 042105,052123,042524,020105,041040,047524 OCT 020051,051450,042526,044522,042040,047524 OCT 047111,020104,042514,041101,047105,020104 rç<:6 OCT 051117,041505,051040,044124,044527,020051 OCT 051450,042507,042111,051124,051101,041440 OCT 052122,042523,047111,146314,146055,051524 OCT 051505,052040,052116,042525,050505,051502 OCT 052523,020122,047506,177777,034150 * DEC -12 DEF T1611 DEF T1612 DEF T1613 DEF T1614 DEF T1615 DEF T1616 DEF T1617 DEF T1618 DEF T1619 DEF T161: DEF T161; DEF T161< * T1611 EQU * ASC 17,251 POSSIBLE CTU I-F PCA FAILURE\ ASC 06,RDY FAILED/ T1612 EQU * ASC 18,252 POSSIBLE READ-WRITE PCA FAILURE\ ASC 10,UNEXPECTED TAK EDGE/ T1613 EQU * ASC 18,253 POSSIBLE READ-WRITE PCA FAILURE\ ASC 08,UNEXPECTED RIP/ T1614 EQU * ASC 24,254 POSSIBLE READ-WRITE OR CTU I-F PCA FAILURE\ ASC 09,RDY OR GAP FAILED/ T1615 EQU * ASC 24,255 POSSIBLE READ-WRITE OR CTU I-F PCA FAILURE\ ASC 10,UNEXPECTED TAK EDGE/ T1616 EQU * ASC 28,256 POSSIBLE ### MOTOR-TACH ASSEMBLY OR CTU PCA'S FAIL\ ASC 11,NO TAK EDGE DETECTED/ T1617 EQU * ASC 23,257 POSSIBLE ### HEAD BRIDGE ASSEMBLY FAILURE\ ASC 08,UNEXPECTED RIP/ T1618 EQU * ASC 28,261 POSSIBLE ### HEAD BRIDGE ASSEMBLY OR CTU PCA'S FAIL\ ASC 14,HOL, RIP, CIR OR CIL FAILED/ T1619 EQU * ASC 28,262 POSSIBLE ### HEAD BRIDGE ASSEMBLY OR CTU PCA'S FAIL\ ASC 09,CIR OR CIL FAILED/ T161: EQU * ASC 28,263 POSSIBLE ### HEAD BRIDGE ASSEMBLY OR CTU PCA'S FAIL\ ASC 09,RIP NOT DETECTED/ T161; EQU * ASC 26,264 POSSIBLE CTU PCA'S OR ### CTU TRANSPORT FAILURE\ ASC 18,HOLE DETECT OR TAPE MOTION PROBLEM/ T161< EQU * ASC 19,265 PROBABLE ### TAPE RUNOFF OR STALL/ OCT -2 * -Õ<ÿÿþúTST17 EQU * ASC 18,300 CTU DYNAMIC TEST /17990 OCT 177777,000000,034141,010114,043124,051110 OCT 052130,054130,051514,047527,054130,054130 OCT 043101,051524,054006,000133,003020,045444 OCT 001510,107470,033376,027077,037303,030076 OCT 176106,177073,003020,045444,000550,124470 OCT 033376,027077,037111,030076,176066,060456 OCT 034076,010106,151470,003020,045444,001150 OCT 141470,033376,027077,037064,030076,176066 OCT 060456,034076,000106,151470,003000,055406 OCT 052106,000070,003015,043000,034000,074070 OCT 003030,073506,126072,043056,035006,030113 OCT 003001,043027,035740,043165,035110,170070 OCT 023005,042116,035026,001406,010113,022020 OCT 026020,064001,034446,004504,047072,010510 OCT 171070,142133,007010,043002,035006,010113 OCT 022020,064374,034006,010113,022020,064041 OCT 034446,000104,044472,043207,035406,001506 OCT 013473,043165,035150,165470,007120,043002 OCT 035106,141073,044076,034660,064103,034446 OCT 000504,044472,003001,043027,035506,072472 OCT 064353,034006,030113,043020,035303,022000 OCT 026000,044151,034713,043040,035510,056471 OCT 140444,000150,067071,023012,042111,035006 OCT 002506,013473,023066,033003,027007,043051 OCT 035506,133472,003007,043027,035446,033066 OCT 001456,003506,024473,003013,043027,035446 OCT 030466,014456,017506,024473,013000,033144 OCT 023014,075406,010113,144044,040110,131071 OCT 020510,121071,042306,034446,003173,043040 OCT 035550,136071,010301,022100,044313,034441 OCT 044265,034446,003504,047072,030510,131071 OCT 141074,034540,157471,036102,060353,034416 OCT 070104,160471,007150,043333,035426,003446 OCT 002104,050472,043243,035406,000506,013473 OCT 007020,043002,035106,121473,043267,035006 OCT 154167,003701,130053,013377,010510,003472 OCT 004510,002472,003466,060õàþú056,034307,055466 OCT 177506,141073,005660,044045,035046,003504 OCT 047072,030510,014072,023006,042116,035066 OCT 017056,036076,176066,016456,036076,177006 OCT 003506,013473,043134,035106,010072,043207 OCT 035407,013000,042121,035106,166473,003000 OCT 055406,042506,167072,042313,034106,017070 OCT 043302,035510,056072,130110,067072,023007 OCT 042116,035066,017056,036076,147007,027010 OCT 033310,043302,035550,104072,030510,074472 OCT 024510,073472,003660,005446,003504,047072 OCT 043020,035066,007506,141073,064237,035061 OCT 044224,035007,130110,124072,023007,042116 OCT 035106,010072,003406,000506,013473,043165 OCT 035110,145472,033036,027074,037374,033035 OCT 027074,037337,003005,043027,035506,056072 OCT 043217,035150,130472,043207,035406,025506 OCT 013473,043165,035110,162072,023005,042116 OCT 035106,107472,044331,035106,103473,003506 OCT 000070,003060,043000,034304,005012,005044 OCT 003404,030106,000070,142044,003404,030106 OCT 000070,141260,025763,143506,000070,014021 OCT 044014,035407,033141,027070,127461,174133 OCT 003406,010113,154251,022010,145407,007120 OCT 043002,035006,154167,007010,017020,013000 OCT 010150,101073,141513,120550,033473,010150 OCT 101073,141513,120510,040473,150020,064202 OCT 035703,045641,064114,035420,064202,035703 OCT 045641,044126,035406,014167,141276,060161 OCT 035675,021416,064066,067504,072473,007160 OCT 033167,027070,176106,155473,013010,023003 OCT 042121,035046,003504,047072,033140,027070 OCT 143444,177133,033120,007001,043002,035106 OCT 141073,025461,044221,035446,004104,047072 OCT 023000,003000,043027,035506,141073,064271 OCT 035440,044252,035446,004104,047072,003020 OCT 136003,023002,042111,035006,010113,144026 OCT 113006,010113,154044,010074,010053,141651 OCT 022010,005421,†Tþú044310,035407,043355,035741 OCT 013003,171707,172370,014040,010510,160473 OCT 154407,013003,033141,027070,143660,044373 OCT 035436,062407,017142,003406,014167,003026 OCT 041444,004110,000474,043036,034006,013103 OCT 022010,064011,036006,154167,007050,043002 OCT 035007,147316,017374,146314,146125,052103 OCT 020124,044107,044522,020107,047111,052123 OCT 042524,017374,146314,146125,052103,020124 OCT 043105,046040,043516,044524,051505,052316 OCT 026440,051101,041040,042503,040520,051440 OCT 042510,052040,051523,042522,050040,047105 OCT 044124,020055,146314,146104,042524,051505 OCT 052040,042502,020117,052040,024523,024105 OCT 053111,051104,020117,052116,044440,042105 OCT 046102,040516,042440,042122,047503,042522 OCT 020110,052111,053440,024523,024105,043504 OCT 044522,052122,040503,020124,051105,051516 OCT 044714,146314,042105,052122,042523,047111 OCT 020105,043504,044522,052122,040503,020117 OCT 047316,024530,040515,020103,042523,020060 OCT 031450,020107,047111,042116,044527,042522 OCT 020105,050101,052316,024530,040515,020103 OCT 042523,020060,031450,020104,051101,053522 OCT 047506,020124,051501,043040,042520,040524 OCT 177777,034170 * DEC -10 DEF T1711 DEF T1712 DEF T1713 DEF T1714 DEF T1715 DEF T1716 DEF T1717 DEF T1718 DEF T1719 DEF T171: * T1711 EQU * ASC 17,301 POSSIBLE CTU I-F PCA FAILURE\ ASC 16,HOL NOT CLEARED BY STATUS READ/ T1712 EQU * ASC 17,302 POSSIBLE CTU I-F PCA FAILURE\ ASC 18,TAPE DID'T STOP WHEN HOLE DETECTED/ T1713 EQU * ASC 18,303 POSSIBLE READ-WRITE PCA FAILURE\ ASC 19,MAX. TAPE STOPPING DISTANCE EXCEEDED/ T1714 EQU * ASC 28,304 POSSIBLE ### MOTOR-TACH ASSEMBLY OR CTU PCA'S FAIL\ ASC 10,TAPE #### AT #0 IPS/ T1715 EQU * Éþú ASC 28,305 POSSIBLE ### MOTOR-TACH ASSEMBLY OR CTU PCA'S FAIL\ ASC 23,TAPE #### COMPARED TO RDY IN RECORD DATA MODE/ T1716 EQU * ASC 27,306 POSSIBLE ### HEAD BRIDGE ASSM OR CTU I-F PCA FAIL\ ASC 21,HOLE NOT DETECTED WHERE PREVIOUSLY FOUND/ T1717 EQU * ASC 15,307 PROBABLE ### TAPE RUNOFF/ T1718 EQU * ASC 14,311 PROBABLE ### TAPE STALL/ T1719 EQU * ASC 22,312 ### TAPE DIDN'T STOP - CHECK FOR RUNOFF/ T171: EQU * ASC 27,313 POSSIBLE ### HEAD BRIDGE ASSM OR CTU I-F PCA FAIL\ ASC 24,HOL CLEARED BEFORE OUT OF HOLE AND STATUS READ/ OCT -2 * TST18 EQU * ASC 18,320 CTU READ-WRITE TEST /18991 OCT 177777,000000,034141,010000,000005,000125 OCT 125000,177514,043124,051110,052006,000133 OCT 033146,013004,143573,003060,045454,177677 OCT 064207,034046,000104,167072,030021,044167 OCT 034006,010113,022003,044240,034066,177056 OCT 037476,076460,037375,043270,036106,052071 OCT 045256,034506,065071,045256,034466,177056 OCT 037707,036175,064312,034076,164460,037375 OCT 043270,036106,052071,045226,034506,065071 OCT 045226,034406,000133,003124,043000,034006 OCT 006506,000070,000160,034006,001506,176073 OCT 033142,143474,005540,166470,012012,174106 OCT 015073,003060,045406,010113,022040,064015 OCT 034446,014506,107074,044005,034446,002504 OCT 171472,141444,020053,020510,175070,023010 OCT 042363,035006,025506,176073,043032,035510 OCT 021071,023005,042363,035303,022004,044055 OCT 034446,003504,171472,003013,043374,035650 OCT 075710,043076,034416,100106,037071,003426 OCT 005006,010113,022100,044121,034421,044100 OCT 034446,002504,171472,140573,003406,010113 OCT 022001,025466,177056,037476,001460,037375 OCT 033141,027070,037020,003406,010113,022002 OCT 025466,177056,037476,167060,037374,033141 OCT 027070,037000,003466,061707,036004,02550Úêþú6 OCT 123474,023012,003104,043323,035406,006506 OCT 000070,003406,014167,043212,035466,060707 OCT 026020,033145,174106,002474,043141,035406 OCT 154167,003406,014167,043212,035466,060707 OCT 033145,174106,044074,043141,035506,002474 OCT 043141,035476,014506,011071,017240,007125 OCT 043076,034431,044317,034506,037071,043076 OCT 034406,154167,017050,003053,043374,035431 OCT 044346,034406,005506,176073,003030,073436 OCT 005106,037071,014510,172071,043306,035106 OCT 060473,037031,033143,037004,043332,034106 OCT 075472,044112,035036,120106,075472,044112 OCT 035074,052510,045072,014510,011072,003330 OCT 073436,007006,010113,022040,044065,035031 OCT 044046,035104,042472,003015,101730,003020 OCT 045444,020150,057472,014510,034472,023001 OCT 042356,035106,057474,043141,035476,014466 OCT 061747,020774,044007,035046,004504,171472 OCT 003030,073506,057474,043200,034506,060473 OCT 043110,036106,060473,043005,036106,060473 OCT 003330,073407,013031,003020,045402,001140 OCT 112472,022200,005421,044175,035106,107074 OCT 005446,002504,171472,124006,030113,003701 OCT 130053,013377,010510,117472,004510,116472 OCT 003466,060056,034307,055466,177506,107074 OCT 005660,044275,035046,002504,171472,030510 OCT 130072,023004,042363,035106,037071,043076 OCT 034406,025104,151472,003002,043374,035466 OCT 061076,030506,015073,044351,035006,013677 OCT 021446,001104,167072,023006,042363,035026 OCT 000104,173072,043247,036006,000133,003105 OCT 043323,035504,151070,043036,034106,107074 OCT 044001,035660,044023,035446,002504,171472 OCT 033330,027074,037316,003466,061056,034106 OCT 075474,025717,004771,044036,035410,003456 OCT 004066,144106,107074,064075,035461,044056 OCT 035451,044054,035407,130013,023005,042363 OCT 035106,124072,033017,043216,03M~þú6150,052073 OCT 030510,044473,003660,044135,035446,002504 OCT 171472,043250,035007,003001,043374,035506 OCT 025073,064205,035506,057474,003003,043374 OCT 035506,025073,064205,035506,042073,043137 OCT 036066,061076,062007,023003,042363,035006 OCT 000506,176073,043052,035510,126073,033330 OCT 027074,037375,033327,027074,037231,003005 OCT 033141,027070,133533,043001,035506,042073 OCT 064217,035506,057474,003053,043374,035506 OCT 025073,044305,035446,001504,171472,043104 OCT 035510,135073,043137,036066,061076,062007 OCT 043000,034006,030106,000070,142012,005012 OCT 022007,002060,043000,034304,022007,002060 OCT 043000,034302,130053,171707,043000,034030 OCT 010510,170473,003466,060456,034257,030770 OCT 055407,033143,037004,043332,034106,075472 OCT 044065,036106,075472,044065,036066,062277 OCT 044065,036340,043173,035110,032474,030277 OCT 044065,036041,044037,036106,150472,043200 OCT 034407,043137,036106,060473,033143,163441 OCT 176110,004474,023011,042363,035106,011071 OCT 033144,157713,043076,034460,147506,037071 OCT 014510,051074,043306,035007,033140,027070 OCT 143444,177133,033120,007001,043232,035106 OCT 075474,025461,044151,036046,003104,171472 OCT 003020,045710,013334,003020,045730,124444 OCT 004013,010510,100474,003406,010113,144026 OCT 113006,010113,154044,010074,010053,141651 OCT 022010,005421,044224,036007,013003,033141 OCT 027070,143660,044265,036036,066407,017152 OCT 003406,014167,003026,041444,004110,135474 OCT 043036,034006,013103,022010,064303,036006 OCT 154167,007050,043232,035007,147316,154374 OCT 146314,146125,052103,020124,044107,044522 OCT 020107,047111,052123,042524,154374,146314 OCT 146125,052103,020124,043105,046040,043516 OCT 044524,051505,052316,026440,051101,041040 OCT 042503,040520,051440µ¢þú,042510,052040,051523 OCT 042522,050040,047105,044124,020055,146314 OCT 146104,042524,051505,052040,042502,020117 OCT 052040,024523,024105,053111,051104,020117 OCT 052116,044440,042105,046102,040516,042440 OCT 042122,047503,042522,020110,052111,053440 OCT 024523,024105,043504,044522,052122,040503 OCT 020124,051105,051516,044714,146314,042105 OCT 052122,042523,047111,020105,043504,044522 OCT 052122,040503,020117,047316,024530,040515 OCT 020103,042523,020060,031450,020107,047111 OCT 042116,044527,042522,020105,050101,052316 OCT 026440,051101,041040,042503,040520,051440 OCT 042510,052040,051523,042522,050040,047105 OCT 044124,020055,146314,146051,051450,042526 OCT 044522,042040,042524,044523,047520,050117 OCT 020116,044440,052122,042523,047111,020054 OCT 024523,024105,043504,044522,052122,040503 OCT 020105,053117,046505,051377,177470,070000 * DEC -11 DEF T1811 DEF T1812 DEF T1813 DEF T1814 DEF T1815 DEF T1816 DEF T1817 DEF T1818 DEF T1819 DEF T181: DEF T181; * T1811 EQU * ASC 17,321 POSSIBLE CTU I-F PCA FAILURE\ ASC 15,DATA BUS -- I-O BUFFER FAILED/ T1812 EQU * ASC 18,322 POSSIBLE READ-WRITE PCA FAILURE\ ASC 13,GAP DETECT RESPONSE SLOW/ T1813 EQU * ASC 18,323 POSSIBLE READ-WRITE PCA FAILURE\ ASC 19,MAX. TAPE STOPPING DISTANCE EXCEEDED/ T1814 EQU * ASC 27,324 POSSIBLE ### HEAD BRIDGE ASSM OR CTU I-F PCA FAIL\ ASC 21,HOLE NOT DETECTED WHERE PREVIOUSLY FOUND/ T1815 EQU * ASC 15,325 PROBABLE ### TAPE RUNOFF/ T1816 EQU * ASC 14,326 PROBABLE ### TAPE STALL/ T1817 EQU * ASC 22,327 ### TAPE DIDN'T STOP - CHECK FOR RUNOFF/ T1818 EQU * ASC 28,331 POSSIBLE ### HEAD BRIDGE ASSEMBLY OR CTU PCA'S FAIL\ ASC 09,RIP NOT DETECTED/ T1819 EQU * ASC 28,332 POPþúOSSIBLE ### CART, HEAD BRDG ASSM OR CTU PCA'S FAIL\ ASC 06,GAP FAILED/ T181: EQU * ASC 28,333 POSSIBLE ### CART, HEAD BRDG ASSM OR CTU PCA'S FAIL\ ASC 18,HARD READ ERROR (AFTER 3 RE-READS)/ T181; EQU * ASC 24,334 SOFT READ ERROR (MAX 3 RE-READS) ON ### CTU\ ASC 28,POSSIBLE CARTRIDGE, HEAD BRIDGE ASSM OR CTU PCA'S FAIL/ OCT -2 * TST19 EQU * ASC 18,340 CTU HOLE DETECT TEST /19991 OCT 177777,000000,034140,046106,052122,044124 OCT 003000,055466,177056,037476,103460,037371 OCT 043027,034406,010133,003020,045444,000550 OCT 110470,003020,045444,010110,110470,013003 OCT 017140,023000,042343,034066,177056,037476 OCT 125460,037371,043027,034406,000133,003020 OCT 045444,001150,134470,003020,045444,010110 OCT 134470,013003,017143,023000,042343,034006 OCT 000133,033376,027077,037307,030076,174506 OCT 013471,003124,043000,034006,006506,000070 OCT 000146,034301,130053,013377,010510,155070 OCT 004510,154070,003406,000133,003105,043356 OCT 034104,146470,043000,034006,030106,000070 OCT 142012,005012,022007,002060,043000,034304 OCT 022007,002060,043000,034302,130053,171707 OCT 043000,034030,010510,006071,003406,014167 OCT 003026,041444,004110,015071,043036,034006 OCT 013103,022010,064042,034406,154167,007050 OCT 043325,034007,147055,020122,040502,020105 OCT 041501,050123,020105,044124,020123,051505 OCT 051120,020116,042510,052040,026714,146314 OCT 042105,051111,051505,042040,043111,020105 OCT 053111,051104,020124,043105,046040,047524 OCT 047111,020105,043504,044522,052122,040503 OCT 020106,043117,047125,051040,052122,042523 OCT 047111,063371,052110,043511,051040,047524 OCT 047111,020105,043504,044522,052122,040503 OCT 020106,043117,047125,051040,052122,042523 OCT 047111,052771,024523,024105,043504,044522 OCT 052122,040503,ßïþú020106,043117,047125,051040 OCT 042526,047515,042522,177777,034146 * DEC -1 DEF T1911 * T1911 EQU * ASC 27,341 POSSIBLE ### HEAD BRIDGE ASSM OR CTU I-F PCA FAIL\ ASC 09,HOLE NOT DETECTED/ OCT -2 * TST20 EQU * ASC 18,350 TAPE SEMI-CERTIFICATION /20991 OCT 177777,000000,034141,010000,000114,043124 OCT 051110,052006,000133,033376,027077,037351 OCT 030076,176106,024074,003020,045444,001550 OCT 110070,043106,034512,071071,043134,034512 OCT 071071,042152,034006,052106,000070,003015 OCT 043000,034000,065070,003003,043306,035466 OCT 061307,036013,060260,034024,005370,043015 OCT 035406,030113,003020,045444,020150,150070 OCT 023031,043376,035510,144070,023004,042346 OCT 035303,022040,025441,044275,034046,001104 OCT 163072,003053,043306,035506,006473,044345 OCT 034046,002104,163072,141444,002110,170070 OCT 023001,042346,035006,005506,143073,124173 OCT 144106,000471,007200,043001,034407,043036 OCT 034026,003406,010113,170244,064053,034706 OCT 011022,060050,034422,011100,017471,033143 OCT 027070,037001,010510,003071,023004,042346 OCT 035301,075407,043317,035466,044056,036076 OCT 176466,043456,036076,105106,024074,033110 OCT 027074,037316,042152,034006,010113,022001 OCT 025466,177056,037476,076460,037374,033141 OCT 027070,037020,003406,010113,022002,025466 OCT 177056,037476,061060,037374,033141,027070 OCT 037000,003406,014167,043124,035466,060707 OCT 130150,102071,023001,042206,034446,001066 OCT 044056,036076,176466,043456,036076,067506 OCT 152470,033143,037000,007000,043001,034466 OCT 061707,130150,115471,003013,043306,035436 OCT 014506,000471,014510,126071,033143,037000 OCT 043001,034466,061707,130150,133471,003013 OCT 043306,035506,134472,033110,027074,037316 OCT 043124,035466,044056,036076,176466,043456 ®¤þú OCT 036076,073506,116470,033143,037000,043144 OCT 035110,033472,043144,035110,033472,036000 OCT 044111,035066,061707,130150,165471,003003 OCT 043306,035436,014506,062072,044067,035074 OCT 000110,044472,014510,002072,033143,037000 OCT 043144,035110,033472,036000,044111,035307 OCT 130150,013472,043317,035466,044056,036076 OCT 147106,052073,003330,073407,043317,035466 OCT 044056,036076,176466,043456,036076,062504 OCT 054072,043317,035466,044056,036076,176466 OCT 043456,036076,052106,024074,033110,027074 OCT 037316,042152,034106,017070,013024,003020 OCT 045422,011140,104072,011022,040174,035066 OCT 061456,034076,000444,000413,010510,064472 OCT 023004,042346,035250,003060,045407,140660 OCT 025426,177421,044222,035011,044220,035007 OCT 033140,027070,143533,033377,043376,035413 OCT 130110,130072,023004,042346,035061,044243 OCT 035046,001504,163072,043001,034506,000471 OCT 003052,042306,035006,001106,143073,033142 OCT 037061,043015,035510,156072,003027,137443 OCT 023000,042341,035046,002504,163072,013000 OCT 042351,035106,013474,003000,055406,042506 OCT 116473,042225,034106,017070,043376,035510 OCT 172072,130110,003073,023004,042346,035066 OCT 044056,036076,147007,033142,027070,043353 OCT 035453,147411,174510,010473,004007,027010 OCT 033310,043376,035550,030073,030510,020473 OCT 024510,017473,003660,005446,002104,163072 OCT 043233,035066,007506,177073,064107,035461 OCT 044074,035407,130110,050073,023004,042346 OCT 035106,115472,003406,000506,143073,043035 OCT 035510,073073,033110,027074,037375,033107 OCT 027074,037005,003005,033141,027070,133533 OCT 043364,035106,033473,064131,035506,147473 OCT 003053,043306,035506,016473,044217,035446 OCT 003104,163072,043067,035510,102073,043317 OCT 035466,061076,031007,043000,0340òÁþú06,030106 OCT 000070,142012,005012,022007,002060,043000 OCT 034304,022007,002060,043000,034302,130053 OCT 171707,043000,034030,010510,135473,003466 OCT 060456,034257,030770,055407,033140,027070 OCT 143444,177133,033120,007001,043215,035106 OCT 165473,025461,044331,035446,002504,163072 OCT 003020,045710,013334,003020,045730,124444 OCT 004013,010510,170473,003406,010113,144026 OCT 113006,010113,154044,010074,010053,141651 OCT 022010,005421,044004,036007,013003,033141 OCT 027070,143660,044045,036036,063407,017144 OCT 003406,014167,003026,041444,004110,025474 OCT 043036,034006,013103,022010,064063,036006 OCT 154167,007050,043215,035007,147316,146314 OCT 146105,043504,044522,052122,040503,020124 OCT 044107,044522,020107,047111,052123,042524 OCT 044374,146314,146105,043504,044522,052122 OCT 040503,020124,043105,046040,043516,044524 OCT 051505,052316,026440,051101,041040,042503 OCT 040520,051440,042510,052040,051523,042522 OCT 050040,047105,044124,020055,146314,146051 OCT 051450,042526,044522,042040,042105,051111 OCT 051505,042040,047524,047111,020054,042105 OCT 046102,040516,042440,042122,047503,042522 OCT 020110,052111,053440,026104,042524,051505 OCT 052040,042502,020117,052040,024523,024105 OCT 043504,044522,052122,040503,020124,051105 OCT 051516,044716,024530,040515,020103,042523 OCT 020060,031450,020107,047111,042116,044527 OCT 042522,020105,050101,052316,026440,042525 OCT 047111,052116,047503,020117,052040,051101 OCT 041040,042503,040520,051440,051523,042522 OCT 050040,026714,146314,042522,052514,044501 OCT 043040,052101,020104,042520,050117,052123 OCT 020105,050101,052314,042522,052514,044501 OCT 043040,042522,040520,046517,041440,042524 OCT 054502,040375,042522,052514,044501,043040 OCT 052125,047520,047522,0?²HFB42316,043516,044504 OCT 051117,041505,051316,043516,044504,040505 OCT 051050,176504,042526,047515,042522,020105 OCT 043504,044522,052122,040503,177777,034152 * DEC -7 DEF T2011 DEF T2012 DEF T2013 DEF T2014 DEF T2015 DEF T2016 DEF T2017 * T2011 EQU * ASC 18,351 POSSIBLE READ-WRITE PCA FAILURE\ ASC 19,MAX. TAPE STOPPING DISTANCE EXCEEDED/ T2012 EQU * ASC 28,352 POSSIBLE ### HEAD BRIDGE ASSEMBLY OR CTU PCA'S FAIL\ ASC 09,RIP NOT DETECTED/ T2013 EQU * ASC 28,353 POSSIBLE ### CART, HEAD BRDG ASSM OR CTU PCA'S FAIL\ ASC 06,GAP FAILED/ T2014 EQU * ASC 15,354 PROBABLE ### TAPE RUNOFF/ T2015 EQU * ASC 14,355 PROBABLE ### TAPE STALL/ T2016 EQU * ASC 22,356 ### TAPE DIDN'T STOP - CHECK FOR RUNOFF/ T2017 EQU * ASC 27,357 POSSIBLE ### HEAD BRIDGE ASSM OR CTU I-F PCA FAIL\ ASC 21,HOLE NOT DETECTED WHERE PREVIOUSLY FOUND/ OCT -2 * TSTB EQU * 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 OCT 0 OCT 0 OCT 0 DEF TST16 DEF TST17 DEF TST18 DEF TST19 DEF TST20 OCT 0 OCT 0 OCT 0 OCT 0 OCT 0 OCT 0 OCT 0 OCT 0 OCT 0 OCT 0 OCT 0 TSTEN OCT -1 TERMINATOR FOR TEST TABLE * ERRBF BSS 80 ERROR MESSAGE BUFFER INBFR EQU * INPUT BUFFER FWAA EQU * FIRST WORD OF AVAILABLE MEMORY END þHÿÿ ÿý+3_ ÿ02762-18001 1546 S C0146 012762A/2762B TERMINAL DIAGNOSTIC             H0101 FùþúASMB,A,B,C,L **************************************************************** * 2762A-2762B TERMINAL PRINTER DIAGNOSTIC * * 18 SEPT 1975 BY J. TEETER BOISE * **************************************************************** * * * * * * * *************************************************************** * (C) COPYRIGHT HEWLETT-PACKARD COMPANY 1975. ALL RIGHTS * * RESERVED. NO PART OF THIS PROGRAM MAY BE PHOTOCOPIED, * * OR TRANSLATED INTO ANOTHER LANGUAGE WITHOUT THE PRIOR * * WRITTEN CONSENT OF HEWLETT-PACKARD. * *************************************************************** * * * * HED GENERAL OPERATING PROCEDURE ORG 0 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 102024. * 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 * (SUPPRESS ALL OPERATOR INTERVENTION) * 11 = SUPRESS ERROR MESSAGES * 10 = SUPRESS NON-ERROR MESSAGES * 9 = GO TO USER CONTROL SECTION * AT END OF PRESENT TEST * 8= SUPPRESS OPERATOR INTERVENTION TESTS * 7 * 2= ABORT INPUTS TO TESTS 4,7 * BY SETTING-RESETTING. * NOTE: STANDARD RUN SHOULD BE WITH SW. REG. = 0 * USER CONTROL WILL ASK FOR A 32 BIT WORD. * EACH BIT WILL = 1 TEST * * G. PRESS RUN. * H. RESTART - LOAD ADDRESS 2000B * I. RECONFIGURE IF TE¬ÍþúSTING I/O INTERFACE - LOAD ADDRESS 100B * * 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 * * CONTROL PROGRAM HALT MESSAGES * * 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 RESERVED * 102071 RESERVED * 102070 RESERVED * * 106077 TRAP CELL HALT * * * HED PROGRAM ORGANIZATION CHART * ******************************************* * * CONFIGURATOR 100B * * * LINKAGE TABLE * * ******************************************* * * EXECUTIVE 130B * * * LINKAGE * * ******************************************* * * CONSTANTS 150B * * * AND * * * STORAGE * * ******************************************* * * 2000B * * * EXECUTIVE CONTROL * * * * * ******************************************* * * IF USED * * * BASIC I/O TESTS (TEST 00) * * * ZCEND * * ******************************************* * * TABLE OF TEST POINTERS * * * TABLE OF I/O INSTR POINTERS * * ******************************************* * * * * * Dæþú * * * * * * * * * * * * MAIN DIAGNOSTICS (1-9) * * * * * * * * * * * * * * * * * ******************************************* * * * * * * * * * * * * * * * * * * * * HED 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 * * 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 DSNL OCT 144105 DIAGNOSTIC SERIAL NUMBER FMTR BSS 1 FORMATTER * * * CONTROL LINKAGE AND DATA REFERENCES * CFIG DEF ZCONF CONFIGURATION SECTION MSGC DEF ZMSGC MESSAGE WITH NO HALT MSGH DEF ZMSGH MESSAGE WITH HALT ERMS DEF ZERMS ’sþú ERROR MESSAGE SWRT DEF ZSWRT SWITCH REGISTER CHECK ROUTINE TSTN OCT 0 CURRENT TEST NUMBER EXRT DEF ZEXRT RETURN TO CONTROL PROGRAM NOP RESERVED * * * * * * * * * * * * * HED EXECUTIVE CONTROL ORG 2000B ZSTEX CLC INTP,C TURN I/O SYSTEM OFF JSB MSGC,I DO CRLF DEF ZRTLF LDA OCMD JSB A2PTM LDB HDMP GET INTRODUCTORY MESSAGE STB *+2 JSB MSGC,I OUT PUT IT NOP JSB OPPTM OUTPUT HED TO TERM. CLA CLEAR PASS STA ZEOLC COUNT LDB ZSW9 CHECK FOR USER SELECTION REQ JSB SWRT,I JMP ZUSR IT'S USERS CHOICE ZNUSR LDA STDA GET STANDARD TEST RUN LDB STDB * JMP ZEXC * ZUSR LDA ZSINA RETRIEVE PREVIOUS RUN LDB ZSINB HLT 75B WAIT FOR USER INPUT NOP NOP NOP ZEXC STA ZUINA SAVE STB ZUINB USER STA ZSINA INPUT STB ZSINB PROGRAM LDB ZSW9 CHECK IF SW9 IS DOWN JSB SWRT,I JMP ZUSR NO GO AND WAIT CCA SET TEST NUMBER STA TSTN =-1 CLA STA ZTSTA CLEAR TEST RUN FLAG * * * * * * SKP ZEXCL LDA ZUINA RESTORE A REG. LDB ZUINB RESTORE B REG. ERA,RAL ROTATE ERB FIRST ERA TEST BIT STA ZUINA SAVE POSITIONS STB ZUINB ISZ TSTN MOVE TEST UP ONE NOP ZXCL1 LDA TSTN ADA TSTP GET IT'S LDA A,I ADDRESS CPA Z.M1 IS IT END OF LIST JMP ZEOL YES LDB ZUINB SSB,RSS SHOULD IT BE RUN? JMP ZEXCL NO STA ZTSTA YES - SAVE TEST ADDRESS JSB ZITCH INITIALIZE TRAP CELL HALTS JSB ZTSTA,I GO DO TEST ZEXRT LDA TSTN DISPLAY TEST NUMBER IF HALTED LDB ZSW15 CHECK FOR HALT AEþúT END OF TEST JSB SWRT,I HLT 76B YES WAIT FOR OPERATOR LDB ZSW9 CHECK FOR ABORT JSB SWRT,I JMP ZUSR YES LDB ZSW13 CHECK FOR LOOP ON ROUTINE JSB SWRT,I JMP ZXCL1 YES - LOOP JMP ZEXCL CONTINUE * ZEOL LDA ZTSTA CHECK IF ANY TESTS WERE RUN SZA,RSS ? JMP ZNUSR NO SO PICK UP STANDARD RUN LDA ZEOLC UP DATE PASS COUNT INA STA ZEOLC CCE LDB ZPSCA GET PASS COUNT ADB Z.2 ADDRESS JSB O2AS,I CONVERT IT JSB MSGC,I CALL PRINT ROUTINE ZPSCA DEF ZPSC LDB ZSW12 CHECK FOR LOOP ON DIAG. JSB SWRT,I JMP *+3 YES LDA ZEOLC HLT 77B NO WAIT AND DISPLAY PASS COUNT LDA ZSINA RESTORE ORIGINAL LDB ZSINB PROGRAM JMP ZEXC DO IT ALL AGAIN * SKP * MESSAGE OUTPUT WITH OUT HALT * ZMSGC NOP ENTRY JSB ZMSG OUTPUT MESSAGE OCT 2000 SWITCH 10 CHECK JMP ZMSGC,I RETURN TO CALLER * * MESSAGE OUTPUT WITH HALT * ZMSGH NOP ENTRY JSB ZMSG OUTPUT MESSAGE OCT 2000 SWITCH 10 CHECK LDA ZHLT GET HALT CODE STA *+2 PUT IT IN PLACE LDA ZSAVA RESTORE A REGISTER NOP HALT FOR DISPLAY JMP ZMSGH,I RETURN TO CALLER * * ERROR MESSAGE WITH HALT * ZERMS NOP ENTRY JSB ZMSG OUTPUT MESSAGE OCT 4000 SWITCH 11 CHECK CLA LDB ZSW14 CHECK SWR BIT 14 TO SUPPRESS JSB SWRT,I HALT STA *+3 PUT HALT IN PLACE LDA ZSAVA RESTORE A & B LDB ZSAVB ZHLT NOP WAIT FOR OPERATOR JMP ZERMS,I RETURN TO CALLER * * * * * * * * SKP * OUTPUT MESSAGE * ZMSG NOP STA ZSAVA SAVE A AND B REGISTERS STB ZSAVB LDB ZMSG,I GET SWITCH‘kþú REGISTER BIT LDA ZMSG ADA Z.M2 DECREMENT RETURN ADDRESS STA ZMSG JSB SWRT,I CHECK TO SUPPRESS MESSAGE JMP ZMSG0 YES LDA ZMSG,I CHECK IF ERROR LDA A,I LDA A,I IF SO ALF,ALF AND Z.177 CPA ZA.E JSB ZCFTN CHECK TO OUTPUT TEST NUMBER LDA ZMSG,I NO RETRIEVE FORMAT LDB A,I ADDRESS CLA,CLE JSB FMTR,I ZMSG0 LDA ZMSG,I CONVERT HALT CODE LDB A,I FROM ASCII STRING CCA,CCE JSB AS2N,I STA ZN2AO SAVE RESULT AND Z.300 DECODE LDB ZH2 HALT CODE CPA Z.100 LDB ZH6 CPA Z.200 LDB ZH3 CPA Z.300 LDB ZH7 LDA ZN2AO GET HALT NUMBER AND Z.77 IOR B STA ZHLT SAVE IT ISZ ZMSG,I ADJUST RETURN POINTERS ISZ ZMSG ISZ ZMSG ISZ ZMSG LDA ZSAVA RESTORE A AND B REGISTERS LDB ZSAVB JMP ZMSG,I * * * * * * SKP ZCFTN NOP LDA TSTN GET TEST NUMBER CPA ZCFTT IS IT THE SAME ONE? JMP ZCFTN,I YES SKIP OUTPUT STA ZCFTT NO - THEN UPDATE IT JSB ZN2AO CONVERT IT STA ZTSTN PUT IT IN STRING CLA DO A CRLF JSB SLOP,I CLA,CLE INDICATE START OF FORMAT LDB ZTSTF JSB FMTR,I JMP ZCFTN,I RETURN * * * * ZSAVA NOP ZSAVB NOP ZEOLC NOP ZTSTA NOP ZSINA NOP ZSINB NOP ZUINA NOP ZUINB NOP ZBTMP NOP Z.2 OCT 2 Z.7 OCT 7 Z.10 OCT 10 Z.60 OCT 60 Z.77 OCT 77 Z.177 OCT 177 Z.M1 DEC -1 Z.M2 DEC -2 ZD100 DEC -100 ZIOM OCT 177700 ZSW15 OCT 100000 ZSW14 OCT 40000 ZSW13 OCT 20000 ZSW12 OCT 10000 ZSW9 OCT 1000 Z.100 OCT 100 Z.200 OCT 200 Z.300 OCT 300 ZH2 OCT 102000 ZH6 OCT 106000 ZH3 OCT 103000 ZH7 OCT 107000 ZCFTT DEC -1 ZTSTF DEF *+1 ASC 3,TEST ZTSTN ASC 2,XX// ZRTLF ASC 1,// ³ÝþúZPSC ASC 6,PASS XXXXXX/ ZA.E OCT 105 HED GENERAL ROUTINES * * ZN2AO NOP STA ZIOAD SAVE NUMBER AND Z.7 CONVERT FIRST IOR Z.60 NUMBER STA B SAVE IT LDA ZIOAD GET RAR,RAR SECOND RAR NUMBER AND Z.7 CONVERT IOR Z.60 IT ALF,ALF MOVE TO UPPER HALF IOR B ADD LOWER JMP ZN2AO,I AND RETURN * * * * SWITCH REGISTER CHECK * ZSWRT NOP STA ZN2AO SAVE A REGISTER LIA SW GET SWITCH REG. AND B MASK OUT BIT SZA,RSS IS IT UP? ISZ ZSWRT NO LDA ZN2AO RESTORE A REGISTER LIB SW LET B = SWITCH REGISTER JMP ZSWRT,I RETURN TO CALLER * * * * INITIALIZE TRAP CELL HALTS * ZITCH NOP LDA ZTSH GET STARTING TRAP CELL HALT LDB Z.2 GET FIRST TRAP CELL LOCATION ZTSHL STA B,I PUT IT IN PLACE CPB Z.77 AM I FINISHED JMP ZITCH,I YES INB NEXT ADDRESS JMP ZTSHL * ZTSH OCT 106077 * * * SKP * PUT JSB INSTRUCTION IN TRAP CELL * ZTCJI NOP LDB ZJSBI GET INSTRUCTION STB ZIOSC,I PUT IT IN TRAP CELL LDA ZTCJI,I GET LOCATION STA 3B SAVE IT FOR JSB INSTRUCTION ISZ ZTCJI ADJUST RETURN JMP ZTCJI,I RETURN TO CALLER * ZJSBI JSB 3B,I JSB INSTRUCTION * * * INITIALIZE SELECT CODE I/O INSTRUCTIONS * ZISC NOP STA SC STA ZIOSC SAVE SELECT CODE STB ZIOAD SAVE TABLE ADDRESS ZIOL LDB ZIOAD,I GET ADDRESS OF LOCATION CPB Z.M1 IS IT THE TERMINATOR JMP ZISC,I YES RETURN TO CALLER LDA B,I NO - GET CONTENTS AND ZIOM MASK OFF OLD SELECT CODE IOR ZIOSC ADD IN NEW SELECT CODE STA B,I RESTORE IT ISZ ZIOAD MOVE TO NEXT ADDRESS JMP ZI þúOL DO IT * ZIOSC NOP ZIOAD NOP * * * * SKP * CONFIGURATION SECTION * ZCONF CLC INTP,C TURN I/O SYSTEM OFF LDA .M1 STA ZCFTT LIA SW GET SELECT CODE AND OPTIONS STA USSC SAVE THEM AND Z.77 ELIMINATE OPTIONS LDB A CMB,INB CHECK THAT SC > 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 JSB CKBTP CHECK TYPE OF BOARD HLT 74B ALLOW OPERATOR TO CHANGE SWIT JMP ZSTEX GO TO EXEC CONTROL SECTION * * * * CKBTP NOP CHECK BOARD TYPE LDA USSC SSA,RSS 12966/68? JMP CKBTP,I NO * INITIALIZE 12966/68 BOARD LDA OWD5 INT. STATUS RESET/MC TSC6 OTA PTM LDA OWD3 CHAR. FRAME CONTROL WORD TSC2 OTA PTM LDB C10 10CPS CODE LDA USSC AND BT7 CHECK BAUD RATE OPTION SZA JMP TSC3A 10 CPS CODE IMPLEMENTED LDB C120 120 CPS CODE LDA USSC AND BT6 SAVE ONLY BAUD RATE SZA,RSS 1200 BAUD? LDB C30 NO, USE 30 CPS CODE TSC3A LDA OWD4 INTERFACE CONTROL WORD IOR B INCLUDE BAUD RATE TSC3 OTA PTM STA OWD4A SAVE FOR FUTURE AND RCVMK CONSTRUCT RECEIVE MODE WORD STA OWD4B RECEIVE MODE CONTROL WORD LDA OWD1 ENABLE DEV. STATUS INTERFACE WD. TSC4 OTA PTM * CLEAR SPEC CHAR RAM FOR 66/68 LDA OWD6 CONTROL WORD & WITH TSC4A OTA PTM REMOVE CHAR INDICATED INA CPA MAXL LOOP THROUGH TO 377 CHARS JMP CKBTP,I DONE JMP TSC4A OWD6 OCT 60000 MAXL OCT 60400 WORD & AFTER 377O CHARS * * * HED BASIC I/O TESTS CH EQU 10B * TST00 EQU * NOP LDA USSC GET CELL LOCATION Gœþú 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/ * * 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 IøþúT 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 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 ÎOþú 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 CLF INTP TURN OFF ONTPS ZBS72 SFS CH 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 * * * * * * * * * * * * * * * * * * * * * * * SKP 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 JMP ZBIO,I RETUý³NLHRN TO CALLER * ZBI70 NOP CONTROL FAILED CLF INTP TURN OFF INTPS INA JMP ZB70 * 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 08,H025 BI-O COMP/ SKP èvNÿÿ ÿý,> ÿ02762-18002 1546 S C0146 012762A/2762B TERMINAL DIAGNOSTIC             H0101 Gùþú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 DEF ZBS42 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 * * * * * * * HED CONSTANTS AND STORAGE * * * * * * EXECUTIVE LINKAGE TABLES * * * ORG 140B HDMP DEF HDMD CKBTT DEF CKBTP IOIP DEF IODS STDA OCT 177777 SC NOP STDB OCT 0 TST.0 DEF TST00 TSTP DEF TSTD * ORG 150B * ** * * HDMD ASC 20,H027 2762A-2762B TERMINAL PRINTER DIAG./ OCT 177777 * * SKP * POINTERS TO EACH TEST SELECT CODE I/O INSTRUCTION * * IODS EQU * I/O DEF START DEF T1SC1 DEF T1SC2 DEF T1SC3 DEF T1SC4 DEF T.SC1 DEF TOSC1 DEF TOSC2 DEF TOSC3 DEF TISC1 DEF TISC2 DEF TISC3 DEF TISC4 DEF TISC5 DEF T2S1 DEF T2S2 DEF T2S3 DEF T2S4 DEF T2S5 DEF T2S6 DEF T08S1 DEF T08S2 DEF T08S3 DEF T08S4 DEF T08S5 DEF T08S6 DEF TSC1 ADDED SELECT CODE FOR 12966/68 DEF TSC2 ADDED SELECT CODE FOR 12966/68 DEF TSC3 ADDED SELECT CODE FOR 12966/68 DEF TSC4 ADDED SELECT CODE FOR 12966/68 DEF TSC4A ADDED SELECT CODE FOR 12966/68 DEF TSC6 ADDED SELECT CODE FOR 12966/68 DEF TSC7 ADDED SELECT CODE FOR 12966/68 DEF TSC8 ADDED SELECT CODE FOR 12966/68 DEF TSC9 ADDED SELECT CODE FOR 12966/68 DEF TSC10 ADDED SELECT CODE FOR 12966/68 DEF TSC11 ADDED SELECT CODE FOR 12966/68 DEF TSC12 ADDED SELECT CODE FOR 12966/68 DEF TSC13 µòþú ADDED SELECT CODE FOR 12966/68 DEC -1 * * * POINTERS TO ALL TEST LOCATIONS * TSTD EQU * DEF TST0 DEF TST1 DEF TST2 DEF TST03 DEF TST04 DEF TST05 DEF TST06 DEF TST07 DEF TST08 DEF TST09 .M1 DEC -1 * * * * TSC EQU 10B TEST SELECT CODE * HLT0 OCT 106000 HLT1 OCT 106001 HLTSC NOP 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 .8 OCT 10 .10 OCT 10 .17 OCT 17 .20 OCT 20 .77 OCT 77 .100 OCT 100 .M2 DEC -2 .M4 DEC -4 .M10 DEC -10 .M100 DEC -100 .ME3 DEC -1000 * PTM EQU 10B * ZS812 OCT 010400 SW2 OCT 4 BT6 OCT 100 BT7 OCT 200 BT8 OCT 400 BT9 OCT 1000 BT10 OCT 2000 BT11 OCT 4000 BT14 OCT 40000 .M3 DEC -3 .M6 DEC -6 .M7 DEC -7 .M9 DEC -9 .M20 DEC -20 DM28 DEC -28 DM30 DEC -30 DM36 DEC -36 DM75 DEC -75 DM118 DEC -118 DM120 DEC -120 DM60 DEC -60 DM95 DEC -95 BCM DEC -256 TIME1 DEC 2000 TIME4 DEC 5000 CCNT NOP SAVE1 NOP SAVE2 NOP CNTR1 BSS 1 CNTR2 BSS 1 SPCHR BSS 1 SPST BSS 1 TSTAT BSS 1 PP/L1 NOP PP/L NOP NSPC NOP .40 OCT 40 .140 OCT 140 .176 OCT 176 .177 OCT 177 .377 OCT 377 .0 NOP DEL OCT 177 EOT OCT 4 ENQ OCT 5 HT OCT 11 BS OCT 10 VT OCT 13 LF OCT 12 FF OCT 14 FORM FEED CR OCT 15 CARRIAGE RETURN X.OFF OCT 23 CONTROL S .A OCT 101 A NAK OCT 25 .H OCT 110 H .I OCT 111 I .T OCT 124 T .CT OCT 136 CARET .X OCT 130 X .DASH OCT 137 - ESCH1 OCT 15510 ESC H CHAR NOP .0774 OCT 077400 REPC NOP REPETITION COUNT BUFC NOP BUFA DEF *+1 BSS 257 * EBUFA DEF BUFA+257 RBUF DEF *+1 BSS 1 OCT 177777 * BUFB DEF *+1 OCT 101 OCT 102 OCT 103 OCºüþúT 104 OCT 105 OCT 106 OCT 107 OCT 110 OCT 111 OCT 112 OCT 113 OCT 114 OCT 115 OCT 116 OCT 117 OCT 120 OCT 121 OCT 122 OCT 123 OCT 124 OCT 125 OCT 126 OCT 127 OCT 130 OCT 131 OCT 132 OCT 60 OCT 61 OCT 62 OCT 63 OCT 64 OCT 65 OCT 66 OCT 67 OCT 70 OCT 71 OCT 72 * TIME2 DEC 4000 TIME3 DEC 120 DMAH EQU 6 DMAL EQU 2 WCNT DEC -38 .100K OCT 100000 .204 OCT 204 * * * CONSTANTS AND ERROR LINKAGE FOR TEST 2 * * TOLZ1 DEC 32 TOLZ2 DEC 3 TOLZ3 DEC 96 TOLZ4 DEC 9 TOLZ5 DEC 8 TOLZ6 DEC 1 TOLZA NOP TOLZB NOP * * * T2ER1 DEF T2E1 T2ER2 DEF T2E2 T2ER3 DEF T2E3 T2ER4 DEF T2E4 T2ER5 DEF T2E5 T2ER6 DEF T2E6 * * * HED COMMONLY USED SUBROUTINES * * * PUT JMP INSTRUCTION IN TRAP CELL * CALLING SEQUENCE: * * JSB TCJMP PUT INST. IN TRAP CELL * DEF DESTINATION OF JMP (ADDRESS) * TCJMP NOP LDA JMPI GET JUMP INSTRUCTION STA SC,I PUT IT ISC 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 SPC 2 * * * OUTPUT A REG. TO PTM * A2PTM NOP STA SAVE KEEP THE CHARACTER SSA,RSS IS IT A COMMAND? JMP NOCMD NO, OUTPUT A-REG LDA USSC SSA 12966/68? JMP USCTL YES, USE SPEC. 12966/68 LOGIC LDA SAVE T.SC1 OTA PTM YES-DO IT OTEX LDA SAVE RETRIEVE CHARACTER JMP A2PTM,I AND RETURN NOCMD EQU * DATA, NOT COMMAND ALF,ALF UPPER CHR. FIRST AND .177 MASK OFF UNWANTED BITS SZA IS IT ÆþúA CHARACTER JSB A1PTM YES - TRANSFER IT LDA SAVE DO OTHER HALF AND .177 MASK OFF UPPER BITS SZA IS IT A CHARACTER JSB A1PTM YES - TRANSFER IT JMP OTEX NO-RETURN TO CALLER USCTL EQU * USE SPECIAL CONTROL LOGIC LDA OWD4A PUT IT IN TRANSMIT MODE JMP T.SC1 * SAVE NOP * * A1PTM NOP TOSC1 OTA PTM GIVE DATA TO TERMINAL LDA USSC SSA,RSS 12531D? JMP TOSC2 YES LDA OWD1 INSURE BOARD IN CHAR. MODE TSC12 OTA PTM LDA OWD5C CLEAR BUFFER FULL FLAG TSC11 OTA PTM TOSC2 STC PTM,C * CLA * TOSC3 SFC PTM * WAIT FOR JMP CBEF CHAR, XFERED, CLEAR BUF. EMPTY INA,SZA,RSS * TRANSFERED JMP BERR DEVICE FLAG FAILED LOP1 SZA JMP TOSC3 CBEF JSB CBEFL CLEAR BUFFER-EMPTY FLAG JMP A1PTM,I BERR JSB ERMS,I REPORT ERROR DEF BEFE1 JMP LOP1 RCVMK OCT 177377 RECEIVE MODE MASK C120 EQU HT (1001) C30 EQU .6 (0110) C10 EQU .3 (0011) OWD1 OCT 010040 ENABLE DEVICE STATUS INTERRUPTS OWD3 OCT 030066 CHAR, FRAME CONTROL WORD OWD4 OCT 040400 INTERFACE CONTROL WORD OWD4A OCT 0 TRANSMIT MODE CONTROL WORD OWD4B OCT 0 RECEIVE MODE CONTROL WORD OWD5 OCT 150077 INTERRUPT STATUS RESET WORD OWD5A OCT 050002 OWD5B OCT 050077 OWD5C OCT 050010 BEFE1 ASC 21,E052 BUFFER EMPTY FLAG FAILED TO CLEAR./ 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 A2PTM INB,SZB OUTPUT AGAIN? JMP *-2 YES ISZ TMP NO-MOVE TO NEXT CHR. JMP OPDPT+2 DO IT * * OUTPUT DATA PATTERN TABLE WITH DOUBLE * CRLF AT BEGIN AND END OF TABLE * OPPTM NOP JSB RTLF2 JSB OPDPT JSB RTLF2 JMP OPPTM,I SPC 2 * INPUT TO A REG. FROM PTM * PTM3A NOP LDA PTM3A GET RETURN ADDRESS STA PTM2A STORE RETURN ADDRESS LDA ICME CALL FOR INPUT WITH ECHO JMP ECHEK PTM2A NOP LDA ICMD CALL FOR INPUT WITH NO ECHO ECHEK STA AECHO ECHO CHECK FOR DIFFERENT BOARDS RAL,CLE,RAL ELA SAVE ECHO BIT LDA USSC SSA 12966/68? JMP UICTL YES, USE 12966/68 INPUT CONTROLS LDA AECHO TISC1 OTA PTM TISC2 STC PTM,C TISC3 SFC PTM CHECK FOR INPUT JMP TISC4 LDB SW2 IF OPERATOR SELECTS JSB SWRT,I SWR BIT 2 THEN RSS RESET SWR BIT JMP TISC3 ABORT INPUT LDB SW2 AND RETURN JSB SWRT,I P+1 JMP *-2 * JMP ABINP ABORT INPUT TISC4 LIA PTM GET DATA LDB USSC SSB,RSS 12531D? JMP TISC6 YES JSB CBEFL CLEAR BUFFER EMPTY FLAG SSA,RSS VALID DATA? JMP TISC4 NO TISC6 EQU * NOP FOR DEBUGGING AND .177 MASK OFF PARITY ISZ PTM2A ADJUST RETURN FOR DATA ABINP EQU * ABORT INPUT LDB USSC SSB,RSS 12966/68? JMP *+3 NO LDB OWD4A RESTORE OUTPUT MODE TO 12966/68 RSS LDB OCMD RESTORE OUTPUT COMMAND TISC5 OTB PTM JMP PTM2A,I RETURN TO CALLER UICTL EQU * USE INPUT CONTROL LOGIC FOR 66/68 LDA OWD3 SEZ,RSS INCLUDE ECHO? AND ECIþúOMK NO, MASK OUT ECHO BIT TSC7 OTA PTM LDA OWD1 INSURE BOARD IN CHAR. MODE TSC13 OTA PTM LDA OWD4B PUT IT IN RECEIVE MODE JMP TISC1 * NOTE: INFORMATION FOR CONTROL OF 12966/68 BOARDS * IS KEYED OFF OF THE CONTROL WORDS FOR THE * 12531D. IF THE FOLLOWING CONTROL WORDS ARE * CHANGED, A MODIFICATION IN SOME CODING * MIGHT ALSO BE REQUIRED. * ICMD OCT 140000 INPUT WITH OUT ECHO ICME OCT 160000 INPUT WITH ECHO OCMD OCT 120000 SPC 2 * AECHO OCT 0 TEMP LOC OF A-REG. ECOMK OCT 177757 CLEAR ECHO BIT MASK * * CLEAR BUFFER EMPTY FLAG FOR 12966/68 * CBEFL NOP CLEAR BUFFER EMPTY FLAG STA BESAV LDA USSC SSA,RSS 12966/68? JMP CERTN NO, RETURN TSC8 CLC PTM SET BOARD FOR STATUS INPUT TSC9 LIA PTM PICK UP STATUS TSC10 STC PTM RESET TO RECEIVE DATA STA TSTAT SAVE STATUS FOR LATER LDA OWD5B CONTROL WORD 5 TSC1 OTA PTM CERTN LDA BESAV JMP CBEFL,I RETURN BESAV OCT 0 SPC 2 * SKP * OUTPUT A CRLF WITH FILL CHARACTERS * RTLF NOP STA SAVEA SAVE A-REG LDA CR TRANSMIT A JSB A2PTM CARRIAGE RETURN CODE LDA SAVEA RESTORE A-REG JSB .LF DO A LINE FEED WITH FILL CHAR JMP RTLF,I RETURN TO CALLER * * OUTPUT CARRIAGE RETURN * WITH TWO LINE FEEDS * RTLF2 NOP STA SAVEA SAVE A-REG LDA CR TRANSMIT A JSB A2PTM CARRIAGE RETURN CODE LDA SAVEA RESTORE A-REG JSB .LF DO A LINE FEED JSB .LF DO A LINE FEED JMP RTLF2,I RETURN TO CALLER SPC 2 * END OF PAGE - TEST USER OPTIONS FOR A FORM * FEED IF-ZERO THEN CRLF, ELSE FORM FEED * AND CARRIAGE RETURN. * EOP NOP STA SAVEA SAVE A-REG LDA USSC CHECK USER OPTION AND BT10 MASK OFF BT 10 SZA Œvþú FORM FEED OPTION ? JMP EOP1 YES LDA CR NO, CARRIAGE JSB A2PTM RETURN LDA SAVEA RESTORE A-REG JSB .LF DO A LINE FEED JMP EOP,I RETURN TO CALLER EOP1 LDA CR TRANSMIT A JSB A2PTM CARRIAGE RETURN LDA SAVEA RESTORE A-REG JSB .FF DO A FORM FEED JMP EOP,I RETURN TO CALLER SPC 2 .FF NOP EXECUTE FORM FEED STA SAVEA SAVE A-REG STB SAVEB SAVE B-REG LDA FF FORM FEED CODE JSB A2PTM TRANSMIT CODE LDA TIME1 DELAY FOR JSB TMRR,I 2 SECONDS LDA SAVEA RESTORE A-REG LDB SAVEB RESTORE B-REG JMP .FF,I RETURN * .LF NOP EXECUTE LINE FEED STA SAVEA SAVE A-REG STB SAVEB SAVE B-REG LDA USSC GET THE SELECTED BAUD RATE AND BT6 CHECK IT FOR 1200 SZA SKIP FOR 300 JMP *+3 USE 36 FILL CHARACTERS LDB .M9 USE 9 FILL CHARACTERS RSS LDB DM36 LDA USSC AND BT7 GET 110 BAUD RATE OPTION SZA NO LDB .M3 USE THREE FILL CHARS. LDA LF JSB A2PTM OUTPUT FILL LDA DEL FILL CHARACTER .LF1 JSB A2PTM INB,SZB LAST FILL ? JMP .LF1 NO LDA SAVEA RESTORE A-REG LDB SAVEB RESTORE B-REG JMP .LF,I YES - RETURN * .VT NOP EXECUTE VERTICAL TAB STB SAVEB SAVE B-REG STA SAVEA SAVE A-REG LDA VT JSB A2PTM LDA TIME1 DELAY FOR JSB TMRR,I 2 SECONDS LDA SAVEA RESTORE A-REG LDB SAVEB RESTORE B-REG JMP .VT,I RETURN SKP .BS NOP STA SAVEA SAVE A-REG STB SAVEB SAVE B-REG LDA BS JSB A2PTM LDA USSC GET THE SELECTED BAUD RATE AND BT6 CHECK IT FOR 1200 SZA 3 þú SKIP FOR 300 JMP *+3 USE 28 FILL CHARACTERS LDB .M7 USE 7 FILL CHARACTERS RSS LDB DM28 LDA USSC AND BT7 110 BAUD OPTION? SZA NO LDB .M3 YES, USE THREE FILL CHARS. LDA DEL FILL CHARACTER .BS1 JSB A2PTM OUTPUT FILL CHARACTER INB,SZB JMP .BS1 LDA SAVEA RESTORE A-REG LDB SAVEB RESTORE B-REG JMP .BS,I * SAVEA NOP SAVEB NOP SPC 2 .HTS NOP LDA HTS HT SET JSB A2PTM TRANSMIT CODE JMP .HTS,I * HTS OCT 15461 ESC+1 * .HTC NOP LDA HTC HT CLEAR JSB A2PTM TRANSMIT CODE JMP .HTC,I * HTC OCT 15462 ESC+2 SKP * * HED MAIN TEST SECTION ORG ZCEND * ************************************************** * TEST 00 * BASIC I-O TESTS * * TST0 NOP JSB TST.0,I GO TO BASIC I-O SECTION JMP TST0,I RETURN * * * * * * ******************************************************* * TEST 01 * --12531D ONLY-- * CHECKS THE EIGHT BIT DATA REGISTER FOR DROPPING * OR PICKING UP BITS. SPC 1 TST1 NOP LDA USSC SSA 12531D? JMP TST1,I NO, IGNORE THIS TEST CLC 0,C TURN OFF INTERRUPT SYSTEM LDA LPCNT SET LOOP STA CNTR COUNTER T1A CLA SET DATA REG T1SC1 OTA TSC WITH ZEROS T1SC2 LIB TSC READ BACK DATA REG CPB A COMPARE DATA JMP TST1B OK SPC 1 JSB ERMS,I REPORT ERROR DEF T1E00 SPC 1 TST1B LDA .377 SET DATA REG T1SC3 OTA TSC WITH ALL ONE'S T1SC4 LIB TSC READ BACK DATA REG CPB A COMPARE DATA JMP T1B OK SPC 1 JSB ERMS,I REPORT ERROR DEF T1E01 SPC 1 T1B ISZ CNTR LOOP DONE ? JMP T1A NO JMP TST1,I RETUÀ¹þúRN TO EXEC T1E00 ASC 18,E030 DATA REGISTER PICKING UP BITS/ T1E01 ASC 17,E031 DATA REGISTER DROPPING BITS/ SKP * * ******************************************************* * TEST 02 * OSCILLATOR TOL. CHECK (12531D ONLY). IF THE OSCILLATOR * FAILS TOLERANCE TEST, AN ERROR MESSAGE IS PRINTED. * THE CLOCK ENABLE BIT (BUSY BIT) IS CHECKED FOR PROPER * OPERATION. EACH TIME THIS TEST IS ENTERED, OSCILLATOR * AND CLOCK ENABLE ARE CHECKED 20 TIMES. * TST2 NOP LDA USSC SSA 12531D? JMP TST2,I NO, IGNORE THIS TEST LDA USSC AND BT7 110 BAUD? SZA SKIP IF NOT JMP T2A2 GO SET UP FOR 110 BAUD LDA USSC AND BT6 300 OR 1200 BAUD? SZA SKIP IF 300 BAUD JMP T2A1 GO SET UP 1200 BAUD LDA TOLZ1 LDB TOLZ2 JMP T2B T2A1 LDA TOLZ5 SET UP 1200 BAUD CODE LDB TOLZ6 JMP T2B T2A2 LDA TOLZ3 SET UP 110 BAUD LDB TOLZ4 T2B STA TOLZA STB TOLZB LDA .M20 SET LOOP STA CNTR COUNT JSB TCJMP SET INTERRUPT LOCATION DEF T2I1 T2L1 LDA OCMD SET OUTPUT COMMAND JSB A2PTM T2S1 LIA PTM CHECK BUSY STATUS SSA ? JMP T2ER1,I CLA USE NULL CHARACTER CCB SET UP OF TOLZ FLAG STB TMP STF 0 OK - TURN ON THE INTERRUPTS T2S2 OTA PTM OUTPUT IT T2S3 STC PTM,C START CLOCK T2S4 LIA PTM CHECK BUSY STATUS SSA,RSS JMP T2ER2,I LDA TOLZA IT'S OK - START COUNTING JSB TMRR,I WAIT FOR INTERRUPT ISZ TMP SHOW IN TOLZ NOP LDA TOLZB JSB TMRR,I ISZ TMP T2S5 LIA PTM OUT OF TOLZ SSA,RSS CHECK CLOCK ENABLE ? JMP T2ER3,I IT'S DOWN BUT NO FLAG LDA TOLZA IT'S STILL RUNNING JSB TMRR,I WAIT ï—þúFOR IT T2S6 LIA PTM CHECK BUSY BIT AGAIN SSA ? JMP T2ER3,I JMP T2ER6,I ASSUME NO INTERRUPT * T2I1 CLC 0,C INTERRUPTED LDA TMP SZA WAS IT IN TOLERANCE ? JMP *+4 NO ISZ CNTR YES - 20 LOOPS DONE ? JMP T2L1 NO JMP TST2,I YES - RETURN TO EXEC SSA IS IT FAST OR SLOW ? JMP T2ER4,I FAST - REPORT IT JMP T2ER5,I SLOW - REPORT IT ERT JMP TST2,I RETURN TO EXEC FROM ERROR SPC 1 * * * TEST 2 ERROR MESSAGES ORG 4000B MOVE TO NEXT PAGE * T2E1 JSB ERMS,I BUSY BIT UP DEF T2E00 ERROR MESSAGE ADDRESS JMP ERRT RETURN TO EXEC T2E2 JSB ERMS,I NO BUSY STATUS DEF T2E01 ERROR MESSAGE ADDRESS JMP ERRT,I RETURN TO EXEC T2E3 JSB ERMS,I BUSY WENT DOEN BUT NO FLAG DEF T2E02 ERROR MESSAGE ADDRESS JMP ERRT,I RETURN TO EXEC T2E4 JSB ERMS,I FAST REPORT IT DEF T2E03 ERROR MESSAGE ADDRESS JMP ERRT,I RETURN TO EXEC T2E5 JSB ERMS,I SLOW REPORT IT DEF T2E04 ERROR MESSAGE ADDRESS JMP ERRT,I RETURN TO EXEC T2E6 JSB ERMS,I NO INTERRUPT DEF T2E05 ERROR MESSAGE ADDRESS JMP ERRT,I RETURN TO EXEC ERRT DEF ERT * T2E00 ASC 9,E032 BUSY STATUS/ T2E01 ASC 10,E033 NO BUSY STATUS/ T2E02 ASC 15,E034 BUSY WENT LOW BUT NO INT/ T2E03 ASC 7,E035 OSC,FAST/ T2E04 ASC 7,E036 OSC,SLOW/ T2E05 ASC 14,E037 CLOCK DID NOT TIME OUT/ * SKP * * ******************************************************* * TEST 03 * PRINTER TEST CHECKS ALL THE PRINTING FUNCTIONS * OF THE POINTER. ALL PRINTING AND NON-PRINTING CHARACTERS * ARE OUTPUT. THE OPERATOR MUST VERIFY THAT THE OUTPUT * MATCHES THE TABLE IN THE M.O.D. TO INSURE THAT THE * PRINTER IS OPERATING CORRECTLY. * * * ALL PRINTING CHARACTER * TST03 NOP Gµþú LDA USSC CHECK 75/118 PRINT POSITION AND BT8 MASK OFF BIT 8 LDB DM120 SZA,RSS 0=2762A 1=2762B LDB DM118 LDA USSC AND BT9 MASK OFF BIT 9 SZA,RSS 0=75/75 1=118/120 FOR 2762A/B LDB DM75 STB PP/L1 PRINT POSITIONS/LINE STB PP/L LDA OCMD OUTPUT JSB A2PTM PRINT COMMAND JSB EOP LDB T03H1 * PRINTER TEST JSB OPPTM OUTPUT MESSAGE LDB T03M1 * ALL-PRINTING CHAR JSB OPPTM OUTPUT MESSAGE LDB .M2 NUMBER OF PASSES T03A LDA .40 FIRST CHARACTER T03B JSB A2PTM OUTPUT IT TO TERMINAL INA NEXT CHARACTER CPA .177 END OF COLUMN 7 ? JMP T03D YES CPA .140 END OF COLUMN 5 ? JMP T03C YES CPA .100 END OF COLUMN 3 ? JMP T03C YES JMP T03B NO T03C JSB RTLF OUTPUT CRLF JMP T03B CONTINUE LOOP T03D INB,SZB FINISHED ? RSS NO JMP T03E YES JSB RTLF2 OUTPUT 2 CRLF JMP T03A REPEAT TEST T03E JSB RTLF * * NON-PRINTING CHARACTER TEST * LDB T03M2 * ALL NON-PRINTING CHAR JSB OPPTM OUTPUT MESSAGE LDA .M10 TEN TIMES STA CNTR1 T03I CCA FIRST CHARACTER T03H INA NEXT CHARACTER CPA LF OMIT ALL CODE WHICH JMP T03H CAUSE PRINTER CPA BS ACTION JMP T03H * CPA VT * JMP T03H * CPA FF * JMP T03H * CPA HT * JMP T03H * CPA NAK JMP T03H CPA EOT * JMP T03H * CPA ENQ * JMP T03H * JSB A2PTM TRANSMIT CHARACTER CPA .40 LAST CHARACTER ? RSS YES JMP T03H NO ISZ CNTR1 END OF TEST ? à•HFB JMP T03I NO,CONTINUE * * LINE FEED TEST * LDB T03M3 * LINE FEED TEST JSB OPPTM OUTPUT MESSAGE LDA .M20 PRINT 20 A'S STA CNTR1 AND OUTPUT 20 LF T03J LDA .A PRINT THE JSB A2PTM LETTER A JSB .LF DO A LINE FEED ISZ CNTR1 END OF TEST ? JMP T03J NO * * BACK SPACE TEST * LDB T03M4 * BACK SPACE TEST JSB OPPTM OUTPUT MESSAGE LDA PP/L1 PRINT A FULL STA CNTR1 LINE OF CT & - CHARACTERS T03P LDA .CT PRINT CARET JSB A2PTM SYMBOL JSB .BS BACK-SPACE LDA .DASH PRINT DASH JSB A2PTM SYMBOL ISZ CNTR1 END OF TEST ? JMP T03P NO * * ESCAPE SERIES TEST (ESC J AND ESC H ONLY) YÎHÿÿ ÿý-> ÿ02762-18003 1546 S C0146 012762A/2762B TERMINAL DIAGNOSTIC             H0101 Hùþú* LDA USSC OPTIONS AND BT8 SAVE ONLY BIT 8 SZA,RSS 2762A? JMP T03T1 YES, SKIP TEST FOR 2762B LDB ZS812 CHECK FOR ORERATOR JSB SWRT,I INTERVENTION JMP T03T1 LDB T03M8 ESCAPE SERIES TEST MESSAGE JSB OPPTM OUTPUT MESSAGE JSB RTLF DO CRLF LDB T03MB JSB OPDPT OUTPUT ESC J AND ESC H TEST MSG. JSB RTLF DO CRLF LDB T03MC JSB OPDPT JSB RTLF DO CRLF JSB RTLF DO CRLF LDB NUL36 FILL CHAR JSB OPDPT LDA ESCJ JSB A2PTM TURN OFF MOTOR HLT 51 LDA ESCH JSB A2PTM TURN ON MOTOR LDB NUL52 FILL CHAR. JSB OPDPT T03T1 LDB T03M6 JSB OPPTM JMP TST03,I EXIT TEST 03 T03H1 DEF *+1 ASC 6,PRINTER TEST OCT 177777 * T03M1 DEF *+1 ASC 12,ALL PRINTING CHARACTERS OCT 177777 * T03M2 DEF *+1 ASC 14,ALL NON-PRINTING CHARACTERS OCT 177777 * T03M3 DEF *+1 ASC 7,LINE FEED TEST OCT 177777 * T03M4 DEF *+1 ASC 8,BACK SPACE TEST OCT 177777 * T03M6 DEF *+1 ASC 11,PRINTER TEST COMPLETE OCT 177777 * T03M8 DEF *+1 ASC 21,ESCAPE SERIES TEST (ESC J AND ESC H ONLY). OCT 177777 T03MB DEF *+1 ASC 19,THE PRINTER MOTOR SHOULD AUTOMATICALLY ASC 18, TURN OFF AND THE COMPUTER HALT WITH ASC 7, MDR = 102012. OCT 177777 T03MC DEF *+1 ASC 19,PRESS "RUN" TO RESUME TESTING AND TURN ASC 7, THE MOTOR ON. OCT 177777 ESCH OCT 015510 ESC H ESCJ OCT 015512 ESC J NUL36 DEF *+1 OCT 156000 -36,NULL DEC -1 NUL52 DEF *+1 OCT 146000 -52,NULL DEC -1 SKP * * ******************************************************* * TEST 04 * VERIFYS KEYBOARD INPUT BY OUTPUTTING THE REQUESTED * KEYS 1 LINE AT A TIME. THE OPERATOR WILL ENTER EA¦¥þúCH * KEY REQUESTED, IF IT DOES NOT COMPARE THE OCTAL * EQUIVALENT OF THE INPUT WILL BE OUTPUT. AT THE END * OF THE REQUESTED DATA, THE PROGRAM ALLOWS ANY KEY TO BE * INPUT; IF IT PRINTABLE IT IS ECHOED. IF IT ISN'T * THE OCTAL EQUIVALENT IS OUTPUT. * * TST04 NOP LDB ZS812 CHECK FOR OPERATOR JSB SWRT,I INTERVENTION JMP TST04,I NO! LDA OCMD SET FOR OUTPUT JSB A2PTM JSB EOP DO A FORM FEED ? LDB T04H1 JSB OPPTM * JSB TRT04 FIRST ROW UNSHIFTED DEF T04H2 DEF T04PA DEF T04PA * JSB TRT04 SECOND ROW UNSHIFTED NOP DEF T04PB DEF T04PB * JSB TRT04 THIRD ROW UNSHIFTED NOP DEF T04PC DEF T04PC * JSB TRT04 FOURTH ROW UNSHIFTED NOP DEF T04PD DEF T04PD * JSB TRT04 FIRST ROW SHIFTED DEF T04H3 DEF T04PE DEF T04PE * JSB TRT04 SECOND ROW SHIFTED NOP DEF T04PF DEF T04PF * JSB TRT04 THIRD ROW SHIFTED NOP DEF T04PG DEF T04PG * JSB TRT04 FORTH ROW SHIFTED NOP DEF T04PH DEF T04PH * JSB TRT04 FIRST ROW CONTROL+ DEF T04H4 DEF T04PJ DEF T04PK * JSB TRT04 SECOND ROW CONTROL+ NOP DEF T04PL DEF T04PM * JSB TRT04 THIRD ROW CONTROL+ NOP DEF T04PN DEF T04PO * JSB TRT04 FORTH ROW CONTROL+ NOP DEF T04PP DEF T04PQ * JMP T04FI GO TO FREE INPUT SECTION * T04H1 DEF *+1 ASC 10,INPUT THE FOLLOWING: OCT 177777 * T04H2 OCT 15 ASC 5,UNSHIFTED+ OCT 177777 * T04PA OCT 76173 174+173 ASC 5,1234567890 OCT 26537 55+137 OCT 76576 175+176 OCT 177777 * T0©Ïþú4PB OCT 70567 LOW CASE Q+W OCT 62562 LOW CASE E+R OCT 72171 LOW CASE T+Y OCT 72551 LOW CASE U+I OCT 67560 LOW CASE O+P OCT 60040 LOW CASE 140+SP OCT 177777 * T04PC OCT 60563 LOW CASE A+S OCT 62146 LOW CASE D+F OCT 63550 LOW CASE G+H OCT 65153 LOW CASE J+K OCT 66073 LOW CASE L+; OCT 35040 LOW CASE :+SP OCT 177770 * T04PD OCT 75170 LOW CASE Z+X OCT 61566 LOW CASE C+V OCT 61156 LOW CASE B+N OCT 66454 LOW CASE M+, OCT 27057 LOW CASE .+/ OCT 177777 * T04H3 OCT 15 ASC 3,SHIFT+ OCT 177777 * T04PE OCT 56133 134+133 ASC 5,!"#$%&'()= OCT 56536 135+136 OCT 177777 * T04PF ASC 6,QWERTYUIOP@ OCT 177777 * T04PG ASC 6,ASDFGHJKL+* OCT 177777 * T04PH ASC 5,ZXCVBNM<>? OCT 177777 * T04H4 OCT 15 ASC 4,CONTROL+ OCT 177777 * T04PN OCT 60563 CNTRL A+S FOR MESSAGE OCT 62146 D+F OCT 63440 G+SP OCT 177777 * T04PO OCT 423 CNTRL A+S EXPECTED DATA OCT 2006 D+F OCT 3440 G+SP OCT 177777 * T04PP OCT 75170 CNTRL Z+X FOR MESSAGE OCT 61566 C+V OCT 61156 B+N OCT 177777 * T04PQ OCT 15030 CNTRL Z+X EXPECTED DATA OCT 1426 C+V OCT 1016 B+N OCT 177777 * T04PJ OCT 76137 174+137 FOR MESSAGE OCT 76576 175+176 OCT 177777 * T04PK OCT 16037 34+37 EXPECTED DATA OCT 16436 35+36 OCT 177777 * T04PL OCT 70567 CNTRL Q+W FOR MESSAGE OCT 62562 E+R OCT 72171 T+Y OCT 72557 U+O OCT 70140 >Ðþú P+140 OCT 177777 * T04PM OCT 10427 CNTRL Q+W EXPECTED DATA OCT 2422 CNTRL E+R OCT 12031 CNTRL T+Y OCT 12417 CNTRL U+O OCT 10000 CNTRL P+140 OCT 177777 * SPC 1 TRT04 NOP LDB BT9 JSB SWRT,I ABORT? JMP TST04,I YES LDB TRT04,I OUTPUT HEADER SZB IF THERE IS ONE JMP *+2 JMP *+3 JSB RTLF JSB OPDPT JSB RTLF ISZ TRT04 LDB TRT04,I OUTPUT REQUEST LINE CLE,ELB SET UPPER/LOWER FLAG STB PTR USE AS POINTER TO TABLE T04L1 JSB TBL2A GET A CHARACTER FROM TABLE JMP T04N1 NO MORE CPA .1SPC IF SPACE JMP T04N1 SKIP IT JSB A2PTM LDA .1SPC JSB A2PTM LDA .2SPC JSB A2PTM JMP T04L1 MOVE TO NEXT CHARACTER T04N1 JSB RTLF ISZ TRT04 LDB TRT04,I GET COMPAIR CHR. ISZ TRT04 CLE,ELB SET UPPER/LOWER FLAG STB PTR SAVE AS TABLE POINTER T04L2 JSB TBL2A GET A CHARACTER FROM TABLE JMP TRT04,I NO MORE CHARACTERS CPA .1SPC JMP TRT04,I STA TMP SAVE IT FOR COMPAIR JSB PTM2A GO GET INPUT JMP T04FI GO TO FREE INPUT SECTION AND .177 MASK PARITY BIT CPA TMP WAS IT OK? JMP T04O1 LDB T04BD NO-OUTPUT CCE OCTAL JSB 124B,I EQU. LDB T04BD ADB .2 JSB OPDPT JMP *+3 T04O1 LDB T04SP YES-OUTPUT 5 SPACES JSB OPDPT JMP T04L2 SPC 2 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 TEMINATOR JMP TBL2A,I YES SEZ,RSS NO-IS IT UPPER OR LOWER ALF,ALF IT'S UPPER AND .177 MASK OFF UNWANTE@5þúD BITS ISZ PTR MOVE TO NEXT CHARACTER ISZ TBL2A ADJUST CHARACTER RETURN JMP TBL2A,I SPC 1 PTR NOP .1SPC OCT 40 .2SPC ASC 1, * T04BD DEF *+1 NOP NOP NOP ASC 1, OCT 177777 * T04SP DEF *+1 OCT 176040 OCT 177777 SPC 1 T04FI LDB T04H9 TELL OPERATOR TO JSB OPPTM INPUT ANY KEY LDA .M10 ALLOW ONLY 10 INPUTS STA CNTR BEFORE DOING CRLF T04L3 JSB PTM2A CALL FOR IT JMP TXT04 INPUT ABORTED RETURN TO EXEC CPA X.OFF CONTROL S ? JMP TXT04 YES AND .177 MASK OFF PARITY BITS LDB A ADB .M41 SSB * JMP T04N2 *CHECK ADB .M100 * FOR SSB,RSS * DISP. CHR JMP T04N2 * STA T04P9+1 IT'S OK LDB T04P9 ECHO IT JSB OPDPT JMP T04N3 DO IT AGAIN T04N2 LDB T04BD NO-OUTPUT CCE OCTAL EQUIV. JSB 124B,I LDB T04BD ADB .2 JSB OPDPT T04N3 ISZ CNTR ENOUGH FOR THIS LINE? JMP T04L3 NO JSB RTLF JMP T04L3-2 TXT04 JSB RTLF JMP TST04,I * T04P9 DEF *+1 NOP ASC 2, OCT 177777 * T04H9 DEF *+1 ASC 7,INPUT ANY KEY OCT 177777 * .M41 OCT 177737 SKP * * ******************************************************* * TEST 05 * THE VT & FF TEST CHECK FOR PROPER OPERATION OF THE * VERTICAL TAB AND FORM FEED. THE OPERATOR INSTALLS * HIS OWN VTFF DISC PUNCHED AS DESCRIBED IN THE M.O.D. * A SERIES OF FF & VT CODES FOLLOWED BY MESSAGES * INDICATING THE LINE NUMBER AND DISTANCE IN CENTIMETERS * (CM) FROM REFERANCE POINT. * * TST05 NOP LDA OCMD OUTPUT PRINT JSB A2PTM COMMAND TO INTERFACE LDA USSC USERS OPTIONS AND BT10 VT & FF OPTION ? SZA JMP T05A YES rlþú LDB MS05I NO - REPORT TEST JSB OPPTM ABORTED JMP TST05,I RETURN TO EXEC T05A JSB .FF DO FORM FEED LDB T05H1 * VT & FF TEST JSB OPPTM OUTPUT MESSAGE LDB ZS812 CHECK FOR OPERATOR JSB SWRT,I INTERVENTION JMP T05C NO! LDB T05M1 * INSTALL DISC JSB OPPTM OUTPUT HEADER LDB MS05A * SIGNAL READY JSB OPPTM OUTPUT MESSAGE T05B LDA ICMD CALL FOR JSB PTM2A INPUT - SIGNAL READY CTL S JMP T05C SW REG BIT SET, EXIT CPA X.OFF CONTROL S ? JMP T05C YES LDA OCMD NO - WRONG KEY JSB A2PTM INDICATE LDB MS05H WRONG KEY JSB OPPTM TO OPERATOR JMP T05B RETURN TO INPUT T05C JSB .FF DO FORM FEED LDB MS05B - REFERANCE JSB OPDPT JSB .VT DO VERT TAB LDB MS05C - 15 LINE JSB OPDPT JSB .VT DO VERT TAB LDB MS05D - 33 LINE JSB OPDPT JSB .VT DO VERT TAB LDB MS05E - 49 LINE JSB OPDPT JSB .FF DO FORM FEED LDB MS05F - TOP OF FORM JSB OPDPT JSB .FF DO FORM FEED LDB MS05G - VT&FF COMP JSB OPDPT JMP TST05,I * * T05H1 DEF *+1 ASC 6,VT & FF TEST OCT 177777 T05M1 DEF *+1 ASC 20,PUNCH VT & FF DISC OR TAPE AS DESCRIBED ASC 5,IN M.O.D. OCT 177777 MS05A DEF *+1 ASC 15,INSTALL DISC - TYPE CONTROL S ASC 8,TO SIGNAL READY OCT 177777 * MS05B DEF *+1 OCT 15 ASC 6,- REFERENCE OCT 177777 * MS05C DEF *+1 OCT 15 ASC 3,- 16' OCT 72150 ASC 14, LINE, 6.7 CM FROM REFERENCE OCT 177777 * MS05D DEF *+1 OCT 15 ASC 3,- 33' OCT 71144 ASC 15, LINE, 13.9 CM FROM REFERENCE OCT 177777 * MS05E DEF *+1 OCT 15 ASC 3,- 4àÿþú9' OCT 72150 ASC 15, LINE, 20.6 CM FROM REFERENCE OCT 177777 * MS05F DEF *+1 OCT 15 ASC 19,- TOP OF FORM, 27.8 CM FROM REFERENCE OCT 177777 * MS05G DEF *+1 OCT 15 ASC 9,VT & FF TEST COMP OCT 177777 * MS05H DEF *+1 ASC 6,WRONG KEY ! OCT 177777 * MS05I DEF *+1 ASC 16,VT & FF OPTION NOT CONFIGURED - ASC 8,TEST 05 ABORTED OCT 177777 SKP * * ******************************************************* * TEST 06 * CHECK FOR PROPER OPERATION OF THE HORIZONTAL TAB. * THE HT IS SET AT EVERY FIFTH POSISTION. THE LETTER * X IS THEN PRINTED AT EACH HT POSITION. THEN EACH HT * ARE MOVE OVER ONE POSITION. THIS OPERATION IS CONTINUED * UNTIL EACH HT SET IS COMPLETED. * * TST06 NOP LDA OCMD OUTPUT JSB A2PTM PRINT COMMAND JSB EOP BEGIN NEW PAGE LDA USSC CHECK USER OPTION AND BT11 MASK OFF BIT 11 SZA IS HT CONFIGURED ? JMP T06A YES LDB M06A NO - JSB OPPTM TELL OPERATOR NOT CONFIGURED JMP TST06,I EXIT TST06 T06A LDA DM30 NUMBER OF TAB POSITIONS/LINE STA CNTR1 LDA .M4 NUMBER OF SPACES STA CNTR2 BETWEEN TAB SETS LDA .M1 BEGIN WITH ONE SP STA NSPC NUMBER OF SPACES LDB M06B TELL OPERATOR JSB OPPTM HT TEST JSB .HTC CLEAR HT'S T06E LDB NSPC NUMBER OF SPACES LDA .40 SPACE CODE JSB A2PTM TRANSMIT CODE INB,SZB LAST SPACE ? JMP *-2 NO JSB .HTS YES,TRANSMIT HT SET T06B LDB .M4 NUM OF SPACES BETWEEN HT SETS LDA .40 SPACE CODE T06C JSB A2PTM TRANSMIT CODE INB,SZB LAST SPACE ? JMP T06C NO JSB .HTS YES,TRANSMIT HT SET ISZ CNTR1 LAST HT ? JMP T06B NO ]þú JSB RTLF YES, RETURN TO FIRST HT SET LDA DM30 RESET COUNTER STA CNTR1 T06D LDA .X PRINT THE JSB A2PTM LETTER X LDA HT AT EACH HT SET JSB A2PTM ISZ CNTR1 LAST HT ? JMP T06D NO JSB .HTC YES, CLEAR HT'S JSB RTLF RETURN + LINE FEED ISZ CNTR2 END OF TEST ? RSS NO JMP T06F YES LDA NSPC START HT SET CMA,INA IN NEXT COLOUM CMA * STA NSPC * LDA DM30 RESET COUNTER STA CNTR1 JMP T06E REPEAT TEST T06F LDA HT TRANSMIT HT CODE, SHOULD GO TO JSB A2PTM COLOUM 119. TRANSMIT LETTER LDA .X X, THE LETTER X SHOULD JSB A2PTM NOT B PRINTED. LDB M06C REPORT JSB OPPTM END OF TEST JMP TST06,I RETURN TO TCP SPC 1 M06A DEF MS06A M06B DEF MS06B M06C DEF MS06C * * ORG 6000B * MOVE TO NEXT PAGE * MESSAGES FOR TEST 06 MS06A ASC 22,HORIZ TAB NOT CONFIGURED, TEST 06 ABORTED OCT 177777 MS06B ASC 7,HORIZ TAB TEST OCT 177777 MS06C ASC 10,HORIZ TAB TEST COMP OCT 177777 * * SKP ******************************************************* * TEST 07 * THE KEYBOARD AND PRINTER MECHANISM IS CHECK BY AN * ECHO BACK TEST. THE OPERATOR SPECIFIES A SEQUENCE OF * CHARACTERS AND A NUMBER OF REPETITIONS. * * TST07 NOP LDB ZS812 CHECK FOR OPERATOR JSB SWRT,I INTERVENTION JMP TST07,I NO! ABORT LDA OCMD OUTPUT PRINT JSB A2PTM COMMAND TO INTERFACE JSB EOP DO A FORM FEED ? LDB MES01 TELL OPERATOR ECHO BACK TEST JSB OPPTM OUTPUT MESSAGE JSB EBIB INPUT BUFF JSB EBI INPUT REPETITION COUNT JSB EBPB PRINT BACK BUFFER LDB MES06 ECHO BACK CO„ªþúMP JSB OPPTM OUTPUT MESSAGE JMP TST07,I * EBIB NOP ECHO BACK INPUT CHARACTER BUFF LDA BCM BUFFER COUNT MAX -256 STA BUFC STORE COUNT LDA BUFA GET ADDRESS STA SAVE2 OF BUFFER LDB MES05 CALL FOR INPUT TO BUFFER JSB OPPTM OUTPUT MESSAGE LP1 JSB PTM3A CALL FOR INPUT JMP OV1 TERMINATE WITH SW-REG BIT 2 CPA X.OFF TERMINATE WITH CONTROL S JMP OV1 LAST CHARACTER TO BUFFER STA SAVE2,I STORE CHARACTER ISZ SAVE2 ISZ BUFC INCREMENT BUF COUNTER JMP LP1 RETURN FOR INPUT OV1 CCA TERMINATE INPUT STA SAVE2,I SET BUFF WITH TERMINATOR JMP EBIB,I RETURN * EBI NOP L1 LDA .M2 LOAD CHARACTER COUNT STA CCNT WITH -2 CLA CLEAR REPETITIONS STA RBUF,I BUFFER LDA .M3 MAX NUM OF STA REPC REPETITIONS * LDA TDLY1 JSB TMRR,I DELAY LDB MES02 TELL OPERATOR TO JSB OPPTM ENTER REP COUNT L2 JSB PTM3A CALL FOR INPUT JMP TST07,I CPA X.OFF JMP TST07,I CPA CR RETURN TO INPUT : JMP L2 - IF CARRIAGE RETURN CPA DEL - IF DELETE JMP L1 CPA LF TERMINATE REP COUNT JMP L3 IF LINE FEED ISZ REPC IF MORE THAN 3 CHARACTER RSS THEN REPORT ERROR JMP L4 AND RETURN TO INPUT ISZ CCNT LAST CHARACTER ? RSS NO - JMP L5 YES - ALF,ALF PACK 1'ST CHARACTER AND .0774 IN UPPER 8 BITS STA SAVE1 AND Z'ND CHARACTER JMP L2 IN LOWER 8 BITS L5 AND .177 IOR SAVE1 STA SAVE1 JMP L2 CALL FOR INPUT L3 LDA SAVE1 GET REP COUNT STA RBUF,I STORE IN REP BUF STA RBUF1 STORE ASCII FOR MESSAGE æMþúCLA,CLE CONVERT ASCII CHARACTERS LDB RBUF TO INTEGER JSB AS2N,I CMA,INA MAKE NUMBER NEGATIVE STA REPC STORE IN REP COUNT CPA .0 IF REP COUNT = 0 JMP L4 THEN REPORT ERROR LDA TDLY1 JSB TMRR,I DELAY LDB MES03 * # OF REPS JSB OPPTM OUTPUT MESSAGE JMP EBI,I RETURN * L4 EQU * LDA TDLY1 JSB TMRR,I DELAY LDB MES04 TELL OPERATOR AN ILLEGAL JSB OPPTM INPUT WAS DETECTED JMP L1 RETURN TO INPUT TDLY1 DEC 4 * EBPB NOP ECHO BACK PRINT BUFFER LDA REPC GET REPETITION COUNT STA SAVE1 STOR REP COUNT EBPB4 LDA BUFA GET ADDRESS OF BUFFER STA SAVE2 STORE BUFFER ADDRESS EBPB1 LDB SW2 CHECK SW-REG BIT 2 FOR EXIT JSB SWRT,I IF OPERATOR RSS SET THEN JMP EBPB2 RESETS LDB SW2 SWR BIT 2 JSB SWRT,I THEN EXIT JMP *-2 ECHO BACK PRINT ROUTINE JMP EBPB,I RETURN TO EXEC EBPB2 EQU * LDA SAVE2,I GET CHARACTER CPA .M1 LAST CHARACTER? JMP EBPB3 YES AND .177 NO JSB COMP DOES CHARACTER REQUIRE FILL ? JSB A2PTM NO-OUTPUT CHARACTER ISZ SAVE2 JMP EBPB1 LOOP BACK EBPB3 ISZ SAVE1 INCREMENT REP COUNT JMP *+2 JMP EBPB,I FINISHED JSB RTLF JMP EBPB4 CONTINUE WITH NEXT REPETITION * COMP NOP CPA VT VERT TAB ? JMP IVT YES CPA FF FORM FEED ? JMP IFF YES CPA LF LINE FEED ? JMP ILF YES CPA BS BACK SPACE ? JMP IBS YES JMP COMP,I NO RETURN P+1 * IVT JSB .VT CALL VT ROUTINE RSS IFF JSB .FF CALL FF ROUTINE RSS ILF JSB .LF CALL LF ROUTINE RSS IBS JSB .BS CALL BS ROUTINE üœþú ISZ COMP INCREMENT RETURN ADDRESS JMP COMP,I RETURN P+2 * * MES01 DEF *+1 ASC 7,ECHO BACK TEST OCT 6412,6412 OCT 177777 MES05 DEF *+1 ASC 10,INPUT CHARACTER (S) ASC 14,TERMINATE INPUT WITH CONTROL OCT 20163 OCT 177777 * MES02 DEF *+1 ASC 13,NUMBER OF REPETITIONS ? OCT 177777 * MES03 DEF *+1 RBUF1 ASC 8, REPETITIONS ! OCT 177777 * MES04 DEF *+1 ASC 7,ILLEGAL INPUT OCT 177777 * MES06 DEF *+1 ASC 10,ECHO BACK TEST COMP OCT 177777 SKP * * ******************************************************* * TEST 08 * --12966/68 ONLY-- * THE DMA TEST CHECKS THE DMA PORTION OF THE INTERFACE * (SRQ FLIP/FLOP) BY REQUESTING A DMA CYCLE. * TST08 NOP LDA USSC SSA,RSS 12531D? JMP TST08,I YES, RETURN LDA .100K JSB A2PTM COMMAND TO INTERFACE JSB EOP DO FORM FEED ? LDA 115B CHECK FOR AND .204 DMA OPITION SZA,RSS DMA HARDWARE ? JMP M08A NO DMA LDA OWD4A SET UP FOR DMA IOR .20 TURN ON DMA T08S2 OTA PTM LDA OWD1 TURN OFF CHAR MODE AND CHOFF T08S3 OTA PTM LDA USSC CONFIGURE DMA CW AND .77 IOR .100K OTA DMAH INITALIZE DMA CLC DMAL * LDA BUFB * OTA DMAL * STC DMAL * LDA WCNT * OTA DMAL * T08S4 STC PTM,C STC DMAH,C * LDA TIME1 WAIT FOR DMA JSB TMRR,I TO FINISH SFS DMAH IS DMA FINISHED ? JMP M08C DMA TIME OUT LDA OWD4A T08S5 OTA PTM RESTORE BOARD LDA OWD1 T08S6 OTA PTM T08S1 SFS TSC IS PTM FINISHED ? JMP M08C DEVICE TIME OUT JSB RTLF RETURN LINE FEED T08 JMP M08B DMA FINISHED T081 JSB RTLF RETU¼þúRN LINE FEED CLC 0,C JSB CKBTT,I REINITIALIZE BOARD JMP TST08,I RETURN * * M08A JSB MSGC,I DEF T08M0 JMP T08 M08B JSB MSGC,I DEF T08M1 JMP T081 M08C JSB ERMS,I DEF T08E0 JMP T08 * CHOFF OCT 177757 TURN DMA OFF * * TEST 8 MESSAGES * * T08M0 ASC 12,H040 DMA NOT CONFIGURED/ T08M1 ASC 12,H041 DMA TEST COMPLETE/ T08E0 ASC 9,E042 DMA TIME OUT/ SKP * ********************************************** * TEST09 RIPPLE PRINT TEST * * TST09 NOP LDA OCMD JSB A2PTM LDB T09M1 * RIPPLE PRINT TEST JSB OPPTM OUTPUT MESSAGE LDA DM60 NUM OF LINES/PAGE STA CNTR2 LDA DM95 NUMBER OF STA CNTR1 LINES TO PRINT LDA OCMD OUTPUT PRINT JSB A2PTM TO TERM. JSB EOP DO FORM FEED LDA USSC CHECK 75/118 PRINT POSITION AND BT8 MASK OFF BIT 8 LDB DM120 SZA,RSS 0=2762A 1=2762B LDB DM118 LDA USSC AND BT9 MASK OFF BIT 9 SZA,RSS 0=75/75 1=118/120 LDB DM75 STB PP/L1 STB PP/L PER LINE LDA .40 FIRST CHARACTER STA CHAR STORE STA SAVE1 CHARACTER T09F EQU * LDB BT9 JSB SWRT,I ABORT? JMP T09 YES LDA CHAR JSB A2PTM PRINT CHARACTER ISZ CHAR NEXT CHARACTER NOP CPA .176 LAST CHARACTER ? JMP *+2 YES JMP T09N NO LDA .40 GET FIRST CHARACTER STA CHAR AND STORE T09N ISZ PP/L END OF PRINT LINE ? JMP T09F NO,CONTINUE PRINTING ISZ SAVE1 NEXT CHARACTER + 1 NOP LDA SAVE1 STORE STA CHAR CHARACTER ISZ CNTR1 END OF TEST ? JMP *+2 NO JMP T09 YES,RETURN TO TCP LDA PP/L1 RESET COUNTER STA PP/L 1JNLH ISZ CNTR2 END OF PAGE ? JMP T09G NO LDA DM60 YES, RESET STA CNTR2 COUNTER JSB EOP DO A FORM FEED JMP *+2 T09G JSB RTLF DO CRLF JMP T09F T09 LDB T09M2 * PRINTER TEST COMP JSB OPPTM OUTPUT MESSAGE NOP JMP TST09,I EXIT TEST 09 T09M1 DEF *+1 ASC 9,RIPPLE PRINT TEST OCT 177777 T09M2 DEF *+1 ASC 14,RIPPLE PRINT TEST COMPLETE OCT 177777 * FWAA EQU * * END ç¢Nÿÿ ÿý.@ ÿ07260-18001 1515 S 0111 ACR01-ASYNC.DOS DVR. FOR 7260 MARK READER             H0101 ÃZþúASMB,R,B,L,T,C HED *** ASYNCHRONOUS CARD READER DRIVER ACR01 *** NAM ACR01,6 ENT ACR01,H7260 EXT .ENTR,EXEC * * * LOGICAL DRIVER FOR THE 7260A CARD READER *** * * LU NOP H7260 NOP LINE NOP IXT NOP * * INITIALIZATION SECTION *** * * ACR01 NOP JSB .ENTR GET PARAMETERS DEF LU FROM CALLING PROGRAM LDB IXT SET EXTENSION ADDRESS STB X1 FOR EXEC ADB P04$ *EQT22 LDA READ READ SECTION ENTRY POINT STA B,I CONFIGURE EQT 22 INB *EQT23 LDA WRITE WRITE SECTION ENTRY POINT STA B,I CONFIGURE EQT23 INB *EQT24 LDA CONTL CONTROL SECTION ENTRY POINT STA B,I CONFIGURE EQT24 LDA IXT SET UP EQT ADDRESSES JSB SETQI OF EXTENSION EQT LDA IQT18,I GET EQT EXTENSION LENGTH LDB D28 PRIME FOR TRACE TABLE CPA D31 TRACE SPECIFIED ? CLB NO - CLEAR POINTER STB IQT48,I SET UP INDEX LDA LINE,I GET THE PLEX DATA RAR,RAR ROTATE RAR,SLA IS IT RIGHT SPEED ? RSS YES - GO AHEAD JMP BAD NO - REJECT AND P17$ MASK OUT JUNK STA B SAVE THE BAUD RATE BLF,BLF ROTATE IOR B SET UP INPUT RATE STA IQT21,I = OUTPUT RATE BLF,BLF RESET BAUD RATE CPB P01$ IS IT 110 BPS ? CLA,INA,RSS YES - SET TWO STOP BITS CLA NO - ONLY ONE RAL,RAL ROTATE A INA EVEN - SET A REG. RAL,ALF ROTATE AGAIN IOR P07$ SET UP CHARACTER LENGTH ALF,RAR PRE-ROTATE OF 3 LDB LINE,I GET LINE PLEX SLB WITH ECHO ? JMP BAD YES - REJECT RRR 3 NO - SET UP 15/14 STA IQT19,I SAVE FINAL WORD LDB P20.$ SET UP STB IQT41,I "HOT 726õðþú0". LDA LU,I GET LOGICAL UNIT AND P77$ AND CONFIGURE ADA P100$ EXEC CALL TO STA LU PHYSICAL DRIVER LDA SPEC PASS ADDRESS OF STA IQT25,I SPECIAL CHAR. ADDRESS LDA N80$ INITIALIZE A STA IQT45,I COLUMN REGISTER * JSB EXEC CALL EXEC DEF *+5 TO CALL THE DEF P03$ PHYSICAL DRIVER DEF LU LOGICAL UNIT DEF P00$ DUMMY X1 DEF * EXTENSION ADDR. AND P377$ PRESERVE STATUS JMP ACR01,I RETURN TO THE USER * BAD LDA P01$ A=1 FOR JMP ACR01,I REJECTING SKP * * CONTROL REQUESTS PROCESSING *** * * CONTL DEF *+1 CONTROL SECTION ADDRESS NOP JSB SETQ SET UP EQT'S ADDRESSES CLA JSB LOG LOG TO TRACE TABLE JSB CLEAR CLEAR FLAGS LDA EQT9,I GET REQUEST CODE AND P7700 MASK OUT JUNK CPA P200$ IS IT LINE OPEN ? JMP OPEN YES - CPA P4000 IS IT SELECT HOPPER ? JMP CNT40 YES CPA P4100 IS IT BELL ? JMP CNT41 YES CPA P4200 IS IT PASS JMP LNGTH # OF COLUMNS ? CPA P4300 STOP COMMAND ? JMP STOP YES CPA P4400 IS IT FOR "HOT 7260" ? JMP TCS1 YES CPA P4500 IS IT CLEAR "HOT" ? JMP TCS2 YES CPA P4600 IS IT MID CARD TERMINATION ? JMP MID YES - CNRT3 CLA NO - OTHER CNRT1 ISZ CONTL+1 AND EXECUTE JMP CONTL+1,I CONTINUATION * HOPPER SELECT *** CNT40 LDA P200$ FLAG=BIT 7 OF SWRT STA EQT39,I EQT 39 LDA BWRT$ WRITE CODE FOR PHY. IOR P12$ INSERT LF JMP CNRT1 AND START A WRITE OP. * BELL *** CNT41 LDA P04$ FLAG=BIT 2 JMP SWRT AND START WRITING BAD1 ISZ EQT4,I STATUS=ILL. REQUEST JMP CONTL+1,I AND COMPLETION * NUMBER OF COLUMNS *** LNGTH LDA rþúEQT10,I GET # OF ADA N97$ COLUMNS SSA,RSS IF MORE THAN JMP BAD1 96 - REJECT LDA EQT10,I FETCH AGAIN CMA,INA IF ZERO OR SSA,RSS NEGATIVE JMP BAD1 REJECT STA EQT45,I SET UP VALUE JMP CONTL+1,I COMPLETE * STOP COMMAND *** STOP LDA P400$ SET FLAG BIT JMP SWRT AND START A WRITE * TCS PROCESSING *** TCS1 LDA EQT41,I SET FLAG IOR P20.$ IN EQT41 JMP *+3 FOR "HOT" TCS2 LDA EQT41,I CLEAR FLAG AND P1757 FOR "HOT" STA EQT41,I IN EQT41,I JMP CONTL+1,I COMPLETION. * MID CARD TERMINATION *** MID LDB EQT10,I GET PARAMETERS LDA EQT41,I GET FLAG WORD RAL,CLE,RAL ROTATE RIGHT TWO SZB CHECK PARAM. CCE SET FLAG ERA,RAR ROTATE LEFT TWO STA EQT41,I STORE IT JMP CONTL+1,I COMPLETION * LINE OPEN PROCESSING *** OPEN LDA EQT10,I GET LINE OPEN PARAM. RAL,CLE,ERA CLEAR AUTO-SPEED OPTION STA EQT10,I STORE IT BACK JMP CNRT3 CONTINUATION SKP * * WRITE REQUESTS PROCESSING *** * * WRITE DEF *+1 WRITE SECTION ADDRESS NOP JSB SETQ SET UP EQT'S ADDRESSES LDA P02$ A=2 FOR WRITING JSB LOG LOG TO TRACE TABLE SSB,RSS IS IT INITIALIZED ? JMP WRIT1 NO - GO AHEAD CLB,INB YES - SET ILLEGAL JSB STATS REQUEST BELL1 CLA CLEAR STA EQT39,I FLAGS JMP WRITE+1,I AND COMPLETE * * WRIT1 JSB BITCK CHECK STATUS JMP WRIT2 - TIME OUT JMP WRIT3 - LINE ERROR NOP - DATA ERROR JSB TMCK CLEAR TIME OUT LDA EQT39,I GET FLAG WORD WRIT4 CLB CLEAR A COUNTER RAR,SLA COMMAND SEND ? JMP X.ON YES - GO SEND X-ON RAR,SLA AND SCAN TO JMP FOUND FIND THE öOþú INB COMMAND JMP *-3 LOOP BACK FOUND ADB TADD COMMAND TABLE LDA EQT39,I SET UP IOR P02$ FLAG IN STA EQT39,I EQT 39 LDA B,I GET COMMAND CNRT2 LDB TIME NO TIME OUT CHANGE ISZ WRITE+1 AND KEEP ON JMP WRITE+1,I OUTPUTTING * X.ON CCE,SSA OUTPUT X-ON ? JMP CHECK NO - ALREADY DONE ELA YES - SET FLAG STA EQT39,I IN EQT 39 LDA P21$ LOAD X-ON JMP CNRT2 AND CONTINUATION * CHECK RAR,CLE,ELA CLEAR BOTH CLE,ELA FLAGS STA EQT39,I IN EQT39 AND P434$ IS IT RETRANSMIT SZA,RSS DEMAND OR REJECT ? JMP BACK YES - RETURN TO READ SECTION AND P404$ NO - MASK OUT SZA IS IT BELL OR STOP ? JMP BELL1 YES - COMPLETE LDB EQT40,I NO - IMAGE OFF / ON LDA P100$ RBR,SLB GET USER'S REQUEST LDA P40$ AND SET UP RE X-MIT STA EQT39,I OR DEMAND . JMP WRIT4 OUTPUT THE COMMAND BACK LDA BREAD READ CODE JMP CNRT2 AND START READING * * WRIT2 LDB P03$ SET THREE JSB STATS AS STATUS. JSB TRANS SET TRANSMISSION LOG JMP WRITE+1,I COMPLETE * * WRIT3 JSB ERRL SET 2 SECONDS CLA ISZ WRITE+1 RETURN TO JMP WRITE+1,I PHYSICAL DRIVER * * TADD DEF *+1 P07$ OCT 7 BELL OCT 24 IMAGE OFF P22$ OCT 22 IMAGE ON P10$ OCT 10 RETRANSMIT OCT 31 DEMAND P13$ OCT 13 REJECT OCT 11 STOP * SPEC DEF *+1 DEC -1 CR OCT 15 CARRIAGE RETURN * TIME NOP SKP * * * CLEAR NOP ENTRY POINT CLB CLEAR STB EQT14,I TRANSMISSION LOG LDA EQT41,I CLEAR FIRST FLAG AND P760. AND # OF STA EQT41,I RE X-MIT RAL SET UP A MID STA EQT47,I CARD TERMINATIONºþú FLAG LDA EQT45,I INITIALIZE STA EQT43,I A COUNTER. STB EQT39,I FLAGS WORD STB TIME TIME OUT VALUE STB EQT46,I CLEAR WORD JSB STATS CLEAR STATUS JMP CLEAR,I RETURN * * STATS NOP ENTRY POINT LDA EQT4,I GET STATUS AND P1774 KEEP LEFT BYTE IOR B MERGE STATUS STA EQT4,I STORE IT JMP STATS,I RETURN * * TMCK NOP ENTRY POINT LDA EQT39,I GET FLAG WORD RAL,CLE,RAL ROTATE CLB CLEAR TIME-OUT SSA TIME-OUT IN PROGRESS ? INB YES - KILL IT RAL,CLE,ERA CLEAR BIT IN RAR,RAR EQT39 STA EQT39,I AND STB TIME RETURN JMP TMCK,I * * ERRL NOP LDB N20$ SET 2 SECONDS LDA EQT39,I AS TIME OUT AND P2000 IF NO TIME SZA WAS NOT ALREADY CLB RUNNING STB TIME SAVE IT LDA EQT39,I SET UP IOR P2000 FLAG IN STA EQT39,I EQT39 TO JMP ERRL,I TWO SECONDS * * TRANS NOP LDA EQT14,I GET TRANSMISSION LDB EQT11,I CHECK THE SSB MODE OF REQUEST JMP TRANS,I CHARACTER ? INA WORD - CONVERT ARS IN WORD STA EQT14,I STORE AND JMP TRANS,I RETURN * * BITCK NOP LDB N03$ CHECK RAL,SLA BIT OF JMP BITCK,I A REGISTER ISZ BITCK AND INB,SZB RETURN JMP *-4 DEPEND ON JMP BITCK,I BIT 15-14-13 SKP * * * READ REQUESTS PROCESSING *** * * READ DEF *+1 READ SECTION ENTRY POINT NOP JSB SETQ SET UP EQT ADDRESSES CLA,INA A=1 FOR READING JSB LOG LOG TO TRACE TABLE SSB,RSS INITIATE ? JMP READ1 NO * * INITIALIZATION SECTION OF READ REQUEST *** * JSB CLEAR YES - CLEAR FLAG^€þúS LDA N10$ INITIATE TO -10 STA EQT13,I A COUNTER OF RETRY LDB EQT9,I GET REQUEST CODE BLF,CLE,RBL ROTATE AND STUCK IN ELB,RBL BIT 10 INTO BIT 8 ELB,RBL THEN, CHECK IF CLE,SLB PACKED BINARY REQUEST CCE YES - SET A FLAG RBR,SLB,RBL CHECK IF JMP RXMIT RETRANSMIT STB EQT44,I SAVE REQUEST OK STB EQT40,I TWICE LDA P20$ SET IMAGE ON SSB BINARY ? JMP BINRY YES - GO AHEAD SEZ,RSS NO - ASCII ? JMP ASCI1 YES BAD2 CLB,INB NO - ILLEGAL REQUEST JSB STATS UPDATE STATUS JMP READ+1,I COMPLETION * RETRANSMIT REQUEST *** RXMIT LDA EQT44,I FIRST OF ALL ALF,ALF CHECK IF A RAR,SLA PREVIOUS READ RSS HAS BEEN MADE JMP BAD2 NO - REJECT LDA EQT44,I GET PREVIOUS REQUEST SSA ASCII ? JMP BINR NO - WAS BINARY SSB,RSS NEW ASCII TOO ? JMP OK YES - NOTHING SPECIAL LDA EQT47,I NO - MID CARD SSA TERMINATION ? JMP OK NO - NOTHING SPECIAL LDA P04$ YES - BINARY AFTER IOR B ASCII WITH MID CARD TERM. LDB A JMP OK SET SPECIAL FLAG BINR SSB NEW BINARY TOO ? JMP OK YES - NOTHING SPECIAL LDA P10$ NO - ASCII AFTER IOR B IMAGE - SET LDB A JMP OK SPECIAL FLAG * ASCII REQUESTS *** ASCI1 LDB EQT11,I CHECK THE LENGTH SZB,RSS IF ZERO JMP READ+1,I COMPLETION RIGHT AWAY LDA P10$ SET IMAGE OFF SAVE3 STA EQT39,I IN EQT 39 LDA BWRT$ WRITE CODE IOR P12$ INSERT LF CONTR LDB TIME TIME OUT PURPOSE ISZ READ+1 AND ASK A JMP READ+1,I CONTINUATION * IMAGE REQUESTS *** BINRY LDB EQT11,I IS IT SSB IN WORD ? JMP BAD2 ¥*($ NO - REJECT JMP SAVE3 YES - OK * * CONTINUATION SECTION OF READ REQUESTS *** * READ1 JSB BITCK CHECK STATUS OF THE LINE JMP READ2 - TIME OUT JMP READ3 - LINE ERROR JMP READ4 - DATA ERROR JSB TMCK STOP TIME-OUT START LDA EQT39,I CHECK IF SSA CR WAS JMP CMPL1 EXPECTED LDA SAVA NO - GET DATA AND P177$ MASK OUT JUNK STA SAVA SAVE IT LDB EQT41,I GET FIRST DATA FLAG SSB CHECK IT JMP DATA2 NOT THE FIRST * FIRST INTERRUPT = STATUS *** CLB CLEAR A FLAG CPA P37$ IS IT NOT READY ? LDB P02$ YES - NOT READY STATUS CPA P07$ IS IT HOPPER BAD JMP TCS3 YES - CHECK "HOT" CPA P13$ IS IT REJECT BAD ? LDB P06$ YES . REJECT FAIL STATUS CPA P14$ IS IT REJECT SUCCESFUL ? JMP CR1 YES - GO WAIT THE CR CPA P22$ IS IT READY ? JMP TCS3 YES - CHECK "HOT" CPA P11$ IS IT PICK FAIL ? JMP FAIL1 YES CCE,SZB,RSS IS IT FIRST DATA ? JMP DATA1 YES JSB STATS NO - WRONG STATUS CR1 LDA EQT39,I SET BIT 15 CCE TO ONE RAL,ERA TO WAIT STA EQT39,I THE CR JMP READ6 CONTINUATION RETURN TCS3 LDA EQT41,I CHECK IF AND P20.$ " HOT " PROCESSING. SZA,RSS JMP NOTCS NO - GO SET STATUS LDA EQT40,I YES - SET UP IOR P2000 FLAG IN vÚ*ÿÿ ÿý/ ; ÿ07260-18002 1515 S 0111 ACR01-ASYNC.DOS DVR. FOR 7260 MARK READER             H0101 ÄZþú STA EQT40,I EQT40 FOR NO JMP CR1 COMPLETION NOTCS LDB P04$ HOPPER BAD STATUS LDA SAVA IS IT HOPPER CPA P07$ BAD ? JSB STATS YES - SET UP STATUS JMP CR1 GO WAIT THE C.R. DATA1 LDB EQT41,I GET FLAG RBL,ERB AND SET FIRST STB EQT41,I DATA FLAG LDB EQT40,I REQUEST FOR SLB,RSS PACKED BINARY ? JMP NOTPK NO - LDB N80$ YES - INITIALIZE STB EQT43,I A COUNTER NUMBER LDA EQT10,I SET UP BUFFER STA EQT47,I ADDRESS LDA EQT11,I AND COUNT CMA,INA WORD IN STA EQT42,I EQT 42 CLA CLEAR FLAG STA EQT12,I AND WAIT JMP CONTR DATA NOTPK LDA EQT11,I ASCII ? SSA CHARACTER ? JMP *+3 YES ALS NO - WORD CMA,INA CONVERT STA EQT42,I THEN,SAVE LDA EQT10,I SET UP RAL A CHARACTER STA EQT12,I ADDRESS READ6 CLA AND WAIT JMP CONTR FIRST ACTUAL DATA * DATA PROCESSING *** DATA2 LDB EQT40,I CHECK THE MODE RBL,SLB IS IT BINARY ? JMP BNRY1 BINARY. * * ASCII MODE *** * CPA CR ASCII - IS IT CR ? JMP READ8 YES - CHECK MODE READ9 LDB EQT42,I NO - DATA SZB,RSS BUFFER FULL ? JMP RED11 YES - GO AHEAD. LDB EQT12,I NO - STORE THE CHAR. CLE,ERB CHANGE TO WORD ADDRESS SEZ,RSS CHECK EVEN OR ODD ? JMP STOR1 EVEN - GO AHEAD LDA B,I GET PREVIOUS CHAR. AND P1774 SAVE LEFT BYTE IOR SAVA INSERT NEW CHAR. JMP STOR2 GO AHEAD STOR1 ALF,ALF EVEN - ROTATE STA LOGA SAVE IT LDA B,I GET PREVIOUS CHAR. STB SAVB SAVE ADDRESS LDB EQT11,I CHECK IF REQUEST SSB,RSS IN WORD ORCHAR ? LDA P40$ WORD - SET LOW TO BLNK LDB SA;‡þúVB RESTORE B REGISTER AND P377$ PRESERVE RIGHT IOR LOGA MERGE NEW STOR2 STA B,I STORE CHAR. ISZ EQT12,I BUMP CHAR. ADDRESS ISZ EQT46,I INCREM. COUNTER LDB EQT46,I GET IT LDA SAVA IF TRAILING AND P177$ BLANK DON'T CPA CR CR IN NO MID CARD TERM ? JMP *+4 YES - SKIP IT CPA P40$ INCREMENT RSS THE STB EQT14,I TRANS LOG ISZ EQT42,I BUMP COUNTER NOP RED11 ISZ EQT43,I BUMP COUNTER NOP OF COLUMNS LDB EQT47,I GET FLAG SSB,RSS IS IT MID CARD TERM. ? JMP READ6 YES - WAIT CR LDA EQT43,I NO - ALL COLUMNS CCE,SZA HAVE BEEN INPUT ? JMP READ6 NO - CONTINUE BNRY5 LDA EQT39,I YES - SET UP RAL,ERA FLAG TO STA EQT39,I WAIT CR JSB TRANS SET UP TRANS LOG JMP READ6 AND WAIT READ8 LDB EQT47,I IS IT MID CARD TERM. ? SSB JMP READ9 NO - STORE CHARACTER LDA EQT40,I GET RE X-MIT FLAG AND P10$ AND CHECK SZA SPECIAL CASE JMP NOYET (ASCII AFTER BINARY) RED12 JSB TRANS SET TRANS LOG JMP CMPL2 AND COMPLETE * * COMPLETION SECTION OF READ REQUEST *** * CMPL1 LDA EQT39,I GET A FLAG ALF,SLA WORD AND JMP FAIL2 CHECK IF PICK-FAIL LDA EQT40,I IS IT IN ALF,RAR "HOT" SLA PROCESSING ? JMP TCS4 YES - DON'T COMPLETE ! CMPL2 LDA EQT41,I NO - CHECK SLA,RSS DATA IN ERROR JMP READ+1,I NO - COMPLETE AND P06$ YES CPA P06$ THIRD TIME ? JMP LAST1 YES - STOP LDA EQT41,I GET WORD AND RAL,CLE,ERA CLEAR BIT RAR,CLE,ELA 0 AND BIT 15 STA EQT41,I CLB CLEAR STB EQT14,I TRANSMISSION LOG STB EQT46,I CLEAR LDA EQT45,I COLUMN NUMBER ]ØþúLDB EQT40,I IF FOR SLB PACKED LDA N80$ SET 80 INTO STA EQT43,I COUNTER OF COLUMNS LDA EQT40,I CHANGE USER'S REQUEST AND P5000 CLEAR FLAGS IOR P02$ AND SET STA EQT40,I RETRANSMIT LDA P40$ AND ASK TO JMP SAVE3 RETRANSMIT DATA NOYET LDA EQT43,I CR FOR END SZA,RSS OF CARD ? JMP RED12 YES - COMPLETE CLA NOT YET STA EQT42,I SET BUFFER FULL ISZ EQT43,I INCREM. COLUMN COUNTER JMP READ6 GO WAIT THE NEXT JMP BNRY5 CR FROM END OF CARD * LAST1 LDB P07$ OVER - SET UP JSB STATS WRONG STATUS JMP READ+1,I AND COMPLETE. * HOT 7260 PROCESSING *** TCS4 LDB EQT39,I CLEAR CR RBL,CLE,ERB EXPECTED STB EQT39,I FLAG LDA EQT40,I AND CLEAR AND P1577 "HOT" PROCESSING STA EQT40,I FLAG JMP READ6 WAIT DATA. * PICK FAIL PROCESSING *** FAIL1 LDA EQT39,I SET A FLAG IOR P1000 BIT 12 OF EQT 39 STA EQT39,I THEN WAIT JMP CR1 THE CR FAIL2 ISZ EQT13,I CHECK RETRY COUNTER JMP ASCI2 NO YET - TRY AGAIN LDB P05$ OVER - SET JSB STATS STATUS JMP READ+1,I AND COMPLETE ASCI2 LDB EQT40,I GET REQUEST LDA P100$ SET DEMAND RBR,SLB RETRANSMIT ? LDA P40$ YES - SET IT JMP SAVE3 GO SET THE FLAG * TIME OUT PROCESSING *** READ2 LDB P03$ SET STATUS JSB STATS AND THEN JSB TRANS TRANS LOG JMP READ+1,I AND COMPLETE * LINE ERROR PROCESSING *** READ3 JSB ERRL SET 2 SECONDS CLA ISZ READ+1 AS TIME-OUT JMP READ+1,I CONTINUATION * DATA ERROR PROCESSING *** READ4 LDA EQT41,I ALREADY IN ERROR SLA,RAR FOR THIS REQUEST JMP YES1 YES - GO AHEAD CCE,INA NO - INCREM. COUNTER ELA AND SET UP STA EQT41,I j…þú A FLAG YES1 JSB ERRL SET TIME OUT JMP START STORE DATA ANYWAY * * BINARY IMAGE PROCESSING *** * BNRY1 RBL,SLB CHECK IF JMP BNRY2 SECOND DATA ? CCE NO - ACTUAL DATA ERB,RBR YES - SET STB EQT40,I FLAG FOR JMP READ6 THE NEXTS BNRY2 LDB EQT42,I FIRST OF ALL, CHECK SSB,RSS IF THE BUFFER JMP BNRY3 IS FULL AND P77$ NOT FULL LDB EQT40,I IS IT PACKED SLB BINARY REQUEST ? JMP PACK1 YES - GO AHEAD ISZ EQT14,I NO - INCREM. TRANS LOG ISZ EQT42,I INCREM. CHARACTER NOP COUNTER LDB EQT12,I CHARACTER ADDRESS ISZ EQT12,I INCREM. CHARACTER ADD. CLE,ERB CONVERT IN WORD ADD. SEZ,RSS FIRST OR SECOND ? JMP FIRST FIRST ALF,RAL RAL INSERT WITH IOR EQT47,I THE PREVIOUS OK2 STA B,I STORE THE CHARACTER BNRY6 ISZ EQT43,I INCREM. COLUMN COUNTER JMP READ6 AND WAIT THE NEXT OVER CCE OVER - SET JMP BNRY5 FLAG FOR CR FIRST STA EQT47,I SAVE FIRST DATUM CPA CR IS IT CR ? JMP YES2 YES - CHECK RE X MIT JMP READ6 AND WAIT NEXT BNRY3 LDB EQT12,I GET CHARACTER ADDR. ISZ EQT12,I INCREM. FLAG SLB FIRST OR SECOND JMP BNRY6 SECOND JMP FIRST FIRST YES2 LDA EQT40,I GET SPECIAL FLAG AND P04$ SZA,RSS RE-XMIT IMAGE AFTER ASCII ? JMP OK2 NO - KEEP ON GOING JSB TRANS SET TRANS LOG JMP CMPL2 AND COMPLETE * * PACKED BINARY PROCESSING *** * FRST ALF SET UP IN LDB EQT47,I RIGHT FIELD STA B,I AND STORE IT JMP READ6 WAIT NEXT * SCND ALF,ALF SET UP IN RAL,RAL RIGHT PLACE LDB EQT47,I INSERT WITH SCND1 IOR B,I THE FIRST STA B,I AND STORE IT 0yþú LDB EQT40,I THEN, CHECK BLF,SLB IF THE JMP SCND2 LENGTH INB HAS BEEN BLF,BLF PROCESSED BLF NO - SET UP STB EQT40,I THE FLAG ALF,ALF AND COMPUTE AND P377$ THE LENGTH CMA,INA,SZA,RSS LENGTH JMP ERROR EQUAL TO ZERO ? ADA D60 OR GREATER SSA THAN 60 JMP ERROR YES - ERROR ADA N60$ COMPUTE LDB A THE LEAST CMA,INA OF LENGTH ADA EQT42,I BUFFER SSA AND STB EQT42,I STORE IT LDA EQT42,I COMPUTE CMA,INA TRANS LOG ALS AND STA EQT14,I SAVE IT SCND2 ISZ EQT42,I INCREM. COUNTER NOP SCND3 ISZ EQT43,I INCREM. COLUMN COUNTER JMP READ6 NOT OVER JMP OVER OVER * THRD ALF,ALF INSERT AND LDB EQT47,I STORE INB INTO STA B,I WORD. JMP READ6 WAIT NEXT * FOUR LDB EQT47,I SAVE STB SAVB BUFFER CLB ADDRESS RRR 2 SET UP IOR SAVB,I FIRST WORD STA SAVB,I (FOUR BITS) STB A AND THEN, ISZ EQT47,I TWO IN LDB EQT47,I SECOND IOR B,I WORD STA B,I GO INCREM. JMP SCND2 COUNTERS * FIFTH LDB EQT47,I SAVE STB SAVB BUFFER CLB ADDRESS RRR 4 SET UP IOR SAVB,I 2 BITS IN STA SAVB,I SECOND WORD STB A AND THEN LDB EQT47,I TWO IN INB THIRD STA B,I WORD JMP READ6 WAIT NEXT * SIX RAL,RAL INSERT LDB EQT47,I AND STORE IOR B,I INTO THE STA B,I THIRD ISZ EQT47,I WORD JMP SCND3 INCREM. COUNTER * SEVEN LDB EQT47,I INSERT AND IOR B,I STORE STA B,I INTO THE JMP READ6 THIRD WORD * °»þú EIGHT CLB RESET STB EQT46,I INDEX TO LDB EQT47,I ZERO ISZ EQT47,I INSERT AND ALF STORE RAL,RAL INTO THE JMP SCND1 THIRD WORD * PACK1 ISZ EQT12,I INCREM. FLAG ISZ EQT46,I AND JUMP LDB EQT46,I TO THE ADB JMPT ROUTINE LDB B,I JMP B,I ADDRESS. * ERROR ISZ EQT42,I INCREMENT COUNTER ISZ EQT43,I INCREM. COLUMN NUMBER CLB,INB SET BUFFER STB EQT42,I FULL JSB STATS WAIT CR JMP READ6 WITH BAD STATUS * JMPT DEF * DEF FRST DEF SCND DEF THRD DEF FOUR DEF FIFTH DEF SIX DEF SEVEN DEF EIGHT * * SKP * * * EQT4 NOP EQT9 NOP EQT10 NOP EQT11 NOP EQT12 NOP EQT13 NOP EQT14 NOP EQT18 NOP EQT25 NOP EQT39 NOP EQT40 NOP EQT41 NOP EQT42 NOP EQT43 NOP EQT44 NOP EQT45 NOP EQT46 NOP EQT47 NOP EQT48 NOP EQTAD DEF EQT39 * * IQT18 NOP IQT19 NOP IQT21 NOP IQT25 NOP IQT41 NOP IQT45 NOP IQT48 NOP * SETQ NOP STA SAVA STB SAVB LDA EQTB ADA P03$ CPA EQT4 JMP SETQ,I STA EQT4 ADA P05$ STA EQT9 INA STA EQT10 INA STA EQT11 INA STA EQT12 INA STA EQT13 INA STA EQT14 ADA P03$ LDA A,I STA EQT18 ADA P07$ STA EQT25 ADA P16$ LDB N10$ STB LOGA LDB EQTAD LOOP STA B,I INA INB ISZ LOGA JMP LOOP JMP SETQ,I * * SETQI NOP STA IQT18 INA STA IQT19 ADA P02$ STA IQT21 ADA P04$ STA IQT25 ADA P20$ STA IQT41 ADA P04$ STA IQT45 ADA P03$ STA IQT48 JMP SETQI,I * * LOG NOP LDB EQT48,I SZB,RSS TRACE TABLE PRESENT ? JMP LOGX NO -3*($ STA LOGA YES ISZ SEQ INCR SEQ COUNTER NOP LDA SEQ ALF,ALF POSITION LEFT BYTE AND P1774 IOR LOGA MERGE IN ID ADB P04$ BUMP POINTER STB EQT48,I CMB,INB ADB EQT18,I SSB,RSS END OF TABLE JMP LOG1 LDB P40$ YES STB EQT48,I RESET POINTER LOG1 CCB ADB EQT48,I ADB EQT18 FORM ENTRY ADDRESS STA B,I SEQ/ID INB LDA SAVA A STA B,I INB LDA SAVB STA B,I INB LDA EQT25,I STATUS STA B,I LOGX LDA SAVA LDB SAVB JMP LOG,I SKP * P00$ EQU 53B P01$ EQU 54B P02$ EQU 55B P03$ EQU 56B P04$ EQU 57B P05$ EQU 60B P06$ EQU 61B P11$ EQU 64B P12$ EQU 65B P21$ EQU 66B P100$ EQU 67B P17$ EQU 70B P37$ EQU 71B P77$ EQU 72B P177$ EQU 73B P377$ EQU 74B P1774 EQU 75B N10$ EQU 41B N03$ EQU 50B * EQTB EQU 300B A EQU 0 B EQU 1 * D28 DEC 28 D31 DEC 31 D60 DEC 60 P7700 OCT 7700 P4000 OCT 4000 P4100 OCT 4100 P4200 OCT 4200 P4300 OCT 4300 P4400 OCT 4400 P4500 OCT 4500 P4600 OCT 4600 P200$ OCT 200 BWRT$ OCT 40000 P760. OCT 76000 P400$ OCT 400 P404$ OCT 404 P434$ OCT 434 P2000 OCT 20000 P20.$ OCT 2000 P1577 OCT 157777 P1757 OCT 175777 N20$ DEC -20 N60$ DEC -60 N80$ DEC -80 N97$ DEC -97 P40$ OCT 40 P14$ OCT 14 P16$ OCT 16 P20$ OCT 20 P1000 OCT 10000 P5000 OCT 50000 BREAD OCT 100000 SAVA NOP SAVB NOP LOGA NOP SEQ NOP END ¯ *ÿÿ ÿý0 < ÿ07260-18003 1626 S 0163 DOS-III SWITCH ROUTINE FOR 7260A MARK READER             H0101 *ÖASMB,R,L,C NAM SWTCH,7 EXT EXEC,.ENTR ENT SWTCH * * ERR NOP LU NOP EQTX NOP * * SWTCH NOP JSB .ENTR GET PARAMETERS DEF ERR FROM CALLING PROGRAM LDA LU,I GET LOGICAL UNIT STA B AND SAVE IT ADA DM1 FIRST, CHECK SSA IF THE JMP ILLG LOGICAL UNIT CMB,INB IS GOOD ADB 122B AND THEN SSB COMPUTE THE JMP ILLG EQT17 ADA 121B ADDRESS LDA A,I CALL EXEC ADA DM1 TO STORE MPY D17 THE SUPPLIED ADA 117B EQT EXTENSION ADA D3 ADDRESS LDB A,I GET AVABLITY FIELD SSB AND CHECK IF BUSY JMP BUSY YES - RETURN ADA D13 NO - OK STA TEMP STORE TEMPORARY LDA A,I GET EQT EXTENSION ADA D18 AND EQT 36 ADDRESS LDA A,I AND EQT 36 LDB EQTX NEW EQT EXTENSION ADB D18 NEW EQT 36 STA B,I STORE BOARD STATUS LDB TEMP RESTORE B REGISTER LDA EQTX EQT AND JSB EXEC RETURN WITH DEF *+2 A-REGISTER TO DEF DM19 ZERO CLA,RSS ILLG CCA ILLEGAL CODE STA ERR,I INTO FIRST PAR. JMP SWTCH,I AND RETURN BUSY LDA DM2 BUSY RETURN STA ERR,I INTO FIRST PAR. JMP SWTCH,I WITH A=2 * * A EQU 0 B EQU 1 D18 DEC 18 TEMP NOP DM2 DEC -2 DM1 DEC -1 DM19 DEC -19 D3 DEC 3 D17 DEC 17 D13 DEC 13 END END$ Ý»ÿÿ ÿý17 ÿ07261-18005 1546 S 0163 7261A OPTICAL MARK READER DIAGNOSTIC             H0101 £FþúASMB,A,B,L,T ORG 105B OCT 6264 HED CONSTANTS AND VARIABLES ORG 126B OCT 113003 SERIAL NUMBER ORG 130B JMP BEGIN * SFLAG OCT 000000 SEQPT OCT 0 SEQUN DEF SLIST TSTPT DEF LSTST SAVSW OCT 0 PTCNT OCT 0 SUP * * * NBASE OCT 000060 PERFT DEF *+1 ASC 8,ALL TESTS OKAY./ REPER DEF *+1 OCT 000000 ASC 9, ERRORS DETECTED./ * * NOESS OCT 000040 ANESS OCT 051440 ADESS DEF ROPER+4 AROPR DEF ROPER BELLS OCT 000010 BCFLG OCT 000000 BAD CHAR REPORT FLAG RFCT1 DEC 81 RFCT2 DEC 41 COFL1 DEF ACFL1 COFL2 DEF ACFL2 COFL4 DEF ACFL4 DAFIL DEF ADAFL FLCMS DEF AFLCM CRLFD DEF ACRLF STERM DEF * DEF STM01 DEF STM02 DEF STM03 DEF STM04 DEF STM05 DEF STM06 RDCON OCT 050050 * SAVEA OCT 0 SAVEC OCT 0 ASCNO OCT 0 ASCNU OCT 0 AHEAD DEF MHEAD ACT01 DEF CMES1 ACT02 DEF CMES2 ACT03 DEF CMES3 ACT04 DEF CMES4 ACT05 DEF CMES5 * * HPCNT OCT 0 HPMAX DEC -50 HPMIN DEC -30 AHPHD DEF HOPHD TIMEC DEC +10 STCNT OCT 0 PACRD OCT 0 ADCRD DEF CDSTG MREAD OCT 0 AIOTS DEF IOTST AREAD DEF READR ADMAR DEF DMARD ABCRP DEF BCRPT MBLNO DEC 3 BLTIM DEC 200 BLCNT OCT 0 ATEMP OCT 0 ADTIM DEF TIMES AOLT0 DEF OLT00 * MSK01 OCT 170000 MSK02 OCT 030000 MSK03 OCT 007777 MSK04 OCT 160000 MSK05 OCT 000077 ALONE OCT 177777 NZERO DEC 0 MTEN4 DEC -10000 N0128 DEC -128 N0011 DEC -11 N0010 DEC -10 N0004 DEC -4 N0003 DEC -3 N0001 DEC -1 P0001 DEC 1 P0002 DEC 2 P0003 DEC 3 P0004 DEC 4 P0005 DEC 5 P0006 DEC 6 P0007 DEC 7 P0008 DEC 8 P0010 DEC 10 P0011 DEC 11 * C2100 OCT 070000 BIAS1 OCT 140000 BIAS2 OCT 150000 CNU16 DEC 160 CNU15 DEC 200 CNU00 DEC 098 CNUMX DEC 120 CNUMB OCT 0 HIWRD OCT 0 * IEC01 OCT 000001 IEC02 OCT 000002 IEC03 OCT 000003 IEC04 OCT 000004 IEC05 OCT 000005 IEC06 OCT 000006 IEC07 OCT 000007 IEC08 OCT 000010 IEC09 OCT 000011 IEC10 OCT 000012 IEÖþúC11 OCT 000013 IEC12 OCT 000014 IEC13 OCT 000015 IEC14 OCT 000016 STS00 OCT 000000 STS01 OCT 010000 STS02 OCT 020000 STS03 OCT 030000 STS04 OCT 040000 STS05 OCT 050000 STS06 OCT 060000 STS07 OCT 070000 STS10 OCT 100000 STS11 OCT 110000 STS12 OCT 120000 STS13 OCT 130000 STS14 OCT 140000 STS15 OCT 150000 STS16 OCT 160000 STS17 OCT 170000 * * * ***** TIME ADJUSTMENT CODE * * TTM11 DEF *+1,I TTM10 DEF *+1,I TTM09 DEF *+1,I TTM08 DEF *+1,I TTM07 DEF *+1,I TTM06 DEF *+1,I TTM05 DEF *+1,I TTM04 DEF *+1,I TTM03 DEF 0B * * OLT10 DEF *+1,I OLT09 DEF *+1,I OLT08 DEF *+1,I OLT07 DEF *+1,I OLT06 DEF *+1,I OLT05 DEF *+1,I OLT04 DEF *+1,I OLT03 DEF *+1,I OLT02 DEF *+1,I OLT01 DEF *+1,I OLT00 DEF *+1,I DEF 0B * * ERC01 OCT 000002 ERC02 OCT 000003 ERC03 OCT 000001 * ERC80 OCT 100004 * ERC90 OCT 100001 ERC91 OCT 100002 ERC92 OCT 100003 ERC93 OCT 100005 ERC99 OCT 100006 ERC70 OCT 000007 ERC95 OCT 000010 ERC96 OCT 000006 ERC97 OCT 000005 ERC98 OCT 000004 * DMACC EQU 6B DMAAC EQU 2B DMACW OCT 0 * ECCNT OCT 0 DMACT OCT 0 CYCNT OCT 0 CRCNT OCT 0 SCRW1 OCT 0 BUFLN DEC 128 EXCNT OCT 0 LWPTR OCT 0 * * * RWADD OCT 0 IWADD OCT 0 IWPTR OCT 0 RWPTR OCT 0 FLCNT OCT 0 BWCNT OCT 0 BSCNT OCT 0 BCCNT OCT 0 HSCNT OCT 0 READT OCT 0 ECODE OCT 0 RFCNT OCT 0 CCMSK ASC 1,00 BCC53 OCT 020053 BCC55 OCT 020055 BCC60 OCT 020060 BCC61 OCT 020061 REFWD OCT 0 ERRWD OCT 0 CCNT1 OCT 0 CCNT2 OCT 0 BCOAD DEF *+4 BCMAD DEF *+1 BCM01 ASC 1,00 ASC 1, ASC 15, ASC 7, / E7 DEF *+1 ASC 1,EC * * * PNTR1 OCT 0 PNTR2 OCT 0 PNTR9 OCT 0 * CNTR1 OCT 0 CNTR8 OCT 0 CNTR9 OCT 0 SCVAL ABS *-* IRQIN ISZ IRQFL IRQFL OCT 0 * * * * * MWHLT OCT 102000 * * CONSTANTS BTM00 OCT 000001 BTM01 OCT 000002 BTM02 OCT 000004 BTM03 OCT 000010 BTM04 OCT 000020 BTM05 OCT 000040 BTM06 OCT 000100 BTM07 OCT 000200 BTM08 OCT 000400D©þú BTM09 OCT 001000 BTM10 OCT 002000 BTM11 OCT 004000 BTM12 OCT 010000 BTM13 OCT 020000 BTM14 OCT 040000 BTM15 OCT 100000 BM2.4 OCT 000024 * INTSW OCT 0 ERCNT OCT 0 .0770 OCT 000770 MNINE DEC -9 SC OCT 0 * TIMAX DEC +220 TIMIN DEC +150 * * LSTST DEF * DEF TEST1 DEF TEST2 DEF TEST3 DEF TEST4 DEF TEST5 DEF TEST6 DEF TEST7 DEF TEST8 DEF TEST9 * HED GET SELECT CODE AND OPTIONS BEGIN LDB N0010 STB SAVEC SAVEC=-10 NXTCD LDB OLT00 LDA 115B AND MSK01 A=COMPUTER TYPE CPA C2100 2100? JMP *+2 YES ADB SAVEC B=OLT00+SAVEC LDA AOLT0 ADA SAVEC A=AOLT0+SAVEC STB 0B,I ISZ SAVEC JMP NXTCD ** SET THE TIMING CONSTANT LDA 115B SSA IS IT 21MX ? JMP L21MX YES. ADA BIAS1 SSA JMP L2116 ADA BIAS2 SSA JMP L2115 L2100 LDA CNU00 STA CNUMB JMP COLET L21MX LDA CNUMX SET UP TIMING STA CNUMB FOR 21MX. JMP COLET L2115 LDA CNU15 STA CNUMB JMP COLET L2116 LDA CNU16 STA CNUMB COLET LDA ADCRD RESTORE POINTER STA PACRD CLB STB INTSW JSB LOAD LOAD SELECT CODE HLT 01B CLB STB INTSW AND MSK05 STA DMACW STORE FOR DMA STA SCVAL DOINS LDB PACRD,I B=BASE NO. SZB,RSS B=0? JMP GTOPT YES, GET OPTIONS ADA 1B ADD BASE TO S.C. ISZ PACRD INC. POINTER LDB PACRD,I B=-NO. INSTR. STB STCNT STCNT=-NO. INSTR. ISZ PACRD INC. POINTER LDB PACRD,I B=ADDRESS OF INSTR. STA 1B,I STORE INSTR. ISZ STCNT INC. STCNT, =0? JMP *-4 NO, NEXT INSTR. ISZ PACRD YES, INCR8þþú. POINT. JMP DOINS DO INSTR. GTOPT JSB LOAD HLT 02B HED DIAGNOSTIC TEST STRUCTURE BEGTS LDA INTSW GET SWITCH AND BTM09 MASK ALL BUT BIT 9 SZA JMP TBLST JMP TO TROUBLESHOOT * *** PERFORM ALL RELEVANT TESTS * PERFR CLB STB ERCNT INITIALIZE ERROR COUNTER JSB TEST PERFORM TEST 1 DEF TEST1 DEF TEST1 JSB TEST PERFORM TEST 2 DEF TEST2 DEF TEST2 JSB TEST PERFORM TEST 3 DEF TEST3 DEF TEST3 LDA INTSW AND BTM03 MASK ALL BUT BIT 3 SZA,RSS JMP SK4.5 JSB TEST PERFORM TEST 4 DEF TEST4 DEF TEST4 JSB TEST PERFORM TEST 5 DEF TEST5 DEF TEST5 SK4.5 JSB TEST PERFORM TEST 6 DEF TEST6 DEF TEST6 LDA INTSW AND BTM02 MASK ALL BUT BIT 2 SZA,RSS DO TEST 7? JMP SK7 NO JSB TEST PERFORM TEST 7 DEF TEST7 DEF TEST7 SK7 JSB TEST PERFORM TEST 8 DEF TEST8 DEF TEST8 LDB BTM04 JSB FINAL CHECK IF FINAL TEST LDA INTSW AND BTM04 MASK ALL BUT BIT 4 SZA,RSS JMP SK9 JSB TEST PERFORM TEST 9 DEF TEST9 DEF TEST9 SK9 JSB LOAD HLT 05B JMP BEGTS RETURN TO BEGINNING * *** PERFORM SELECTED TESTS * TBLST LDA INTSW SLA SINGLE TEST OR SEQUENCE? JMP SQTST SEQUENCE JSB VALID SINGLE. INPUT VALID? JSB LOAD NO, RELOAD INPUT HLT 06B,C INPUT ERROR HALT JMP *-3 JSB GTTST GET TEST AND PERFORM JMP SK9 RETURN FOR NEW OPTIONS SQTST LDA INTSW SAVE INTSW STA SAVSW AND BTM12 BIT 12 SZA,RSS PER¼HþúFORM LAST SEQUENCE? JMP GTSEQ NO, GET NEW SEQUENCE LDA SFLAG YES, LOAD SFLAG SZA DOES LAST SEQUENCE EXIST? JMP EXCTS YES, EXECUTE THE SEQUENCE JMP GTOPT NO, GET OPTIONS GTSEQ LDA SEQUN A=FIRST SEQ. LOCATION STA SEQPT STORE IN POINTER LDA INTSW JMP *+3 LDTST JSB LOAD LOAD NEXT TEST IN SEQUENCE HLT 17B JSB VALID INPUT VALID? JSB LOAD NO, RELOAD INPUT. HLT 17B,C JMP *-3 STA SEQPT,I STORE IN SEQUENCE LIST SZA,RSS ADD ANOTHER TEST TO SEQ.? JMP *+3 NO ISZ SEQPT INCREMENT POINTER JMP LDTST NEXT INPUT EXCTS CLA STA PTCNT RESET SEQ. TEST NUMBER INA STA SFLAG SIGNAL THAT SEQ. EXISTS LDA SEQUN STA SEQPT RESET SEQ. POINTER DOTST LDA SEQPT,I A=TEST NUMBER SZA,RSS A=0? (END OF STRING?) JMP RPINT YES, REPLACE SWITCH LDB SAVSW STB INTSW JSB GTTST GET TEST AND PERFORM ISZ PTCNT INCREMENT SEQ. TEST NUMBER ISZ SEQPT INCREMENT SEQ. POINTER LDA PTCNT A=SEQ. TEST NUMBER LDB SAVSW LOAD B= SWITCH SSB HALT TO SHOW TEST NUMBER? HLT 76B YES, A=SEQ. TEST NUMBER JMP DOTST NEXT TEST RPINT LDA SAVSW REPLACE SWITCH BEFORE LEAVING STA INTSW JMP SK9 RETURN FOR NEW OPTIONS * * SUBROUTINE VALID * ENTER:A=INPUT WORD * RETURN:A=TEST NUMBER IF VALID, SKIP NEXT 2 INSTR. * RELOAD IF INVALID. * VALID NOP SZA,RSS JMP VAL01 AND .0770 MASK ALL BUT TEST NUMBER ARS,ARS RIGHT ARS JUSTIFY LDB 0B TRANSFER TO B SZB,RSS ILLEGAL IF B=0 JMP VA;òþúLID,I ILLEGAL, LOAD AGAIN ADB N0010 ADD -10 SSB,RSS LEGAL IF B NEGATIVE JMP VALID,I ILLEGAL, LOAD AGAIN VAL01 LDB VALID LEGAL, SKIP RELOAD ADB P0003 JMP 1B,I RETURN * *SUBROUTINE GTTST *ENTER:A=TEST NUMBER GTTST NOP ADA TSTPT ADD TEST POINTER LDB 0B,I STB TSNUM STORE THE RIGHT ARGUMENTS STB TSNUM+1 JSB TEST PERFORM PROPER TEST TSNUM OCT 0 OCT 0 JMP GTTST,I * * * * SUBROUTINE TEST TEST NOP LDB TEST,I RESTORE ARGUMENT ISZ TEST STB TEST,I DONE JSB REPRT REPORT MESSAGE JSB REPRT REPORT MESSAGE LDA TEST,I IOR BTM15 JSB 0B,I PEFORM TEST,A=ERR.+MESS. CODE STA SAVEC SAVE CODE ISZ TEST,I INCREMENT POINTER LDB TEST,I SSA ERROR MESSAGE? JMP ERROR YES ADB 0B ADD TO POINTER STB TEST,I STORE AS NEW POINTER JSB REPRT JMP RQUES ERROR ADA BTM15 CHANGE SIGN BIT ADB 0B ADD TO POINTER STB TEST,I STORE AS NEW POINTER JSB REPRT LDA INTSW AND BTM14 SZA SUPRESS ERROR HALT? JMP RQUES YES JSB LOAD NO HLT 03B JMP SKRTS RQUES LDA INTSW AND BTM13 ISOLATE REPEAT BIT SZA,RSS WAS REPEAT? JMP *+3 NO SKIP HALT JSB LOAD HLT 04B SKRTS LDA INTSW AND BTM13 SZA,RSS REPEAT LAST TEST? JMP NXTST NO LDA SAVEC YES, LOAD CODE SSA,RSS ERROR IF NEGATIVE JMP STTST NO ERROR , SKIP DEC OF ERCNT CCA ADA ERCNT STA ERCNT ERCNT DECREMENTED STTST CCA DECREMENT TEST ADA TEST STGöþúA TEST JMP TEST+1 REPEAT TEST NXTST ISZ TEST LDB CRLFD SEPARATE TESTS BY CR-LF CLA,CLE JSB 127B,I JMP TEST,I * REPRT NOP LDA TEST,I LDB 0B,I CLA CLE JSB 127B,I OUTPUT MESSAGE ISZ TEST,I INCREMENT POINTER LDA BCFLG SZA,RSS BAD CHAR REPORT? JMP *+4 NO CLA STA BCFLG RESET THE FLAG JSB ABCRP,I REPORT BAD CHARACTERS JMP REPRT,I * LOAD NOP LDA LOAD,I STA LHLT LDA INTSW LDB INTSW LHLT NOP CPA INTSW JMP *+3 STA INTSW JMP LEXR CPB INTSW JMP *+3 STB INTSW JMP LEXR LDA LHLT CPA LOAD,I JMP *+2 STA INTSW LEXR ISZ LOAD LDA INTSW LEAVE WITH LOADED WORD JMP LOAD,I * * *FINAL REPORT SUBROUTINE FOR TESTS 6 AND 7. * *ENTER WITH B=BIT MASK. *FOR TEST 6 B=BM2.4, FOR TEST 7 B=BTM04. FINAL NOP LDA INTSW AND 1B MASK SWITCH SZA ANY MORE TESTS? JMP FINAL,I YES LDA ERCNT NO, A=ERCNT SZA ANY ERRORS? JMP *+3 YES, SET UP MESSAGE LDB PERFT NO, SET UP MESSAGE JMP *+9 CPA P0001 PLURAL OR SINGULAR IN MESS? JMP *+2 SINGULAR JMP *+3 PLURAL LDB NOESS STB REPER+5 ADA NBASE MAKE INTO ASCII STA REPER,I STORE STRING LDB REPER SET UP MESSAGE ADDR. CLA CLE JSB 127B,I OUTPUT MESSAGE LDB ANESS REPLACE "S" STB REPER+5 JMP FINAL,I * HED INDIVIDUAL TEST SUBROUTINES * *TESTS: * TST01 NOP HLT 22B JSB AIOTS,I CHECK INTERFACE SZA,RSS SKIP IF ERROR JMP TST01,I RETURN ADA BTM15 PVÚþúLACE ERROR BIT ISZ ERCNT INC. ERROR COUNTER NOP JMP TST01,I * * TST02 NOP LDA RFCT1 STA RFCNT LDA COFL2 STA RWADD LDA AREAD STA MREAD JSB TSTCD JMP TST02,I * * TST03 NOP LDA RFCT2 STA RFCNT LDA COFL1 STA RWADD LDA AREAD STA MREAD JSB TSTCD JMP TST03,I * * TST04 NOP LDA RFCT2 STA RFCNT LDA COFL1 STA RWADD LDA AREAD STA MREAD JSB TSTCD JMP TST04,I * * TST05 NOP LDA RFCT1 STA RFCNT LDA COFL4 STA RWADD LDA AREAD STA MREAD JSB TSTCD JMP TST05,I * * TST06 NOP LDA RFCT1 STA RFCNT LDA COFL2 STA RWADD LDA ADMAR STA MREAD JSB TSTCD JMP TST06,I * * TST07 NOP HPLB1 CLA INITIALIZE HPCNT=0 STA HPCNT HLT 10B LDA DAFIL SET UP FOR READ STA IWADD LDA RDCON STA READT NEXTC JSB AREAD,I READ CARD NOP SSA SKIP IF NO STATUS ERROR JMP STERT TEST STATUS ERROR LDB BTM02 LDA TIMEC TIMEC=NO. MILLISEC. WAIT OTB04 OTB *-* SEND REJECT COMMAND JSB 121B,I LEAVE FOR 1 MILLISEC. ISZ HPCNT INCREMENT HOPPER COUNT LIA02 LIA *-* LOAD STATUS AND MSK01 MASK ALL BUT STATUS CPA STS00 HOPPER FULL? (0000 STATUS) JMP MNTST YES LDA HPCNT NO ADA HPMAX SSA TOO MANY CARDS? JMP NEXTC NO ISZ ERCNT YES, REPORT LDA ERC91 A=100002 JMP HPOUT OUTPUT COUNT STERT CPA ERC91 JMP MNTST JSB UTILR JMP HPLB1 MNTST LDA HPCNT ADA HPMIN SSA HPCNT BIG ENOUGH? JMP ÍIþú*+3 NO CLA A=000000 JMP HPOUT ISZ ERCNT LDA ERC90 A=100001 HPOUT STA SAVEA LDB AHPHD LDA HPCNT STA ASCNO JSB NOOUT LDA SAVEA JMP TST07,I * * TST08 NOP LDA RFCT1 STA RFCNT LDA COFL2 STA RWADD LDA DAFIL STA IWADD LDA RDCON STA READT CLA STA PKFLG INITIALIZE PICK FAIL FLAG T8.01 HLT 20B HALT TO MAKE CRD RDR READY T8.02 JSB AREAD,I READ CARD SSA UTILITY ERROR? JMP T8.03 YES CPA ERC02 NO, EOD? JMP T8.04 YES CPA ERC03 EOD? JMP T8.04 YES JMP T8.02 NO, READ CARD T8.03 CPA ERC80 UTIL. ERR., PICK FAIL? JMP *+2 YES JMP *+3 NO CLB,INB SET PICK FAIL FLAG STB PKFLG JSB UTILR REPORT ERROR JMP T8.01 T8.04 LDA PKFLG TEST FLAG SZA,RSS WAS THERE A PICK FAIL? JMP *+3 YES CLA JMP TST08,I LDA ERC90 JMP TST08,I * PKFLG OCT 0 * TSTCD NOP LDA DAFIL STA IWADD LDA RDCON STA READT FIXRD HLT 20B HALT TO FIX READER. CARDR JSB MREAD,I READ CARD, A=CODE STA SAVEA SAVE A SSA JMP SKRDT * ** MULTIPLY BY CNUMB, DIVIDE BY 10000 * * ENTER:B=TIMING NUMBER,T; CNUMB IS SET * RETURN:B=T*CNUMB/10000 NOP CLA MULTIPLY FIRST STA HIWRD CLE LDA CNUMB CMA,INA STA SAVEC SAVEC=-CNUMB CLA A=0 MLOOP ADA 1B A=A+T SEZ EXTEND? ISZ HIWRD YES, INCR. HIWRD NOP CLE ISZ SAVEC INCR. SAVEC JMP MLOOP * A=T*CNUMB, SAVEC=0 DIVIDE SECOND LDB HIWR©ï<:6D B-A DLOOP ADB ALONE CLE ADA MTEN4 A=A-10000 SEZ EXTEND? INB YES CLE SSB B<0? JMP *+3 YES ISZ SAVEC JMP DLOOP LDB SAVEC NOP * LDA INTSW AND BTM01 SZA JMP SKRDT LDA TIMAX CMA ADA 1B SSA,RSS >TIMAX? JMP BDRDT YES LDA TIMIN NO CMA,INA ADA 1B SSA,RSS 1 SZA,RSS JMP ENDCT CPA P0001 A=1? JMP ENDCT YES, DO NOT PRINT. STA ASCNO JSB CTHED LDB ACT05 JSB NOOUT ENDCT LDA SAVEA SZA,RSS JMP CARDR CPA BTM01 A=2? JMP MON01 YES,BAD WORD CPA BTM00 A=1? JMP MON01 YES, BAD WORD ON LAST CARD SSA ERROR CODE? JMP MON02 YES CPA ERC02 JMP ALLOK JUMP IF NORM EOD ISZ ERCNT INC. ERR. COUNTER NOP IN CASE ERCNT=0 ADA BTM15 GIVE ERROR FLAG JMP MON03 JUMP TO COUNT TEST ALLOK CLA JMP MON03 JUMP TO COUNT TEST MON01 ADA BTM15 BAD WORD (ON LAST CARD) CCB STB BCFLG BCFLG=-1 ISZ ERCNT INCREMENT ERROR COUNTER NOP IN CASE ERCNT=0 MON03 LDB FLCNT COUNT TEST CPB RFCNT COUNTS EQUAL? JMP TSTCD,I YES,RETURN SZA TEST OTHERWISE OKAY? JMP *+3 NO LDA ERC92 ISZ ERCNT INC ERR COUNTER STA SAVEA SAVE CODE CLA,CLE SET UP FOR +'þúOUTPUT LDB FLCMS JSB 127B,I OUTPUT MESSAGE CLA,INA LDB FLCNT JSB 127B,I OUTPUT NUMBER LDA SAVEA JMP TSTCD,I * MON02 JSB UTILR JMP FIXRD RETURN TO READ CARD. * * SUBROUTINE TWONO OUTPUTS MESSAGE AND TWO NUMBERS * TO ENTER: * B=ADDRESS OF MESSAGE * ASCNO=FIRST NUMBER * ASCNU=SECOND NUMBER * * * SUBROUTINE NOOUT OUTPUTS MESSAGE AND NUMBER. * TO ENTER: * B=ADDRESS OF MESSAGE * ASCNO=THE NUMBER * TWONO NOP LDA RET02 STA RETRN JMP *+4 NOOUT NOP LDA RET01 STA RETRN CLA,CLE JSB 127B,I CLA,INA LDB ASCNO JSB 127B,I RETRN OCT 0 LDB ASCNU JSB 127B,I JMP TWONO,I RET01 JMP NOOUT,I RET02 NOP * * ROUTINE TO PRINT PART OF A MESSAGE * CTHED NOP LDB AHEAD CLA,CLE JSB 127B,I JMP CTHED,I * * UTILITY ERROR MESSAGE OUTPUT * A=ERROR CODE FROM READR UTILR NOP ADA BTM15 ADA STERM LDB 0B,I CLA,CLE JSB 127B,I JMP UTILR,I * ORG 2000B * * TST09 NOP LDA INTSW AND BTM09 ISOLATE BIT 9 SZA TYPE OF DIAGNOSTIC JMP TROTS TROUBLESHOOT LDB ANESS REPLACE "S" FROM TIME BEFORE STB ADESS,I LDA ERCNT A=ERCNT SZA,RSS JMP RBELL A=0 IF ERCNT=0 CPA P0001 PLURAL OR SING IN MESS? JMP *+2 SINGULAR JMP *+3 PLURAL LDB NOESS STB ADESS,I ADA NBASE MAKE INTO ASCII STA AROPR,I STORE FOR OUTPUT LDA BTM00 A=1 IF ERCNT#0 JMP *+2 TROTS LDA BTM01 A=2 IF TROUBLESHOOT RBELL STA ATEMP LDB MBLNO B=NO. TIMES TO RING BELL CMB,INB MAKE NEGATIVE STB BLCNT STORE IN BLCNT DOBEL LDA TIMEC SET ON BELL BIT LDB BELLS CO8©þúMMAND OTB01 OTB *-* FOR ONE MS JSB 121B,I WAITING LOOP CLB SET OFF BELL BIT OTB02 OTB *-* COMMAND, THEN LDA BLTIM WAIT FOR JSB 121B,I 20 MS BETWEEN RINGS. ISZ BLCNT JMP DOBEL LDA ATEMP JMP TST09,I * HED SUBROUTINE IOTST * * ***** SUBROUTINE IOTST * * * * NO ARGUMENTS ARE REQUIRED * * * ON RETURN * * A = ERROR CODE (A=0 IF NO ERRORS) * * * ERROR CODES * * 000001(IEC01) = SFS AND SFC GIVE SAME RESULT * 000002(IEC02) = FLAG NOT SET BY STF * 000003(IEC03) = FLAG NOT CLEARED BY CLF * 000004(IEC04) = CLC DOES NOT CLEAR CONTROL * 000005(IEC05) = STC DOES NOT SET CONTROL * 000006(IEC06) = PRESET DOES NOT SET FLAG * 000007(IEC07) = PRESET DOES NOT CLEAR CONTROL * 000010(IEC08) = PRESET DOES NOT SET FLAG OR CLEAR CONTROL * 000011(IEC09) = CONTENTS OF CENTRAL INTERRUPT REGISTER BAD * 000012(IEC10) = DEVICE COMMAND DOES NOT SET FLAG * 000013(IEC11) = BITS STUCK ON * 000014(IEC12) = BITS STUCK OFF * 000015(IEC13) = STATUS BITS LATCH * 000016(IEC14) = DATA BITS FLOAT * * *************** * * IOTST NOP * CLF 0B CLC 0B LDA IRQIN LDB SCVAL STA 1B,I * * ***** TEST CLF, STF, SFS, SFC * * STF01 STF *-* SFS06 SFS *-* JMP *+4 FLAG NOT SENT SFC02 SFC *-* JMP *+5 FLAG IS SET JMP IOT51 SFS AND SFC GIVE SAME RESULT SFC05 SFC *-* JMP IOT51 SFS AND SFC GIVE SAME RESULT JMP IOT52 FLAG NOT SET BY STF * * CLF03 CLF *-* SFC03 SFC *-* JMP *+4 FLAG NOT CLEAR SFS07 SFS *-* JMP *+5 FLAG IS CLEARED BY CLF JMP IOT51 SFS AND SFC GIVE SAME RESULT SFS08 SFS *-* JMP IOT51 SFS AND SFC GIVE SAME RESULT JMP IOT53 FLAG NOT CLEARED BY CLF * * STF02 STF *-* SFS09 SFS *-* JMP IOT52 FLAG NOT SET BY STF * * ***** TEST CLC, STC, IRQ CIRCUTS * * CLF04 CLF *-* STF ºþú0B TURN ON INTERRUPT SYSTEM * CLC01 CLC *-* JSB SIRQS JMP *+2 JMP IOT54 CONTROL DOES NOT CLEAR * STC01 STC *-* JSB SIRQS JMP IOT55 CONTROL DOES NOT SET CLC02 CLC *-* JSB SIRQS JMP *+2 JMP IOT54 CONTROL DOES NOT CLEAR * * ***** PRESET TEST * * STC02 STC *-* JSB SIRQS JMP IOT55 CONTROL DOES NOT SET CLF05 CLF *-* SFC04 SFC *-* JMP IOT53 FLAG DOES NOT CLEAR CLA,CLE LDB IOTM1 CLF 0B JSB 127B,I HLT 44B STF 0B SFS10 SFS *-* JMP *+5 CLF06 CLF *-* JSB SIRQS JMP *+6 JMP IOT57 PRESET DOES NOT CLERA CONTROL CLF07 CLF *-* JSB SIRQS JMP IOT56 PRESET DOES NOT SET FLAG JMP IOT58 FLAG AND CONTROL BAD * * ***** TEST DEVICE COMMAND AND FLAG CIRCUITRY * * CLF 0B DISABLE INTERRUPT CLA,CLE LDB IOTM2 JSB 127B,I HLT 66B SCC03 STC *-*,C CLA,INA JSB 121B,I SFS11 SFS *-* JMP IOT60 COMMAND DOES NOT SET FLAG * * ***** TEST DATA BITS * * CLA JSB IOBTS SZA JMP IOT61 DATA BITS STUCK ON CCA OTA01 OTA *-* CLA,INA JSB 121B,I LIA11 LIA *-* CPA MSK01 JMP *+6 XOR MSK01 AND MSK01 SZA JMP IOT63 STATUS BITS LATCH JMP IOT64 DATA BITS FLOAT CCA JSB IOBTS CMA,SZA JMP IOT62 BITS STUCK OFF CLA OTA02 OTA *-* CLA,INA JSB 121B,I LIA12 LIA *-* CPA MSK03 JMP IOT00 SUCESSFUL COMPLETION XOR MSK03 AND MSK01 SZA JMP IOT63 STATUS BITS LATCH JMP IOT64 DATA BITS FLOAT * * ***** REPORT SUCESSFUL COMPLETION * * IOT00 CLA JMP IOTEX * * ***** ERROR CODE REPORTING * ***** SFS AND SFC GIVE SAME RESULT * IOT51 LDA IEC01 JMP IOTEX * ****Ø4þú* FLAG NOT SET BY STF * IOT52 LDA IEC02 JMP IOTEX * ***** FLAG NOT CLEARED BY CLF * IOT53 LDA IEC03 JMP IOTEX * ***** CLC DOES NOT CLEAR CONTROL * IOT54 LDA IEC04 JMP IOTEX * ***** STC DOES NOT SET CONTROL * IOT55 LDA IEC05 JMP IOTEX * ***** PRESET DOES NOT SET FLAG * IOT56 LDA IEC06 JMP IOTEX * ***** PRESET DOES NOT CLEAR CONTROL * IOT57 LDA IEC07 JMP IOTEX * ***** PRESET DOES NOT SET FLAG AND DOES NOT CLEAR CONTROL * IOT58 LDA IEC08 JMP IOTEX * ***** CONTENTS OF CENTRAL INTERRUPT REGISTER ARE BAD * IOT59 LDA IEC09 JMP IOTEX * ***** DEVICE COMMAND DOES NOT SET FLAG * IOT60 LDA IEC10 JMP IOTEX * ***** BITS STUCK ON * IOT61 LDA IEC11 JMP IOTEX * ***** BITS STUCK OFF * IOT62 LDA IEC12 JMP IOTEX * ***** STATUS BITS LATCH * IOT63 LDA IEC13 JMP IOTEX * ***** DATA BITS FLOAT * IOT64 LDA IEC14 IOTEX CLF 0B JMP IOTST,I * * ***** INTERNAL SUBROUTINES * ***** SUBROUTINE SIRQS (SKIP-IRQ-SET) * SIRQS NOP CLA STA IRQFL STF03 STF *-* CLA,INA JSB 121B,I LDA IRQFL SZA,RSS JMP SIRQS,I NOT SKIP * ISZ SIRQS SET SKIP LIA 4B GET CIR VALUE CPA SCVAL JMP SIRQS,I SKIP JMP IOT59 CENTRAL INTERRUPT REG PROBLEM * * * * ***** SUBROUTINE IOBTS * * IOBTS NOP OTA03 OTA *-* SCC04 STC *-*,C CLA,INA JSB 121B,I SFS12 SFS *-* JMP IOT60 LIA13 LIA *-* JMP IOBTS,I * * IOTM1 DEF AIOT1 IOTM2 DEF AIOT2 HED SUBROUTINE READR HED SUBROUTINR BCRPT * ***** BAD COLUMN REPORT SUBROUTINE * BCRPT NOP LDA RWADD STA PNTR1 LDA IWADD STA PNTR2 LDA RFCNT CMA,INA STA CNTR1 CLA STA CCNT1 STA CCNT2 BCRP1 LDA CCNT1 CLE,INA CPA P0010 CLA,CCE STA CCNT1 ÛŠþú SEZ ISZ CCNT2 LDA CCNT2 ALF,ALF ADA CCMSK ADA CCNT1 STA BCM01 LDA PNTR1,I XOR PNTR2,I SZA,RSS JMP BCRP9 ALF STA ERRWD LDA PNTR1,I ALF STA REFWD CLA STA CNTR9 LDA N0003 STA CNTR8 LDA BCOAD STA PNTR9 BCRP6 LDA ERRWD CLE,ELA STA ERRWD LDA REFWD RAL STA REFWD SEZ JMP *+5 LDB BCC55 SLA LDB BCC53 JMP *+4 LDB BCC61 SLA LDB BCC60 STB PNTR9,I ISZ PNTR9 ISZ CNTR8 JMP BCRP6 ISZ PNTR9 ISZ CNTR9 LDA CNTR9 CPA P0005 JMP BCRP7 LDB N0004 CPA P0004 RSS INB,RSS ISZ PNTR9 STB CNTR8 JMP BCRP6 BCRP7 CLA,CCE LDB BCMAD JSB 127B,I BCRP9 ISZ PNTR1 ISZ PNTR2 ISZ CNTR1 JMP BCRP1 JMP BCRPT,I * HED SUBROUTINE READR ***** SUBROUTINE READR * * ARGUMENTS * * RWADD IS ADDRESS OF 1ST REFFERENCE WORD * IWADD IS ADDRESS OF 1ST TEST DATA WORD * READT IS TIME ALLOWED FOR COMPLETION OF READ * AS A NEGATIVE NUMBER OF UNITS OF 10T * * DATA RETURNED * * A IS ERROR CODE (=0 IF NO ERRORS) * B IS READ TIME IN UNITS OF 10T * FLCNT IS COUNT OF FLAGS DETECTED * BWCNT IS COUNT OF DATA WORDS WITH ANY TYPE OF ERRORS * BSCNT IS COUNT OF DATA WORDS WITH ANY BAD STATUS * HSCNT IS COUNT OF DATA WORDS WITH BAD HOPPERS STATUS * BCCNT IS COUNT OF DATA WORDS WITH BAD CHARACTERS * * * ERROR CODES * * 100006(ERC99) = READ EXCEEDED TIME ALLOWED * * BEFORE READ * * 100001(ERC90) = CK POWER HOPPER STACKER * 100002(ERC91) = REJECT HOPPER FULL * 100003(ERC92) = PRESS READY * 100005(ERC93) = ILLEGAL READY STATUS * * AT TIME OF 1ST FLAG * * 100004(ERC80) = PICK FAIL * * AFTER READ * * 000003(ERC02) = END OF DECK NORMAL * 0000°Tþú01(ERC03) = END OF DECK - BAD WORDS * * 000002(ERC01) = END OF CARD - BAD WORDS * 000000 = END OF CARD - NORMAL * * * * * READR NOP LDA RWADD STA RWPTR LDA IWADD STA IWPTR CLA STA FLCNT STA BWCNT STA BSCNT STA BCCNT STA HSCNT STA CRCNT STA ECODE STA 1B OTB03 OTB *-* * ***** MAKE CR READY * LIA01 LIA *-* AND MSK01 CLB CPA STS00 JMP *+2 JMP *+3 LDB ERC90 NOP CPA STS01 LDB ERC91 CPA STS02 LDB ERC92 CPA STS03 JMP *+7 CPA STS06 JMP *+5 LDA 1B SZB,RSS LDA ERC93 JMP READR,I * * ***** PICK CARD * RDR10 CLB ZERO TIME COUNTER SCC01 NOP * ***** WAIT FOR DATA WORD * SFC01 EQU * RDR11 SFC *-* 2T 1T+1C JMP RDR12 CLE 2T 1T+1C LDA 1B 2T 2T ADA READT 2T 2T SEZ 2T 1T+1C JMP RDR51 LDA OLT04,I 4T 8T-4C LDA 0B 2T 2T ADB P0002 2T 2T JMP RDR11 2T 1T+1C * 20T 20T * ***** PROCESS IST FLAG * RDR12 LDA NZERO 2T 2T CPA FLCNT 2T 2T JMP *+2 2T 1T JMP RDR13 LCA01 LIA *-*,C 2T 1T+1C STA IWPTR,I 3T 3T CPA RWPTR,I 3T 3T JMP RDR31 2T 1T * 16T 13T+3C AND MSK01 2T 2T CPA STS03 2T 2T JMP RDR71 LDA IWPTR,I 3T 3T XOR RWPTR,I 3T 3T AND MSK01 2T 2T CPA NZERO 2T 2T JMP *+3 LDA P0001 2T 2T JMP *+2 2T 1T+1C LDA NZERO ADA BSCNT 2T 2T STA BSCNT 2T 2T LDA IWPTR,I 3T 3T XOR RWPTR,I 3T 3T AND MSK03 ±cþú2T 2T CPA NZERO 2T 2T JMP *+3 LDA P0001 2T 2T JMP *+2 2T 1T+1C ADA BCCNT 2T 2T STA BCCNT 2T 2T LDA P0001 2T 2T ADA BWCNT 2T 2T STA BWCNT 2T 2T LDA OLT02,I 4T 6T-2C LDA TTM08,I 8T 8T ADB P0006 2T 2T * 60T 60T * JMP RDR31 2T 1T+1C * * ***** PROCESS REMAINING FLAGS * LCA02 EQU * RDR13 LIA *-*,C 2T 1T,1C STA IWPTR,I 3T 3T CPA RWPTR,I 3T 3T JMP RDR31 2T 1T XOR RWPTR,I 3T 3T AND MSK01 2T 2T CPA STS02 2T 2T JMP *+3 LDA NZERO 2T 2T JMP *+2 2T 1T+1C LDA P0001 ADA HSCNT 2T 2T STA HSCNT 2T 2T LDA IWPTR,I XOR RWPTR,I AND MSK01 CPA NZERO 2T 2T JMP *+3 LDA P0001 2T 2T JMP *+2 2T 1T+1C LDA NZERO ADA BSCNT 2T 2T STA BSCNT 2T 2T LDA IWPTR,I 3T 3T XOR RWPTR,I 3T 3T AND MSK03 2T 2T CPA NZERO 2T 2T JMP *+3 LDA P0001 2T 2T JMP *+2 2T 1T+1C LDA NZERO ADA BCCNT 2T 2T STA BCCNT 2T 2T LDA P0001 2T 2T ADA BWCNT 2T 2T STA BWCNT 2T 2T LDA OLT03,I 4T 7T-3C LDA TTM05,I 5T 5T ADB P0006 2T 2T * 60T 60T * JMP RDR31 * RDR31 LDA IWPTR,I 3T 3T AND MSK04 2T 2T CPA STS04 2T 2T JMP RDR61 CPA STS06 2T 2T JMP RDR63 * LDA IWPTR 2T 2T ADA P0001 2T 2T STA IWPTR 2T 2T LDA RWPTR 2T 2T ADA P000/ûþú1 2T 2T STA RWPTR 2T 2T LDA FLCNT 2T 2T ADA P0001 2T 2T STA FLCNT 2T 2T LDA TTM05,I 5T 5T LDA OLT06,I 4T 10T-6C ADB P0006 2T 2T JMP RDR11 2T 1T+1C * ***** READ TIMED OUT * RDR51 LDA ERC99 JMP READR,I * ***** END OF DECK - END OF CARD * RDR61 ISZ FLCNT LDA BSCNT CPA HSCNT JMP *+3 LDA BWCNT JMP *+2 LDA BCCNT SZA BAD CHARACTERS ? JMP *+3 LDA ERC02 JMP READR,I LDA ERC03 JMP READR,I * ***** END OF CARD ONLY * RDR63 ISZ FLCNT LDA BWCNT SZA LDA ERC01 JMP READR,I * ***** * RDR71 LDA ERC80 JMP READR,I * * HED SUBROUTINE DMARD * ***** SUBROUTINE DMARD * * * * ARGUMENTS * * RWADD IS ADDRESS OF 1ST REFFERENCE WORD * IWADD IS ADDRESS OF 1ST TEST DATA WORD * ECCNT IS NO. OF DATA WORDS EXPECTED INCLUDING EOC WORD * READT IS TIME ALLOWED FOR READ AS A NEGATIVE NUMBER OF UNITS OF 10T * * DATA RETURNED * * A IS ERROR CODE (=0 IF NO ERRORS) * B IS READ TIME IN UNITS OF 10T * FLCNT IS COUNT OF FLAGS DETECTED * BWCNT IS COUNT OF DATA WORDS WITH ANY TYPE OF ERRORS * BSCNT IS COUNT OF DATA WORDS WITH BAD STATUS * HSCNT IS COUNT OF DATA WORDS WITH BAD HOPPERS STATUS * BCCNT IS COUNT OF DATA WORDS WITH BAD CHARACTERS * * CRCNT IS COUNT OF DATA WORDS TRANSFERED WITH OUT DMA * * * ERROR CODES * * 100006(ERC99) = READ TIMED OUT * * 000004(ERC98) = DMA LOG NOT UP TO DATE * 000005(ERC97) = DMA HARDWARE PROBLEM * 000006(ERC96) = MORE THAN 128 WORDS IN READ * 000007(ERC70) = DMA CANNOT OPERATE IN I/O SLOT * 000010(ERC95) = SRQ DETECTED WHEN BIT 15 = 0 * * BEFORE READ * * 100001(ERC90) = CK POWER HOPPER STACKER * 100002(ERC91) = EMPTY REJECT HOPPER * 100003(ERC92) = PRESS READY * 100005(ERC93) = ILLEGAL READY STATUS * * AT TIME OF 1ST FLAG * ž <:6 * 100004(ERC80) = PICK FAIL * * AFTER READ * * 000003(ERC02) = END OF DECK NORMAL * 000001(ERC03) = END OF DECK - BAD WORDS * 000002(ERC01) = END OF CARD - BAD WORDS * 000000 = END OF CARD - NORMAL * * * * * DMARD NOP LDA RWADD STA RWPTR LDA IWADD STA IWPTR LDA ECCNT STA DMACT CMA ADA IWPTR STA LWPTR LDA BUFLN ADA ECCNT CMA,INA STA EXCNT CLA STA FLCNT STA BWCNT STA BSCNT ÀŽ<ÿÿ ÿý3B ÿ07261-18007 1546 S 0163 7261A OPTICAL MARK READER DIAGNOSTIC             H0101 ¥Fþú STA HSCNT STA BCCNT STA CRCNT STA ECODE * ***** MAKE CR READY * LIA03 LIA *-* AND MSK01 CLB CPA STS00 LDB ERC90 CPA STS01 LDB ERC91 CPA STS02 LDB ERC92 CPA STS03 JMP DRD10 CPA STS06 JMP DRD10 LDA 1B SZB,RSS LDA ERC93 JMP DMARD,I * * ***** SET UP READ * DRD10 CLB LDA DMACW OTA DMACC LDA IWADD CCE RAL,ERA CLC DMAAC OTA DMAAC LDA ECCNT STC DMAAC OTA DMAAC OTB05 OTB *-* STC DMACC,C SCC02 STC *-*,C * ***** MONITOR READ * DRD11 SFC DMACC 2T 1T+1C JMP DRD31 SFS01 SFS *-* JMP *+2 SFS02 SFS *-* JMP *+2 SFS03 SFS *-* JMP *+2 2T 1T+1C JMP DRD12 CR OFF LIA DMAAC 2T 1T+1C CPA DMACT 2T 2T JMP *+8 2T 1T+1C LDA IWPTR,I 3T 3T SSA,RSS 2T 1T+1C JMP DRD94 LDA OLT01,I 4T 5T-1C LDA TTM09,I 9T 9T ADB P0002 2T 2T JSB DWLOG LOG IN DATA WORD CLE 2T 1T+1C LDA 1B 2T 2T ADA READT 2T 2T SEZ 2T 1T+1C JMP DRD99 READ TIMED OUT LDA OLT10,I 4T 14T-10C LDA OLT01,I 4T 5T-1C LDA TTM04,I 4T 4T ADB P0004 2T 2T JMP DRD11 2T 1T+1C * 30T 30T * * *****PROCESS CARD READER FLAG * * DRD12 SFC DMACC 2T 1T+1C JMP DRD30 LIA DMAAC 2T 1T+1C CPA DMACT 2T 2T JMP *+2 2T 1T+1C JMP DRD98 UP TO DATE ERROR CPA ECCNT 2T 2T JMP DRD13 2T 1T+1C JMP DRD14 PARRALLEL TO ABOVE * ***** PROCESS CR FLAG ON 1ST WORD * 0þú LIA04 EQU * DRD13 LIA *-* 2T 1T+1C AND MSK01 2T 2T CPA STS03 2T 2T JMP DRD61 LDA 0B 2T 2T JMP DRD15 2T 1T+1C * ***** PROCESS CR FLAG ON SUBSEQUENT WORD * LIA05 EQU * DRD14 LIA *-* 2T 1T+1C AND MSK01 2T 2T CPA STS04 2T 2T JMP DRD71 CPA STS06 2T 2T JMP DRD75 JMP DRD15 2T 1T+1C * ***** PROCESS NON-DMA DATA WORD * DRD15 STF DMACC 2T 1T+1C LIA06 LIA *-* 2T 1T+1C STA IWPTR,I 3T 3T JSB DWLOG 2T 1T+1C (SIMULATED) LDA CYCNT 2T 2T ADA N0001 2T 2T STA CYCNT 2T 2T LDA IWPTR 2T 2T CCE 2T 1T+1C RAL,ERA 2T 1T+1C CLC DMAAC 2T 1T+1C OTA DMAAC 2T 1T+1C LIA DMAAC 2T 1T+1C ADA P0001 2T 2T SZA,RSS 2T 1T+1C JMP DRD16 STC DMAAC 2T 1T+1C OTA DMAAC 2T 1T+1C LDA CRCNT 2T 2T ADA P0001 2T 2T STA CRCNT 2T 2T CLF01 CLF *-* STC DMACC,C 2T 1T+1C LDA OLT10,I 4T 14T-10C LDA OLT10,I 4T 14T-10C LDA OLT03,I 4T 7T-3C LDA TTM11,I 11T 11T ADB P0010 2T 2T JMP DRD11 2T 1T+1C * ***** PROCESS NON DMA WORD NEXT TO LAST * DRD16 LDA OLT09,I 4T 13T-9C LDA TTM08,I 8T 8T ADB P0003 2T 2T JMP DRD34 2T 1T+1C * 100T 100T * * ****** PROCESS DMA OFF CONDITION * * DRD30 LDA OLT04,I 4T 8T-4C LDA TTM06,I 6T 6T ADB P0002 2T 2T * 20T 20T * * * DRD31 LIA DMAAC 2T 1T+1C SZA 2T 1T+1C JMP DRD97 CPA DMACT 2T 2T JMP *+5 2T 1T+1C ÐGþú ADA N0001 CPA DMACT JMP *+4 JMP DRD98 LDA TTM04,I 4T 4T CCA,RSS 2T 1T+1C CLA ADA IWPTR 2T 2T LDA 0B,I 3T 3T SSA,RSS 2T 1T+1C JMP DRD95 * * * SFS04 EQU * DRD32 SFS *-* 2T 1T+1C JMP *+2 SFS05 SFS *-* 2T 1T+1C JMP *+2 JMP DRD33 LDA OLT04,I 4T 8T-4C LDA TTM06,I 6T 6T ADB P0002 2T 2T JMP DRD32 2T 1T+1C * ***** RESET DMA IF EXTRA CHARACTERS * LIA07 EQU * DRD33 LIA *-* 2T 1T+1C AND MSK01 2T 2T CPA STS04 2T 2T JMP DRD71 CPA STS06 2T 2T JMP DRD75 LIA08 EQU * LIA *-* 2T 1T+1C STA IWPTR,I 3T 3T JSB DWLOG 2T 1T+1C (SIMULATED) LDA CRCNT 2T 2T ADA P0001 2T 2T STA CRCNT 2T 2T * * * DRD34 LDA FLCNT ADA N0128 SSA 2T 1T+1C JMP DRD96 LDA EXCNT 2T 2T STC DMAAC 2T 1T+1C OTA DMAAC 2T 1T+1C CLF02 CLF *-* 2T 1T+1C STC DMACC,C 2T 1T+1C LDA OLT10,I 4T 14T-10C LDA OLT08,I 4T 12T-8C LDA 0B 2T 2T ADB P0008 2T 2T JMP DRD11 2T 1T+1C * * ***** SUBROUTINE TO LOG IN DATA WORD FROM DMA * * DWLOG NOP LDA IWPTR,I 3T 3T XOR RWPTR,I 3T 3T STA SCRW1 2T 2T CPA NZERO 2T 2T JMP *+3 LDA P0001 2T 2T JMP *+2 2T 1T+1C LDA NZERO ADA BWCNT 2T 2T STA BWCNT 2T 2T LDA SCRW1 2T 2T AND MSK01 2T 2T CPA NZERO 2T 2T JMP *+3 LDA P0001 2T 2T JMP *+2 2T 1T+1C LDA NZERO ADA BSCNT 2T 2T STA BSCNT 2T ” þú 2T LDA SCRW1 2T 2T AND MSK01 2T 2T CPA STS02 2T 2T JMP *+3 LDA NZERO 2T 2T JMP *+2 2T 1T+1C LDA P0001 ADA HSCNT 2T 2T STA HSCNT 2T 2T LDA SCRW1 2T 2T AND MSK03 2T 2T CPA NZERO 2T 2T JMP *+3 LDA P0001 2T 2T JMP *+2 2T 2T LDA NZERO ADA BCCNT 2T 2T STA BCCNT 2T 2T * 60T 56T+4C * * LDA CYCNT 2T 2T ADA P0001 2T 2T CPA P0010 2T 2T JMP *+3 2T 1T+1C LDA TTM04,I JMP *+3 ADB P0001 2T 2T LDA NZERO 2T 2T STA CYCNT 2T 2T * 14T 13T+1C * * LDA IWPTR 2T 2T ADA P0001 2T 2T STA IWPTR 2T 2T LDA RWPTR 2T 2T ADA P0001 2T 2T STA RWPTR 2T 2T LDA FLCNT 2T 2T ADA P0001 2T 2T STA FLCNT 2T 2T LDA DMACT 2T 2T ADA P0001 2T 2T STA DMACT 2T 2T * 20T 20T * * LDA OLT05,I 4T 9T-5C LDA TTM07,I 7T 7T ADB P0011 2T 2T JMP DWLOG,I 3T 2T+1C * 16T 16T-4C * * TOTAL 112T 111T+1C * * UNCORRECTED(JSB=JMP) 2T 1T+1C * * * ***** ERROR CODE PROCESSING * * ***** PICK FAIL DRD61 LDA ERC80 JMP DMARD,I * ***** EOD PROCESSING * DRD71 STF DMACC LIA09 LIA *-* STA IWPTR,I JSB DWLOG ADB N0011 LDA CRCNT ADA P0001 STA CRCNT LDA BWCNT CPA HSCNT JMP *+3 LDA BWCNT JMP *+3 LDA BCCNT STA BWCNT SZA Áyþú JMP *+3 LDA ERC02 JMP DRD72 LDA ERC03 JMP DMARD,I * ***** EOC PROCESSING * DRD75 STF DMACC LIA10 LIA *-* STA IWPTR,I JSB DWLOG ADB N0011 LDA CRCNT ADA P0001 STA CRCNT LDA BWCNT SZA LDA ERC01 JMP DRD72 * ***** READ TIMED OUT * DRD99 LDA ERC99 JMP DMARD,I * ***** UP TO DATE ERROR * DRD98 LDA ERC98 * ***** REPORT DMA HARDWARE PROBLEM * DRD97 LDA ERC97 JMP DMARD,I * ***** REPORT MORE THAN 128 WORDS FOR READ * DRD96 LDA ERC96 JMP DMARD,I * ***** SRQ ERROR WITH DMA ON * DRD94 STF DMACC CLC DMACC * ***** SRQ ERROR WITH DMA OFF * CLC03 EQU * DRD95 CLC *-* LDA ERC95 JMP DMARD,I * SAVCD OCT 0 * DRD72 STA SAVCD SAVE CODE LDA CRCNT CPA FLCNT CRCNT=FLCNT? JMP *+2 YES, CHANGE ERROR CODE JMP *+3 NO, RESTORE ERROR CODE LDA ERC70 JMP DMARD,I LDA SAVCD JMP DMARD,I * HED I/O INSTRUCTION TABLE * CDSTG OCT 102100 STF DEC -3 DEF STF01 DEF STF02 DEF STF03 OCT 000100 SFC DEC -5 DEF SFC01 DEF SFC02 DEF SFC03 DEF SFC04 DEF SFC05 OCT 000100 SFS DEC -12 DEF SFS01 DEF SFS02 DEF SFS03 DEF SFS04 DEF SFS05 DEF SFS06 DEF SFS07 DEF SFS08 DEF SFS09 DEF SFS10 DEF SFS11 DEF SFS12 OCT 000200 LIA DEC -13 DEF LIA01 DEF LIA02 DEF LIA03 DEF LIA04 DEF LIA05 DEF LIA06 DEF LIA07 DEF LIA08 DEF LIA09 DEF LIA10 DEF LIA11 DEF LIA12 DEF LIA13 OCT 000100 OTA DEC -3 DEF OTA01 DEF OTA02 DEF OTA03 OCT 000100 STC RÃþúDEC -2 DEF STC01 DEF STC02 OCT 000200 CLF DEC -7 DEF CLF01 DEF CLF02 DEF CLF03 DEF CLF04 DEF CLF05 DEF CLF06 DEF CLF07 OCT 000400 LCA DEC -2 DEF LCA01 DEF LCA02 OCT 000200 SCC DEC -4 DEF SCC01 DEF SCC02 DEF SCC03 DEF SCC04 OCT 002700 OTB DEC -4 DEF OTB01 DEF OTB02 DEF OTB03 DEF OTB04 OCT 000100 CLC DEC -3 DEF CLC01 DEF CLC02 DEF CLC03 OCT 000000 * HED TEST POINTER TABLE TEST1 DEF ANN01 DEF INP01 DEF TST01 DEF ER001 DEF ER201 DEF ER301 DEF ER401 DEF ER501 DEF ER601 DEF ER701 DEF ER801 DEF ER901 DEF E1001 DEF E1101 DEF E1201 DEF E1301 DEF E1401 DEF E1501 TEST2 DEF ANN02 DEF INP02 DEF TST02 DEF ER101 DEF ER202 DEF ER302 DEF ER402 TEST3 DEF ANN03 DEF INP03 DEF TST03 DEF ER101 DEF ER202 DEF ER302 DEF ER402 TEST4 DEF ANN04 DEF INP04 DEF TST04 DEF ER101 DEF ER202 DEF ER302 DEF ER402 TEST5 DEF ANN05 DEF INP05 DEF TST05 DEF ER101 DEF ER202 DEF ER302 DEF ER402 TEST6 DEF ANN06 DEF INP02 DEF TST06 DEF ER101 DEF ER202 DEF ER302 DEF ER402 DEF ER206 DEF ER306 DEF ER406 DEF ER506 DEF ER606 TEST7 DEF ANN07 DEF INP07 DEF TST07 DEF ER101 DEF ER207 DEF ER307 TEST9 DEF ANN08 DEF ER402 DEF TST09 DEF ER108 DEF ER208 DEF ER308 TEST8 DEF ANN09 DEF INP09 DEF TST08 DEF ER101 DEF ER209 HED MESûfþúSAGES * * ANN01 ASC 13,TEST 1. INTERFACE CHECK./ INP01 ASC 24,REMOVE MARK READER'S CONNECTOR FROM INTERFACE./ ER001 ASC 22,TEST OKAY. REPLACE MARK READER'S CONNECTOR./ ER101 ASC 6,TEST OKAY./ ER201 ASC 15,SFS AND SFC GIVE SAME RESULT./ ER301 ASC 11,FLAG NOT SET BY STF./ ER401 ASC 13,FLAG NOT CLEARED BY CLF./ ER501 ASC 14,CLC DOES NOT CLEAR CONTROL./ ER601 ASC 13,STC DOES NOT SET CONTROL./ ER701 ASC 13,PRESET DOES NOT SET FLAG./ ER801 ASC 16,PRESET DOES NOT CLEAR CONTROL./ ER901 ASC 22,PRESET DOES NOT SET FLAG OR CLEAR CONTROL./ E1001 ASC 22,CONTENTS OF CENTRAL INTERRUPT REGISTER BAD./ E1101 ASC 17,DEVICE COMMAND DOES NOT SET FLAG./ E1201 ASC 8,BITS STUCK ON./ E1301 ASC 8,BITS STUCK OFF./ E1401 ASC 10,STATUS BITS LATCH./ E1501 ASC 9,DATA BITS FLOAT./ AIOT1 ASC 12,PRESS (EXTERNAL) PRESET/ AIOT2 ASC 12,INSTALL TEST CONNECTOR/ ANN02 ASC 19,TEST 2. READ CLOCK-AFTER-DATA CHECK:/ INP02 ASC 14,PLACE 40-50 CLOCK-AFTER-DATA ASC 16, CARDS IN HOPPER (02760-9067)./ ER202 ASC 11,LAST CARD IN DECK HAD ER302 ASC 6,BAD WORDS./ ER402 ASC 1,_ ANN03 ASC 17,TEST 3. READ CLOCK-ON-DATA CHECK:/ INP03 ASC 16,PLACE 40-50 CLOCK-ON-DATA CARDS ASC 13,IN HOPPER (09869-90130)./ ANN04 ASC 24,TEST 4. (OPTION 3) READ 40 COL. NO CLOCK CHECK:/ INP04 ASC 14,PLACE 40-50 40-COL.-NO-CLOCK ASC 16, CARDS IN HOPPER (09869-90120)./ ANN05 ASC 24,TEST 5. (OPTION 3) READ 80 COL. NO CLOCK CHECK:/ INP05 ASC 14,PLACE 40-50 80-COL.-NO-CLOCK ASC 16, CARDS IN HOPPER (07261-90140)./ ANN06 ASC 15,TEST 6. READ USING DMA CHECK:/ ER206 ASC 12,DMA LOG NOT UP TO DATE./ ER306 ASC 11,DMA HARDWARE PROBLEM./ ER406 ASC 15,MORE THAN 128 WORDS IN READ./ ER506 ASC 21,DMA CANNOT OPERATE WITH THIS SELECT CODE./ ER606 ASC 14,SRQ DETECTED WHEN BIT 15=0./ ANN07 ASC 25,TEST 7. (OPTION 2) SELECT HOPPER CAPACITY CHECK:/ INP07 ASC 22,PLACE 40-50 OF ANY TYPE OF CARDS IN HOPPER./ HOPHD ASC 12,HOPPER HOLDS # CARDS./ ER207 ASC 10,COUNT IS TOO SMALL./ ER307 ASC 10,COUNT IS TOO LARGE./ oòþú ANN09 ASC 13,TEST 8. PICK FAIL CHECK./ INP09 ASC 22,PLACE 40-50 OF ANY TYPE OF CARDS IN HOPPER. OCT 006412 ASC 17,FORCE PICK FAIL BY HOLDING CARDS./ ER209 ASC 12,THERE WAS NO PICK FAIL./ ANN08 ASC 18,TEST 9. (OPTION 4) LISTEN FOR BELL./ ER108 ASC 15,IF BELL HONKS ALL TESTS OKAY./ ER208 ASC 17,IF BELL HONKS TEST OKAY, HOWEVER, ROPER OCT 0 ASC 15, ERRORS DETECTED BEFORE BELL./ TIMES ASC 12,READ TIME: # MILLISEC./ ER308 ASC 13,IF BELL HONKS TEST OKAY./ AFLCM ASC 9,BAD FLAG COUNT: # ACRLF ASC 1,/ STM01 ASC 14,CK POWER, HOPPER, STACKER./ STM02 ASC 10,SELECT HOPPER FULL./ STM03 ASC 7,PRESS READY./ STM04 ASC 6,PICK FAIL./ STM05 ASC 11,ILLEGAL READY STATUS./ STM06 ASC 14,READ EXCEEDED TIME ALLOWED./ MHEAD ASC 6,DATA WORDS _* CMES1 ASC 13,WITH ANY TYPE OF ERRORS:#/ CMES2 ASC 13,WITH ANY BAD STATUS: #/ CMES3 ASC 13,WITH BAD HOPPERS STATUS:#/ CMES4 ASC 13,WITH BAD CHARACTERS: #/ CMES5 ASC 13,TRANSFERRED WITHOUT DMA:#/ HED COMPARISON FILES * COMPARISON FILES: * * TEST 3. CLOCK ON DATA * TEST 4. 40 COLUMN NO CLOCK ACFL1 OCT 160010 OCT 162041 OCT 160020 OCT 160040 OCT 160100 OCT 160200 OCT 160400 OCT 161000 OCT 162000 OCT 164000 OCT 160000 OCT 164000 OCT 162000 OCT 162041 OCT 161000 OCT 160400 OCT 160200 OCT 160100 OCT 160040 OCT 160020 OCT 160010 OCT 160010 OCT 160000 OCT 160010 OCT 160201 OCT 160000 OCT 160020 OCT 160000 OCT 160002 OCT 160010 OCT 160201 OCT 160002 OCT 160020 OCT 160000 OCT 160000 OCT 160000 OCT 160002 OCT 160010 OCT 160004 OCT 160004 OCT 060000 * * TEST 2. CLOCK AFTER DATA ACFL2 OCT 167777 OCT 160000 OCT 160001 OCT 160002 OCT 160004 OCT 160010 OCT 160020 OCT 160040 OCT 160100 °(þúOCT 160200 OCT 160400 OCT 161000 OCT 162000 OCT 164000 OCT 167776 OCT 167775 OCT 167773 OCT 167767 OCT 167757 OCT 167737 OCT 167677 OCT 167577 OCT 167377 OCT 166777 OCT 165777 OCT 163777 OCT 162525 OCT 165252 OCT 162525 OCT 165252 OCT 162525 OCT 165252 OCT 162525 OCT 165252 OCT 162525 OCT 165252 OCT 162525 OCT 165252 OCT 162525 OCT 165252 OCT 160000 OCT 160000 OCT 160000 OCT 160000 OCT 160000 OCT 160000 OCT 160000 OCT 160000 OCT 160000 OCT 160000 OCT 160000 OCT 160000 OCT 160000 OCT 160000 OCT 160000 OCT 160000 OCT 160000 OCT 160000 OCT 160000 OCT 160000 OCT 160000 OCT 160000 OCT 160000 OCT 160000 OCT 160000 OCT 160000 OCT 160000 OCT 160000 OCT 160000 OCT 160000 OCT 160000 OCT 160000 OCT 160000 OCT 160000 OCT 160000 OCT 160000 OCT 160000 OCT 160000 OCT 160000 OCT 160000 OCT 060000 * * TEST 5. 80 COLUMN NO CLOCK. ACFL4 OCT 160000 OCT 160000 OCT 160000 OCT 160000 OCT 160000 OCT 160000 OCT 160000 OCT 160000 OCT 160000 OCT 160000 OCT 160000 OCT 160000 OCT 160000 OCT 160000 OCT 160000 OCT 160000 OCT 160000 OCT 160000 OCT 160000 OCT 160000 OCT 160000 OCT 160000 OCT 160000 OCT 160000 OCT 160000 OCT 160000 OCT 160000 OCT 160000 OCT 160000 OCT 160000 OCT 160000 OCT 160000 OCT 160000 OCT 160000 OCT 164001 OCT 160002 OCT 160004 OCT 160010 OCT 160020 OCT 1600¶Â<:640 OCT 160100 OCT 160200 OCT 160400 OCT 161000 OCT 162000 OCT 160000 OCT 160000 OCT 160000 OCT 160000 OCT 160000 OCT 160000 OCT 160000 OCT 160000 OCT 160000 OCT 160000 OCT 160000 OCT 160000 OCT 160000 OCT 160000 OCT 160000 OCT 160000 OCT 160000 OCT 160000 OCT 160000 OCT 160000 OCT 160000 OCT 160000 OCT 160000 OCT 160000 OCT 160000 OCT 160000 OCT 160000 OCT 160000 OCT 160000 OCT 160000 OCT 160000 OCT 160000 OCT 160000 OCT 160000 OCT 164001 OCT 060000 ADAFL BSS 200B SLIST BSS 30B END P<ÿÿ ÿý4C ÿ09600-18003 A S 0122 12759A OPT. 100 TEST PROGRAM             H0101 r²þúASMB¬A¬Ì¬B ª  ª     ÔÏGGÌÅ PÒÏGÒAM ÆÏÒ DUAÌ PAÃÅÒ ª       ±²·59A ÏPÔÉÏN ±00 ª ª     ÔÅSÔ ÅÑUÉPMÅNÔ ÒÅÑUÉÒÅD ª        Ô×Ï ÃHANNÅÌ ÏSÃÉÌÌÏSÃÏPÅ    (HP ±¸0A© ª  ª     ÏPÅÒAÔÉNG ÉNSÔÒUÃÔÉÏNS ª  ª       NÏÔÅ:  ÔHÅ ÆÏÌÌÏ×ÉNG S×ÉÔÃH ÒÅGÉSÔÅÒ ÅNÔÒÉÅS ª              AÒÅ ÔÏ BÅ ÅNÔÅÒÅD AS ÏÃÔAÌ. (É.Å. ÌAD ª              ÃAÒD ADDÒÅSS ±0 DÅÃÉMAÌ ÉS ÅNÔÅÒÅD AS ª              ±² ÏÃÔAÌ© ª  ª        ±© SÅÔ P ½ ±00 ª        ²© SÅÔ S ½ É¯Ï SÅÌÅÃÔ ÃÏDÅ ÆÏÒ ²3±3 ª        3© PUSH PÒÅSÅÔ ¬ ÒUN ª           ÔHÅ ÃÏMPUÔÅÒ ×ÉÌÌ HAÌÔ ×ÉÔH ±0²00± ÉN MÅMÏÒY DAÔA ª        ´© SÅÔ S ½ ÃAÒD SÌÏÔ ÆÏÒ ÔHÅ AUØÉÌAÒY PAÃÅÒ ª        5© PUSH ÒUN ª           ÔHÅ ÃÏMPUÔÅÒ ×ÉÌÌ HAÌÔ ×ÉÔH ±0²00² ÉN MÅMÏÒY DAÔA ª        6© SÅÔ S ½ ÃAÒD SÌÏÔ ÆÏÒ ÌAD ª        ·© PUSH ÒUN ª           ÔHÅ ÃÏMPUÔÅÒ ×ÉÌÌ HAÌÔ ×ÉÔH ±0²003 ÉN MÅMÏÒY DAÔA ª        ¸© SÅÔ S ½ ÃAÒD SÌÏÔ ÆÏÒ MUÌÉÔÉPÌÅØ ÃAÒD ª        9© PUSH ÒUN ª        ±0© SÅÔ ÏSÃÉÌÌÏSÃÏPÅ AS ÆÏÌÌÏ×S: ª            AÔÔAÃH ÃHANNÅÌ A ÔÏ ÔP6 ÏÆ AUØÉÌAÒY PAÃÅÒ ª            AÔÔAÃH ÃHANNÅÌ B ÔÏ ÔP6 ÏÆ SYSÔÅM PAÃÅÒ ª            ÔÒÉGGÅÒ SÅÔ ÔÏ - SÌÏPÅ ½ NÅGAÔÉVÅ ª                           - ÉNÔÅÒNAÌ SÏUÒÃÅ ª                           - NÏÒMAÌ ÔÒÉGGÅÒ ª            BÏÔH ÃHANNÅÌS AÒÅ - VÏÌÔS¯DÉV ½ .² ª                              - ÔÉMůDÉV ½.± MS ÏNÅ PAÔÔÅÒN ª                              -          ½ .5 MS Ô×Ï PAÔÔÅÒNS ª            DÉSPÌAY BÏÔH ÃHANNÅÌS ×ÉÔH ÔÒÉGGÅÒ ÏN ÃHANNÅÌ A ª        ±±© ÒÅSUÌÔS: ª            A© DÉSPÌAY SHÏ×S ±6 PUÌSÅS ÏN ÃHANNÅÌ B ÆÏÒ ÅVÅÒY ª               PUÌSÅ ÏN ÃHANNÅÌ A ª            B© ÒÅPÅÔÉÔÉÏN ÒAÔÅ ÃHANNÅÌ A ÉS ² MS ª            Ã© ÒÅPÅÔÉÔÉÏN ÒAÔÅ ÃAHNNÅÌ B ÉS 50 US ª  ª     ÉNÉÔÉAÌ SÌÏÔ ASSÉGNMÅNÔS ª       SYSÔÅM PAÃÅÒ  SÌÏÔ 0 ª       HÌMPØ         SÌÏÔ ´ ª       AUØ PAÃÅÒ     SÌÏÔ 5 ª       ÌAD           SÌÏÔ 6 ª  ª  ª  ª  ª  ª  ª  ª  ª        ÏÒG ±00B       NÏP       ÃÌÆ 0         .ÔUÒN ÏÆÆ ÉNÔÅÒÒUPÔ SYSÔÅM ª        ÌÉB S×ÒÅG     .ÆÅÔÃH É¯Ï SÅÌÅÃÔ ÃÏDÅ       ÌDA ÏÔAÉ      .ÃÏNÆÉGUÒÅ       ADA B         .  AÌÌ O þú      SÔA ÏÔA±      .     É¯Ï       ÌDA SÔÃÉ      .        ÉNSÔÒUÃÔÉÏNS       ADA B       SÔA SÔñ       ÌDA SÆSÉ       ADA B       SÔA SÆS± ªªªªªªªªªªªªªªªªªªªªªªªªªªªªªª ª  ª     HAÌÔ ÆÏÒ AUØ PAÃÅÒ ÉN S×ÉÔÃH ÒÅGÉSÔÅÒ ª  ªªªªªªªªªªªªªªªªªªªªªªªªªªªªªª       HÌÔ ±       ÌÉA S×ÒÅG       AND B±·       AÌÆ¬ÒAÌ       .PÏSÉÔÉÏN ÔÏ ÃAÒD SÌÏÔ       ÉÏÒ B´0      .ADD ÃÏNÔÒÏÌ BÉÔS       SÔA ØPÒ±      .SAVÅ ªªªªªªªªªªªªªªªªªªªªªªªªªªªªªª ª  ª     HAÌÔ ÆÏÒ ÌAD ADDÒÅSS ÉN S×ÉÔÃH ÒÅGÉSÔÅÒ ª  ªªªªªªªªªªªªªªªªªªªªªªªªªªªªªª       HÌÔ ²       ÌÉA S×ÒÅG       AND B±·       AÌÆ¬ÒAÌ       ÉÏÒ B´0       SÔA ÌD± ªªªªªªªªªªªªªªªªªªªªªªªªªªªªªª ª  ª     HAÌÔ ÆÏÒ MPØ ADDÒÅSS ÉN S×ÉÔÃH ÒÅGÉSÔÅÒ ª  ªªªªªªªªªªªªªªªªªªªªªªªªªªªªªª       HÌÔ 3       ÌÉA S×ÒÅG       AND B±·       AÌÆ¬ÒAÌ       SÔA B       ÉÏÒ B±0       SÔA ÌD²       ÌDA B       ÉÏÒ B±²       SÔA HÌØ±       ÌDA B       ÉÏÒ B±·0       ADA D²       SÔA HÌØ²       ÊMP ²00B ª  ªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªª ª  ª     SÔAÒÔ AÔ ²00B ÉÆ ÃÏNÆÉGUÒAÔÉÏN ÅSÔABÌÉSHÅD ª  ªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªª       ÏÒG ²00B       ÌDA NÏÒ       ÊSB ÏUÔ       .ÉSSUÅ SYSÔÅM NÏÒMAÌÉZÅ       ÌDA ÌD±       ÊSB ÏUÔ       .ÉSSUÅ ÌAD ÅNABÌÅ       ÌDA ÌD²       ÊSB ÏUÔ       .ÉSSUÅ ÌASÔ ADDÒÅSS       ÌDA SP       ÊSB ÏUÔ       .SÅÔ SYSÔÅM PAÃÅÒ - 50 US       ÌDA ØPÒ±       ÊSB ÏUÔ       .ÅNABÌÅ AUØ PAÃÅÒ       ÌDA ØPÒ´       ÊSB ÏUÔ       .SÅÔ AUØ PAÃÅÒ ÔÏ ² MS ÔÏP   ÌDA ÃNÔÒ       SÔA ÃNÔÒ±     .SÅÔ ÃHAN ÃÏUNÔÅÒ       ÌDA HÌØ±       ÊSB ÏUÔ       .SÅÔ MUØ ÃHAN       ÌDA HÌØ² ÒÅSÅÔ ÊSB ÏUÔ       .SÅÑUÅNÔÉAÌ SÃAN ÏÆ ÃHAN       ÉSZ ÃNÔÒ±       ÊMP ÒÅSÅÔ       ÊMP ÔÏP ÃNÔÒ± NÏP ÃNÔÒ  DÅà-±6 NÏÒ   ÏÃÔ ±´000±    .NÏÒMAÌÉZÅ ÃÏDÅ ÌD±   ÏÃÔ 0´0300    .ÌAD ÅNABÌÅ SÌÏÔ £ 6 ÌD²   ÏÃÔ 0±0²36    .ÌASÔ ADDÒÅSS SP    ÏÃÔ 0·´´05    .SYSÔÅM PAÃÅÒ - 50 US ØPÒ±  ÏÃÔ 0´0²´0    .AUØ PAÃÅÒ SÌÏÔ £ 5 ØPÒ´  ÏÃÔ 005´0²    .MUÌÔÉPÌÅØ ±6 ÃHAN ×ÉÔH PAÃÅÒ HÌØ±  ÏÃÔ ±²0²00    .ÃHAN ADDÒ¡‹ ÅSS HÌØ²  ÏÃÔ ±·0±·6 ÏÔAÉ  ÏÔA 0 SÔÃÉ  SÔà0¬Ã SÆSÉ  SÆS 0 B±·   ÏÃÔ ±· B´0   ÏÃÔ ´0000 B±0   ÏÃÔ ±0036 B±²   ÏÃÔ ±²0000 B±·0  ÏÃÔ ±·0000 D²    DÅà-² ª  ÏUÔ   NÏP ÏÔA±  ÏÔA 0 SÔñ  SÔà0¬Ã SÆS±  SÆS 0       ÊMP ª-±       ÊMP ÏUÔ¬É ª  A     ÅÑU 0 B     ÅÑU ± S×ÒÅG ÅÑU ±       ÅND .ÿÿ ÿý5= ÿ09601-18001 A S 0122 RTE DEVICE SUBR FOR 16 BIT REGISTERS             H0101 r[þúASMB,R,B,L,C * * HED GENERAL PURPOSE REGISTER RTE DEVICE SUBROUTINE 7/74 NAM GPR,7 09601-16001 REV.A 740715 ENT GPRSB,GPRMB,GPRIO * * * * THIS SUBROUTINE OPERATES THE FOLLOWING I/O CARDS IN * AN RTE ENVIRONMENT USING DVR62. * * 12554 16-BIT DUPLEX REGISTER * 12597 8-BIT DUPLEX REGISTER * 12566 16-BIT MICROCIRCUIT DUPLEX REGISTER * 12930 16-BIT UNIVERSAL INTERFACE * 12551 16-BIT RELAY OUTPUT REGISTER * * ************************************************ * * * SOURCE TAPE: 09601-18001 * * RELOC. TAPE: 09601-16001 * * ERS: A-09601-16001-1 * * LISTING: A-09601-16001-2 * * * ************************************************ * * W.M.PARRISH 7/74 REV.A * * * SPC 3 * * EXTERNALS * EXT ERROR,#ERRU,ERRCD EXT EXEC EXT .ENTR EXT #GPRN,#GPRT EXT FLOAT EXT CONV,BCD6 EXT .RND EXT .DST SKP * THE FOLLOWING CALLS ARE AVAILABLE TO THIS SUBROUTINE: * * GPRSB(U,F,P,S) * * U = UNIT NUMBER (1 TO NUMBER OF UNITS) * F = FUNCTION SELECT (0 TO 3) * 0 = INPUT STATE OF SPECIFIED BIT * 1 = OUTPUT STATE OF SPECIFIED BIT OR'D WITH P * PREVIOUS PROGRAM WORD. * 2 = OUTPUT STATE OF SPECIFIED BIT ALL OTHER BITS 0. * 3 = OUTPUT STATE OF SPECIFIED BIT ALL OTHER BITS 1. * P = POSITION OF BIT IN WORD ( 0 THROUGH 15 ). * S = STATE OF BIT SPECIFIED BY P (0=FALSE, 1=TRUE) * ************************************************************ * * GPRMB(U,F,B) * * U = UNIT NUMBER (1 TO # OF UNITS) * F = FUNCTION SELECT * 0 = INPUT INTEGER WORD * 1 = OUTPUT INTEGER WORD * 2 = INPUT BCD * > þú 3 = OUTPUT BCD * B = BIT PATTERN * ************************************************************ * * GPRIO(U,F,A,B) * * U = UNIT NUMBER (1 TO NUMBER OF UNITS) * F = FUNCTION SELECT * 0 = WORD OUT / WORD IN * 1 = WORD OUT / BCD IN * 2 = BCD OUT / WORD IN * 3 = BCD OUT / BCD IN * A = WORD TO WRITE OUT * B = WORD TO READ IN ON INTERRUPT * ************************************************************ * SKP * * SINGLE - BIT ENTRY * UNITS BSS 1 FUNS BSS 1 BIT BSS 1 STATE BSS 1 GPRSB NOP JSB .ENTR GET PARAMETER ADDRESS DEF UNITS CLA STA ERRCD LDA GPRSB STA GPRMB SAVE RETURN ADDRESS LDA UNITS,I JSB CUNIT CHECK UNIT NUMBER FOR VALIDITY JSB RCONF READ CONFIG. INFO FROM TABLE LDB .15 LDA BIT,I JSB IPROC CHECK IF BIT POSITION > 15. STA BPOS LDA .1 JSB ROTAT COMPUTE BIT MASK STA BMASK ... AND SAVE IT. LDB .3 MAX VALID FUNCTION # LDA FUNS,I SZA,RSS FUNCTION=0? JMP SINP YES, SINGLE BIT INPUT JSB IPROC CHECK IF FUNCTION > 3 LDB .1 LDA STATE,I JSB IPROC CHECK STATE (0 OR 1?) SZA ZERO? LDA BMASK ONE STA BSTAT LDA FUNS,I CLB CPA .2 RESET? STB PWA,I YES CCB SET? CPA .3 STB PWA,I YES LDA BMASK COMPUTE OUTPUT WORD CMA AND PWA,I MASK-OUT BIT IN WORD ADA BSTAT ADD NEW STATE STA PWA,I THIS WORD OUT, SAVE IN TABLE. JSB WRITE OUTPUT WORD JMP GPRMB,I RETURN SINP JSB IN READ ONE WORD AND BMASK ISOLATE BIT SZA IS IT ON? LDA .1 Bþú YES, RETURN A 1 STA STATE,I RETURN ANSWER (0 OR 1) JMP GPRMB,I RETURN SKP * * MULTIPLE - BIT CONTROL * UNITA BSS 1 FUNA BSS 1 PATN BSS 1 GPRMB NOP JSB .ENTR DEF UNITA CLA STA ERRCD LDA UNITA,I JSB CUNIT CHECK UNIT NUMBER JSB RCONF GET CONFIG INFO FROM TABLE LDB .3 MAX VALID FUNCTION LDA FUNA,I JSB IPROC CHECK FUNCTION SLA,RSS INPUT OR OUTPUT? JMP IN16 INPUT LDB PATN,I CPA .3 JSB TOBCD STB 0 JSB WRITE STA PWA,I UPDATE PREV WORD THIS UNIT. JMP GPRMB,I IN16 JSB IN READ A WORD LDB 0 PUT IT IN B REGISTER LDA FUNA,I GET FUNCTION CODE CPA .2 IS IT 2? JSB TOOCT YES, BCD... CONVERT TO OCTAL STB PATN,I RETURN THIS VALUE. JMP GPRMB,I RETURN. SKP * * ENTRY TO WRITE, THEN READ ON INTERRUPT! * UNITB BSS 1 FUNB BSS 1 PTNA BSS 1 PTNB BSS 1 GPRIO NOP JSB .ENTR DEF UNITB CLA STA ERRCD LDA GPRIO STA GPRMB STORE RETURN ADDRESS LDA UNITB,I JSB CUNIT CHECK UNIT NUMBER JSB RCONF GET CONFIG. INFO FROM TABLE LDB .3 MAX VALID FUNCTION CODE LDA FUNB,I JSB IPROC CHECK VALIDITY OF FUNCTION LDB PTNA,I ARS SLA BCD OUT? JSB TOBCD YES, CONVERT TO BCD. STB WORD1 STB PWA,I UPDATE PREV WORD/THIS UNIT. JSB OUTIN WRITE, THEN READ. LDB WORD2 LDA FUNB,I SLA BCD COMING IN? JSB TOOCT YES, CONVERT. STB PTNB,I RETURN RESULT JMP GPRMB,I RETURN. SKP * * SUBROUTINE TO CHECK UNIT NUMBER * CALLING SEQUENCEdÿÿÿÿÿÿÿÿþú (8-BITS FOR 8-BIT CARD) * WRITE NOP STA OTWD JSB CKENC SET WQBUF FOR ENCODE/NO ENC. LDA CNFG AND .2 SZA,RSS JMP WR1 16-BIT CARD LDA OTWD AND B377 8-BIT MASK STA OTWD WR1 JSB EXEC DEF *+5 DEF .2 WRITE REQUEST DEF LU LOGICAL UNIT NUMBER DEF WQBUF WRITE QUEUE BUFFER DEF .1 # OF ENTRIES LDA OTWD JMP WRITE,I WQBUF DEC 3 TYPE 3 (READ) DEC 1 OUTPUT 1 WORD DEF OTWD OUTPUT BUFFER OTWD BSS 1 * * CHECK CONFIG TABLE FOR ENCODE OR FREE RUN * CKENC NOP ENTRY LDA CNFG AND .4 SZA,RSS BIT 2 ON? JMP NENC NO, - > NO ENCODE LDA .1 STA WQBUF+1 STORE A 1 IN QUEUE BUFF. JMP CKENC,I RETURN NENC CLA STA WQBUF+1 STORE A 0 IN QUEUE BUFF. JMP CKENC,I RETURN SKP * * CHECK TO SEE IF A PARAMETER IS BETWEEN 0 AND * A MAXIMUM VALUE, INCLUSIVE. * B REG CONTAINS MAX VALUE (DESTROYED) * A REG CONTAINS COMP. VALUE (PRESERVED) * IPROC NOP SSA JMP ERR1 <0 ERROR CMB ADB 0 SSB,RSS JMP ERR1 > MAX ERROR JMP IPROC,I * * ERROR HANDLING * ERR1 LDA .1 GENERAL PARAMETER ERROR JMP ERR ERR2 LDA .2 ERROR ON UNIT # JMP ERR ERR3 LDA .3 READ FROM WRITE-ONLY CARD JMP ERR ERR4 LDA .4 BCD CONVERSION ERROR ERR STA ERRCD JSB ERROR DEF *+5 DEF ERRCD DEF MNEM DEF #ERRU DEF GPRMB JMP GPRMB,I MNEM DEC 3 ASC 2,GPR SKP * * CONVERT A WORD TO BCD * TOBCD NOP NUMBER TO BE CONVERTED IN B REGISTER SSB JMP ERR1 NUMBER IS NEGATIVE LDA CNFG AND .2 SZA,RSS 8 OR 16 BIT CARD? JMP TB16 16-BIT CARD!!! LDA 1 8-BIT CMA,AYþúINA ADA .99 SSA TOO-BIG FOR 8-BIT? JMP ERR4 JMP TB NO, CONVERT TB16 LDA 1 16-BIT CMA,INA ADA .9999 SSA TOO-BIT FOR 16-BIT? JMP ERR4 YES TB LDA 1 CLB JSB FLOAT TO FL. PT. DST TEMP JSB BCD6 CONVERT TO BCD DEF *+3 RETURN ADDRESS DEF TEMP ADDRESS OF DATA DEF TEMP LDB TEMP RETURN BCD IN B REG. JMP TOBCD,I * * CONVERT BCD TO AN OCTAL WORD. * TOOCT NOP STB 0 CLB,INB BLF,BLF SET UP B REG FOR 'CONV' JSB .DST DEF TEMP JSB CONV BCD TO F.P. DEF *+2 DEF TEMP JSB .RND F.P. TO INTEGER LDB 0 JMP TOOCT,I RETURN SKP * * SUBROUTINE TO WRITE A WORD AND READ ANOTHER ON INTERRUPT. * WORD1 - > OUT * WORD2 < - IN * OUTIN NOP LDA CNFG AND .1 SZA JMP ERR3 READ NOT ALLOWED LDA CNFG CHECK IF 16 OR 8 BIT AND .2 SZA,RSS 16-BIT CARD? JMP OT1 LDA WORD1 AND B377 MASK LOWER 8 STA WORD1 OT1 JSB EXEC DEF *+5 DEF .2 WRITE REQUEST (ALWAYS FOR DVR62) DEF LU LOGICAL UNIT NUMBER DEF WRQBF WRITE-READ-QUEUE-BUFFER DEF .1 NUMB. ENTRIES LDA CNFG AND .2 SZA,RSS 8-BIT CARD JMP OTEX NO, 16 BIT LDA WORD2 AND B377 MASK LOWER 8 STA WORD2 OTEX LDA WORD2 JMP OUTIN,I * * WRITE QUEUE BUFFER * WRQBF DEC 5 OUTPUT AND INPUT ON INTERRUPT CODE DEC 1 NUMBER OF OPERATIONS DEF WORD1 POINTER TO OUTPUT BUFFER DEF WORD2 POINTER TO INPUT BUFFER WORD1 BSS 1 WORD2 BSS 1 SKP * * ROTATE A NO. OF TIMES SPECIFIED IN BPOS * ROTAT NOP LDB BPOS CMB,INB ROT10 SSB,INB,RSS JMP ROTAT,I *EXIT RAL Ð2*($ JMP ROT10 SPC 5 * * CONSTANTS AND STORAGE * TEMP BSS 2 BPOS BSS 1 BMASK BSS 1 BSTAT BSS 1 PWA BSS 1 LU BSS 1 TBLDF DEF #GPRT UNIT BSS 1 TBLAD BSS 1 CNFG BSS 1 * * M1 DEC -1 .1 DEC 1 .2 DEC 2 .3 DEC 3 .4 DEC 4 .15 DEC 15 .99 DEC 99 .9999 DEC 9999 B377 OCT 377 MASK OCT 77777 END ?‹*ÿÿ ÿý6 B ÿ09601-18006 A S 0122 GENERAL PURPOSE REGISTER RTE-BASIC VERIFICATION             H0101 ôþú100 REM GENERAL PURPOSE REGISTER RTE-B VERIFICATION TEST 110 REM 120 REM SOURCE TAPE: 09601-18006 130 REM ERS: A-09601-18006-1 140 REM LISTING: A-09601-18006-2 150 REM 200 PRINT 210 PRINT "GENERAL PURPOSE REGISTER RTE-BASIC VERIFICATION TEST" 220 PRINT 270 PRINT "MOUNT TEST CONNECTOR BEFORE BEGINNING" 320 PRINT 1005 GOSUB 9000 1010 PRINT "**CHECKING SINGLE-BIT CALLS**" 1020 FOR I=0 TO B-1 1030 GPRSB(U,2,I,1) 1040 GPRSB(U,0,I,S) 1050 IF S=1 THEN 1070 1060 PRINT "BIT ";I;" FAILED S/B FALSE, IS TRUE" 1070 GPRSB(U,2,I,0) 1080 GPRSB(U,0,I,S) 1090 IF S=0 THEN 1110 1100 PRINT "BIT ";I;" FAILED S/B TRUE, IS FALSE" 1110 NEXT I 1200 PRINT "**CHECKING BCD OUTPUT/INPUT USING GPRMB**" 1201 IF B=16 THEN 1205 1202 PRINT "DECIMAL VALUES (0-99), USE 0 TO STOP" 1203 GOTO 1210 1205 PRINT "DECIMAL VALUES (0-9999) , USE 0 TO STOP" 1210 PRINT "VALUE OUT"; 1220 INPUT V1 1230 GPRMB(U,3,V1) 1240 GPRMB(U,2,V2) 1250 PRINT "VALUE IN="V2 1260 IF V1=0 THEN 1300 1270 GOTO 1210 1300 PRINT "**CHECKING BCD OUTPUT/INPUT USING GPRIO**" 1301 IF B=16 THEN 1305 1302 PRINT "DECIMAL VALUES (0-99), USE 0 TO STOP" 1303 GOTO 1310 1305 PRINT "DECIMAL VALUES (0-9999) , USE 0 TO STOP" 1310 PRINT "VALUE OUT"; 1320 INPUT V1 1330 GPRIO(U,3,V1,V2) 1340 PRINT "VALUE IN=";V2 1350 IF V1=0 THEN 1400 1360 GOTO 1310 1390 LET K=1 1400 PRINT "**CHECKING WORD OUT/IN USING GPRMB**" 1410 FOR I=0 TO B-1 1420 LET K=2^I 1430 GPRMB(U,1,K) 1440 GPRMB(U,0,L) 1450 IF K=L THEN 1470 1460 PRINT "ERROR, VALUE OUT = ";OCT(K);" VALUE IN= ";OCT(L);" OCTAL" 1470 NEXT I 1500 PRINT "**CHECKING WORD OUT/IN USING GPRIO**" 1510 FOR I=0 TO B-1 1520 LET K=2^I 1530 GPRIO(U,0,K,L) 1550 IF K=L THEN 1570 1560 PRINT "ERROR, VALUE OUT = ";OCT(K);" VALUE IN= ";OCT(L);" OCTAL" 1570 NEXT I 1600 GOTO 1005 9000 PRINT 9005 PRINT "UNIT NUMBER"; 9010 INPUT U 9015 IF U=0 THEN 9100 9020 PRINT "8ì&   OR 16-BIT CARD"; 9030 INPUT B 9040 IF B=8 OR B=16 THEN 9060 9050 GOTO 9020 9060 RETURN 9100 PRINT 9110 PRINT "END OF TEST" 9120 STOP 9130 END µ¨ ÿÿ ÿý7> ÿ09601-18007 B S 0122 12551B RELAY REGISTER RTE-BASIC VERIFICATION             H0101 ëþú100 REM RELAY REGISTER TEST 110 REM 120 REM SOURCE: 09601-18007 REV.B 130 REM ERS: A-09601-18007-1 140 REM 150 REM AUTHOR - W.M.PARRISH 8 74 160 REM VERSION - 10 NOV 75 C.LEHNER 170 REM 200 PRINT 210 PRINT "RELAY REGISTER RTE-B VERIFICATION TEST" 220 PRINT 230 PRINT "FUNCTIONS:" 240 PRINT " 1) CHANGE STATUS OF A SINGLE BIT" 250 PRINT " 2) OUTPUT BCD WORD" 251 PRINT " 3) OUTPUT ALL ZEROS (RELAYS OPEN)" 252 PRINT " 4) OUTPUT ALL 1'S (RELAYS CLOSED)" 253 PRINT " 5) BCD READBACK (READBACK CARDS ONLY)" 254 PRINT " 6) NEW UNIT NUMBER" 255 PRINT " ANYTHING ELSE STOPS THE PROGRAM" 260 PRINT 270 PRINT "IF THIS CARD IS NOT CONFIGURED FOR FREE-RUN OUTPUT" 280 PRINT "THEN THIS PROGRAM WILL HAVE TO BE ABORTED AND RESTARTED" 290 PRINT "AFTER EACH OUTPUT OPERATION. (OR 12V APPLIED BETWEEN" 295 PRINT "PINS V AND 18 TO SET FLAG.) TO AVOID GETTING THE" 300 PRINT "INSTRUCTIONS ON SUBSEQUENT OUTPUT OPERATIONS, TYPE " 310 PRINT " 5 GOTO 360 AFTER ABORTING THE PROGRAM FIRST TIME." 320 PRINT 360 PRINT "UNIT NUMBER"; 370 INPUT U 380 IF U=0 THEN 470 400 PRINT "FUNCTION"; 410 INPUT F 420 IF F=1 THEN 1000 430 IF F=2 THEN 2000 440 IF F=3 THEN 3000 450 IF F=4 THEN 4000 460 IF F=5 THEN 5000 470 IF F=6 THEN 360 480 PRINT 482 PRINT "END OF TEST" 484 PRINT 486 STOP 1000 PRINT "SINGLE-BIT TEST" 1010 PRINT "BIT #"; 1020 INPUT B 1030 PRINT "1=ON,0=OFF"; 1040 INPUT S 1050 GPRSB(U,1,B,S) 1060 GOTO 400 2000 PRINT "BCD OUTPUT" 2010 PRINT "NUMBER TO BE OUTPUT (0-9999)"; 2020 INPUT N 2030 GPRMB(U,3,N) 2040 GOTO 400 3000 PRINT "ALL 0'S OUT" 3010 GPRMB(U,1,0) 3020 GOTO 400 4000 PRINT "ALL 1'S OUT" 4010 ISETC("177777",Z) 4020 GPRMB(U,1,Z) 4030 GOTO 400 5000 PRINT "BCD OUTPUT / INPUT" 5010 PRINT "NUMBER OUT (0-9999)"; 5020 INPUT N 5030 PRINT "APPLY 12V BETWEEN PINS V AND 18 TO SET FLAG" 5040 GPRIO(U,3,N,M) 5050 PRINT "NUMBER IN = ";M 5060 &µ  GOTO 400 ú ÿÿ ÿý8? ÿ09601-18008 A S 0122 12930A UNIVERSAL INTERFACERTE-BASIC VERIFICATION             H0101 iWþú100 REM 12930A UNIVERSAL INTERFACE CARD VERIFICATION TEST 110 REM 120 REM SOURCE TAPE: 09601-18008 130 REM ERS: A-09601-18008-1 140 REM LISTING: A-09601-18008-2 150 REM 195 PRINT 200 PRINT "12930A UNIVERSAL INTERFACE CARD VERIFICATION TEST" 205 PRINT 210 PRINT "TEST FUNCTIONS ARE:" 220 PRINT " 1) TEST DATA CHANNEL" 230 PRINT " 2) TEST COMMAND/STATUS CHANNEL" 240 PRINT " (IF ENABLED AND CONFIGURED)" 250 PRINT " 3) TERMINATE TEST" 260 PRINT 270 PRINT "MOUNT TEST CONNECTOR BEFORE BEGINNING" 320 PRINT 325 PRINT "FUNCTION"; 330 INPUT F 335 PRINT 340 IF F=1 THEN 1000 350 IF F=2 THEN 2000 360 IF F#3 THEN 320 390 STOP 1000 PRINT "DATA CHANNEL TEST" 1005 GOSUB 9000 1010 PRINT "**CHECKING SINGLE-BIT CALLS**" 1020 FOR I=0 TO 15 1030 GPRSB(U,2,I,1) 1040 GPRSB(U,0,I,S) 1050 IF S=1 THEN 1070 1060 PRINT "BIT ";I;" FAILED S/B FALSE, IS TRUE" 1070 GPRSB(U,2,I,0) 1080 GPRSB(U,0,I,S) 1090 IF S=0 THEN 1110 1100 PRINT "BIT ";I;" FAILED S/B TRUE, IS FALSE" 1110 NEXT I 1200 PRINT "**CHECKING BCD OUTPUT/INPUT USING GPRMB**" 1205 PRINT "DECIMAL VALUES (0-9999) , USE 0 TO STOP" 1210 PRINT "VALUE OUT"; 1220 INPUT V1 1230 GPRMB(U,3,V1) 1240 GPRMB(U,2,V2) 1250 PRINT "VALUE IN=";V2 1260 IF V1=0 THEN 1300 1270 GOTO 1210 1300 PRINT "**CHECKING BCD OUTPUT/INPUT USING GPRIO**" 1305 PRINT "DECIMAL VALUES (0-9999) , USE 0 TO STOP" 1310 PRINT "VALUE OUT"; 1320 INPUT V1 1330 GPRIO(U,3,V1,V2) 1340 PRINT "VALUE IN=";V2 1350 IF V1=0 THEN 1400 1360 GOTO 1310 1390 LET K=1 1400 PRINT "**CHECKING WORD OUT/IN USING GPRMB**" 1410 FOR I=0 TO 15 1420 LET K=2^I 1430 GPRMB(U,1,K) 1440 GPRMB(U,0,L) 1450 IF K=L THEN 1470 1460 PRINT "ERROR, VALUE OUT = ";OCT(K);" VALUE IN= ";OCT(L);" OCTAL" 1470 NEXT I 1500 PRINT "**CHECKING WORD OUT/IN USING GPRIO**" 1510 FOR I=0 TO 15 1520 LET K=2^I 1530 GPRIO(U,0,K,L) 1550 IF K=L THEN 1570 1560 PRINT "ERRsV  OR, VALUE OUT = ";OCT(K);" VALUE IN= ";OCT(L);" OCTAL" 1570 NEXT I 1600 PRINT "**END DATA CHANNEL TEST**" 1610 GOTO 320 2000 PRINT "COMMAND/STATUS CHANNEL TEST" 2005 GOSUB 9000 2010 GPRSB(U,2,0,0) 2020 GPRMB(U,0,I) 2030 ISETC("200",K) 2040 IF I=K THEN 2100 2050 PRINT "'CLEARED' CONDITION S/B ";OCT(K);" IS ";OCT(I);" OCTAL" 2055 PRINT "(JUMPERS PLACED CORRECTLY??)" 2056 PRINT "(IS THIS THE RIGHT UNIT # FOR A 12930 C/S CHANNEL?)" 2100 PRINT "**CHECK BITS ON C/S CHANNEL" 2110 ISETC("2202",K) 2120 GPRSB(U,2,10,1) 2130 GOSUB 8000 2140 ISETC("4204",K) 2150 GPRSB(U,2,11,1) 2160 GOSUB 8000 2170 ISETC("10210",K) 2180 GPRSB(U,2,12,1) 2190 GOSUB 8000 2200 ISETC("20220",K) 2210 GPRSB(U,2,13,1) 2220 GOSUB 8000 2230 ISETC("40240",K) 2240 GPRSB(U,2,14,1) 2250 GOSUB 8000 2260 ISETC("100300",K) 2270 GPRSB(U,2,15,1) 2280 GOSUB 8000 2290 PRINT "**END C/S CHANNEL TEST**" 2300 GOTO 320 8000 GPRMB(U,0,I) 8010 IF K=I THEN 8050 8020 PRINT "C/S ERROR S/B ";K;" IS ";I;" OCTAL" 8050 RETURN 9000 PRINT 9005 PRINT "UNIT NUMBER"; 9010 INPUT U 9020 RETURN Ä ÿÿ ÿý9@ ÿ09601-18010 A S 0122 5327A/B-H48 RTE-B DEVICE SUBROUTINE CTR27             H0101 ¼EþúASMB,R,B,L HED ** RTE-B DEVICE SUBROUTINE (CTR27) ** * * ***************************************** * * RELOC. TAPE 09601-16010 * SOURCE TAPE 09601-18010 * ERS 09601-16010-1 * LISTING 09601-16010-2 * ***************************************** * * * A. WERNICK AUG. 1973 REV A * * * * * CTRSF MAY BE CALLED BY RTE BASIC OR FORTRAN PROGRAMS * TO REMOTE PROGRAM THE 5327B-H48 TIMER/COUNTER/DVM FOR FREQ/TIME * MEASUREMENTS USING RTE DRIVERS DVR54 AND DVR40 * * CALL STATEMENT (FORTRAN/BASIC): * * CALL CTRSF(F,T,A,B,G,H,C) * * F= FUNCTION CODE (INTEGER) * T= TIME BASE CODE (INTEGER) * A= INPUT A ATTENUATOR AND AC/DC CODE (INTEGER) * B= INPUT B ATTENUATOR & AC/DC CODE (INTEGER) * G= INPUT A TRIGGER LEVEL (INTEGER) * H= INPUT B TRIGGER LEVEL (INTEGER) * C= SEP/COM INPUT (INTEGER) * * NAM CTR27,7 09601-16010 REV A * ENT CTRSF EXT .ENTR,EXEC,.FAD,.FDV,IFIX,ERROR,#CTRA EXT .DST,.FMP,FLOAT,.RTOI,CONV,#CTRB EXT ERR0,.DLD EXT #ERRU * IFUNC NOP ITIME NOP INPTA NOP INPTB NOP TRIGA NOP TRIGB NOP ICOM NOP * CTRSF NOP ENTRY POINT JSB .ENTR GET PARAMETER ADDRESSES DEF IFUNC LDA CTRSF STORE EXIT ADDRESS STA EXITR LDA CDEF1 STORE ENTRY POINT STA ENDEF CLA STA DATA1 CLEAR STA DATA2 DATA STA DATA3 WORD STA DATA4 STORAGE STA DATA5 BUFFERS LDA SET1 STA PNTR1 PRESET LDA SET2 POINTERS STA PNTR2 LDA SET3 STA PNTR3 LDA IFUNC,I BRING IN FUNCTION STA FUNCT SAVE FOR CTRMF CALL ADA M10 SUBTRACT 10 SSA IS IT NEGITIVE ? JMP *+4 LDB .4 NO, ITS CHECK STB DATA1 RSS LDA IFUNC,I NORMAL PATH òèþú CLB CPA B COMPARE CODE JMP *+6 INB INCREMENT CODE KEY ISZ PNTR1 INCREMENT POINTER CPB .10 JMP ERR1 ILLEGAL CODE REJECT JMP *-6 LDA PNTR1,I SET UP IOR DATA1 WORD 1 STA DATA1 * *TIME * LDA ITIME,I BRING IN BASE CODE STA TIMER SAVE FOR CTRMF CALL CLB CPA B COMPARE CODE JMP *+6 INB INCREMENT CODE KEY ISZ PNTR2 INCREMENT POINTER CPB .9 JMP ERR1 ILLEGALdO- REJECT JMP *-6 LDA PNTR2,I SET UP STA DATA2 WORD 2 * LDA INPTA,I GET ATTN. A CODE JSB COMPR GO GET DATA WORD ALF,ALF STA DATA3 * LDA SET3 ADJUST STA PNTR3 POINTER LDA INPTB,I GET ATTN. B CODE JSB COMPR GO GET DATA WORD IOR DATA3 STA DATA3 STORE IN BUFFER * * LDA DATA3 GET A CHN MULT ALF,ALF POSITION AND .3 MASK STA HOLD SAVE JSB .DLD BRING IN LEVEL A DATA DEF TRIGA,I JSB TRIGR CONVERT STA DATA4 STORE IN BUFFER * LDA DATA3 GET B CHN MULT AND .3 MASK STA HOLD SAVE JSB .DLD BRING IN LEVEL B DATA DEF TRIGB,I JSB TRIGR CONVERT STA DATA5 STORE IN BUFFER * LDA ICOM,I SZA,RSS ZERO ? JMP ERR1 YES,ERROR ADA M3 TEST IF >M2 SSA,RSS JMP ERR1 YAES,ERROR ADA .3 RESTORE AND .1 MASK IOR DATA4 PUT IN DATA STA DATA4 WORD 4 CLA,INA PUT EXTERNAL PROG BIT IOR DATA5 IN WORD 5 STA DATA5 LDA FUNCT CPA .4 IS START (4) RSS JMP DONE ISNT CONTINUE LDA DATA1 IS,GET DATA1 STA TEMP1 AND SAVE LD@þúA .2 GET RESET CODE STA DATA1 AND PUT IN BUFFER JSB WRITE OUTPUT RESET COMMAND LDA TEMP1 RESTORE DATA1 STA DATA1 DONE JSB WRITE JMP CTRSF,I RETURN TO USERS PROGRAM * DATA0 NOP DATA1 NOP DATA DATA2 NOP WORD DATA3 NOP STORAGE DATA4 NOP BUFFERS DATA5 NOP CDEF1 DEF CTRSF POINTER TO ENTRY PT * * PNTR1 DEF LIST1 FUNCTION LIST LIST1 OCT 5000 OCT 5000 OCT 5400 OCT 4400 OCT 7410 OCT 2400 OCT 7000 OCT 6000 OCT 6400 OCT 0001 * PNTR2 DEF LIST2 TIME BASE LIST LIST2 OCT 7400 OCT 7000 OCT 6400 OCT 6000 OCT 5400 OCT 5000 OCT 4400 OCT 4000 OCT 3400 * PNTR3 DEF LIST3 ATTENUATORS LIST LIST3 OCT 0 OCT 1 OCT 2 OCT 4 OCT 5 OCT 6 OCT 10 OCT 11 OCT 12 OCT 14 OCT 15 OCT 16 * * TRIGR NOP CONVERT TRIGGER LEVEL DATA STA SAVE SAVE A-REG LDA HOLD GET MULTIPLIER SZA,RSS X1? JMP PROC YES,PROCEED SLA,RSS X100? JMP X100 YES,SCALE LDA SAVE X10,RESTORE A-REG JSB .FDV DIVIDE BY 10.0 DEF FP10 STA SAVE JMP PROC PROCEED X100 LDA SAVE X100,RESTORE A-REG JSB .FDV DIVIDE BY 100.0 DEF FP100 STA SAVE PROC LDA SAVE JSB .FAD ADD 3.175 AND LEVEL DATA DEF RANG JSB .FDV DIVIDE RESULT BY 50MV DEF RESOV JSB IFIX CONVERT F.P. TO INTEGER NOP SSA NEGATIVE ? JMP ERR1 YES,ERROR ADA M128 TEST IF > 7 BITS SSA,RSS JMP ERR1 YES,ERROR ADA .128 NO,RESTORE CMA INVERT BITS STA HOLD AND .7 ADJUST RAL STA B BITS LDA HOLD 4ðþú FOR AND B170 OUTPUT ALF,RAL IOR B JMP TRIGR,I RANG DEC 3.175 RESOV DEC .05 HOLD NOP * COMPR NOP ATTENUATOR COMPARE CLB CPA B COMPARE CODE JMP *+6 INB INCREMENT CODE KEY ISZ PNTR3 INCREMENT POINTER CPB .12 JMP ERR1 ILLEGAL CODE- REJECT JMP *-6 LDA PNTR3,I GET DATA WORD JMP COMPR,I * SET1 DEF LIST1 SET2 DEF LIST2 SET3 DEF LIST3 CDEF2 DEF CTRMF POINTER TO ENTRY PT. CDEF3 DEF CTRMV " " " " * * * CTRMF MAY BE CALLED BY A FORTRAN OR ALGOL PROGRAM * TO SIMPLIFY READING FREQUENCY/TIME DATA FROM THE * HP 5327B-H48 TIMER/COUNTER/DUM USING THE RTE DRIVER * DVR40. * * CALL STATEMENT (FORTRAN OR BASIC): * * CALL CTRMF(V,D) * * V = MEASURED FREQUENCY OR TIME TO 6 SIGNIFICANT DIGITS * D = LAST 1 OR 2 DIGITS IF 7 OR 8 DIGITS DISPLAYED * * * * ENT CTRMF * * * VALUE NOP DIGTS NOP * CTRMF NOP ENTRY POINT JSB .ENTR DEF VALUE LDA CTRMF STORE ENTRY POINT AS EXIT ADDRS STA EXITR LDA CDEF2 STORE DEF TO ENTRY PT STA ENDEF LDA FUNCT GET FUNCTION CPA .4 START ? JMP ERR2 YES,ERROR-NO STOP CPA .5 IS IT STOP ? JMP STOP YES,DO A SPECIAL READ JSB READ READ DATA FROM DSI CARD P.1 CLA A=0 STA TEMP1 INITIALIZE STA TEMP1+1 DIGITS TO 0 LDB TIMER GET TIMEBASE LDA FUNCT GET FUNCTION PROGRAMMED ADA M10 TEST IF 10-19 SSA LDA FUNCT <10,RESTORE CPA .1 FREQUENCY ? JMP FREQ YES CPA .2 PERIOD ? JMP PERD YES CPA .3 FREQUENCY C? JMP FREQ YES CPA .5 STOP ? JMP CONT YES,DONT SCALE CPA .6 PERIOD AVG ? JMh³þúP PERAV YES CPA .7 TIME INTERVAL JMP PERD YES,PROCESS SAME AS PERIOD CPA .8 TIME INTERVAL AVG? JMP PERAV YES,PROCESS AS PERIOD AVG CPA .9 FREQ C / 10 ? JMP FREQX YES SZA,RSS CHECK ? JMP FREQ YES,TREAT AS FREQ JMP ERR1 * FREQ CMB,INB ADB .7 MAKE EXPONENT 7-T JMP CONT CONTINUE PERD ADB M7 MAKE EXPONENT T-7 JMP CONT FREQX CMB,INB ADB .8 MAKE EXPONENT T-8 JMP CONT PERAV CMB,INB MAKE EXPONENT ADB M7 -T-7 CONT STB EXPON SAVE EXPONENT * JSB CONVT CONVERT BCD TO BINARY JSB .DST OUTPUT DEF VALUE,I 6 SIG DIGITS JSB .DLD GET DEF TEMP1 LSD * JSB .DST SEND DEF DIGTS,I LSD TO CALLING PROG * JMP CTRMF,I RETURN * STOP JSB EXEC DEF *+5 DO A READ WITH OUT ENCODE DEF .1 DEF JUNIT DEF DATA DEF .3 JMP P.1 RETURN T0 PROCESS DATA * * CTRMV MAY BE CALLED BY A FORTRAN OR ALGOL PROGRAM * TO SIMPLIFY READING AN INPUT VOLTAGE OR TRIGGER * A AND B LEVELS WITH THE HP 5327B TIMER/COUNTER/DVM * USING RTE DRIVERS DVR54 AND DVR40. * * CALL STATEMENT (FORTRAN): * * CALL CTRMV(M,R,T,V) * * M = MODE OF OPERATION (INPUT/TRIGA/TRIGB) (INTEGER) * R = DVM VOLTAGE RANGE (INTEGER) * T = INTEGRATION TIME (REAL) * V = MEASURED VOLTAGE (REAL) * * * * ENT CTRMV * * * MODE NOP RANGE NOP TIME NOP VOLTS NOP * CTRMV NOP ENTRY POINT JSB .ENTR DEF MODE LDA CTRMV STORE EXIT ADDRS STA EXITR LDA CDEF3 STORE DEF TO ENTRY PT STA ENDEF LDA MODE,I SSA LESS THAN 0? JMP ERR1 YES,ERROR ADA M3 SSA,RSS GREATER THAN 2 ? JMP ERR1 YES,ERROR  Eþú LDA MODE,I GET MODE SZA ZERO ? JMP VTRIG NO,1 OR 2,MEASURE TRIGGER VOLTS JSB .DLD DEF RANGE,I GET RANGE,I JSB IFIX INTEGER NOP CCB CPA .10 10 VOLT RANGE CLB CPA .100 100 VOLT RANGE CLB,INB CPA .1000 1000 VOLT RANGE LDB .2 SSB ERROR ? JMP ERR1 YES STB RGECD SAVE RANGE CODE JSB .DLD DEF TIME,I GET INTEG TIME JSB .FMP DEF F1000 MULT BY 1000 JSB .FAD DEF HALF ROUND OFF JSB IFIX NOP LDB M5 GET COUNTER STB TEMP1 SAVE LDB TABLA GET TABLE POINTER AGAIN CPA B,I IS IT 1,10,100,1000,OR 10000 ? JMP GOTIT YES INB NO ISZ TEMP1 TRY JMP AGAIN AGAIN JMP ERR1 NONE OF THE ABOVE,ERROR GOTIT LDB TEMP1 ADB .9 FORM INTEGRATION CODE JMP SVINT VTRIG CLA FORM RANGE CODE FOR MODE 1OR2 STA RGECD SAVE RANGE CODE LDB .5 FORM INTEG CODE FOR MODE 1OR 2 SVINT STB INTEG SAVE INTEG CODE LDA MODE,I GET MODEE CODE SZA,RSS JMP DVM0 MODE=0 CMA FORM CODES AND .3 FOR READ DVM0 ADA .6 LEVEL A ALF,ALF OR LEVEL B STA DATA1 STORE IN OUTPUT BUFFER CLA LDB MODE,I SZB MODE=1 OR 2 ? JMP .1OR2 YES LDA RGECD GET RANGE CODE LDB .4 FORM CPA .1 LDB .2 RANGE CPA .2 LDB .1 WORD IN B LDA INTEG GET INTEG CODE CMA FORM AND .15 INTEG ALF,ALF WORD IN A IOR B COMBINE TO FORM PROG WORD .1OR2 IOR .8 ADD HOLD BIT STA DATA2 PUT IN OUTPUT BUFFER LDA DATA5 IOR .1 Jþú SET EXTERNAL BIT STA DATA5 JSB WRITE OUTPUT PROGRAM WORD JSB READ READ RETURN DATA LDA INTEG GET INTEG CONST CMA,INA FORM ADA .3 EXPONENT ADA RGECD FOR CONVERSION STA EXPON AND SAVE JSB CONVT CONVERT TO FLOATING POINT JSB .DST RETURN DEF VOLTS,I VALUE TO CALLING PROG * JMP CTRMV,I RETURN TO CALLING PROGRAM * * THIS SUBROUTINE CONVERTS 6 OR 7 DIGITS OF BCD * DATA TO FLOATING PONT THE DATA TO BE CONVERTED * IS STORED IN DATA AND DATA+1.THE APPROPRIATE * EXPONENT MUST BE STORED IN EXPON, IF THE DATA IN * DATA+1 INDICATES OVERFLOW, THE VALUE .9.....E9 * WILL BE RETURNED . THE RETURNED DATA WILL BE IN * THE A AND B REGISTERS IN NORMAL FLOATING POINT FORM * IF 7 DIGITS EXIST,THE LSD WILL BE STORED IN TEMP1 AND TEMP2 * CONVT NOP LDA DATA+1 GET DATA WORD #2 ALF POSITION ANNUNCIATOR AND .15 AND MASK SZA,RSS OVERFLOW ? JMP OVERF YES LDB B400 + POLARITY,VOLT/FREQ/TIME CPA .7 TIME/FRQ/COUNT ? JMP *+3 YES,SKIP POLARITY SLA LDB B1000 - POLARITY,VOLTS STB SAVE SAVE FOR LATER * LDA DATA+1 GET DATA WORD #2 ALF,ALF POSITION DIGIT #7 AND .15 AND MASK CPA .15 BLANK ? JMP SIX YES,SIX DIGITS SZA,RSS ZERO ? JMP SIX YES * LDA DATA GET LEAST SIG WORD AND .15 AND KEEP DIGIT #1 JSB FLOAT FLOAT JSB .DST AND DEF TEMP1 SAVE * LDA DATA+1 GET DATA WORD #2 AND .15 AND SAVE DIGIT #5 STA B SAVE * LDA DATA+1 GET DATA WORD #2 ALF,ALF AND ALF POSITION AND B377 KEEP DIGITS 6&7 STA DATA+1 SAVE * LDA DATA GET DATA WORD #1 AND MASKù\þú MASK OFF DIGIT #1 ADA B ADD DIGIT #5 (4-3-2-5) ALF,ALF POSITION SO ORDER ALF IS (5-4-3-2) STA DATA * ISZ EXPON INCREMENT EXPONENT FOR 7 DIGITS NOP SHOULDN'T SKIP * SIX LDA DATA+1 GET DATA WORD #2 AND B377 KEEP LAST 2 DIGITS IOR SAVE ADD POLARITY STA DATA+1 STORE DATA WD JSB CONV DEF *+2 DEF DATA JSB .DST SAVE IN DEF TEMP2 TEMP2 FOR LATER JSB .RTOI MAKE MULTIPLIER DEF FP10 DEF EXPON JSB ERR0 HERE ONLY IF ERROR JSB .FMP SCALE DATA DEF TEMP2 * JMP CONVT,I RETURN * OVERF JSB .DLD GET 9.99999E9 DEF MAX TO INDICATE OVERFLOW * JMP CONVT,I RETURN * * * * * THIS SUBROUTINE READS DATA FROM THE 32 BIT * DSI CARD VIA DVR40.IT RETURNS 2 16 BIT DATA * WORDS TO STORAGE WORDS DATA AND DATA+1 . * * READ NOP JSB EXEC INPUT DEF *+5 VIA DEF .1 AN DEF JUNIT EXEC DEF DATA CALL DEF .2 TIO DVR40 * JMP READ,I RETURN * * * * THIS SUBROUTINE PROGRAMS THE 40 BIT GPO * CARD VIA DVR54.IT EXPECTS ALL 5 (ASCII * FORMAT) PROGRAM WORDS TO BE STORED IN * DATA1 THRU DATA5. * * * WRITE NOP JSB EXEC OUTPUT DEF *+5 VIA DEF .2 AN DEF IUNIT EXEC DEF DATA0 CALL DEF .6 TO DVR54 * JMP WRITE,I RETURN * * * * THIS SUBROUTINE EMITS AN ERROR MESSAGE VIA ERR0 * THERE ARE ENTRY POINTS OUTLINED BELOW * * ERR1- MESSAGE CTR 1 IS A PARAMETER ERROR * ERR2- MESSAGE CTR 2 IS A 'START' PROGRAMMED * WITHOUT 'STOP' * * THE RESULT OF EXITING THIS PROGRAM IS ABORTION OF THE * CALLING PROGRAM. * ERR1 LDA .1 STA ERRNO JMP OUT ERR2 LDA .2 STA ERRNO OUT JSB ERROµ640R DEF *+5 DEF ERRNO DEF ERRMN DEF LUERR DSPLY UNIT FOR ERR MSG DEF ENDEF ENTRY POINT JMP EXITR,I ******EXIT****** ERRNO NOP ERRMN DEC 3 ASC 2,CTR * * CONSTANTS AND STORAGE * .1 DEC 1 .2 DEC 2 .3 DEC 3 .4 DEC 4 .5 DEC 5 .6 DEC 6 .7 DEC 7 .8 DEC 8 .9 DEC 9 .10 DEC 10 .12 DEC 12 .15 DEC 15 .100 DEC 100 .128 DEC 128 .1000 DEC 1000 M3 DEC -3 M7 DEC -7 M10 DEC -10 M128 DEC -128 M5 DEC -5 B377 OCT 377 B400 OCT 400 B1000 OCT 1000 B170 OCT 170 MASK OCT 177760 FP10 DEC 10.0 FP100 DEC 100.0 F1000 DEC 1000. MAX DEC 9.99999E9 B EQU 1 HALF DEC 0.5 TABLA DEF TABL TABL DEC 1,10,100,1000,10000 * * * LUERR EQU #ERRU DSPLY UNIT FOR ERR MSG EXITR NOP EXIT ADDRESS ENDEF NOP DEF TO ENTRY POINT DATA NOP DATA WORD STORAGE NOP DEC -1 IFUN =-1 FOR DVR 40 TIMER NOP TIME PROGRAMMED FUNCT NOP FUNCTION PROGRAMMED TEMP1 BSS 2 TEMPORARY STORAGE TEMP2 BSS 2 TEMPORARY STORAGE SAVE NOP STORAGE RGECD NOP RANGE CODE STORAGE INTEG NOP INTEGRATION CODE STORAGE EXPON NOP EXPONENT STORAGE IUNIT EQU #CTRA JUNIT EQU #CTRB END ®³6ÿÿ ÿý: H ÿ09601-18011 A S 0122 RTE DEVICE SUBR FOR 12604B DSI CARD             H0101 6òþúASMB,R,B,L,C HED 12604B DSI DEVICE SUBROUTINE TO RTE DRIVER DVR40 NAM 12604,7 09601-16011 REV. A * ENT DSI *********************************************************** * * ERS: 09601-16011-1 * LISTING: 09601-16011-2 * SOURCE TAPE: 09601-18011 * RELOC. TAPE: 09601-16011 * *********************************************************** * * D. BOLIERE 3 APRIL 74 * B. PARRISH 22 AUG 74 REV A (1.1) * * *****EXTERNAL UTILITY ROUTINES USED***** * * ***SATISFIED BY RTE SYSTEM*** EXT EXEC * ***SATISFIED BY DEV. SUBR LIBRARY*** EXT CONV,ERROR,ERRCD * ***SATISFIED BY FLOATING PT. RELOCATABLE LIB.*** EXT FLOAT,.DST,.ENTR * *** SATISFIED BY INSTRUMENT TAPE CONSTANTS *** EXT #DSIT,#ERRU * * *****CONFIGURATION INFORMATION***** * * ENTRY FOR BASIC BRANCH AND MNEMONIC TABLE GENERATOR: * * DSI(I,I,R,R),SUB=DSI * * *****ENTRY FORMAT AND FUNCTION***** * * DSI(LU,N,V,F) * * U = DSI CARD UNIT NO. (A NEG UNIT# CAUSES NO ENCODE * WHEN USED WITH DVR40 P/N 29100-60041) * N = NUMBER OF DIGITS TO BE CONVERTED (0,6,7,8) * V = * IF N=0, SECOND WORD READ IN BCD FORMAT * N#0, VALUE OF SIX MOST SIGNIFICANT DATA DIGITS * F = * IF N=0, FIRST WORD READ IN BCD FORMAT * N=6, FUNCTION DIGIT * N=7 OR 8, LEAST SIGNIFICANT DATA DIGITS * * *****DSI ERROR MESSAGES***** * * ERROR 1: PARAMETER ERROR * *********************************************************** SKP * * PROGRAM MAINFLOW * UNIT NOP NDIG NOP VALU NOP FUNC NOP * DSI NOP ***ENTRY*** JSB .ENTR FETCH PARAM ADDRESSES DEF UNIT CLA STA ERRCD CLEAR ERROR CODE STA ERCNT CLEAR ERROR COUNT ò9þú STA FLG7 CLEAR 7 DIGIT FLAG STA ENCFG CLEAR ENCODE FLAG LDB UNIT,I SSB JSB NENC NEG UNIT# - CH SIGN & SET ENCFG=-1 SZB,RSS JMP ERR1 ZERO UNIT NUMBER, ERROR JSB GETLU GET LOGICAL UNIT # CMA,INA SSA,RSS LOG UNIT =< 0 ? JMP ERR1 YES. PARM ERROR! JSB EXEC NO. READ FROM DEVICE DEF *+5 DEF .1 DEF LUN DEF LSD DEF .3 * BCD0 LDA NDIG,I FETCH NUM OF DIGITS TO CONVERT SZA =0: BCD OUTPUT? JMP DIGT6 NO. NEXT CHECK LDA MSD YES. SAVE 2ND BCD WORD JSB FLOAT JSB .DST DEF VALU,I LDA LSD SAVE 1ST BCD WORD JSB FLOAT JSB .DST DEF FUNC,I JMP DSI,I ****BCD OUTPUT EXIT**** * DIGT6 CMA,INA SET UP CTR FOR NO. OF DIGITS ADA .5 STA NDIGI LDA MSD LDB LSD ISZ NDIGI 6 DIGITS? JMP DIGT7 NO. NEXT CHECK ALF,ALF YES. FUNC TO BITS 0-3 AND B17 MASK AND STORE FUNC STA FTEMP JMP FINIS * DIGT7 ISZ NDIGI 7 DIGITS? JMP DIGT8 NO. NEXT CHECK RRR 4 YES. SET UP 6 DATA DIGITS ISZ FLG7 SET FLG7 TO 1 JMP CONT DIGT8 ISZ NDIGI 8 DIGITS? JMP ERR1 NO. PARM ERR! RRR 8 YES. SET UP 6 DATA DIGITS CONT STB LSD STORE 4 LS DATA DIGITS CLB CPB FLG7 8 DIGITS? RRL 4 SHIFT 2 OVF DIGITS INTO B RRL 4 SHIFT 1 OVF DIGIT INTO B STB FTEMP STORE OVF DIGIT(S) ALF,ALF GET 2 MS DATA DIG IN BITS 0-7 CLB,INB CPB FLG7 7 DIGITS? ALF YES. AND B377 MASK OFF 2 MS DATA DIGITS ADA B400 SET FUNC CODE TO 1 FOR CONV STA MSD STORE 2 MS DIGITS & FUNC * FINIS JSB CONV CONV DIGITS TO REAL DEF *+2 DEF LSD JSB .DST DEF VALU@ë ,I STORE CONVERTED VALUE IN 'V' LDB B400 LDA FTEMP LOAD FUNC/1 OR 2 OVF DIGITS JSB .DST DEF LSD JSB CONV CONV TO REAL DEF *+2 DEF LSD JSB .DST STORE IN 'F' DEF FUNC,I JMP DSI,I ****CONVERSION EXIT**** SKP * * GET LOGICAL UNIT NUMBER FROM TABLE * GETLU NOP ENTER WITH UNIT # IN B REG LDA CTABL SSA,RSS I BIT SET? JMP *+4 NO AND M7777 YES - MASK ADDRESS LDA 0,I GET CONTENTS JMP *-4 CHECK AGAIN ADA 1 ADD UNIT NUMBER CMA,INA CMA SUBTRACT 1 LDA 0,I GET UNIT # STA LUN STORE IT. JMP GETLU,I RETURN NENC NOP NO ENCODE CMB,INB MAKE UNIT # POSITIVE CLA CMA STA ENCFG ENCODE FLAG = -1 JMP NENC,I * * ERROR REPORTING * ERR1 ISZ ERCNT JSB ERROR DEF *+5 DEF ERCNT DEF ERMNC DEF #ERRU DEF DSI JMP DSI,I SKP * * CONSTANTS * .1 DEC 1 .3 DEC 3 .5 DEC 5 B17 OCT 17 B377 OCT 377 B400 OCT 400 M7777 OCT 77777 ERMNC DEC 3 ASC 2,DSI CTABL DEF #DSIT * * STORAGE * ERCNT NOP ERROR COUNT LUN NOP LOGICAL UNIT NO. * OUTPUT BUFFER ** LSD NOP DATA BUFFER MSD NOP ENCFG NOP ENCODE FLAG * END OUTPUT BUFFER ** FLG7 NOP 7 DIGIT FLAG NDIGI NOP NO. OF RTN DIGITS FTEMP NOP TEMP FUNC * END j>ÿÿ ÿý;C ÿ09601-18014 A S 0122 3480D DVM RTE DEVICE SUBROUTINE             H0101 MÌþúASMB,R,B,L NAM .3480 * * ENT DVMSU,DVMMV *********************************** * * ERS: A-09601-16014-1 * LISTING: A-09601-16014-2 * SOURCE: 09601-18014 * RELOC: 09601-16014 * *********************************** * * *** UTILITY ROUTINES * EXT CONV,#DVMU,.ENTR,ERRCD,ERROR,#ERRU EXT .DLD,.DST,EXEC,.FMP * * * *** SYSTEM PARAMETERS * * M. SCHOENDORF AUGUST 13, 1974 REV. A * FUNCT BSS 1 RANGE BSS 1 FILTR BSS 1 TRIG BSS 1 DMA BSS 1 DVMSU NOP JSB .ENTR GET PARAMETER DEF FUNCT ADDRESSES CLA CLEAR GLOBAL STA ERRCD ERROR CODE LDA .6 LDB FUNCT,I GET FUNCTION PARAMETER SZB,RSS =0? JMP ERR1 YES, ERROR EXIT JSB CKPAM PARAMETER IN LIMITS? LDA M6 INITIALIZE STA R RANGE COUNTER JSB .DLD DEF RANGE,I SZA,RSS RANGE=0? JMP ERR1 YES, ERROR JSB .DST DEF TEMP SAVE RANGE LDB FUNCT,I CHECK CPB .3 IF OHMS JMP SU3 OHMS JSB .DLD VOLTS DEF F.1 JMP SU4 SU3 JSB .DLD OHMS DEF F100 SU4 CPA TEMP FIND RANGE? RSS JMP SU5 NOT FOUND CPB TEMP+1 RANGE FOUND? JMP SU7 PROBABLE! SU5 JSB .FMP CHECK NEXT RANGE, DEF F10 MPY BY 10. ISZ R INCREMENT RANGE COUNTER JMP SU4 TRY NEXT RANGE JMP ERR1 RANGE NOT FOUND SU7 LDA R GET FINAL RANGE COUNT(NEG) LDB FUNCT,I GET FUNCTION PARAMETER CMA,SZA,RSS MAKE COUNT POS,-1 IF NOT 0, SKIP 1 CPB .3 IF 0 AND OHMS RSS RANGE FOUND JMP ERR1 =0, NOT OHMS IS ERROR STA R SAVE RANGE CODE LDA .2 LDB FILTR,I GET FILTER PARAMETER JSB CKPAM PARAMETER IN LIMITS? ŸpþúCLA,INA LDB TRIG,I GET TRIGGER PARAMETER JSB CKPAM CCA ADA FUNCT,I ADD FUNCTION PARAMETER ALF,RAR POSITION TO BITS 3-5 LDB R GET RAN GE CODE (BITS 0-2) IOR 1 ADD TO FUNCTION CODE LDB FILTR,I GET FILTER PARAMETER BLF POSITION RBL,RBL TO BITS (6-8) IOR 1 ADD TO FUNCTION,RANGE CODE LDB TRIG,I GET TRIGGER PARAMETER BLF,BLF POSITION. RBL TO BITS 9-11 IOR 1 ADD TO FUNC,RANGE,FILTER CODES STA IPROG SAVE PROGRAM WORD CLA,INA LDB DMA,I GET DMA PARAMETER JSB CKPAM PARAMETER IN LIMITS? SZB JMP DVMSU,I EXIT LDB FILTR,I GET FILTER PARAMETER SZB =0? JMP ERR1 YES, ERROR EXIT LDB FUNCT,I GET FUNCTION PARAMETER CPB .1 =1? RSS JMP ERR1 NO, ERROR EXIT LDA IPROG GET PROGRAM WORD IOR MNEG SET DMA BIT STA IPROG SAVE JMP DVMSU,I EXIT * .1 DEC 1 .2 DEC 2 .3 DEC 3 .6 DEC 6 .15 DEC 15 .7777 OCT 77777 B360 OCT 360 M6 DEC -6 MNEG OCT 100000 F.1 DEC .1 F10 DEC 10.0 F100 DEC 100.0 IBUFL BSS 1 IPROG BSS 1 NDATA BSS 1 R BSS 1 TEMP BSS 2 SKP NUMB BSS 1 DATA BSS 1 DVMMV NOP JSB .ENTR DEF NUMB CLA CLEAR GLOBAL STA ERRCD ERROR CODE LDA DVMMV GET ENTRY POINT STA DVMSU AND STORE LDA .7777 LDB NUMB,I GET NUMBER OF READINGS PARAMETER SZB,RSS =0? JMP ERR1 YES, ERROR JSB CKPAM PARAMETER IN LIMITS? LDB NUMB,I CPB .1 ONE READING? RSS NOP LDA DATA GET ADDRESSES OF DATA TEST SSA,RSS INDIRECT? JMP CONT NO, CONTINUE LDA 0,I YES, JMP TEST TEST AGAIN CONT STA IBUFR SAVE ADDRESS Éþú STB NDATA SAVE NUMBER OF READINGS STB IBUFL SAVE BUFFER LENGTH JSB EXEC EXEC CALL TO DVR46 DEF *+6 DEF .1 DEF #DVMU DEF IBUFR,I DEF IBUFL DEF IPROG LDA NDATA GET NUMBER OF READINGS CMA,INA NEGATIVE STA TEMP SAVE AS COUNTER .CONV LDB IBUFR GET BUFFER ADDRESS INB LDA 1,I GET RANGE, FUNC, AND POL WORD STA SAVE AND .15 MASK OFF OVERRANGE BITS STA SAVE2 LDA SAVE AND B360 MASK OFF RANGE BITS ALF,ALF IOR SAVE2 MERGE WITH OVERRANGE STA SAVE2 LDA SAVE AND B7K4 MASK OFF FUNCTION BITS CPA B2K4 KOHMS? JMP F4 YES LDA B400 MERGE IOR SAVE2 STA 1,I SAVE WORD 2 FOR CONVERSION LDA SAVE ALF,ALF RAR SLA OVERLOAD? JMP OVRLD YES LDB DEC1 SSA POSITIVE MANTISSA ADB .2 NO STB THERE JSB CONV CONVERT NEXT DATA DEF *+2 DEF IBUFR,I JSB .FMP THERE DEF D1 JMP NEXT OVRLD JSB .DLD OVERLOAD DEF LN NEXT JSB .DST DEF IBUFR,I ISZ IBUFR INCREMENT BUFFER ADDRESS ISZ IBUFR TWICE ISZ TEMP INCREMENT COUNTER AND SKIP JMP .CONV CONVERT NEXT DATA JMP DVMMV,I EXIT F4 LDA B2000 JMP MERGE * B400 OCT 400 B2000 OCT 2000 B2K4 OCT 20000 B7K4 OCT 70000 LN DEC 1.0E+38 DEC1 DEF D1 D1 DEC 1.0 DEC -1.0 IBUFR BSS 1 SAVE BSS 1 SAVE2 BSS 1 SKP * * SUBROUTINE TO CHECK IF PARAMETER IS IN LIMITS * CKPAM NOP SSB PARAMETER POSITIVE? JMP ERR1 NO, ERROR EXIT CMB,INB ADB 0 SSB PARMETER EXCEED MAXIMUM VALUE? JMP ERR1 YES, ERROR EXIT JMP CKPAM,I * * ERROR PROCESSING * ERR1 ISZ ERRCD JSB ERROR DEF *+wÑ5 DEF ERRCD DEF ERMSG DEF #ERRU DEF DVMSU JMP DVMSU,I ERMSG DEC 3 ASC 2,DVM END éÿÿ ÿý<E ÿ09601-18016 A S 0122 5327A-H48 RTE-B DEVICE SUBROUTINE VERIFY TEST             H0101 H±þú 100 PRINT "***************************************" 110 PRINT " 5327A-H48 RTE B DEVICE SUBROUTINE" 120 PRINT " VERIFICATION TEST" 125 REM 126 REM * SOURCE TAPE: 09601-18016 127 REM * ERS: 09601-18016-1 130 PRINT "***************************************" 140 PRINT 150 PRINT 500 PRINT " FREQUENCY 'A' TEST" 510 PRINT " ------------------" 515 PRINT 520 LET H=0 540 PRINT " 1-CONNECT SIGNAL GENERATOR TO 'CHANNEL A'" 542 PRINT " INPUT OF COUNTER" 544 PRINT 546 PRINT " 2-SET SIG. GEN. TO 100 KHZ" 548 PRINT 550 PRINT " 3-TYPE 'GO'" 555 PAUSE 556 GOSUB 5000 560 LET F=100000 565 FOR T=4 TO 8 570 CTRSF(1,T,0,0,0,0,1) 575 GOSUB 6000 580 NEXT T 600 PRINT 610 PRINT " PERIOD 'A' TEST" 612 PRINT " ---------------" 614 PRINT 620 PRINT "SET SIG. GEN. TO 10 HZ & TYPE 'GO'" 630 PAUSE 640 LET H=1 645 GOSUB 5000 650 LET F=10 660 FOR T=0 TO 3 670 CTRSF(2,T,0,0,0,0,1) 675 GOSUB 6000 680 NEXT T 699 PRINT 700 PRINT " PERIOD AVG. 'A' TEST" 702 PRINT " --------------------" 704 PRINT 710 PRINT "SET SIG. GEN. TO 1 KHZ & TYPE 'GO'" 711 PAUSE 720 GOSUB 5000 725 LET T=2 730 CTRSF(6,T,0,0,0,0,1) 735 LET F=1000 740 GOSUB 6000 799 PRINT 800 PRINT " TIME INTERVAL 'A' TO 'B' TEST" 802 PRINT " -----------------------------" 804 PRINT 820 GOSUB 5000 830 REM * DOUBLE 'F' SINCE ONLY HALF A PERIOD IS MEASURED 831 LET F=2000 840 LET T=0 845 CTRSF(7,T,0,3,0,0,1) 850 GOSUB 6000 899 PRINT 900 PRINT " TIME INTERVAL AVG. 'A' TO 'B' TEST" 902 PRINT " ----------------------------------" 904 PRINT 910 PRINT "TYPE 'GO' WHEN READY" 915 PAUSE 920 GOSUB 5000 925 LET T=2 930 CTRSF(8,T,0,3,0,0,1) 940 GOSUB 6000 999 PRINT 1000 PRINT " 'CHECK' FUNCTION TEST" 1002 PRINT " ---------------------" 1004 PRINT 1020 LET Ò»  H=0 1025 LET F=1E+07 1030 GOSUB 5000 1040 CTRSF(10,T,0,0,0,0,1) 1050 GOSUB 6000 1099 PRINT 1100 PRINT " START/STOP TEST" 1102 PRINT " ---------------" 1104 PRINT 1120 PRINT "SET SIG. GEN. TO 10 KHZ & TYPE 'GO'" 1125 PAUSE 1126 LET H=2 1128 GOSUB 5000 1130 LET T=1 1135 CTRSF(4,T,0,0,0,0,1) 1140 WAIT 900 1150 CTRSF(5,T,0,0,0,0,1) 1155 LET F=10000 1160 GOSUB 6000 1199 PRINT 1200 PRINT " FREQUENCY 'C' TEST" 1202 PRINT " ------------------" 1204 PRINT 1220 LET H=0 1230 PRINT "1-CONNECT SIG. GEN. TO FREQ.'C' INPUT OF COUNTER" 1232 PRINT "2-SET SIG. GEN. TO 100 KHZ." 1234 PRINT "3-TYPE 'GO'" 1240 PAUSE 1245 GOSUB 5000 1250 LET F=100000 1255 LET T=5 1260 CTRSF(3,T,0,0,0,0,1) 1270 GOSUB 6000 1299 PRINT 1300 PRINT " FREQUENCY 'C/10' TEST" 1302 PRINT " ---------------------" 1304 PRINT 1310 GOSUB 5000 1320 CTRSF(9,T,0,0,0,0,1) 1330 GOSUB 6000 2000 STOP 4999 REM 5000 REM * SUBROUTINE TO PRINT HEADING * 5010 REM 5020 PRINT 5030 PRINT "RANGE","PROGRAMMED","MEASURED","DEVIATION","TOLERANCE" 5035 PRINT "(TIMEBASE)", 5040 IF H=0 PRINT " HZ"," HZ", 5050 IF H=1 PRINT " SECS"," SECS", 5060 IF H=2 PRINT " VALUE"," VALUE", 5070 PRINT " %"," %" 5080 PRINT 5090 RETURN 5999 REM 6000 REM * SUBROUTINE TO MEASURE & PRINT DATA * 6010 REM 6020 CTRMF(V,D) 6030 IF H#1 LET X=F 6040 IF H=1 LET X=1/F 6050 LET T0=100*(V-X)/X 6052 IF T<3 PRINT 10^(T-1);TAB(4);"US", 6054 IF T>2 AND T<6 PRINT 10^(T-4);TAB(4);"MS", 6056 IF T>5 PRINT 10^(T-7);TAB(4);"S", 6060 PRINT X,V,T0,10;TAB(0); 6070 IF ABS(T0)>10 PRINT " FAIL *" 6080 IF ABS(T0) <= 10 PRINT 6090 RETURN Ý] ÿÿ ÿý=D ÿ09601-18017 A S 0122 3480D/3484A RTE BASIC VERIFY PROGRAM             H0101 hÿ100 REM 110 REM 3480D/3484A SUBSYSTEM RTE-B VERIFICATION TEST 120 REM LISTING: A-09601-18017-2 130 REM ERS: A-09601-18017-1 140 REM SOURCE: 09601-18017 150 REM 160 REM M. SCHOENDORF 170 REM 180 PRINT 190 PRINT "3480D/3484A SUBSYSTEM VERIFICATION" 200 PRINT 210 PRINT "CONNECT DC VOLTAGE SUPPLY SET AT" 220 PRINT "2 VOLTS TO INPUT OF 3484A" 230 PRINT 240 PRINT "CHECK MEASUREMENT SETUP CALL" 250 PRINT 260 PRINT "ENTER TRIGGER SOURCE (0=DSI CARD, 1=EXTERNAL PACER)" 270 PRINT "AND DMA TRANSFER (0=NO, 1=YES)" 290 PRINT 300 INPUT T,D 310 REM FUNCTION SET TO DC, RANGE 10 VOLTS AND FILTER OUT 320 DVMSU(1,10,0,T,D) 330 PRINT 340 PRINT "CHECK MEASUREMENT CALL" 350 PRINT 360 PRINT "ENTER NUMBER OF READINGS DESIRED (1-10)" 370 PRINT 380 INPUT N 390 DVMMV(N,A[1]) 400 FOR X=1 TO N 410 PRINT "DC VOLTAGE =";A[X] 430 NEXT X 440 END ±ÿÿ ÿý>D ÿ09601-18018 A S 0122 12604B DSI CARD RTE BASIC VERIFICATION             H0101 Ž4100 REM 110 REM 12604B D.S.I. RTE-BASIC VERIFICATION TEST 120 REM 130 REM SOURCE: 09601-18018 140 REM ERS: A-09601-18018-1 150 REM LSTG: A-09601-18018-2 160 REM 170 REM 200 PRINT 205 PRINT "12604B D.S.I. RTE-BASIC VERIFICATION TEST" 210 PRINT 220 PRINT "OPTIONS ARE:" 230 PRINT " 1) PRINT STATUS OF ALL 32 BITS" 240 PRINT " 2) PRINT EIGHT BCD DIGITS" 250 PRINT " 3) NEW UNIT NUMBER" 260 PRINT " ANYTHING ELSE) ABORT PROGRAM." 300 PRINT "UNIT NUMBER (NEGATIVE FOR NO ENCODE)" 310 INPUT U 320 PRINT "OPTION"; 330 INPUT Q 340 IF Q=3 THEN 300 350 IF Q=2 THEN 700 360 IF Q=1 THEN 400 370 STOP 400 REM OPTION TO PRINT STATUS OF ALL 32 BITS 410 DSI(U,0,A,B) 420 FOR I=15 TO 0 STEP -1 430 IBTST(A,I,Z) 440 PRINT Z; 450 IF I/4#INT(I/4) THEN 460 455 PRINT 460 NEXT I 470 PRINT 480 PRINT 500 FOR I=15 TO 0 STEP -1 510 IBTST(B,I,Z) 520 PRINT Z; 530 IF I/4#INT(I/4) THEN 540 535 PRINT 540 NEXT I 600 GOTO 320 700 REM PRINT AS EIGHT BCD DIGITS 710 DSI(U,8,A,B) 720 PRINT "M.S. 6 DIGITS=";A 730 PRINT "L.S. 2 DIGITS=";B 740 GOTO 320 800 END Oÿÿ ÿý?E ÿ09601-18019 A S 0122 HP 12555B D TO A CONV  VERIFY TEST             H0101 Ô100 REM 110 REM 12555B DIGITAL-TO-ANALOG CONVERTER 120 REM LISTING: A-09601-18019-2 130 REM ERS: A-09601-18019-1 140 REM SOURCE: 09601-18019 150 REM 160 REM M. SCHOENDORF 9/12/74 170 REM 180 PRINT 190 PRINT "12555B DIGITAL-TO-ANALOG CONVERTER VERIFICATION" 200 PRINT 210 PRINT "CHECK DUAL 8 BIT D TO A CONVERTER" 220 PRINT 230 PRINT "CONNECT DC VOLTMETER TO PIN 2 (HIGH) AND PIN" 240 PRINT "7 (LOW) ON THE 12555B CARD (CHANNEL 1)." 250 PRINT "SET VOLTAGE RANGE ON THE DC VOLTMETER TO 10 VOLTS" 260 PRINT 270 PRINT "TYPE GO TO CONTINUE" 280 PAUSE 290 PRINT "VERIFY THAT VOLTAGE ON CHANNEL 1 OF D TO A CARD" 300 PRINT "INCREASES APPROXIMATELY .04 VOLTS EVERY 1 SECOND." 310 DIM X[32],Y[32] 320 GOSUB 1000 330 PRINT 340 PRINT "CONNECT DC VOLTMETER TO PIN 23 (HIGH) AND PIN" 350 PRINT "7 (LOW) ON THE 12555B CARD (CHANNEL 2)." 360 PRINT 370 PRINT "TYPE GO TO CONTINUE" 380 PAUSE 390 GOSUB 1000 400 GOTO 1070 1000 FOR I=1 TO 32 1010 LET X[I]=I 1020 LET Y[I]=I 1030 GRAPH(1,X[I],Y[I]) 1040 WAIT 1000 1050 NEXT I 1060 RETURN 1070 END 8¯ÿÿ ÿý@F ÿ09601-18020 A S 0122 HP12555B D TO A CONV  DEVICE SUBROUTINE             H0101 MþúASMB,R,B,L NAM .GRAF 09601-16020 REV. A * * ENT GRAPH * *********************************** * * ERS: A-09601-16020-1 * LISTING: A-09601-16020-2 * SOURCE: 09601-18020 * RELOC: 09601-16020 * *********************************** * * M. SCHOENDORF SEPTEMBER 12,1974 REV. A * * *** UTILITY ROUTINES * EXT #GRFU,.DLD,.ENTR,ERRCD,ERROR,#ERRU EXT EXEC,.FAD,.IENT * * * GRAPH(N,X(I),Y(I)) * * N = 0 CLEAR (X(I) AND Y(I) IGNORED) * ELSE * N = NUMBER OF POINTS IN X-Y BUFFER (1-32) * * X(I) = ARRAY WHOSE ELEMENTS ARE THE X-COORDINATES * OF THE ANALOG VOLTAGE * * Y(I) = ARRAY WHOSE ELEMENTS ARE THE Y-COORDINATES * OF THE ANALOG VOLTAGE * * WHERE EACH ELEMENT OF THE X AND Y ARRAY CAN * VARY FROM 0 TO 255 AND THE CORRESPONDING * VOLTAGE IS CALCULATED BY THE FOLLOWING * FORMULA: * * V = (X(I) OR Y(I) / 255)*10 * * SKP * * NDATA BSS 1 XARAY BSS 1 YARAY BSS 1 GRAPH NOP JSB .ENTR DEF NDATA CLA CLEAR GLOBAL ERROR CODE STA ERRCD LDA NDATA,I GET NUMBER OF ELEMENTS IN ARRAY SSA <0? JMP ERR1 YES, ERROR EXIT SZA,RSS =0? JMP CLEAR YES CMA,INA ADA .32 >32? SSA JMP ERR1 YES, ERROR EXIT LDA YARAY GET ADD. OF Y ELEMENTS OF ARRAY LDB BUFAD JSB INIT SUBROUTINE TO INITIALIZE VALUES JSB PACK SUBROUTINE TO PACK INTEGERS LDA XARAY GET ADDRESS OF X AND Y ELEMENTS LDB BUFAD OF ARRAY JSB INIT SUBROUTINE TO INITIALIZE VALUES JSB PACK SUBROUTINE TO PACK INTEGERS JSB EXEC EXEC WRITE CALL DEF *+5 RETURN ADDRESS DEF .2 WRITE REQUEST DEF #GRFU LOGICAL UNIT NUMBER DEF BUFAD,I BUFFER Lˆ)þúOCATION DEF NDATA,I BUFFER LENGTH JMP GRAPH,I RETURN TO CALLING PROGRAM * CLEAR JSB EXEC DEF *+3 DEF .3 DEF #GRFU JMP GRAPH,I * .2 DEC 2 .3 DEC 3 .32 DEC 32 BUFAD DEF *+1 BSS 32 SKP * * ERROR PROCESSING * ERR1 ISZ ERRCD TYPE 1 ERROR JSB ERROR CALL ERROR SUBROUTINE DEF *+5 RETURN ADDRESS DEF ERRCD TYPE OF ERROR DEF ERMSG ERROR MESSAGE DEF #ERRU DEF GRAPH ENTRY POINT JMP GRAPH,I RETURN TO CALLING PROGRAM ERMSG DEC 3 ASC 2,GRAPH * * SUBROUTINE TO INITIALIZE COUNTERS AND ARRAYS * INIT NOP STA ARRAY ADDRESS OF DATA ORIGIN STB BUFF ADDRESS OF DATA DESTINATION LDA NDATA,I NUMBER OF DATA POINTS CMA,INA STA INCR STORE FOR INCREMENTING JMP INIT,I * * SUBROUTINE TO PACK VALUES FROM TWO FLOATING POINT * ARRAYS TO ONE INTEGER ARRAY * PACK NOP GNUDT JSB .DLD GET FLOATING POINT VALUE DEF ARRAY,I JSB .FAD ADD 1/2 FOR ROUND OFF DEF HALF JSB .IENT CONVERT TO INTEGER JMP ERR1 WON'T CONVERT, ERROR EXIT LDB 0 SSB >0? JMP ERR1 NO, ERROR EXIT LDA BUFF,I GET CONTENTS OF INTEGER ARRAY AND B377 MASK OFF LOWER 8 BITS ALF,ALF SHIFT 8 BITS TO LEFT IOR 1 MERGE WITH NEXT INTEGER STA BUFF,I STORE IN INTEGER ARRAY CMB,INB ADB B377 SSB INTEGER > 255? JMP ERR1 YES, ERROR EXIT ISZ ARRAY INCREMENT ADD. OF SOURCE ARRAY ISZ ARRAY INCREMENT ADD. OF SOURCE ARRAY ISZ BUFF INCREMENT ADD. OF DESTINATION ARRAY ISZ INCR INCR. NO. OF VALUES LEFT TO CONVERT JMP GNUDT GET NEXT FLT. PT. NO. FOR CONV. JMP PACK,I * B377 OCT 377 ARRAY BSS 1 BUFF BSS 1 INCR BSS 1 HALF DEC 0.5 END ¥¬ ÿÿ ÿýAI ÿ09601-18021 1738 S 0163 HP 7261A RTE DVR15 DRIVER              H0101 TÇþúASMB,R,B,L NAM DVR15 ENT I.15,C.15 SPC 4 * * ***HP 7261A RTE DVR 15*** * * SOURCE TAPE: 09601-18021 * RELOC. TAPE: 09601-16021 * SMALL PROG.MANUAL: 07261-90010 * * MAY 1974 L.W. HENNESSEY * JUNE 1974 A.M. WERNICK * SEP 1977 D.POT * * * * THIS DRIVER CAN CONVERT EITHER EBCDIC OR BCD CARDS: SPC 1 * WHEN CONFIGURING THIS DRIVER INTO RTE SYSTEM, ASSIGN CARD READER * THREE LOGICAL UNIT NUMBERS * LU#N = READER,SUBCHANNEL 0 * LU#M = READER,SUBCHANNEL 1 * LU#L = READER,SUBCHANNEL 2 * TO CONVERT EBCDIC PUNCH SET - ADDRESS READER AS SUBCHANNEL 0 * TO CONVERT BCD PUNCH SET - ADDRESS READER AS SUBCHANNEL 1 * TO CONVERT EBCDIC-RDTS PUNCH SET - ADDRS READER AS SUBCHN 2 SPC 2 * THIS CARD READER DRIVER PROCESSES READ AND CONTROL REQ'S. * WRITE REQ'S AND ILLEGAL CONTROL REQ'S ARE REJECTED. SPC 1 * TO PROCESS A READ, STATUS IS FIRST CHECKED. IF IT IS * "OK TO PICK" A PICK COMMAND IS ISSUED AND A DMA TRANSFER * IS BEGUN. IF STATUS IS NOT "OK TO PICK" A NOT READY * RETURN IS MADE TO THE SYSTEM. * THE DMA TRANSFER IS INTO THE DRIVER'S INTERNAL BUFFER. * THE DRIVER IS ENTERED UPON DEVICE CONTROLLER INTERRUPT. * THE CARD DATA IS CONVERTED FROM COLUMN IMAGE TO THE FORMAT * * SPECIFIED BY THE READ REQUEST AND STORED INTO THE CALLING * PROGRAM'S BUFFER. * THE THREE FORMATS A READ REQUEST CAN SPECIFY ARE: * ASCII SUBFUNCTION 0 * PACKED BINARY SUBFUNCTION 3 * COLUMN BINARY SUBFUNCTION 1 SPC 1 * THREE CONTROL REQUESTS ARE PROCESSED: * DYNAMIC STATUS SUBFUNCTION 6 * RING BELL SUBFUNCTION 4 (REWIND LU) * SELECT HOPPER SUBFUNCTION 1 (ENDFILE LU) * THE LATTER TWO CONTROL REQ'S ARE PROCESSED ON "OK TO PICK" * STATUS OR ELSE REJECTED AS IN THE CASE OF THE READ REQUEST. * NOTE THAT FOR EASE OF IMPLEMENTATION THESE TWO CONTROL REQ'S * CAN BE ACCOMPLISHED WITH THE STANDARD ]þú HIGH-LEVEL (MAG TAPE) * REWIND AND ENDFILE STATEMENTS. SPC 1 * INTERPRETATION OF STATUS BITS IN EQT: * 0 DEVICE NOT READY * 1 ILLEGAL HOLLERITH IF ASCII OR WORD COUNT IF PACKED BINARY * 4 PICK FAILURE (AFTER TEN ATTEMPTS) * 5 HOPPER BAD * 7 END OF FILE (DEFINED AS LAST-CARD.AND.BLANK-CARD) HED *** RTE OMR DRIVER,DVR15 *** * INITIATION SECTION SPC 1 I.15 NOP JSB SETIO CONFIGURE IO BLF,SLB STATUS OK-TO-PICK? JMP OK YES RBR,RBR IF NOT, SSB,SLB,RSS STATUS EXTENDED-CARD? ISZ EQT5,I NO - SET CR NOT READY OK LDB EQT5,I LOAD STATUS LDA EQT6,I LOAD CONTROL WORD AND D3 ISOLATE REQUEST CODE. CPA D3 CONTROL REQUEST? JMP R3 YES - GO GET SUBFUNCTION SLA,ARS NO - READ REQUEST? JMP READ YES, CONTINUE. JMP I.15,I REJECT SPC 1 B400 OCT 400 B600 OCT 600 B3700 OCT 3700 SPC 1 R3 LDA EQT6,I LOAD CONTROL WORD. AND B3700 ISOLATE THE FUNCTION CODE. CPA B100 HOPPER SELECT? JMP HOPR YES CPA B400 RING BELL? JMP BELL YES CPA B600 DYNAMIC STATUS? JMP A4 YES, GO TO IMMEDIATE COMPLETION. SPC 1 LDA D2 CONTROL REQ UNDEFINED JMP I.15,I REJECT SPC 1 READ CPA EQT8,I ZERO BUFFER LENGTH? JMP SKIP YES, GO CHECK THE MODE. READ0 SLB CR READY? JMP A3 NO - GO TO EXIT LDA EQT4,I SAVE AND B100 SUBCHANNEL RAR FOR STA EQT11,I CONVERSION LDA N10 INITIALIZE STA EQT13,I PICK FAIL COUNTER READ1 LDA SC LOAD CR SELECT CODE DMA1 OTA DMA ASSIGN DMA LDA BUFAD LOAD THE INTERNAL BUFFER ADDRESS. DMA2 CLC DMA-4 PREPARE THE ADDRESS REGISTER. DMA3 OTA DMA-4 OUTPUT THE BUFFER ADDRESS. LDA N81 LOAD THE WORD COUNT DMÈçþúA4 STC DMA-4 PREPARE DMA WORD COUNT DMA5 OTA DMA-4 OUTPUT THE WORD COUNT CR1 STC CR,C ISSUE A PICK COMMAND TO THE CR. DMA6 STC DMA,C ACTIVATE DMA DMA7 CLC DMA CLEAR DMA CLA CPA I.15 PICK FAILURE RETRY? JMP C.RTN YES, GO TO CONTINUATION RETURN. JMP I.15,I NO, RETURN SUCCESSFUL INITIATION SPC 1 A3 LDA D3 SET FOR CR NOT READY JMP I.15,I RETURN SPC 1 BELL LDA B10 BIT 3 JMP CR2 HOPR LDA D4 BIT 2 SLB CR READY? JMP A3 NO - GO TO EXIT CR2 OTA CR TURN ON BIT SZA,RSS 10 U'SECS ELAPSED? JMP A4 YES - GO TO IMMEDIATE COMPLETION D2 DEC 2 NO - D3 DEC 3 BURN D4 DEC 4 TIME CLA TURN OFF LDB N10 WAIT 50 MICROSECS INB ISZ 1 DONE WAITING? JMP *-2 NO JMP CR2 THAT BIT SPC 1 SKIP LDA EQT6,I LOAD CONTROL WORD AND B100 ISOLATE THE MODE BIT. SZA MODE BINARY? JMP READ0 YES, GO SKIP RECORD A4 LDA D4 SET FOR IMMEDIATE COMPLETION JMP I.15,I RETURN SPC 2 BUFAD DEF I.BUF,I INTERNAL BUFFER FOR DMA SC BSS 1 CR SELECT CODE SPC 1 N10 DEC -10 N81 DEC -81 D8 EQU * B10 OCT 10 B100 OCT 100 B700 OCT 700 B4000 OCT 4000 B4200 OCT 4200 B4300 OCT 4300 SKP * CONFIGURATION SECTION SPC 1 SETIO NOP STA SC STORE SELECT CODE SPC 1 IOR CLCSC CONFIGURE STA *+1 & EXECUTE CLC CR CLEAR CR SPC 1 XOR B5000 STA CR1 CONFIGURE XOR B5200 CR IO STA DSTAT STA *+1 LIB CR LOAD CR STATUS XOR B4300 STA CR2 SPC 1 LDA CHAN SAVE ASSIGNED STA EQT12,I DMA CHANNEL SPC 1 IOR CLCSC STA DMA7 XOR ÀFþúB5000 STA DMA6 XOR B1600 STA DMA8 XOR B700 CONFIGURE STA DMA1 DMA IO XOR D4 STA DMA3 STA DMA5 ADA B100 STA DMA4 ADA B4000 STA DMA2 XOR B4200 STA DMA9 SPC 1 LDA EQT5,I AND HIHAF CLEAR STATUS WORD STA EQT5,I SPC 1 JMP SETIO,I SPC 3 BUF DEF I.BUF CLCSC CLC 0 SPC 1 EXTRA IOR CLCSC CLEAR STA *+1 INTERRUPTING CLC 0 SELECT CODE C.RTN ISZ C.15 INCREMENT FOR JMP C.15,I CONTINUATION RETURN SKP * STD HP EBCDIC CHARS HWPTB DEF *+1 ASC 1,!$ ASC 1,;] ASC 1,+^ SPC 1 * EBCDIC-RDTS CHARS OCT 56444 RDTS CHAR=VERT BAR,$ OCT 35536 RDTS CHAR=;,] OCT 25441 RDTS CHAR=+,UNDERSCORE SPC 2 CRSET NOP LAST EBCDIC CHAR SET SPC 2 * COMPLETION SECTION SPC 1 C.15 NOP LDB EQT1,I INTERRUPT EXPECTED? SZB,RSS JMP EXTRA NO - QUEUE EMPTY LDB EQT12,I GET DMA NUMBER BEING USED CPB A DMA INTERRUPT? JMP EXTRA YES - IGNORE IT STB CHAN UPDATE SYSTEM WORD DSTAT LIB CR GET CR STATUS DMA8 STF DMA STOP ANY DMA TRANSFER CLA STA LAST CLEAR LAST CARD SWITCH RBL,RBL SHIFT BIT 14 TO BIT 0 SLB,RSS STATUS 0100 OR 0110 ? JMP OPERR NO - GO PROCESS ERROR SSB,SLB,RSS LAST CARD? ISZ LAST YES - SET SWITCH CPA EQT8,I WAS A RECORD BEING SKIPPED? JMP R.ERR YES, GO TO COMPLETION RETURN. STA CNTR NO, INITIALIZE THE WORD COUNTER. STA COUNT INITIALIZE COLUMN COUNTER STA NULL INITIALIZE NULL SWITCH DMA9 LIA DMA-4 LOAD THE WORD COUNT REGISTER. CPA N81 WAS ANY DATA TRANSMITTED? JMP ERROR NO, GO PROCESS ERROR CMA,INA YES, WORD COUNT RESIDUE POSITIVEÛþú. ADA N81 COMPUTE & STA WCI STORE THE WORD COUNT INDEX. LDB BUF LOAD INTERNAL BUFFER ADDRESS. STB INPTR STORE BUFFER ADDRESS INDEX. STB TEMP SAVE THE BUFFER ADDRESS INDEX. LDB EQT6,I LOAD THE FUNCTION REQUEST CODE. BLF,BLF LOOK AT B5200 RBL MODE BIT SSB BINARY? JMP BINRY YES, GO PROCESS BINARY CARD. LDA EQT4,I GET SUBCHN NO AND B700 CPA B100 BCD? JMP OUTS YES-DONT FUSS WITH TABLE CPA CRSET SAME AS LAST CHAR SET? JMP OUTS YES STA CRSET UPDATE CRSET LDB HWPTB ADDRS OF STD EBCDIC TABLE CPA B200 RDTS EBCDIC? ADB D3 YES,USE RDTS CHARS LDA 1,I GET 1ST CHAR STA LASC1 OVERLAY 1ST CHAR IN TABLE INB ADDRS OF NEXT CHAR LDA 1,I GET 2ND CHAR STA LASC2 INB LDA 1,I STA LASC3 OUTS LDA WCI RESTORE A REG LDB EQT8,I LOAD THE ORIGINAL REQUEST LENGTH. SSB IS THE REQUEST IN WORDS? CMB,INB,RSS NO, COMPLEMENT CHARACTER COUNT. RBL YES, CONVERT WORDS TO CHARACTERS. SSB CHARACTER LENGTH OVERFLOW? JMP CHADR YES, CONTINUE. ADA B STORE LEAST CMB,INB OF # REQ'D SSA OR # READ STB WCI AS WORD COUNT INDEX CHADR LDA EQT7,I LOAD THE USER BUFFER ADDRESS. CLE,ELA SHIFT TO FORM CHARACTER ADDRESS. STA EXPTR SAVE THE CHARACTER ADDRESS. LOOP LDA INPTR,I LOAD THE DATA COLUMN. ISZ COUNT INCREMENT THE COLUMN COUNTER. AND B7777 GET RID OF STATUS SZA,RSS IF COLUMN IS BLANK, JMP BLANK SET CHARACTER A BLANK. ALF LEFT JUSTIFY COLUMN STA INPTR,I & RESTORE IT CCB PRESET BIT 8 STB EIGHT SWITCH LDB COUNT LOAD THE CURRENT COLUMN COUNTE ÔþúR. STB CNTR UPDATE CHARACTER COUNT SPC 1 AND B160 MASK OFF ALL BUT BITS 12,11,0 CLB CLEAR B FOR LATER SZA,RSS ANY HIGH PUNCHES ? JMP NOHI NO, TEST FOR LOW PUNCHES SPC 1 CPA B100 BIT 0 PUNCHED ? LDB D32 YES, LOAD 32 CPA B40 BIT 11 PUNCHED ? LDB D16 YES, LOAD 16 CPA B20 BIT 12 PUNCHED ? LDB D48 YES, LOAD 48 SZB,RSS WAS ONLY ONE COLUMN PUNCHED ? JMP BAD NO, ILLEGAL PUNCH SPC 1 NOHI STB TOTAL SET HIGH FIELD WEIGHT XOR INPTR,I ISOLATE LOWER BITS OF COLUMN SZA,RSS ANY LOW BITS PUNCHED ? JMP NOLOW NO, CHARACTER COMPLETED. SPC 1 CLE,SSA BIT 9 SET ? LDB D9 YES, LOAD WEIGHT B1600 ELA BIT 9 SET ? SEZ JMP SET YES, TEST FOR MORE BITS. SPC 1 ELA BIT 8 SET ? CLB,SEZ,RSS YES,CLEAR B FOR LATER JMP *+4 BIT 8 WAS NOT SET. STB EIGHT SET THE SWITH CLE,SZA,RSS WAS ONLY BIT 8 SET ? JMP BIT8 YES, EXIT TO FORM CHARACTER. SPC 1 LDB D7 LOAD WEIGHT COUNTER ELA IS BIT 7 SET ? SEZ JMP SET YES, CHECK FOR OTHER PUNCHES LDB D6 ELA IS BIT 6 SET ? SEZ JMP SET YES LDB D5 ELA IS BIT 5 SET ? SEZ JMP SET YES LDB D4 ELA IS BIT 4 SET ? SEZ JMP SET YES LDB D3 ELA IS BIT 3 SET ? SEZ JMP SET YES LDB D2 ELA IS BIT 2 SET ? SEZ,RSS YES JMP ONE NO, BIT 1 MUST BE. SET SZA ANY OTHER PUNCHES ? JMP EXBAD YES, ILLEGAL COMBINATION ISZ EIGHT WAS BIT 8 SWITCH SET? BIT8 ADB D8 YES, ADD WEIGHT FOR IT. BIT1 ADB TOTAL ADD WEIGHT FOR FIELD BITºÔþúS. NOLOW SLB,BRS PLACE ODD BIT IN A-REG. CLA,INA SET ODD CHARACTER FLAG ADB TABLE FIND PLACE IN ADB EQT11,I APPROPRIATE TABLE CLE,SZA ODD CHARACTER ? CCE LDA B,I GET WORD WITH TWO CHARS. SEZ,RSS ODD CHARACTER ? ALF,ALF YES, RIGHT JUSTIFY IT AND LOHAF ISOLATE THE CHARACTER. RSS SPC 1 BLANK LDA B40 LOAD ASCII BLANK SPC 1 LEGAL ISZ INPTR INCREMENT BUFFER ADDRESS POINTER. LDB EXPTR LOAD CHARACTER BUFFER ADDRESS. CLE,ERB SHIFT, FORM WORD BUFFER ADDRESS. SEZ,RSS IS NEW CHARACTER TO BE LOWER? ALF,SLA,ALF NO, SHIFT TO HIGH ORDER; SKIP. IOR B,I YES, INCLUDE THE HIGH ORDER PART. STA B,I STORE THE WORD IN USER BUFFER. ISZ EXPTR INCREMENT BUFFER ADDRESS POINTER. ISZ WCI IS THE BUFFER EXHAUSTED? JMP LOOP NO, GO PROCESS NEXT COLUMN. LDB CNTR YES, LOAD # NON-BLANK CHARACTERS. SZB,RSS NULL CARD? JSB EOF YES - GO CHECK FOR EOF LDA EQT8,I LOAD THE ORIGINAL REQUEST TYPE. CLE,SSA,RSS WAS THE REQUEST IN CHARACTERS? ERB NO, CONVERT CHARACTERS TO WORDS. END. CLA,SEZ WAS THE CHARACTER COUNT ODD? INB YES, INCREMENT THE WORD COUNT. JMP C.15,I COMPLETION RETURN. SPC 1 BAD LDB EQT11,I DO EXTRA SZB,RSS BCD TESTS? JMP OVERP NO SPC 1 CPA B140 11 - 0 PUNCH ? JMP BCDEX YES, MAY BE ! CPA B120 12 - 0 PUNCH ? JMP BCDQU YES, MAY BE ? SPC 1 EXBAD LDA EQT5,I SET ILLEGAL PUNCH STATUS IOR D2 STA EQT5,I QUES LDA B77 LOAD ASCII QUESTION MARK. JMP LEGAL STORE CHARACTER SPC 1 ONE CLB,INB SET WEIGHT, TEST BIT 8 ISZ EIGHT SWITCH JMP EXBAD BIT 8 FLAG WAS ON, ILLEGAL PUNCH. JMP BIT1 JUST BIT 1ƒ¸þú PUNCHED SPC 1 OVERP CPA B120 HOLLERITH 12 - 0 PUNCH ? RSS YES JMP EXBAD ILLEGAL PUNCH LDA B173 GET ASCII CODE JMP LEGAL D5 DEC 5 D6 DEC 6 D7 DEC 7 D9 DEC 9 D48 DEC 48 B160 OCT 160 B77 OCT 77 B7777 OCT 7777 LOHAF OCT 377 HIHAF OCT 177400 B173 OCT 173 ASCII FOR HOLLERITH 12-0 PUNCH SPC 1 BCDEX XOR INPTR,I TEST FOR OTHER BITS SZA JMP EXBAD ILLEGAL PUNCHES LDA B41 LOAD ! JMP LEGAL STORE SPECIAL CHARACTER SPC 1 BCDQU XOR INPTR,I TEST FOR OTHER PUNCHES SZA JMP EXBAD JMP QUES GO LOAD AND STORE ? SPC 1 B41 OCT 41 ! B120 OCT 120 B140 OCT 140 SPC 1 EOF NOP LDA LAST LAST CARD? SZA,RSS IF NOT, JMP EOF,I RETURN LDA EQT5,I OTHERWISE, IOR B200 SET BIT 7 STA EQT5,I TO INDICATE CLA END OF FILE JMP R.ERR GO TO COMPLETION RETURN SPC 1 B200 OCT 200 SKP BINRY STA COUNT STORE WORD COUNT INDEX RVRSE LDB B20 REVERSE CARD COLUMN LDA TEMP,I LOAD COLUMN ERA SHIFT OUT OF ELB A THRU E INTO B SEZ,RSS COLUMN REVERSED? JMP *-3 NO STB TEMP,I YES - STORE REVERSED COLUMN SZB WAS IT NULL? ISZ NULL NO - TRIP SWITCH ISZ TEMP POINT TO NEXT COLUMN ISZ COUNT CARD REVERSED? JMP RVRSE NO - GET NEXT COLUMN LDB NULL WAS ENTIRE SZB,RSS CARD NULL? JSB EOF YES - GO CHECK FOR EOF LDB EQT6,I GET CONTROL WORD BLF,BLF DETERMINE IF SSB PACKED BINARY JMP PACKB YES, GO PROCESS PACKED BINARY. LDA WCI RELOAD WORD COUNT INDEX JSB INDEX IMAGE LDA INPTR,I LOAD THE DATA COLUMN. ISZ INPTR INCREMENT BUFFER ADDRESS POINTER. STA úRþúEXPTR,I STORE THE WORD IN USER BUFFER. ISZ EXPTR INCREMENT BUFFER ADDRESS POINTER. ISZ CNTR INCREMENT THE WORD COUNTER. ISZ WCI IS THE BUFFER EXHAUSTED? JMP IMAGE NO, CONTINUE. TLOG LDA EQT8,I LOAD THE ORIGINAL REQUEST TYPE. LDB CNTR LOAD THE TRANSMISSION LOG. CLE,SSA WAS THE REQUEST IN CHARACTERS? B5000 BLS YES, CONVERT WORDS TO CHARACTERS. JMP END. GO ISSUE A COMPLETION RETURN. SPC 2 INDEX NOP LDB EQT7,I LOAD THE USER BUFFER ADDRESS. STB EXPTR SAVE THE USER BUFFER ADDRESS. LDB EQT8,I LOAD THE ORIGINAL REQUEST LENGTH. SSB,RSS IS THE REQUEST IN WORDS? CMB,INB,RSS YES, COMPLEMENT WORD COUNT; SKIP. BRS NO, CONVERT CHARACTERS TO WORDS. CMA,INA MAKE THE RECORD LENGTH POSITIVE. ADA B STORE LEAST OF SSA,RSS # REQ'D OR # READ STB WCI AS WORD COUNT INDEX JMP INDEX,I SPC 1 B17 OCT 17 D60 DEC 60 SPC 1 PACKB LDA INPTR,I LOAD THE FIRST DATA COLUMN. RAR,RAR SHIFT ROWS 12-5 TO LOWER. RAR,RAR SHIFT ROWS 12-5 TO LOWER. AND LOHAF ISOLATE THE RECORD WORD LENGTH. CMA,INA,SZA,RSS ZERO RECORD LENGTH? JMP ERROR YES, GO FLAG WORD COUNT ERROR. STA WCI NO, SAVE THE RECORD WORD LENGTH. JSB INDEX GO COMPUTE THE WORD COUNT INDEX. LDA WCI LOAD THE WORD COUNT INDEX. ADA D60 SSA IS THE WORD COUNT > 60? JMP ERROR YES, GO FLAG WORD COUNT ERROR. LDB INPTR,I NO, LOAD DATA COLUMN 1 OF 4. ISZ INPTR INCREMENT BUFFER ADDRESS POINTER. UNPAK BLF SHIFT COLUMN TO BITS 15-4. STB TEMP SAVE THE DATA COLUMN. LDA INPTR,I LOAD DATA COLUMN 2 OF 4. ISZ INPTR INCREMENT BUFFER ADDRESS POINTER. ALF,ALF SHIFT ROW 12 TO BIT 3. LDB A SAVE THE DATA COLUMN. sþúAND B17 ISOLATE ROWS 12-1. IOR TEMP INCLUDE COLUMN #1. JSB STORE GO STORE DATA WORD 1 OF 3. AND HIHAF ISOLATE ROWS 2-9. STA TEMP SAVE THE PARTIAL DATA COLUMN. BLF,BLF SHIFT ROW 12 TO BIT 7. BLF SHIFT ROW 12 TO BIT 7. LDA B LOAD DATA COLUMN 3 OF 4. AND LOHAF ISOLATE ROWS 12-5. IOR TEMP INCLUDE COLUMN #2. JSB STORE GO STORE DATA WORD 2 OF 3. AND HIFOR ISOLATE ROWS 6-9. IOR B INCLUDE DATA COLUMN 4 OF 4. JSB STORE GO STORE DATA WORD 3 OF 3. JMP UNPAK GO PROCESS THE NEXT 4 COLUMNS. SPC 1 HIFOR OCT 170000 D16 EQU * B20 OCT 20 D32 EQU * B40 OCT 40 SPC 1 STORE NOP STA EXPTR,I STORE THE BINARY DATA WORD. ISZ EXPTR INCREMENT BUFFER ADDRESS POINTER. ISZ CNTR INCREMENT THE WORD COUNTER. LDA B LOAD THE PREVIOUS DATA COLUMN. LDB INPTR,I LOAD THE NEXT DATA COLUMN. ISZ INPTR INCREMENT BUFFER ADDRESS POINTER. ISZ WCI IS THE BUFFER EXHAUSTED? JMP STORE,I NO, RETURN. JMP TLOG YES, GO LOAD TRANSMISSION LOG. SPC 1 OPERR ELB SHIFT BIT 12 TO BIT 15. SSB PICK FAILURE? JMP PICKF YES, GO CHECK FOR RETRY. SEZ,INA,RSS DEVICE INOPERABLE? LDA B40 NO - BAD HOPPER NOPCK IOR EQT5,I INCLUDE THE UPPER STATUS. STA EQT5,I UPDATE THE STATUS WORD. CLA,INA SET FOR NOT READY RETURN R.ERR CLB JMP C.15,I RETURN SPC 1 PICKF STA I.15 CLEAR THE INITIATION FLAG. LIA DMA-4 LOAD THE WORD COUNT REGISTER CPA N81 IS THIS A TRUE PICK FAILURE ? CLA,RSS YES. GO PROCEED JMP DMA8+6 NO. IGNORE IT ISZ EQT13,I IS THIS THE LAST RETRY? JMP READ1 NO, GO RETRY THE READ. LDA B20 YES - GO DO JMP NOPCK ERROR RETURN SPC 1 ERROR LDt(B@40 GOTO 1030 1050 PRINT "1=ON,0=OFF"; 1060 INPUT S 1065 IF S#0 AND S#1 GOTO 1050 1070 IF B0#40 GOTO 1100 1080 LET X=S 1090 GOTO 1190 1100 LET W=(B0>7)+(B0>23) 1120 LET R=B0-8*(W>0)-16*(W>1) 1130 IF S=0 AND W=2 IBCLR(A,R,A) 1140 IF S=0 AND W=1 IBCLR(B,R,B) 1150 IF S=0 AND W=0 IBCLR(C,R,C) 1160 IF S=1 AND W=2 IBSET(A,R,A) 1170 IF S=1 AND W=1 IBSET(B,R,B) 1180 IF S=1 AND W=0 IBSET(C,R,C) 1190 FBTWR(U,A,B,C,X,0) 1200 GOTO 270 2000 PRINT "BCD OUTPUT (10 DIGITS)" 2005 PRINT "----------------------" 2007 PRINT 2010 PRINT " NUMBER TO BE OUTPUT:" 2020 PRINT 2030 PRINT " 4 MOST SIGNIFICANT DIGITS (0-9999):"; 2040 INPUT A 2045 IF A<0 OR A>9999 GOTO 2030 2050 PRINT " 4 NEXT MOST SIGNIFICANT DIGITS (0-9999):"; 2060 INPUT B 2065 IF B<0 OR B>9999 GOTO 2050 2070 PRINT " 2 LEAST SIG?B  NIFICANT DIGITS (0-99):"; 2080 INPUT C 2085 IF C<0 OR C>99 GOTO 2070 2090 PRINT "BIT 41 (0 OR 1):"; 2100 INPUT X 2110 FBTWR(U,A,B,C,X,1) 2120 GOTO 270 3000 PRINT "ALL ZEROS OUT" 3002 PRINT "-------------" 3004 PRINT 3005 LET A=B=C=X=0 3010 FBTWR(U,A,B,C,X,0) 3020 GOTO 270 4000 PRINT "ALL 1'S OUT" 4004 PRINT "-----------" 4006 PRINT 4010 ISETC("177777",A) 4020 LET B=A 4030 ISETC("377",C) 4034 LET X=1 4040 FBTWR(U,A,B,C,X,0) 4050 GOTO 270 9999 END ôµ ÿÿ ÿýDK ÿ09610-18001 A S 0222 REMOTE MICROCIRCUIT DIAGNOSTIC             H0102 l%þúASMB,A,B,L,C HED REMOTE UCKT I\F DIAGNOSTIC 09610-16001 04475 -TLD- ORG 100B * * * THIS IS A DIAGNOSTIC PROGRAM DESIGNED TO VERIFY AND * TROUBLESHOOT THE SERIAL REMOTE MICROCIRCUIT INTERFACE * HP PART NO. 09610-60044. COMPLETE OPERATING INSTRUCTIONS * CAN BE FOUND IN THE APPROPRIATE MANUALS. * * * ABSOLUTE TAPE 09610-16001 * SOURCE TAPE 09610-18001 * * * * * * STARTING ADDRESS WITH CONFIGURATION IS 100(8) * RESTART ADDRESS WITHOUT CONFIGURATION IS 2000(8) * * * * WHEN STARTING AT 100 PUT SELECT CODE OF 12665 CARD IN * SWITCH REGISTER BITS 5-0 * * * * 15!14!13!12!11!10!9!8!7!6!5!4!3!2!1!0 * * USER CONFIGURATION (STARTING ADDRESS 100) * * BIT 5-0= SELECT CODE OF 12665 CARD * * HALT DISPLAYING 107000 - PUT IN INITIAL SWITCH SETTINGS * * HALT DISPLAYING 103000 - ALLOWS DUMP - PUSH RUN TO GO * * RUN TIME SWITCH SETTINGS - USED IF BIT 0 IS 0 * * BIT 15 = 1 - HALT DIAGNOSTIC AT END OF CURRENT TEST * BIT 14 = 1 - SUPRESS ERROR HALTS * BIT 13 = 1 - LOOP ON CURRENT TEST * BIT 12 = 1 - HALT AT END OF CURRENT PASS OF ALL TESTS * BIT 11 = 1 - RUN BASIC TEST * BIT 10 = 1 - RUN LOOP TEST * BIT 9 = 1 - RUN DEBUG TEST * BIT 8 = 1 - IF BIT 9 = 1 THEN GET DATA WORDS (ELSE IGNORE) * BIT 7 = 1 - IF BIT 9 = 1 THEN DON'T WAIT FOR RETURN WORD * BIT 6 = 1 - SUPRESS ERROR MESSAGES * BIT 5 = 1 - SUPRESS ALL MESSAGES * BIT 2 = 1 - TIMED MODE FOR TRANSMISSION TEST (IF 2-WORD MODE) * BIT 1 = 1 - TWO WORD MODE (0 = 1-WORD MODE) EXCEPT FOR BASIC TEST SKP * HALT CODES: * 1060XX - TRAP CELL HALT IN CELL XX * 103001 - INVALID USER SELECT CODE * 103007 - ATTEMPT TO ENTER DATA W/ALL MESSAGES SUPRESSED * 107000 - SET INITIAL SWITCH SETTING * 103000 - HALT TO ALLOW DUMP (END OF USER CONFIGURATION) * 102001 - NO RETURN WORD WHEN EXPECTED * 102002 - UNEXPECTED RECEPTION IN PROCESS * 102003 - PARITY ERROR DETECTED * 102004 - MISSED REu:þúCEPTION BUT NO PARITY INDICATION * 102005 - DATA COMPARE ERROR * 102006 - NO END OF FIRST WORD FLAG * 102007 - ERROR COUNT OVERFLOW * 102010 - TIMED RETURN FLAG UNEXPECTEDLY SET * 102011 - TIMED RETURN FLAG UNEXPECTEDLY CLEAR * 102012 - UNEXPECTED RETURN WORD RECEIVED * * 102076 - END OF CURRENT TEST * 102077 - END OF PASS SKP * * NOTE: ALL TESTS ASSUME THAT A DIAGNOSTIC HOOD CONNECTOR * IS INSTALLED ON THE MICROCIRCUIT CONNECTOR OF THE * REMOTE I/O BOARD. THIS CONNECTOR HAS EACH OF ITS OUTPUT * BITS STRAPPED TO ITS CORRESPONDING INPUT BITS PLUS THE DEVICE * COMMAND LINE STRAPPED TO THE FLAG IN LINE. (REFER TO * MANUAL FOR PIN NUMBERS) * * TO RUN THE FOLLOWING TESTS, SWITCH OPTIONS MUST BE ESTABLISHED * AT RUN TIME. TO AVOID ERRORS, SWITCH OPTIONS FOR A PARTICULAR * TEST SHOULD BE SET UP BEFORE ENABLING THAT TEST. SEE * DESCRIPTION OF SWITCH OPTIONS. * * *BASIC REMOTE I/O TEST- * * JUMPERS: * W0 - DON'T CARE - TESTS RUN FASTEST IN POSITION A * W1 - IN * W2 - SAME AS W3 (BOTH IN OR BOTH OUT) * W3 - SAME AS W2 (BOTH IN OR BOTH OUT) * W4 - IN * W5 - OUT * W6 - OUT IF W10 IN, IN IF W10 OUT * W7 - DON'T CARE * W8 - SAME PARITY AS 12665 (IN-EVEN OUT-ODD) * W9 - IN IF W10 IN, OUT IF W10 OUT * W10 - DON'T CARE * W11 - IN * * TEST SEQUENCE: * 1.OUTPUT A 0 WORD WITH ENCODE. RETURN WORD SHOULD MATCH * TRANSMITTED WORD (EXCEPT BIT 14 WHICH IS NOT CHECKED.) * 2 REPEAT STEP 1 WITH AN ALL 1'S WORD. * 3.REPEAT STEP 1 WITH BOTH ENCODE AND TIMED RETURN. CHECK * TIMED RETURN FLAG IN RETURN WORD (BIT 14). TIMED RETURN * FLAG SHOULD NOT BE SET. * 4.REPEAT STEP 3 USING ALL 1'S WORD. * 5.REPEAT STEP 1 WITH TIMED RETURN ONLY. CHECK TIMED RETURN * FLAG IN RETURN WORD (BIT 14). TIMED RETURN FLAG SHOULD * BE SET. * 6.REPEAT STEP 5 USING ALL 1'S WORD. * 7.REPEAT STEP 1 WITH NO ENCODE OR TIMED RETURN. N£¡þúO RETURN * WORD SHOULD BE RECEIVED. * 8.REPEAT STEP 7 USING ALL 1'S WORD. * * *TRANSMISSION LOOP TEST * * JUMPERS: * W0 - DON'T CARE - TESTS RUN FASTEST IN POSITION A * W1 - DON'T CARE * W2 - SAME AS W3 (BOTH IN OR BOTH OUT) * W3 - SAME AS W2 (BOTH IN OR BOTH OUT) * W4 - OUT * W5 - DON'T CARE IF W1 OUT. IF W1 IN THEN OUT TO CHECK * TIMED RETURN. * W6 - OUT IF W10 IN, IN IF W10 OUT * W7 - DON'T CARE * W8 - SAME PARITY AS 12665 (IN-EVEN OUT-ODD) * W9 - IN IF W10 IN, OUT IF W10 OUT * W10 - DON'T CARE * W11 - IN * * TEST SEQUENCE: * 1.A WORD IS TRANSMITTED TO THE REMOTE I/O BOARD WITH ENCODE * OR, OPTIONALLY IN 2-WORD MODE, A TIMED RETURN REQUEST. * 2.A RETURN WORD IS EXPECTED FROM THE REMOTE I/O CARD. * WHEN IT IS RECEIVED IT IS COMPARED TO THE WORD SENT AND * SHOULD BE EQUAL. * 3.THE LAST TRANSMITTED DATA WORD IS INCREMENTED BY 1. IF * NOT EQUAL TO 0 THEN RETURN TO STEP 1. THE DATA WORD WAS * INITIALLY 0 SO THIS RESULTS IN ALL 65536 BIT COMBINATIONS * BEING USED AS DATA WORDS. * 4.EACH SEQUENCE OF 65536 DATA WORDS IS A CYCLE. AT THE * END OF A CYCLE THE CYCLE NUMBER AND A DATA SUMMARY FOR * THAT CYCLE ARE PRINTED. * *TROUBLESHOOTING AID * * JUMPERS: * -NO SPECIFIC JUMPER CONFIGURATION IS REQUIRED. * JUMPERS HAVE THE FOLLOWING POSSIBLE POSITIONS: * W0 - A BIT TIME=1US * - B BIT TIME=2US * - C BIT TIME=4US * - D BIT TIME=8US * - E BIT TIME=16US * - F BIT TIME=32US * W1 - IN 2-WORD MODE (6940) * - OUT 1-WORD MODE (2313) * W2 - IN + TRUE OUT * - OUT GND TRUE OUT * W3 - IN + TRUE IN * - OUT GND TRUE IN * W4 - IOþúN BIT14=TIMED REQ. INDICATOR * - OUT BIT14=DEVICE BIT 14 * W5 - IN NO TIMED REQUEST * - OUT TIMED REQ. IF NO ENCODE AND TF BIT = 1 * W6 - IN SET REQ. FF ON + EDGE OF FLAG * - OUT SET REQ. FF ON - EDGE OF FLAG * W7 - IN ALWAYS CLEAR REQ. (CLF) * - OUT CLEAR REQ. DEPENDS ON CLF BAR * W8 - IN EVEN PARITY * - OUT ODD PARITY * W9 - IN RESET ENCODE ON + EDGE OF FLAG * - OUT RESET ENCODE ON - EDGE OF FLAG * W10 - IN + TRUE ENCODE * - OUT GND TRUE ENCODE * W11 - IN SYSTEM NORMALIZE DISABLE (6940) * - OUT SYSTEM NORMALIZE ENABLE (2313) * * * SWITCH OPTIONS: * A MORE DETAILED DESCRIPTION OF SWITCH OPTIONS FOR THIS SECTION * IS PRESENTED HERE: * SWITCH 1 - SHOULD BE ON IF THE CARD IS SET FOR 2-WORD MODE, * OFF IF SET FOR 1-WORD MODE * SWITCH 7 - IF ON WILL NOT WAIT FOR RETURN WORD FROM REMOTE * I/O CARD AFTER A TRANSMISSION. IF OFF WILL WAIT. * SWITCH 8 - WHEN SET ON REQUESTS SYSTEM ATTENTION. WILL BE * AUTOMATICALLY TURNED OFF WHEN REQUEST FOR * ATTENTION IS RECOGNIZED. SYSTEM RESPONSE WILL BE * TO PRINT CURRENT VALUES OF USER SPECIFIED * PARAMETERS AND WAIT FOR NEW VALUES TO BE ENTERED. * REQUEST FOR NEW PARAMETERS WILL BE OF THE FORM: * ZZZZ=XXXXXX > * * WHERE ZZZZ WILL BE "DATA","OPTS", OR "MASK" * CORRESPONDING TO A REQUEST FOR A NEW DATA WORD * A NEW OPTIONS WORD, OR A NEW MASK WORD. * WHERE XXXXXX WILL BE AN OCTAL NUMBER REPRESENTING * THE CURRENT VALUE OF THE SPECIFIED PARAMETER. * WHERE > IS A PRzqþúOMPT INDICATING THE SYSTEM IS * READY TO ACCEPT A NEW OCTAL NUMBER TO REPLACE * THE CURRENT VALUE. * ANY VALID OCTAL NUMBER MAY BE ENTERED. ENTRY * ERRORS WILL BE NOTED BY ? >. ONLY BITS 1,2, * AND 3 OF "OPTS" ARE SIGNIFICANT. ALL OTHERS * WILL BE MASKED BEFORE REPLACING CURRENT VALUE. * IF NO NUMBER IS ENTERED (ONLY CR-LF) THEN * CURRENT VALUE IS UNDISTURBED. * SINCE OPTIONS WORD IS NOT USED IN 1-WORD MODE, * IT WILL NOT BE ASKED FOR UNLESS SWITCH 1 IS 1. * * * *INSTRUCTIONS FOR CHECKING OPERATION OF SYSTEM NORMALIZE TRAP AND * OPTIONAL INHIBIT CLEAR FLAG * * JUMPERS: * W0 - DON'T CARE - TESTS RUN FASTEST IN POSITION A * W1 - OUT * W2 - SAME AS W3 (BOTH IN OR BOTH OUT) * W3 - SAME AS W2 (BOTH IN OR BOTH OUT) * W4 - IN * W5 - OUT * W6 - OUT IF W10 IN, IN IF W10 OUT * W7 - OUT * W8 - SAME PARITY AS 12665 (IN-EVEN OUT-ODD) * W9 - IN IF W10 IN, OUT IF W10 OUT * W10 - DON'T CARE * W11 - OUT * * 1. LOOP ON TROUBLESHOOTING AID TEST WITH SWITCH 1 OFF AND: * DATA = 140001 * MASK = 0 * 2. OBSERVE WITH OSCILLISCOPE SIGNAL ON TEST POINT 20. * SHOULD SEE 2 PULSES ABOUT 20 NS IN DURATION SEPARATED BY ABOUT * 4 US. THE PULSES WILL BE PLUS TRUE IF ENCODE IS * SET AS PLUS TRUE, GROUND TRUE IF ENCODE IS SET AS * GROUND TRUE. PRESENCE OF THE TWO PULSES VERFIES * OPERATION OF THE SYSTEM NORMALIZE TRAP. * * EXIT TROUBLESHOOTING LOOP, TURN ON SWITCH 1, INSTALL JUMPERS * W1 AND W11, RE-ENTER TROUBLESHOOTING LOOP. * * SET OPTS=2 * 3. OBSERVE THE SIGNAL ON TEST POINT 3. SHOULD BE A GROUND * TRUE PULSE WHOSE DURATION IS ONE BIT TIME (AS DETERMINED * BY BIT TIME JUMPER) * 4. SET OPTS = 12. AGAIN OBSERVE SIGNAL ON TEST POINT 3. * SIGNAL SHOULD ALWAYS REMAIN HIGH. * 5. INSTALL W7. SHOULD NOW AGAIN BE A GROUNDxTþú TRUE * PULSE OBSERVABLE AT TEST POINT 3. SKP SUP ORG 100B A EQU 0 B EQU 1 SC EQU 0 JMP BEGIN PTRDR EQU 101B FLIST EQU 102B LIST EQU 103B KYBRD EQU 104B ORG 105B FWA ABS FWAVL LWA EQU 106B ISWR EQU 120B TIMER EQU 121B SWRCK EQU 122B I2ASC EQU 123B O2ASC EQU 124B ASC2N EQU 125B FRMTR EQU 127B SKP ORG 130B BEGIN EQU * CLC 0,C TURN OF I/O SYSTEM GETSC EQU * LIA 1 READ SELECT AND OPTIONS FROM SWR LDB A SAVE IN B AND B77 MASK SELECT CODE STA USC SAVE USER SELECT CODE ADA DM7 IS IT LESS THAN 10(BASE 8) SSA,RSS JMP SCOK SELECT CODE >= 10(8) BADSC HLT 1,C TELL OPERATOR TO TRY AGAIN JMP GETSC GET NEXT TRY SCOK EQU * LDA TCHLT GET BASIC TRAP CELL HALT LDB D2 INITIALIZE STORE POINTER LDTCS EQU * STA B,I STORE TRAP CELL HALT INA MOVE INB TO NEXT CELL CPB B100 DONE? RSS YES - SKIP JMP LDTCS NO - DO NEXT CELL LDB IOADR FETCH ADDRESS OF I/O TABLE STB PNTR SET UP POINTER SLOOP EQU * I/O CONFIGURATION LOOP (USER CARD - 12771) LDB PNTR,I GET I/O INSTRUCTION ADDR SZB,RSS IF 0 THEN JMP SDONE DONE LDA B,I GET I/O INSTRUCTION AND SCMSK MASK OUT S.C. IOR USC PUT IN USER SELECT CODE STA B,I PUT INSTRUCTION BACK ISZ PNTR MOVE ON TO NEXT JMP SLOOP DO NEXT SDONE EQU * CLA OTA 1 CLEAR SWR OCT 107000 HALT WAITING FOR INITIAL SWR LIA 1 FETCH SWR STA ISWR SET AS INITIAL FOR DUMP CLA OTA 1 CLEAR SWR HLT 0,C HALT TO ALLOW FOR DUMP JMP *+1,I ASTRT ABS 2000B SKP OUTWT NOP STA CDATA SAVE DATA AS CURRENT DATA LDB MODE :hþúCHECK FOR 2 WORD OR 1 WORD MODE SSB JMP TWORD 2-WORD MODE OWORD EQU * 1-WORD MODE SC001 CLC SC,C PUT 12771 IN REC. MODE SC002 LIB SC,C INITIALIZE CARD SC003 LIB SC ..... SC004 OTA SC OUTPUT DATA JSB WAIT2 WAIT 2 MS LDB WAIT? SEE IF WAITING FOR FLAG SSB,RSS (-1=WAITING) JMP OUTWT,I NOT WAITING FOR FLAG SO RETURN SC005 SFS SC CHECK FOR RETURN WORD JMP NRTRN NO RETURN WORD - ERROR JSB CKRTN CHECK RETURN WORD FOR PARITY,ETC JMP OUTWT,I RETURN NRTRN EQU * JSB NRTN DO ERROR THING JMP OUTWT,I RETURN TWORD EQU * LDA CDATA PICK UP CURRENT DATA CLB SET DATA BIT 15 IN WORD 1 SSA ..... INB ..... IOR SIGN TURN ON BIT 15 IN WORD 2 STA WORD2 SAVE TO SEND LATER LDA B FORM WORD 1 IOR OPTNS PUT IN OPTION BITS SC006 CLC SC,C PUT 12771 IN REC. MODE SC007 LIB SC,C INITIALIZE CARD (CLEARS FLAG) SC008 LIB SC ..... SC009 CLC SC PUT 12771 IN XMIT MODE SC010 SFS SC WAIT FOR FLAG JMP *-1 SC011 OTA SC OUTPUT WORD 1 JSB WAIT2 WAIT 2 MS SC012 SFS SC CHECK FOR END OF XMIT FLAG JMP NOFST SOMETHING HAPPENED TO FIRST WORD LDA WORD2 GET SECOND WORD JMP OWORD OUTPUT IT LIKE 1 WORD NOFST EQU * JSB NFRST DO ERROR THING JMP OUTWT,I RETURN SKP CKRTN NOP SC013 LIA SC,C GET STATUS SC014 LIB SC GET DATA STB RDATA SAVE READ DATA STA STATS SAVE STATUS AND D4 CHECK RECEPTION IN PROCESS BIT SZA BETTER BE ZERO JSB UXRIP UNEXPECTED RECEPTION IN PROCESS LDA STATS FETCH SAVED STATUS SSA CHECK FOR PARITY ERROR JSB PRITY DO ERROR THING LDA STATS FETCH SAVED STATUS RAR,SLA CHECK MISSED RECEPTIè3þúON BIT JSB MISSD DO ERROR THING LDA RDATA GET READ DATA XOR CDATA COMPARE WITH SENT DATA AND DCMP? UNDER MASK SZA BETTER BE EQUAL JSB DCMP DO ERROR THING JMP CKRTN,I RETURN SPC 5 WAIT2 NOP LDA D2 SET TIMER FOR 2 MS JSB TIMER,I CALL TIMER JMP WAIT2,I RETURN SPC 5 ERROR NOP ERROR PROCESSOR LDB A SAVE (A) IN (B) (ERROR NUMBER) ADB EMT GET ERROR MESSAGE POINTER STB TEMP SAVE ERROR MESSAGE POINTER LDB A GET ERROR NUMBER ADB EHLT FORM ERROR HALT STB EHALT PUT AWAY HALT STA MSG# LDB BIT05 GET BIT 5 MASK JSB SWRCK,I CHECK BIT 5 JMP NOMSG IF SET SUPRESS MESSAGE LDB BIT06 GET BIT 6 MASK JSB SWRCK,I CHECK BIT 6 JMP NOMSG IF SET SUPPRESS MESSAGE MSG EQU * LDA PPNTR GET PARAMETER AREA ADDRESS STA PNTR SAVE AS PARAMETER POINTER CLA,CLE SET START OF FORMATTED OUTPUT LDB TEMP GET ERROR MESSAGE POINTER LDB B,I GET FORMAT ADDRESS JSB FRMTR,I CALL FORMATTER SZA,RSS SEE IF NEED A PARAMETER JMP NOPRM NO PARAMS NEEDED PRMOT EQU * NEED NUMBER TO OUTPUT CCA SET OCTAL OUT MODE LDB PNTR,I GET NUMBER TO OUTPUT ISZ PNTR BUMP POINTER JSB FRMTR,I CALL FORMATTER SZA SEE IF NEED ANOTHER PARAMETER JMP PRMOT GO OUTPUT NEXT PARAM NOPRM EQU * OUTPUT LAST SENT AND RCV'D WORDS LDA D7 CPA MSG# ERROR 7? JMP NOMSG YES - SKIP SENT-RCVD PRINT CLA,CLE SET START OF FORMATTED OUTPUT LDB AERR GET FORMAT ADDRESS JSB FRMTR,I CALL FORMATTER CCA SET OCTAL OUT MODE LDB CDATA GET LAST WORD SENT JSB FRMTR,I CALL FORMATTER CCA SET OCTAL OUT MODE LD…þúB RDATA GET LAST RCV'D WORD JSB FRMTR,I CALL FORMATTER NOMSG EQU * LDB BIT14 GET BIT 14 MASK JSB SWRCK,I CHECK SWR RSS SUPRESS HALT EHALT HLT 0 ERROR HALT GOES HERE JMP ERROR,I RETURN SPC 5 NRTN NOP NO RETURN WORD WHEN EXPECTED LDA ANFLG GET ERROR COUNT ADDRESS JSB INC INCREMENT ERROR COUNT CLA,INA GET ERROR NUMBER JSB ERROR DO ERROR PROCESSING JMP NRTN,I RETURN SPC 5 UXRIP NOP UNEXPECTED RECEPTION IN PROCESS LDA D2 GET ERROR NUMBER JSB ERROR DO ERROR PROCESSING JMP UXRIP,I RETURN SPC 5 PRITY NOP PARITY ERROR LDA APRTY GET ERROR COUNT ADDRESS JSB INC INCREMENT ERROR COUNT LDA D3 GET ERROR NUMBER JSB ERROR DO ERROR PROCESSING JMP PRITY,I RETURN SPC 5 MISSD NOP MISSED RECEPTION BIT SET LDA D4 GET ERROR NUMBER JSB ERROR DO ERROR PROCESSING JMP MISSD,I RETURN SPC 5 DCMP NOP SENT-RCVD COMPARE ERROR LDA ADTAC GET ERROR COUNT ADDRESS JSB INC INCREMENT ERROR COUNT LDA D5 GET ERROR NUMBER JSB ERROR DO ERROR PROCESSING JMP DCMP,I RETURN SPC 5 NFRST NOP FIRST WORD FLAG NOT RETURNED LDA D6 GET ERROR NUMBER JSB ERROR DO ERROR PROCESSING JMP NFRST,I RETURN SPC 5 EOT NOP END OF TEST HALT CHECKER LDB BIT15 GET BIT 15 MASK JSB SWRCK,I CHECK SWR HLT 76B END OF TEST HALT (ON) LDB BIT13 GET BIT 13 MASK JSB SWRCK,I CHECK SWR JMP EOT,I REPEAT LAST TEST EXIT (ON) ISZ EOT BUMP RETURN ADDR (OFF) JMP EOT,I CONTINUE EXIT SPC 5 INC NOP ERROR COUNT INCREMENTER (CHECKS FOR OVERFLOW) LDB A,I GET ERROR COUNT (A=ADDR) ‰Üþú INB INCREMENT ERROR COUNT STB A,I SAVE ERROR COUNT SSB,RSS CHECK FOR OVERFLOW JMP INC,I RETURN FOR NO OVERFLOW CLB IF OVERFLOW - SET TO 0 STB A,I SAVE IT CLB STB KOUNT INITIALIZE COUNTER LOOK EQU * LDB OVTBL GET TABLE ORIGIN ISZ KOUNT UPDATE COUNT ADB KOUNT GET ADDR POINTER CPA B,I COMPARE ADDRESSES RSS EQUAL SO FOUND JMP LOOK LOOK AT NEXT ENTRY FOR MATCH LDB OMSGS GET MESSAGE TABLE ORIGIN ADB KOUNT GET POINTER LDB B,I GET ADDRESS OF CHARS LDA ANAME GET DESTINATION ADDR STA DEST SAVE LDA DM4 MOVE 4 WORDS STA KOUNT SLP EQU * LDA B,I GET 2 CHARS INB INCREMENT POINTER STA DEST,I STORE CHARS ISZ DEST UPDATE STORE POINTER ISZ KOUNT DONE? JMP SLP NO-DO NEXT 2 CHARS LDA D7 GET ERROR NUMBER JSB ERROR DO ERROR THING JMP INC,I RETURN SPC 5 TFSET NOP TIMED RETURN FLAG SET UNEXPECTLY LDA D8 GET ERROR NUMBER JSB ERROR DO ERROR PROCESSING JMP TFSET,I RETURN SPC 5 TFCLR NOP TIMED RETURN FLAG CLEAR (EXP. SET) LDA D9 GET ERROR NUMBER JSB ERROR DO ERROR PROCESSING JMP TFCLR,I RETURN SPC 5 UXRTN NOP RETURN WORD WHEN NONE EXPECTED LDA D10 GET ERROR NUMBER JSB ERROR DO ERROR PROCESSING JMP UXRTN,I RETURN SPC 5 TFCHK NOP CHECK TIMED RETURN BIT (BIT 14) LDA RDATA GET RCVD WORD AND BIT14 MASK BIT 14 SZA,RSS CHECK BIT ISZ TFCHK RETURN (P+2) FOR CLEAR JMP TFCHK,I RETURN (P+1)FOR SET SPC 5 ZERO NOP ERROR COUNT ZEROER CLA STA #NFLG ZERO NO RETURN WORD ERROR COUNT STA #DTAC ZE¾ñB@ ASCII "7" ? SSA,RSS ..... JMP REPMT YES-ERROR - TRY AGAIN LDA CHAR? UP TO CHARACTER 6? CPA D6 ..... JMP SIXDS YES-1ST DIGIT CAN ONLY BE 1 OR 0 ISZ CHAR? BUMP CHARACTER NUMBER ISZ COUNT DONE? JMP CKCHR NO-CHECK NEXT CHARACTER CONVT EQU * CONVERT TO NUMBER CCA,CLE SET OCTAL CONVERT MODE LDB ABUFR GET BUFFER ADDRESS=1þú JSB ASC2N,I CALL CONVERSION ROUTINE JMP GTVAL,I RETURN * REPMT EQU * ERROR RETRY CLA,CLE SET START OF FORMATTED OUTPUT LDB A?? GET PROMPT ADDRESS JSB FRMTR,I CALL FORMATTER JMP RETRY GET RETRY VALUE * SIXDS EQU * EXACTLY 6 DIGITS CLA,INA SET TO FETCH LDB ABUFR CHARACTER 1 JSB CFTCH ONLY ALLOWED 1 OR 0 ADA BM62 > ASCII "1" ? SSA,RSS ..... JMP REPMT YES-ERROR - GET RETRY JMP CONVT OK - GO CONVERT * DEFLT EQU * DEFAULT TO LAST VALUE LDA PARAM,I FETCH LAST VALUE JMP GTVAL,I RETURN SPC 5 THALT EQU * HALT ON ATTEMPT TO INPUT HLT 7,C PARAMETERS WILL ALL MESSAGES LIA 1 SUPRESSED (BIT 05 SET) AND MASK CLEAR SWR EXCEPT BIT 05 OTA 1 AND RESTART IF JMP ASTRT,I RUN IS PUSHED SKP * * THIS ROUTINE FETCHES A SPECIFIED CHARACTER AND RETURNS * IT IN (A). ENTER WITH: * * (A)=CHARACTER IN BUFFER * (B)=BUFFER ADDRESS * * NOTE: (A)=(B)=0 DEFAULTS TO NEXT CHARACTER * CFTCH NOP SZA DEFAULT CHARACTER NUMBER? STA CHRNO NO-SAVE NEW CHARACTER NUMBER SZB DEFAULT BUFFER ADDRESS? STB BUFFR NO-SAVE BUFFER ADDRESS CCA SUBTRACT 1 FROM CHARACTER NUMBER ADA CHRNO TO REFERENCE IT TO 0 LDB BUFFR GET BUFFER ADDRESS CLE,ELB SHIFT ADB A ADD CHARACTER NUMBER CLE,ERB SHIFT LDA B,I FETCH WORD SEZ,RSS CHECK HI-LO ALF,ALF SHIFT ON HI AND LOWER MASK ISZ CHRNO MOVE TO NEXT CHARACTER JMP CFTCH,I RETURN SPC 5 * * THIS ROUTINE STORES A CHARACTER IN A SPECIFIED LOCATION. * ENTER WITH: * (A)=CHARACTER BUFFER (>=1) IN BUFFER * (B)=BUFFER ADDRESS * "SCHAR"=CHARACTER TO BE STORED * STCHR NOP óFþúCHARACTER STORE CLE,ELB SHIFT BUFFER ADDRESS ADA DM1 SUBTRACT 1 FROM CHARACTER NUMBER ADB A ADD CHARACTER NUMBER TO BUFFER ADDRESS CLE,ERB SHIFT (E)=HI-LO FLAG - 0=HI LDA B,I FETCH WORD SEZ,RSS CHECK HI-LO ALF,ALF SHIFT ON HI AND UPPER MASK OUT CHARACTER IOR SCHAR OR IN NEW CHARACTER SEZ,RSS CHECK HI-LO ALF,ALF SHIFT BACK ON HI STA B,I STORE WORD JMP STCHR,I RETURN SCHAR OCT 40 SKP * CONSTANTS D1 EQU * BIT00 OCT 1 LTOPT EQU * D2 EQU * BIT01 OCT 2 D3 DEC 3 TTOPT EQU * D4 EQU * BIT02 OCT 4 D5 DEC 5 D6 DEC 6 D7 DEC 7 D8 EQU * BIT03 OCT 10 D9 DEC 9 D10 DEC 10 D12 DEC 12 B16 OCT 16 BIT04 OCT 20 MASK EQU * BIT05 OCT 40 B77 OCT 77 B100 EQU * BIT06 OCT 100 BIT07 OCT 200 LOWER OCT 377 BIT08 OCT 400 BIT09 OCT 1000 BIT10 OCT 2000 BIT11 OCT 4000 BIT12 OCT 10000 BIT13 OCT 20000 BIT14 OCT 40000 MAX OCT 77777 SIGN EQU * BIT15 OCT 100000 EHLT OCT 102000 TCHLT OCT 106002 SYSNM OCT 140001 UPPER OCT 177400 SCMSK OCT 177700 BM62 OCT -62 BM60 OCT -60 DM17 DEC -17 DM8 DEC -8 DM7 DEC -7 DM6 DEC -6 DM4 DEC -4 DM3 DEC -3 DM2 DEC -2 DM1 DEC -1 ADDTA DEF DDATA ADOPT DEF DOPTS ADMSK DEF DMASK AERR DEF ERR OVTBL DEF * ANFLG DEF #NFLG ADTAC DEF #DTAC APRTY DEF #PRTY ABUFR DEF BUFR EOCM1 DEF ECM1 STMSG DEF STM OMSGS DEF * DEF NOF DEF COM DEF PAR PPNTR DEF P1 A?? DEF ?? ?? ASC 2,? >_ : PRMT1 DEF PMT1 PRMT2 DEF PMT2 PRMT3 DEF PMT3 ANAME DEF EM7+3 NOF ASC 4,NO RTRN COM ASC 4,COMPARE PAR ASC 4,PARITY T1MSG DEF IM1 T2MSG DEF IM2 T3MSG DEF IM3 AWM1 DEF WM1 AABRT DEF ABRTM SKP * STORAGE KOUNT NOP DEST NOP SMODE NOP #NFLG NOP #DTAC NOP #PRTY NOP CDATA NOP CYCLE NOP DCMP? DEC -1 TIMED NOP DMASK NOP PARAÞþúM NOP MODE NOP OPTNS NOP PNTR NOP RDATA NOP STATS NOP TDATA NOP TEMP NOP USC NOP WORD2 NOP WAIT? NOP CNTR NOP COUNT NOP CHRNO NOP BUFFR NOP TLOG NOP BUFR BSS 4 P1 NOP P2 NOP P3 NOP P4 NOP PRMPT NOP CHAR? NOP PNTS NOP DDATA NOP DOPTS NOP CNTR1 NOP MSG# NOP SKP IOADR DEF *+1 DEF SC001 DEF SC002 DEF SC003 DEF SC004 DEF SC005 DEF SC006 DEF SC007 DEF SC008 DEF SC009 DEF SC010 DEF SC011 DEF SC012 DEF SC013 DEF SC014 DEF SC015 DEF SC016 NOP EMT DEF * DEF EM1 DEF EM2 DEF EM3 DEF EM4 DEF EM5 DEF EM6 DEF EM7 DEF EM8 DEF EM9 DEF EM10 SKP ORG 2000B START EQU * CLC 0,C MAKE SURE I/O SYSTEM IS OFF LDA USC GET USER SELECT CODE SZA,RSS SEE IF CONFIGURED (#0) JMP BADSC THIS WILL PRODUCE ERROR LDB BIT05 GET BIT 5 MASK JSB SWRCK,I CHECK BIT 5 JMP AGAIN IF SET THEN SUPRESS MESSAGE CLA,CLE SET START OF FORMATTED OUTPUT LDB STMSG GET BUFFER ADDRESS JSB FRMTR,I CALL FORMATTER AGAIN EQU * LDB BIT11 GET BIT 11 MASK JSB SWRCK,I CHECK SWR JSB T1 RUN BASIC TEST IF ON LDB BIT10 GET BIT 10 MASK JSB SWRCK,I CHECK SWR JSB T2 RUN LOOP TEST IF ON LDB BIT09 GET BIT 09 MASK JSB SWRCK,I CHECK SWR JSB T3 RUN DEBUG SECTION IF ON LDB BIT12 GET BIT 12 MASK JSB SWRCK,I CHECK SWR HLT 77B HALT IF ON JMP AGAIN DO ANOTHER PASS WITHOUT START MESSAGE SKP T2 NOP TRANSMISSION LOOP TEST ENTRY EQU * LDB BIT05 GET BIT 5 MASK JSB SWRCK,I CHECK BIT 5 JMP CLA IF SET THEN SUPRESS MESSAGE CLA,CLE SET ST‡FþúART OF FORMATTED OUTPUT LDB T2MSG GET FORMAT ADDRESS (HEADER MESS.) JSB FRMTR,I CALL FORMATTER CLA EQU * CLA INITIALIZE STA CYCLE CYCLE COUNTER CCA INITIALIZE STA DCMP? COMPARE MASK LOOP EQU * LDA CYCLE GET CYCLE COUNT CPA MAX IF DONE 32767 CYCLES JMP FINIS THEN QUIT INA INCREMENT STA CYCLE AND SAVE JSB ZERO ZERO ERROR COUNTS CLA STA TDATA START LOOP TEST DATA AT 000000 LLOOP EQU * LDB BIT10 GET BIT 10 MASK JSB SWRCK,I CHECK SWR BIT 10 JMP NABTL STILL ON SO CONTINUE TEST JSB ABORT PRINT MESSAGE JMP FINIS AND ABORT TEST NABTL EQU * JSB MSET SET MODE (1- OR 2-WORD) LDB BIT02 GET BIT 02 MASK JSB SWRCK,I CHECK SWR RSS ON - TIMED RETURN (-1) CLA,RSS OFF - FLAG RETURN (0) CCA STA TIMED SAVE INDICATOR LDA ISWR GET LAST SWR READING AND D6 MASK ADA DM4 >3? SSA ..... JMP NOT>3 NO - OK CPA D2 >3 SHOULD BE =6 JMP NOT>3 ITS OK LDB BIT05 GET BIT 5 MASK JSB SWRCK,I CHECK BIT 5 JMP NOT>3 IF SET THEN SUPRESS MESSAGE LDB BIT06 GET BIT 06 MASK JSB SWRCK,I CHECK SWR JMP NOT>3 IF ON THEN DON'T PRINT MESSAGE CLA,CLE SET START OF FORMATTED OUTPUT LDB AWM1 GET FORMAT ADDRESS JSB FRMTR,I CALL FORMATTER NOT>3 EQU * LDA LTOPT OPTIONS - ENCODE ONLY LDB TIMED CHECK TIMED SSB RETURN FLAG LDA TTOPT OPTIONS - TIMED RETURN STA OPTNS SAVE OPTIONS-USED FOR 2-WORD MODE CCA SET TO STA WAIT? WAIT FOR RETURN WORD LDA TDATA FETCH CURRENT DATA WORD JSB OUTWT OUTPUT AND WAIT FOR REPLY LDA TDATA FER\þúTCH CURRENT DATA FOR UPDATE INA,SZA,RSS UPDATE - IF 0 THEN THRU JMP OUTLP SO EXIT LOOP STA TDATA SAVE UPDATED DATA JMP LLOOP GO DO NEXT DATA WORD OUTLP EQU * EOC EQU * END OF CYCLE MESSAGE PRINT LDB BIT05 GET BIT 5 MASK JSB SWRCK,I CHECK BIT 5 JMP JSEOT IF SET THEN SUPRESS MESSAGES CLA,CLE SET START OF FORMATTED OUTPUT LDB EOCM1 GET MESSAGE ADDRESS JSB FRMTR,I CALL FORMATTER CLA,INA SET INTEGER OUT MODE LDB CYCLE GET CYCLE NUMBER JSB FRMTR,I CALL FORMATTER CLA,INA SET INTEGER OUT MODE LDB #NFLG GET NUMBER OF RETURN WORD ERRORS JSB FRMTR,I CALL FORMATTER CLA,INA SET INTEGER OUT MODE LDB #DTAC GET NUMBER OF DATA COMPARE ERRORS JSB FRMTR,I CALL FORMATTER CLA,INA SET INTEGER OUT MODE LDB #PRTY GET NUMBER OF PARITY ERRORS JSB FRMTR,I CALL FORMATTER JSEOT EQU * JSB EOT GO TO END OF TEST PROCESSOR JMP LOOP REPEAT THIS TEST (ON) SPC 2 FINIS EQU * JMP T2,I SKP T1 NOP BASIC REMOTE I O TEST LDB BIT05 GET BIT 5 MASK JSB SWRCK,I CHECK BIT 5 JMP BASIC IF SET THEN SUPRESS MESSAGE CLA,CLE SET START OF FORMATTED OUTPUT LDB T1MSG GET FORMAT ADDRESS (HEADER MESS) JSB FRMTR,I CALL FORMATTER BASIC EQU * LDB BIT11 GET BIT 11 MASK JSB SWRCK,I CHECK SWR BIT 11 JMP NABBT STILL ON SO CONTINUE TEST JSB ABORT PRINT MESSAGE JMP T1,I AND ABORT TEST NABBT EQU * JSB ZERO ZERO ERROR COUNTS LDA MODE GET MODE STA SMODE SAVE MODE CCA SET MODE STA MODE TO 2-WORD LDA BIT14 SET COMPARE CMA MASK FOR ALL STA DCMP? BUT BIT 14 LDA D2 SET OPTIONS STA OPTNS TO ENþúCODE ONLY CCA SET WAIT STA WAIT? FOR RETURN WORD CLA JSB OUTWT OUTPUT WORD CCA JSB OUTWT OUTPUT WORD LDA D6 SET OPTIONS STA OPTNS TO ENCODE AND TIMED CLA JSB OUTWT OUTPUT WORD JSB TFCHK CHECK TIMED RETURN FLAG (EXPECT 0) JSB TFSET TIMED RETURN ERROR CCA JSB OUTWT OUTPUT WORD JSB TFCHK CHECK TIMED RETURN FLAG (EXPECT 0) JSB TFSET TIMED RETURN ERROR LDA D4 SET OPTIONS STA OPTNS TO TIMED ONLY CLA JSB OUTWT OUTPUT WORD JSB TFCHK CHECK TIMED RETURN FLAG (EXPECT 1) RSS JSB TFCLR TIMED RETURN ERROR CCA JSB OUTWT OUTPUT WORD JSB TFCHK CHECK TIMED RETURN FLAG (EXPECT 1) RSS JSB TFCLR TIMED RETURN ERROR CLA CLEAR WAIT STA WAIT? FOR REPLY STA OPTNS SET OPTIONS - NO ENCODE OR TIMED JSB OUTWT OUTPUT WORD SC015 SFC SC CHECK FOR RETURN WORD (EXPECT NONE) JSB UXRTN UNEXPECTED RETURN WORD CCA JSB OUTWT OUTPUT WORD SC016 SFC SC CHECK FOR RETURN WORD (EXPECT NONE) JSB UXRTN UNEXPECTED RETURN WORD LDA SMODE RESTORE STA MODE ORIGINAL MODE JSB EOT GO TO END OF TEST PROCESSOR JMP BASIC REPEAT THIS TEST (ON) JMP T1,I RETURN SKP T3 NOP DEBUGGING TEST SECTION LDB BIT05 GET BIT 5 MASK JSB SWRCK,I CHECK BIT 5 JMP CCA IF SET THEN SUPRESS MESSAGE CLA,CLE SET START OF FORMATTED OUTPUT LDB T3MSG GET MESSAGE ADDR (HEADER MESS) JSB FRMTR,I CALL FORMATTER CCA EQU * CCA INITIALIZE MASK STA DMASK TO ALL BITS DEBUG EQU * LDB BIT09 GET BIT 09 MASK JSB SWRCK,I CHECK SWR BIT 09 JMP NABTA STILL ON SO CONTINUE TEST ©¸þú JSB ABORT PRINT MESSAGE JMP T3,I AND ABORT TEST NABTA EQU * JSB MSET SET MODE (1- OR 2-WORD) JSB ZERO ZERO ERROR COUNTS LDB BIT08 GET BIT 08 MASK JSB SWRCK,I CHECK SWR JMP GDATA IF 1 THEN GET NEW DATA GRTRN EQU * RETURN POINT FROM DATA FETCH LDB BIT07 GET BIT 07 MASK JSB SWRCK,I CHECK SWR RSS IF 1 THEN DON'T WAIT FOR RETURN WORD CCA,RSS IF 0 THEN WAIT FOR RETURN WORD CLA STA WAIT? SAVE WAIT FLAG LDA DMASK GET USER DATA COMPARE MASK STA DCMP? AND SAVE IT LDA DOPTS GET USER OPTIONS STA OPTNS AND SAVE THEM LDA DDATA GET USER SPECIFIED DATA JSB OUTWT AND OUTPUT WORD JSB EOT GO TO END OF TEST PROCESSOR JMP DEBUG REPEAT THIS TEST (1) JMP T3,I RETURN GDATA EQU * USER INPUTS FETCH LDB BIT08 TURN CMB OFF LIA 1 BIT 8 AND B IN OTA 1 INTERNAL LDA BIT08 AND CMA EXTERNAL AND ISWR SWR'S STA ISWR ..... LDA PRMT1 GET PROMPT ADDRES FOR USER DATA STA PRMPT SAVE LDA ADDTA GET STORE ADDRESS OF DATA JSB GTVAL GET VALUE STA DDATA SAVE VALUE LDA PRMT2 GET PROMPT ADDRESS FOR USER OPTIONS STA PRMPT SAVE LDA ADOPT GET STORE ADDRESS OF USER OPTIONS LDB MODE GET MODE FOR 2-WORD CHECK SSB,RSS 2-WORD MODE? JMP FMASK NO - SKIP OPTION FETCH JSB GTVAL GET USER OPTIONS AND B16 MASK STA DOPTS SAVE USER OPTIONS FMASK EQU * LDA PRMT3 GET PROMPT ADDRESS FOR USER MASK STA PRMPT SAVE LDA ADMSK GET STORE ADDRESS FOR USER MASK JSB GTVAL GET VALUE STA DMASK SAVE USER MASK JMP GRTRN g©640RETURN SKP WM1 ASC 26,.W01. WARNING-REQUEST FOR TIMED RTN IN 1-WORD MODE/ EM1 ASC 20,.E01. EXPECTED RETURN WORD - NONE REC'D/ EM2 ASC 24,.E02. UNEXPECTED RECEPTION IN PROCESS DETECTED/ EM3 ASC 14,.E03. PARITY ERROR DETECTED/ EM4 ASC 22,.E04. MISSED RECEPTION BUT NO PARITY ERROR/ EM5 ASC 13,.E05. DATA COMPARE ERROR/ EM6 ASC 19,.E06. WORD 1 OF 2 FAILED TO TRANSMIT/ EM7 ASC 18,.E07. ERROR COUNT OVERFLOW/ EM8 ASC 15,.E10. TIMED RETURN FLAG SET/ EM9 ASC 15,.E11. TIMED RETURN FLAG CLEAR/ EM10 ASC 15,.E12. NO RETURN WORD EXPECTED/ ECM1 ASC 26,.I75. CYCLE # * NO RTRN: # * COMPARE: # * PARITY: #/ STM ASC 19,.I00. REMOTE MICROCIRCUIT DIAGNOSTIC/ IM1 ASC 14,.I01. BASIC REMOTE I\O TEST/ IM2 ASC 15,.I02. TRANSMISSION LOOP TEST/ IM3 ASC 13,.I03. TROUBLESHOOTING AID/ ERR ASC 20, LAST SENT = # ** LAST REC'D = # / PMT1 ASC 5, DATA=# >_: PMT2 ASC 5, OPTS=# >_: PMT3 ASC 5, MASK=# >_: ABRTM ASC 7,TEST ABORTED/ FWAVL EQU * END à±6ÿÿ ÿýF` ÿ09610-80019 B S 0122 EVENT SENSE HANDLER              H0101 ·þúASMB¬Ò¬Ì¬Ã¬B       HÅD ÅVÅNÔ SÅNSÅ ÉNÔÅÒÒUPÔ HANDÌÅÒ ÆÏÒ 69´0   A-096±0-600±9-± ª  ª AÌAÒM - ÅVÅNÔ SÅNSÅ ÉNÔÅÒÒUPÔ HANDÌÅÒ ÆÏÒ HP69´0A ª  ª SÏUÒÃÅ ÔAPÅ - 096±0-¸00±9  ÒÅV. B ª ÒÅÌÏÃ. ÔAPÅ - 096±0-600±9  ÒÅV. B ª  ª AUÔHÏÒ - Ô.A. SAPÏNAS ª  ª VÅÒSÉÏN NÏVÅMBÅÒ ±9·´--Ò.PASSMÏÒÅ ª  ª  ª AÌAÒM ÉS SÃHÅDUÌÅD BY ÔHÅ HP69´0A ÒÔÅ DÒÉVÅÒ DVÒ6± ×HÅN AN ª ÅVÅNÔ SÅNSÅ ÉNÔÅÒÒUPÔ ÏÃÃUÒS.  ÔHÅ ÆÉÒSÔ Ô×Ï PAÒAMÅÔÅÒS PASSÅD ª ÔÏ AÌAÒM BY ÔHÅ DÒÉVÅÒ ÃÏNÔAÉN ÔHÅ SÌÏÔ NUMBÅÒ AND ÃÏNÔÅNÔS ÏÆ ª ÔHÅ ÉNÔÅÒÒUPÔÉNG ÃAÒD.  AÌAÒM ÔHÅN DÅÔÅÒMÉNÅS ÉÆ ANY ÏÆ ÔHÅ BÉÔ ª ÃHANGÅS AÒÅ ÃÏNNÅÃÔÅD ÔÏ PÒÏGÒAMS.  ÉÆ SϬ ÔHÅ ÃÏÒÒÅSPÏNDÉNG ª PÒÏGÒAM ÉS SÃHÅDUÌÅD.  ÉÆ AN ÅÒÒÏÒ ÏÃÃUÒS AS A ÒÅSUÌÔ ÏÆ SÃHÅDUÌÉNG ª ÔHÅ ÅÒÒÏÒ ÉS PÒÉNÔÅD AS "AÌAÒM ÅÒÒ ØØNN"¬ ×HÅÒÅ ØØ ÉS ÔHÅ ÒÔÅ ÅÒÒÏÒ ª ÔYPÅ AND NN ÉS ÔHÅ NUMBÅÒ. ª        NAM AÌAÒM¬±¬²       ÅØÔ ÅØÅì$ÌÉBج$ÌÉBÒ¬£ÅVNÔ¬£69´0       SUP       SPà± ÔABÌÅ NÏP PÏÌBÆ ÏÃÔ ±·0²´0    ÔHÅSÅ 6 ×ÏÒDS ÆÏÒM .±    ÏÃÔ ±          ÔHÅ PÏÌÅ ÔÏ SÌÏÔA NÏP             ÆÉÒSÔ HÉÔ BUÆÆÅÒ.       DÅà-±           ÔHÉS BUÆÆÅÒ ÃAUSÅS ÔHÅ       NÏP               ÉNÔÅÒÒUPÔÉNG ÃAÒD ÔÏ BÅ DAÔA  NÏP                ÒÅAD AND ÅNABÌÅD. SÌÏÔ  NÏP       SPà± A     ÅÑU 0 B     ÅÑU ±       SPಠAÌAÒM DÌD B¬É       ÌÏAD SÌÏÔ ¦ ÉNPUÔ ×ÏÒD       SÔB DAÔA      SAVÅ ÉNPUÔ       SÔA SÌÏÔ       AND SÌÏÔ       ASÌ ±²        MÏVÅ SÌÏÔ ÔÏ UPPÅÒ ´ BÉÔS       SÔA SÌÏÔA       AND SAVÅ       ÌDB £69´0     ÌÏAD ÌÏGÉÃAÌ UNÉÔ       ÌDA B¬É        NUMBÅÒ AND       SÔA ÌU          SAVÅ       ÌDA £ÅVNÔ     ×AS       ÌDA A¬É        ÉNÔÅÒÒUPÔ       ÃMA¬ÉNA         ÃAUSÅD BY       ADA SÌÏÔ         ÅVÅNÔ SÅNSÅ       SSA¬ÒSS           ÃAÒD?       ÊMP SÅÔSB     NÏ - ÉGNÏÒÅ ÉNÔÅÒÒUPÔ       ADB SÌÏÔ      ÃÏMPUÔÅ ADDÒÅSS       ADB .5         ÏÆ BÉÔ PAÔÔÅÒN       SÔB PAÔÒN       AND SAVÅ       ÌDA SÌÏÔ      ÃÏMPUÔÅ ADDÒÅSS       MPY ½D±²       ÏÆ ÅNÔÒY       ADA £ÅVNÔ       ÉN BÉÔ¯ÔÒAP       ÉNA              ÔABÌÅ       SÔA ÔABÌÅ         AND SAVÅ ÒÅÔÒY ÊSB SÃÔBÌ     UPDAÔÅ BÉÔ¯ÔÒAP ÔABÌ ÉþúÅ       SPà±       ÊSB ÅØÅà     ÒÅAD       DÅÆ ª+6        AND       DÅÆ .±          ÒÅSÅÔ       DÅÆ ÌU      ÉNÔÅÒÒUPÔÉNG       DÅÆ PÏÌBÆ         ÅVÅNÔ       DÅÆ .6             SÅNSÅ       DÅÆ .·              ÃAÒD       ÌDA DAÔA      GÅÔ DAÔA ×ÏÒD¬       SSA           AND ÉÆ ANY ÔÒANSÆÅÒÒÅD¬       ÊMP ÒÅÔÒY     ÒÅÔÒY ÔHÅ PÒÏÃÅSS ÅØÉÔ  ÊSB ÅØÅà     ÔÅÒMÉNAÔÅ       DÅÆ ª+²       DÅÆ .6       SPà± SÅÔSB ÌDA ÌU        PUÔ ÅVÅNÔ       ØÏÒ ½B²±00     SÅNSÅ BÉÔ ÉN       SÔA ÌU          ÃÏNÔÒÏÌ ×ÏÒD       SPà±       ÊSB ÅØÅà     PÅÒÆÏÒM       DÅÆ ª+3        ÃÏNÔÒÏÌ       DÅÆ .3          ÒÅÑUÅSÔ       DÅÆ ÌU       ÊMP ÅØÉÔ .3    ÏÃÔ 3 .5    DÅà5 PAÔÒN NÏP ÌU    NÏP       SPà± ª SÃÔBÌ SÃANS ÔHÅ BÉÔ¯ÔÒAP ÔABÌÅ AND ÃAÌÌS ÔHÅ ÔÒAP PÒÏÃÅSSÅÒ ×HÅN ª AN ÅVÅNÔ HAS ÏÃÃUÒÅD ª  SÃÔBÌ NÏP       ÊSB $ÌÉBÒ     ÔUÒN ÏÆÆ ÉNÔÅÒÒUPÔS       NÏP       ÌDA DAÔA      ÆÅÔÃH DAÔA ×ÏÒD       ÌDB PAÔÒN¬É   AND ÌASÔ SÔAÔUS ×ÏÒD       SÔA PAÔÒN¬É   UPDAÔÅ ÅVÅNÔ ÃAÒD SÔAÔUS       ÊSB $ÌÉBØ     ÔUÒN ÏN ÉNÔÅÒÒUPÔS       DÅÆ ª+±       DÅÆ ª+±       SPà±       ØÏÒ ±         ÆÉND BÉÔ ÃHANGÅS       AND ½B····    ÉÆ NÏ ÃHANGÅS       SZA¬ÒSS        ÆÒÏM PÒÅVÉÏUS PAÔÔÅÒN       ÊMP SÃÔB̬ɠ    ÒÅÔUÒN       ÌDB M±²       ÉNÉÔÉAÌÉZÅ       SÔB ÃNÔÒ       BÉÔ ÃÏUNÔÅÒ       ÃÌB       SÔB BÉÔNÏ      ÃÌÅAÒ BÉÔ NUMBÅÒ       ÌDB ÔABÌÅ     ÆÅÔÃH ADDÒÅSS ÏÆ BÉÔ¯ÔÒAP       SÔB PNÔÒ       ÔABÌÅ AND USÅ AS ÉNDÅØ       ÌDB A         PUÔ BÉÔ ÃHANGÅS ÉN "B" NØÔBÔ ÃÌA           MÏVÅ NÅØÔ BÉÔ       ASÒ ±          ÉNÔÏ "A"       ØÏÒ PNÔҬɠ   UPDAÔÅ BÉÔ¯ÔÒAP ÅNÔÒY       ÃPA PNÔҬɠ   ÉÆ NÏ ÃHANGÅ SKÉP       ÊMP ÃÏNÔ       UPDAÔÅ ÏÆ ÔABÌÅ       SPà±       ÊSB $ÌÉBÒ     ªªªªªªªªªªªªªªªªªªªªªªªªªªª       NÏP           ÔUÒN ÏÆÆ ÉNÔÅÒÒUPÔ SYSÔÅM       SÔA PNÔҬɠ    ÔÏ UPDAÔÅ ÔABÌÅ       ÊSB $ÌÉBØ     ÔUÒN ÉNÔÅÒÒUPÔ SYSÔÅM       DÅÆ ª+±        BAÃK ÏN       DÅÆ ª+±       ªªªªªªªªªªªªªªªªªªªªªªªªªªª       SPà±       SSA¬ÒSS       ÉÆ NÅ× SÔAÔUS ÉS ± (ÅVÅNÔ©       ­ï ÊMP ÃÏNÔ        SÅÔ ÔÒAP¬ ÅÌSÅ ÃÏNÔÉNUÅ       ÅÌA¬ÃÌŬÅÒA   SÅÔ SÉGN BÉÔ ÔÏ ZÅÒÏ       SÔB SAV.B     SAVÅ SÔAÔUS ×ÏÒD       SZA¬ÒSS       ÉÆ NÏ ÔÒAP NUMBÅÒ SKÉP       ÊMP ÃÏNÔ       SÃHÅDUÌÅ ÃAÌÌ       SPà±       SÔA NAM±      SAVÅ ÆÉÒSÔ Ô×Ï ÃHAÒS ÏÆ PÒÏG NAM       ÊSB ÅØÅà     SÃHÅDUÌÅ       DÅÆ ª+6        PÒÏGÒAM       DÅÆ B±0±±       DÅÆ NAM±       DÅÆ SÌÏÔ       DÅÆ DAÔA       DÅÆ BÉÔNÏ       ÊMP ×ÒÉÔÅ     ÅÒÒÏÒ ÒÅÔUÒN¬ GÏ PÒÉNÔ MÅSG ÃÏNÔ. ÌDB SAV.B      ÒÅSÔÏÒÅ DAÔA ×ÏÒD       SPà± ÃÏNÔ  ÉSZ PNÔÒ      BUMP ÔABÌÅ PÏÉNÔÅÒ       ÉSZ BÉÔNÏ     UPDAÔÅ BÉÔ NUMBÅÒ       ÉSZ ÃNÔÒ      ÌASÔ BÉÔ?       ÊMP NØÔBÔ     NϬ GÏ ÔÏ NÅØÔ BÉÔ       ÊMP SÃÔBÌ¬É       SPà3 ×ÒÉÔÅ DSÔ ÅÒÒBÆ     SÔÏÒÅ ÅÒÒÏÒ ÔYPÅ       ÊSB ÅØÅà     PÅÒÆÏÒM       DÅÆ ª+5        ×ÒÉÔÅ       DÅÆ .²          ÔÏ       DÅÆ .±           SYSÔÅM       DÅÆ ÅÒÒB          ÃÏNSÏÌÅ       DÅÆ .·       ÊMP ÃÏNÔ.     ÃÏNÔÉNUÅ       SPà± M±²   DÅà-±² .6    DÅà6 .·    DÅà· SAV.B NÏP PNÔÒ  NÏP ÃNÔÒ  NÏP NAM±  ASà3¬ØØØØØ ÅÒÒB  ASà5¬AÌAÒM ÅÒÒ ÅÒÒBÆ BSS ² .²    DÅಠBÉÔNÏ NÏP B±0±± ÏÃÔ ±000±±       ÅND AÌAÒM ž¸ÿÿ ÿýGO ÿ09610-80020 A S 0122 TABLE GENERATOR              H0101 \ÂþúSPÌ¬Ì¬Ï¬Ô       NAMÅ ÒÔÅÔG(3¬90© !  !  !  !  !   ÒÔÅÔG --------- ÃÏÒÅ VÅÒSÉÏN !  !  !   ÒÔÅÔG ÉS AN ÉNÔÅÒAÃÔÉVÅ ÔABÌÅ ÃÏNÆÉGUÒAÔÏÒ ÆÏÒ ÒÔÅ !  ! SÏUÒÃÅ ÔAPÅ - 096±0-¸00²0 ÒÅV. A ! ÒÅÌÏÃ. ÔAPÅ - 096±0-600²0 ÒÅV. A !  ! VÅÒSÉÏN - ÊANUAÒY ±9·´ !  ! AUÔHÏÒ - Ô.A. SAPÏNAS !  !  !ªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªª !  !   ÉNÉÔÉAÌÉZAÔÉÏN PHASÅ !  !ªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªª !        ÌÅÔ ÒBÉÌU¬ÃMDÌU BÅ ÉNÔÅGÅÒ¬ÅØÔÅÒNAÌ       ÌÅÔ SPAÃÅ BÅ ÉNÔÅGÅÒ(²©       ÉNÉÔÉAÌÉZÅ SPAÃÅ ÔÏ ±¬" "       ÌÅÔ BUÆÆÒ(60©¬ÏUÔÌU BÅ ÉNÔÅGÅÒ¬GÌÏBAÌ       ÌÅԠò3±3¬Ã69´0 BÅ SUBÒÏUÔÉNŬŨÔÅÒNA̬DÉÒÅÃÔ       ÌÅÔ HÅADÒ BÅ ÉNÔÅGÅÒ(±¸©       ÉNÉÔÉAÌÉZÅ HÅADÒ ÔÏ 33¬"ª ²3±3 AND 69´0 ÔABÌÅ GÅNÅÒAÔÏÒ ª"       ÌÅÔ PUNMS BÅ ÉNÔÅGÅÒ(±0©       ÉNÉÔÉAÌÉZÅ PUNMS ÔÏ ±·¬"ª ÔUÒN ÏN PUNÃH ª"       ÌÅÔ ÔÅAÒM BÅ ÉNÔÅGÅÒ(±6©       ÉNÉÔÉAÌÉZÅ ÔÅAÒM ÔÏ ²9¬"ª ÔABÌÅ GÅNÅÒAÔÉÏN ÃÏMPÌÅÔÅ ª"       ÌÅÔ SYSÉN¬SYSPÒ¬SYSPU¬SYSÏP BÅ ÉNÔÅGÅÒ(´©       ÉNÉÔÉAÌÉZÅ SYSÉN¬SYSPÒ¬SYSPU¬SYSÏP ÔÏ 5¬"SYSÉN "¬5¬"SYSPÒ "¬\         5¬"SYSPU "¬5¬"SYSÏP"       ÌÅÔ Æ×ÒÉÔ¬ÆÏPÅN¬ÆPAUS BÅ SUBÒÏUÔÉNŬŨÔÅÒNAÌ       ÌÅÔ ×ÒÉÔŬÌÅADÒ BÅ SUBÒÏUÔÉNŬDÉÒÅÃÔ !  !  !  !  !  ÒÔÅÔG:ÃAÌÌ ÆÏPÅN(ÒBÉÌU¬ÅÒÒ¬SYSÉN¬300K©       ÃAÌÌ ÆÏPÅN(ÏUÔÌU¬ÅÒÒ¬SYSPU¬±00K©       ÃAÌÌ ÆÏPÅN(ÃMDÌU¬ÅÒÒ¬SYSÏP¬´00K© !        ÆÒÌSÔ_0 !  !  !        ÃAÌÌ ×ÒÉÔÅ(HÅADÒ©     !HÅADÅÒ MÅSSAGÅ !        ÃAÌÌ ×ÒÉÔÅ(PUNMS©    !ÔUÒN ÏN PUNÃH MÅSSAGÅ !  !  !  !     ÔHÉS MÏDUÌÅ ÉNÉÔÉAÌÉZÅS ×ÏÒKSPAÃÅ ÉN MÅMÏÒY !        ÌÅÔ ÆÒÌSÔ BÅ ÉNÔÅGÅÒ¬GÌÏBAÌ ! ÆÒÅÅ ×ÏÒKSPAÃÅ ÌÉSÔ PÏÉNÔÅÒ       ÌÅÔ ÆÉÒSÔ BÅ ÉNÔÅGÅÒ¬GÌÏBAÌ ! SMAÌÌÅSÔ ADDÒÅSS NÏÔ USÅD       ÌÅÔ ÌASÔ  BÅ ÉNÔÅGÅÒ¬GÌÏBAÌ ! ÌAÒGÅSÔ  ADDÒÅSS NÏÔ USÅD       ÌÅÔ ×KÔÏP BÅ ÉNÔÅGÅÒ¬GÌÏBAÌ ! ÌAÒGÅSÔ USABÌÅ ADDÒÅSS½·MÏD¸       ÌÅÔ ×KMÉN BÅ ÉNÔÅGÅÒ¬GÌÏBAÌ ! SMAÌÌÅSÔ ADDÒÅSS ÅVÅÒ AÌÌÏÃAÔÅD !  !        ÌASÔ¬×KÔÏP¬×KMÉN_±66··K       ÆÉÒSÔ_ÌASÔ-5000K !×ÏÒK SPAÃÅ SÅÔ ÔÏ 5000K ×ÏÒDS !  !        ÃAÌÌ Æ×ÒÉÔ(ÏUÔÌU¬ÅÒÒ¬0¬-±©  !×ÒÉÔÅ ÌÅADÅÒ       ÃAÌÌ ÌÅADÒ  !×Òɳj  ÔÅ ÌÅADÅÒ !  !        ÃAÌ̠ò3±3  !GÅNÅÒAÔÅ ²3±3 ÔABÌÅS       ÃAÌÌ Ã69´0  !GÅNÅÒAÔÅ 69´9 ÔABÌÅS !  !        ÃAÌÌ ÌÅADÒ  !×ÒÉÔÅ ÔÒAÉÌÅÒ !        ÃAÌÌ ×ÒÉÔÅ(ÔÅAÒM©     !ÔÅAÒ ÏÆÆ ÔAPÅ MÅSSAGÅ       ÃAÌÌ ÆPAUS       GÏ ÔÏ ÒÔÅÔG ! GÏ BAÃK ÔÏ BÅGÉNNÉNG !  !  !×ÒÉÔÅ A MÅSSAGÅ ÒÏUÔÉNÅ !  ×ÒÉÔÅ:SUBÒÏUÔÉNÅ(BUÆ©DÉÒÅÃÔ¬GÌÏBAÌ       ÃAÌÌ Æ×ÒÉÔ(ÃMDÌU¬ÅÒÒ¬SPAÃÅ©       ÃAÌÌ Æ×ÒÉÔ(ÃMDÌU¬ÅÒÒ¬BUÆ©       ÒÅÔUÒN       ÅND !  ! ×ÒÉÔÅ ÏUÔ ÌÅADÅÒ !  ÌÅADÒ:SUBÒÏUÔÉNÅ DÉÒÅÃÔ       ÃAÌÌ Æ×ÒÉÔ(ÏUÔÌU¬ÅÒÒ¬0¬-±©       ÒÅÔUÒN       ÅND       ÅND ÒÔÅÔG ÅND$ – ÿÿ ÿýHO ÿ09610-80021 A S 0122 ANALOG INPUT              H0101 ÉéþúASMB¬Ò¬Ì¬Ã¬Æ¬B       HÅD ÉSA S6±.± ANAÌÏG ÉNPUÔ     A-096±0-600²±-± ÒÅV A ª  ª ADÃ.. - ANAÌÏG ÉNPUÔ ÒÏUÔÉNÅS ÆÏÒ ÉSA S6±.± ª  ª  ª SÏUÒÃÅ ÔAPÅ - 096±0-¸00²± ÒÅV. A ª ÒÅÌÏÃ. ÔAPÅ - 096±0-600²± ÒÅV. A ª  ª VÅÒSÉÏN - MAY ¸¬±9·´ ª  ª AUÔHÏÒ - Ô.A. SAPÏNAS ª     AÉÒDƬAÉÒD× - ANAÌÏG ÉNPUÔ ÉN ÒANDÏM ÏÒDÅÒ ª     AÉSÑÆ¬AÉSÑ× - ANAÌÏG ÉNPUÔ ÉN SÅÑUÅNÔÉAÌ ÏÒDÅÒ ª     NÏÒM - SYSÔÅM NÏÒMAÌÉZÅ ª     PAÃÅÒ - SÅÔS UP SYSÔÅM PAÃÅÒ ª     ÒGAÉN - ÒÅADS GAÉN ÏN A ÃHANNÅÌ ª     SGAÉN - SÅÔS GAÉN ÏN A ÃHANNÅÌ ª        NAM ADÃ..¬·       ÅØÔ ..ADÃ¬ÅØÅì$ÌÉBÒ¬$ÌÉBج..ÆÃM¬.ÅNÔÒ       ÅNÔ NÏÒMAÉSÑÆ¬SGAÉN¬ÒGAÉN¬PAÃÅÒ       ÅNÔ AÉÒD¬AÉÒD׬AÉSѬAÉSÑ×       SUP       SPà3 ª "ÒGAÉN" ÒÅADS ÔHÅ GAÉN ÏÆ A GÉVÅN ÃHANNÅÌ ÏÒ GÒÏUP ÏÆ ÃHANNÅÌS ª   ÃAÌÌÉNG SÅÑUÅNÃÅ: ª      ÃAÌÌ ÒGAÉN(ÃHN±¬GN±© ª  ª     ×HÅÒÅ: ÃHN± - DÅSÉÒÅD ÃHANNÅÌ NUMBÅÒ ª            GN±  - ÆÌÏAÔÉNG PÏÉNÔ GAÉN ÏÆ ÃHANNÅÌ "ÃHN±" ª  ÃHN±  NÏP GN±   NÏP ÒGAÉN NÏP       ÊSB .ÅNÔÒ     ÆÅÔÃH PAÒAMÅÔÅÒ       DÅÆ ÃHN±       ADDÒÅSSÅS       ÌDA .ÅÒÒ.      DUMMY UP ÅÒÒÏÒ ÒÅÔUÒN       SÔA ÅÒÒ       ÌDA ÒGAÉN     SAVÅ ÒÅÔUÒN       SÔA ÅNÔÒY       ADDÒÅSS       ÌDA ÃHN±¬É    ÆÉND ÃHANNÅÌ ÅNÔÒY       ÊSB ÆÃHN       ÉN ÃÏNÆÉGUÒAÔÉÏN ÔABÌÅ       BÌS           ÃÏMPUÔÅ ADDÒÅSS ÏÆ GAÉN       ADB DÆÃÔÒ      ÃÏNVÅÒSÉÏN ÆAÃÔÏÒ       SÔB GAÉN         AND SAVÅ       DÌD ÆAÃÔÒ      GAÉN ½       ÆDV GAÉN¬É     .005 ¯ ÃÏNVÅÒSÉÏN ÆAÃÔÏÒ       DSÔ GN±¬É     SÔÏÒÅ GAÉN       ÊMP ÅNÔÒY¬É    AND ÒÅÔUÒN       SKP ª "SGAÉN" ÒÅADS ÔHÅ GAÉN ÏÆ A GÉVÅN ÃHANNÅÌ ÏÒ GÒÏUP ÏÆ ÃHANNÅÌS ª   ÃAÌÌÉNG SÅÑUÅNÃÅ: ª      ÃAÌÌ SGAÉN(ÃHN²¬GN²© ª  ª     ×HÅÒÅ: ÃHN² - DÅSÉÒÅD ÃHANNÅÌ NUMBÅÒ ª            GN²  - ÆÌÏAÔÉNG PÏÉNÔ GAÉN ÏÆ ÃHANNÅÌ "ÃHN²" ª  ÃHN²  NÏP GN²   NÏP SGAÉN NÏP       ÊSB .ÅNÔÒ     ÆÅÔÃH PAÒAMÅÔÅÒ       DÅÆ ÃHN²       ADDÒÅSSÅS       ÌDA .ÅÒÒ.      DUMMY UP ÅÒÒÏÒ ÒÅÔUÒN       SÔA ÅÒÒ       ÌDA SGAÉN     SAVÅ ÒÅÔUÒN       SÔA ÅNÔÒY      ADDÒÅSS       ÌDA ÃHN²¬É    ÆÉND ÃHANNÅÌ ÅNÔÒY       ÊSB ÆÃHN       ÉN ÃÏNÆ4þúÉGUÒAÔÉÏN ÔABÌÅ       SSB           ÉÆ NÏÔ ÌÏ× ÌÅVÅÌ       ÊMP ÅNÔÒY¬É     ÒÅÔUÒN       DÌD ÆAÃÔÒ     ÃÏMPUÔÅ ÔÅMP ½       ADA M±   (ADÊUSÔMÅNÔ ÆÏÒ ÒÏUND ÏÆÆ ÅÒÒÏÒ©       ÆDV GN²¬É       .005 ¯ GN²       SSA           ÉÆ GAÉN ×AS NÅGAÔÉVÅ       ÊSB ..ÆÃM      MAKÅ PÏSÉÔÉVÅ       DSÔ ÔÅMP        AND SAVÅ       ÌDB M·        ÉNÉÔÉAÌÉZÅ       SÔB ÃNÔÒ       ÌÏÏP ÃÏUNÔÅÒ       ÌDA DÆÃÔÒ     ÉNÉÔÉAÌÉZÅ GAÉN       SÔA AÆÃÔÒ      ÔABÌÅ PÏÉNÔÅÒ       SPà± SGN±  DÌD ÔÅMP      ÉÆ DÅSÉÒÅD GAÉN       ÆSB AÆÃÔҬɠ   ÉS ¾ ÏÒ ½ ÔABÌÅ       SSA             VAÌUŬ ÔHÅN       ÊMP SGN²         SÅÔ UP GAÉN       ÉSZ AÆÃÔÒ     ÉNÃÒÅMÅNÔ GAÉN       ÉSZ AÆÃÔÒ      ÔABÌÅ PÏÉNÔÅÒ       ÉSZ ÃNÔÒ      ÌASÔ ÅNÔÒY?       ÊMP SGN±      NϬ ÃÏNÔÉNUÅ ÌÏÏKÉNG       SPà± SGN²  ÌDA ADÒS¬É    ÆÅÔÃH GAÉN ÅNÔÒY AND       ASÌ 3          SHÉÆÔ GAÉN BÉÔS ÉNÔÏ "B"       ÌDB ÃNÔÒ      PUÔ NÅ×       ADB .·         GAÉN ÉN "B"       ASÒ 3         SHÉÆÔ GAÉN BÉÔS BAÃK ÉNÔÏ "A"       SPಠ      ÊSB $ÌÉBÒ     ÔUÒN ÏÆÆ ÉNÔÅÒÒUPÔ SYSÔÅM       NÏP            AND UPDAÔÅ       SÔA ADÒS¬É      ÃÏNÆÉGUÒAÔÉÏN ÔABÌÅ ÅNÔÒY       ÊSB $ÌÉBØ     ÔUÒN ÉNÔÅÒÒUPÔ SYSÔÅM BAÃK       DÅÆ ÅNÔÒY      ÏN AND ÒÅÔUÒN       SKP ª  "NÏÒM" PÅÒÆÏÒMS A SYSÔÅM NÏÒMAÌÉZÅ ÏN ÔHÅ SPÅÃÉÆÉÅD UNÉÔ ª  UNÉÔ  NÏP NÏÒM  NÏP       ÊSB .ÅNÔÒ     ÆÅÔÃH PAÒAMÅÔÅÒ       DÅÆ UNÉÔ       ADDÒÅSS       ÌDA NÏÒM      SAVÅ ÒÅÔUÒN       SÔA ÅNÔÒY       ADDÒÅSS       ÌDB UNÉÔ      ÆÉND SUBSYSÔÅM       ÊSB ÆNDÌU      ÌÏGÉÃAÌ UNÉÔ NUMBÅÒ       SPà±       ÊSB ÅØÅà     ªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªª       DÅÆ ª+5       SYSÔÅM       DÅÆ .²         NÏÒMAÌÉZÅ       DÅÆ ÌU          ÒÅÑUÅSÔ       DÅÆ .±       DÅÆ .±        ªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªª       SPà±       ÊMP ÅNÔÒY¬É   ÅÌSŬ ÒÅÔUÒN       SPà3 ª  "ÆNDÌU" ÆÉNDS ÔHÅ ÌÏGÉÃAÌ UNÉÔ NUMBÅÒ ÃÏÒÒÅSPÏNDÉNG ÔÏ ÔHÅ ª  SUBSYSÔÅM NUMBÅÒ SPÅÃÉÆÉÅD ÉN ÔHÅ ÃAÌÌ.  ÉÆ ÔHÅ NUMBÅÒ ÉS ZÅÒÏ ª  ÏÒ NÅGAÔÉVÅ AN ÅÒÒÏÒ ÉS GÉVÅN ª  ÆNDÌU NÏP       ÃÌA¬ÉNA       ASSUMÅÎ|þú UNÉÔ ±       SZB           ÉÆ UNÉÔ SPÅÃÉÆÉÅD       ÌDA B¬É        ÆÅÔÃH ÉÔ       ÃMA¬ÉNA       ÃÏMPÌÅMÅNÔ AND       SSA¬ÒSS       ÊMP ÅNÔÒY¬É   ÉÆ <½0 ÔHÅN ÒÅÔUÒN       SÔA ÃNÔÒ      SAVÅ ÃÏMP. ÆÏÒ ÌÏÏP ÃÏUNÔÅÒ       ÌDB ..ADà    ÆÅÔÃH ADDÒÅSS ÏÆ ÃÏNÆÉG. ÔABÌÅ       ADA B¬É       ÌÅGÉÔÉMAÔÅ UNÉÔ       SSA            ADDÒÅSS?       ÊMP ÅNÔÒY¬É   NÏ - ÒÅÔUÒN       ÉNB¬ÒSS       BUMP ÔBÌ PNÔÒ ÔÏ ±SÔ SUBSYS. ÅNÔÒY       SPà± NØÔSS ADB B¬É       ÆÅÔÃH NÅØÔ SUBSYSÔÅM ÅNÔÒY       ÉSZ ÃNÔÒ      UNÉÔ ÆÏUND?       ÊMP NØÔSS     NϬ ÃÏNÔÉNUÅ SÅAÒÃH       SPà±       ÉNB           ÆÅÔÃH SUBSYSÔÅM       ÌDB B¬É        ÌÏGÉÃAÌ UNÉÔ NUMBÅÒ       SÔB ÌU          AND SAVÅ       ÊMP ÆNDÌU¬É   ÒÅÔUÒN       SKP ª "AÉÒDÆ" PÅÆÏÒMS ANAÌÏG ÉNPUÔ ÆÒÏM ÔHÅ ÃHANNÅÌS SPÅÃÉÆÉÅD ÉN ª  A ÒÅAÌ AÒÒAY.  ÔHÅ ÒÅSUÌÔS AÒÅ ÃÏNVÅÒÔÅD ÔÏ ÆÌÏAÔÉNG PÏÉNÔ VÏÌÔS ª  AND ÒÅÔUÒNÅD ÉN ANÏÔHÅÒ ÒÅAÌ AÒÒAY. ª  ª  ÃAÌÌÉNG SÅÑUÅNÃÅ: ª    ÃAÌÌ AÉÒDÆ(NUM¬ÃHAN¬VÏÌÔ¬ÅÒÒ© ª  ×HÅÒÅ:  NUM± - NUMBÅÒ ÏÆ ÃHANNÅÌS ÔÏ BÅ ÒÅAD ( ÉÆ N<0 ÔHÅN ª                 PÅÒÆÏÒM PAÃÅD ÃÏNVÅÒSÉÏN© ª          ÃHAN - ÉNÔÅGÅÒ AÒÒAY ÃÏNÔAÉNÉNG ÃHANNÅÌ NUMBÅÒS ª          VÏÌÔ - ÒÅAÌ AÒÒAY ÆÏÒ ÃÏNVÅÒÔÅD DAÔA ª          ÅÒÒ - ÅÒÒÏÒ ÒÅÔUÒN PAÒAMÅÔÅÒ ª                  BÉÔ 0 ½ ÏVÅÒÆÌÏ× ÏN AÔ ÌÅASÔ ÏNÅ ÒÅADÉNG ª                  BÉÔ ± ½ PAÃÅ ÅÒÒÏÒ ÏN AÔ ÌÅASÔ ÏNÅ ÒÅADÉNG ª  AÉÒDÆ NÏP           ÆÌÏAÔÉNG PÔ. ÒANDÏM SÃAN       ÌDA AÉÒDÆ     ÆÅÔÃH ÒÅÔUÒN ADDÒÅSS       ÃÌB            AND ÃÌÅAÒ ÆÉØÅD PÏÉNÔ ÆÌAG       ÊMP ÒDSÃN     GÏ ÔÏ ÒANDÏM SÃAN       SPಠAÉÒD× NÏP           ÉNÔÅGÅÒ ÒANDÏM SÃAN       ÌDA AÉÒD×     ÆÅÔÃH ÒÅÔUÒN ADDÒÅSS       ÃÌB¬ÉNB        AND SÅÔ ÆÉØÅD PÏÉNÔ ÆÌAG       SPà± ÒDSÃN ÊSB SÅÔUP     ÆÅÔÃH PAÒAMÅÔÅÒS       SPà± AÉÒD± ÌDA ÃHAN¬É    ÌÏAD NÅØÔ ÃHANNÅÌ NUMBÅÒ       ÊSB ÆÃHN      ÆÉND HAÒD×AÒÅ ADDÒÅSS       ÉÏÒ ½B±00000   SÅÔ ÔÏ ÒANDÏM MÏDÅ       ÉÏÒ PAÃÅD       ÏÒ ÉN PAÃÅ BÉÔ       SÔA ÃHANÌ        AND SAVÅ       SSB           ÉÆ GAÉN ÉS NÅGAÔÉVÅ       ÊMP ÒDHÌ        GÏ ÔÏ HÉGH ÌÅVÅÌþú ÒÅAD       ØÏÒ ½B±´0000   SÅÔ UP GAÉN       SÔA GÃHN       ÃHANNÅÌ ÅNÔÒY       SPà±       ÊSB ÅØÅà     ªªªªªªªªªªªªªªªªªªªªªªªªªªªªª       DÅÆ ª+5       ÌÏ×       DÅÆ .²         ÌÅVÅÌ       DÅÆ ÌU          ÒANDÏM       DÅÆ ÒBUƱ        ÒÅAD       DÅÆ .²        ªªªªªªªªªªªªªªªªªªªªªªªªªªªªª       ÊMP AÉÒD²      GÏ ÔÏ VÏÌÔAGÅ ÃÏNVÅÒSÉÏN       SPಠÒDHÌ  ÊSB ÅØÅà     ªªªªªªªªªªªªªªªªªªªªªªªªª       DÅÆ ª+5       HÉGH       DÅÆ .²         ÌÅVÅÌ       DÅÆ ÌU          ÒANDÏM       DÅÆ ÒBUƲ        ÒÅAD       DÅÆ .±        ªªªªªªªªªªªªªªªªªªªªªªªªªªªªª       SPà± AÉÒD² SZB¬ÒSS       ÉÆ ÔÒANSMÉSSÉÏN ÌÏG ÅÑUAÌS       ÊMP ÅÒÒ²       ZÅÒϬ GÉVÅ ÅÒÒÏÒ ²       SPà±       ÌDB VÏÌÔ²¬É   ÆÅÔÃH ÒÅADÉNG       ÊSB ÃÏNV        PÅÒÆÏÒM ÃÏNVÅÒSÉÏN       ÉSZ ÃHAN      BUMP ÃHANNÅÌ ADDÒÅSS       ÉSZ VÏÌÔ²     BUMP ÉNPUÔ DAÔA ADDÒÅSS       ÉSZ ÃNÔÒ      ÌASÔ ÃHANNÅÌ       ÊMP AÉÒD±     NϬ ÃÏNÔÉNUÅ       ÊMP ÅNÔÒY¬É   YÅS¬ ÒÅÔUÒN       SKP ª "SÅÔUP"  ÆÅÔÃHÅS AND ÔÅSÔS ÃAÌÌÉNG PAÒAMÅÔÅÒS ÆÏÒ VAÌÉDÉÔY ª  ÆÏÒ ÒÏUÔÉNÅS AÉÒD׬AÉÒDƬAÉSÑ× AND AÉSÑÆ.       SPಠSÅÔUP NÏP       SÔA ÅNÔÒY     SAVÅ ÒÅÔUÒN ADDÒÅSS       SÔB ÆÉØPÔ     SAVÅ ÆÉØÅD PÏÉNÔ ÆÌAG       ÊMP ÅNÔÒY+±   GÏ ÔÏ PAÒAM. ÆÅÔÃH       SPà± NUMÒD NÏP ÃHAN  NÏP VÏÌÔ  NÏP ÅÒÒ   NÏP ÅNÔÒY NÏP       ÊSB .ÅNÔÒ     ÆÅÔÃH PAÒAMÅÔÅÒ .ÅÒÒ. DÅÆ NUMÒD      ADDÒÅSSÅS       ÃÌB¬ÉNB       ÉNÉÔÉAÌÉZÅ ÅÒÒÏÒ       SÔB ÅÒҬɠ     ÔÏ ÏNÅ       ÃÌB       ÌDA NUMÒD¬É   ÆÅÔÃH NUMBÅÒ ÏÆ ÃHANNÅÌS       SSA           ÉÆ NÅGAÔÉVÅ       ÌDB ½B±0000    £ ÏÆ ÃHANÌS SÅÔ       SÔB PAÃÅD       PAÃÅ BÉÔ       SSA           ÉÆ NÅGAÔÉVÅ       ÃMA¬ÉNA        MAKÅ PÏSÉÔÉVÅ       SÔA NUM         AND SAVÅ       ÃMA¬ÉNA¬SZA¬ÒSS  ÃÏMPÌÅMÅNÔ £ ÏÆ ÃHANNÅÌS       ÊMP ÅÒÒ3      ÉÆ ZÅÒÏ GÉVÅ ÅÒÒÏÒ       SÔA ÃNÔÒ      SAVÅ ÆÏÒ ÌÏÏP ÃÏUNÔÅÒ       ÌDA ÆÉØPÔ     ÉÆ ÆÉØÅD PÏÉNÔ       ÌDB VÏÌÔ       ÆÌAG ÉS ÃÌÅAÒ       SZA¬ÒSS         DAÔA BUÆÆÅÒ ADDÒÅSS ÉÆ       ADB NUM          ÉN ÃÅNÔÅÒ ÏÆ AÒÒAY       SÔB VÏÌÔ±         VÏ#*þúÌÔ¬ ÅÌSÅ AÔ       SÔB VÏÌÔ²          BÅGÉNNÉNG ÏÆ VÏÌÔ       ÊMP SÅÔUP¬É       SKP ª "ÆÃHN" ÉS A SUBÒÏUÔÉNÅ ×HÉÃH ÆÉNDS ÔHÅ ÅNÔÒY ÉN ÔHÅ ²3±3 ª ÃÏNÆÉGUÒAÔÉÏN ÔABÌÅ ×HÉÃH ÃÏÒÒÅSPÏNDS ÔÏ A GÉVÅN ÃHANNÅÌ NUMBÅÒ ª  ª  ÃAÌÌÉNG SÅÑUÅNÃÅ : ª       "A" ÃÏNÔAÉNS ÔHÅ SÏÆÔ×AÒÅ ANAÌÏG ÃHANNÅÌ NUMBÅÒ ª  ÒÅÔUÒNÅD : ª       "A" ÃÏNÔAÉNS ÔHÅ HAÒD×AÒÅ ADDÒÅSS ÏÆ ÔHÅ DÅSÉÒÅD MPØ ÃHANNÅÌ ª       "ÌU" _ ÌÏGÉÃAÌ UNÉÔ NUMBÅÒ ÏÆ ÔHÅ SUBSYSÔÅM ÃÏNÔAÉNÉNG "A" ª       "ADÒS" _ ADDÒÅSS ÏÆ ÔHÅ ÃÏNÆ. ÔABÌÅ ÅNÔÒY ÆÏÒ "A" ª       "GAÉN" _ GAÉN ÆÏÒ ÔHÅ ÃHANNÅÌ (-± ÉÆ HÉGH ÌÅVÅÌ© ª       "ÒÅMÃH" _ £ ÏÆ ÃHANNÅÌS ÒÅMAÉNÉNG ÉN ÅNÔÒY ª  ª ÉÆ ÔHÅ ÃHANNÅÌ ÉS ÏUÔSÉDÅ ÔHÅ BÏUNDS ÏÆ ÔHÅ ÔABÌÅ "ÆÃHN" ª  BÒANÃHÅS ÔÏ "ÅÒÒ3" ª  ÆÃHN  NÏP       ÃMA¬SSA¬ÉNA¬SZA  ÃÏMPÌÅMÅNÔ ÃHANNÅÌ NUM.       ÒSS           ÉÆ ÌÅSS ÔHAN ÏÒ       ÊMP ÅÒÒ3       ÅÑUAÌ ÔÏ ZÅÒÏ GÉVÅ ÅÒÒÏÒ £3       SÔA MÃHN       SAVÅ -(ÃHANNÅÌ NUM.©       SÔA NMÃHN       ÃÃA           ASSUMÅ       SÔA GAÉN       HÉGH ÌÅVÅÌ       ÌDA ..ADà    ÆÅÔÃH ADDÒÅSS ÏÆ ÆÉÒSÔ       SÔA .ADà       ÉNA            SUBSYSÔÅM ÅNÔÒY ÉN ÃÏNÆ. ÔABÌÅ       ÃÌB           "B"_ ÃUÒÒÅNÔ SUBSYSÔÅM £       ÊMP SÔÆÃH     SÅAÒÃH ÆÏÒ SUBSYS. ÃÏNÔAÉNÉNG ÃHAN.       SPà± NØSUB SÔA NMÃHN     SAVÅ £ ÏÆ ÃHNÌS PASÔ ÌASÔ SUBSYS.       ÉNB           ÉNÃÒÅMÅNÔ NUMBÅÒ ÏÆ SUBSYSÔÅMS       ÃPB .ADìɠ   ÌASÔ SUBSYSÔÅM?       ÊMP ÅÒÒ3      YÅS - GÏ ÔÏ ÃHANNÅÌ NÏÔ ÆÏUND       ÌDA ADÒS      ÆÅÔÃH ADDÒÅSS ÏÆ       ADA ADÒS¬É     NÅØÔ SUBSYSÔÅM SÔÆÃH SÔA ADÒS        AND SAVÅ       ADA .²        ÉS ÌASÔ ÃHANNÅÌ ÉN       ÌDA A¬É        ÃUÒÒÅNÔ SUBSYSÔÅM BÅYÏND       ADA MÃHN        ÔHÅ DÅSÉÒÅD       SSA              ÃHANNÅÌ?       ÊMP NØSUB     NÏ - GÏ ÔÏ NÅØÔ SUBSYSÔÅM       SPà± ª  SUBSYSÔÅM ÃÏNÔAÉNÉNG ÃHANNÅÌ ÆÏUND.  ÔHÅ ÆÏÌÌÏ×ÉNG ÃÏDÅ ª  SÅAÒÃHÅS ÔHÅ SUBSYSÔÅM ÅNÔÒY ÆÏÒ AÃÔUAÌ ÃHANNÅÌ ÅNÔÒY ª        ÌDA ADÒS      ÆÅÔÃH ÔHÅ       ÉNA           ÌÏGÉÃAÌ UNÉÔ NUMBÅÒ       ÌDB A¬É         ÏÆ ÔHÅ SUBSYSÔÅM       SÔB ÌU            AND SAVÅ       ADB ½B±00     SÅ´¼þúÔ UP DMA ÌU       SÔB DMAÌU      AND SAVÅ       ADA .²        ÃÏMPUÔÅ ADDÒÅSS ÏÆ HÉGH ÌÅVÅÌ       SÔA ADÒS±      SÉNGÌÅ ÅNDÅD ÃHANNÅÌ ÃÏUNÔ       SÔA ADÒS       AND SAVÅ       ÌDB NMÃHN     ÆÅÔÃH -(ÃHANNÅÌ ÉN ÔHÉS SUBSYSÔÅM©       ÒSS NØÔÅN ÉSZ ADÒS      BUMP ÅNÔÒY ADDÒÅSS       ÌDA ADÒS¬É    ÆÅÔÃH AND MASK       AND ½B3···     NÅØÔ ÅNÔÒY       ADB A         ÃHANNÅÌ ÉN       SSB            ÔHÉS ÅNÔÒY?       ÊMP NØÔÅN     NϬ ÃÏNÔÉNUÅ SÅAÒÃH       SPà±       ÉNB           ÅNÔÒY ÆÏUND¬       SÔB ÒÅMÃH      SAVÅ ÃHANNÅÌS ÒÅMAÉNÉNG       ÉSZ NMÃHN     ÃÏMPUÔÅ -(ÃHNÌS-±©       NÏP       ÃÌA       ÌDB ADÒS±     ÆÅÔÃH HÌ-SÅ ADDÒÅSS       ÃPB ADÒS      ÉÆ ÅNÔÒY ÉS HÉGH ÌÅVÅÌ - SÅ       ÊMP HÌSű      GÏ ÔÏ ÃÏMPUÔÅ ÌÏÃAÔÉÏN       ÉNB           ÉÆ ÅNÔÒY ÉS       ÃPB ADÒS       HÉGH ÌÅVÅÌ DÉÆ.       ÊMP HÌDÉÆ       GÏ ÔÏ ÃÏMPUÔÅ DÉÆ. ÌÏÃAÔÉÏN ª ÃHANNÅÌ MUSÔ BÅ ÌÏ× ÌÅVÅÌ ÔHÅN¬ SÏ ÃÏMPUÔÅ GAÉN       ÌDB ADÒS¬É    ÆÅÔÃH       ÒÒÌ 3          GAÉN       SÔA GAÉN       AND SAVÅ       SPಠª  ÔÏ ÃÏNVÅÒÔ ÃHANNÅÌ NUMBÅÒ ÔÏ ²3±3 HAÒD×AÒÅ ADDÒÅSS ÔHÅ ª  ÆÏÌÌÏ×ÉNG AÌGÏÒÉÔHM ÉS APPÌÉÅD: ª  ª BÏØ ½ (N-±©¯3¸´     (3¸´½ ±² SÌÏÔS ª 3² ÃHANNÅÌS¯SÌÏÔ© ª  ª SÌÏÔ.ÃHANNÅÌ ½ ÒÅMAÉNDÅÒ ÆÒÏM ÔHÅ ABÏVÅ ÑUÏÔÉÅNÔ ª  ª ×HÅÒÅ "N" ÉS ÔHÅ SUBSYSÔÅM ÒÅÌAÔÉVÅ ÃHANNÅÌ ADDÒÅSS. SÉNÃÅ ª MUÌÔÉPÌÅØÅÒS ÃANNÏÔ ÏÃÃUPY SÌÏÔS 0-² ÉN BÏØ 0¬ ª 96 MUSÔ BÅ ADDÅD ÔÏ ÃHANNÅÌ NUMBÅÒS. ª AÌSÏ DÉÆÆÅÒÅNÔÉAÌ ÉNPUÔ ÃHANNÅÌS MUSÔ BÅ ÃÏUNÔÅD Ô×ÉÃÅ. ª  HÌDÉÆ ÌDA ADÒS±¬É   ÃÏMPUÔÅ       ADA NMÃHN      NUMBÅÒ HÌSű ADA NMÃHN       ÏÆ       ÃMA¬ÉNA          ÃHANNÅÌS       ADA .96       SÔAÒÔ SÌÏÔ ½3       ÃÌB           ÃÏMPUÔÅ       DÉV .3¸´       HP ²3±3       AÌÆ¬AÌÆ         BÏØ¬ SÌÏÔ       AÌS              AND ÃHANNÅÌ       ÉÏÒ B             ADDÒÅSS       ÌDB GAÉN      ÒÅÔUÒN ×ÉÔH ADDÒÅSS ÉN       ÊMP ÆÃHN¬É     "A" AND GAÉN ÉN "B"       SPà± .3²   DÅà3² .96   DÅà96 .3¸´  DÅà3¸´       SKP ª  "ÃÏNV" ÉS A SUBÒÏUÔÉNÅ ×HÉÃH ÃÏNVÅÒÔS ²3±3 ÒÅADÉNGS ÔÏ ª   ÆÌÏAÔÉNG PÏÉNÔ VÏÌÔS. ª  'þúª  ÃAÌÌÉNG SÅÑUÅNÃÅ: ª      "B" - ²3±3 ÒÅADÉNG ª  ª  ÒÅÔUÒNÅD: ª       ÔHÅ ÃÏMPUÔÅD VÏÌÔAGÅ ÉS PUÔ ÉN ÔHÅ ADDÒÅSS SPÅÃÉÆÉÅD BY ª       "VÏÌÔ" AND ÔHÅN "VÏÌÔ" ÉS ÉNÃÒÅMÅNÔÅD ÔÏ PÏÉNÔ AÔ ÔHÅ NÅØÔ ª       ÆÌÏAÔÉNG PÏÉNÔ ÌÏÃAÔÉÏN. ª  ª       ÅÒÒ HAS BÉÔ ± SÅÔ ÉÆ ÏVÅÒÆÌÏ× AND BÉÔ ² SÅÔ ÉÆ PAÃÅ ÅÒÒÏÒ. ª       AÌSÏ ÏN ÏVÅÒÆÌÏ׬ + ÏÒ - ±Å3· ÉS ÒÅÔUÒNÅD ÆÏÒ VÏÌÔAGÅ. ª  ÃÏNV  NÏP       ÌDA .´        ÉÆ PAÃÅ ÅÒÒÏÒ       BÒS¬SÌB¬BÒS    SÅÔ ÅÒÒÏÒ ÔÏ       SÔA ÅÒҬɠ      ÆÏUÒ       ÌDA ÆÉØPÔ       GÅÔ ÉNÔÅGÅÒ ÆÌAG       BÒS¬ÃÌŬBÒS   ÔÏÔAÌ SHÉÆÔ ´ PÌAÃÅS       ÃPB ½B3···    ÉÆ PÏS. ÏVÅÒÆÌÏ׬ Å_±       ÃÃŬÒSS        AND GÏ ÔÏ ÏVÅÒÆÌÏ×       ÃPB ½B±·´000  ÉÆ NÅG. ÏVÅÒÆÌÏ׬ Å_0       ÊMP ÏVÒÆÌ      AND GÏ ÔÏ ÏVÅÒÆÌÏ×       SZA            ÉÆ ÉNÔÅGÅÒ¬       ÊMP ÃÏNV¬É     ÅØÉÔ       ÌDA B         MÏVÅ ÒÅADÉNG ÔÏ A ÒÅG.       ÌDB GAÉN      ÃÏMPUÔÅ       BÌS            ADDÒÅSS ÏÆ       ADB DÆÃÔÒ       ÃÏNVÅÒSÉÏN ÆAÃÔÏÒ       SÔB ÔÅMP         AND SAVÅ       ÆÌÔ           ÆÌÏAÔ ÔHÅ ²3±3 ÒÅADÉNG       ÆMP ÔÅMP¬É    MUÌÔÉPÌY BY ÃÏNVÅÒSÉÏN ÆAÃÔÏÒ SÔVÌÔ DSÔ VÏÌԬɠ   SÔÏÒÅ VÏÌÔAGÅ ÉN AÒÒAY       ÉSZ VÏÌÔ      ÃÏMPUÔÅ NÅØÔ       ÉSZ VÏÌÔ       ÆÌÏAÔÉNG PÏÉNÔ ADDÒÅSS       ÊMP ÃÏNV¬É    ÒÅÔUÒN ª  ÏVÒÆÌ ÌDB .´         SÅÔ ÅÒÒÏÒ ÔÏ ´       SÔB ÅÒÒ¬É       SZA            ÉÆ ÉNÔÅGÅÒ¬       ÊMP ÃÏNV¬É     ÅØÉÔ       SPà±       DÌD ½Æ±Å3·    ÒÅÔUÒN PÏSÉÔÉVÅ       SÅZ¬ÒSS        ÏÒ NÅGAÔÉVÅ       ÊSB ..ÆÃM       ÉNÆÉNÉÔY ÆÏÒ       ÊMP SÔVÌÔ        ÒÅADÉNG       SKP       SKP ªªªªªªªªªªªªªªªªªªªªªªªªªªª DÆÃÔÒ DÅÆ ÆAÃÔÒ+² ÆAÃÔÒ DÅà.005¬5Å-6¬±Å-5¬²Å-5¬´Å-5       DÅà5Å-5¬±Å-´¬²Å-´¬´Å-´ ÒBUƱ ÏÃÔ 3         ----------------------------------       ÏÃÔ ²                  Ñ BUÆÆÅÒ       DÅÆ GÃHN                ÆÏÒ ÌÏ× ÌÅVÅÌ ÒBUƲ ÏÃÔ 5         ---------       ÏÃÔ ±         Ñ BUÆÆÅÒ       DÅÆ ÃHANÌ      ÆÏÒ HÉGH ÌÅVÅÌ VÏÌÔ² NÏP           ----------------------------------       SPà± M·    DÅà-· .·    ÏÃÔ ·       SPà± GÃHN  NÏP           GAÉN GAÉN  NÏsþúP            BUÆÆÅÒ       SPà±       SKP ª "AÉSÑÆ" PÅÒÆÏÒMS ANAÌÏG ÉNPUÔ ÉN SÅÑUÅNÔÉAÌ ÏÒDÅÒ.  ÔHÅ ÒÅSUÌÔS ª AÒÅ ÃÏNVÅÒÔÅD ÔÏ ÆÌÏAÔÉNG PÏÉNÔ VÏÌÔS AND ÒÅÔUÒNÅD ÉN A ÒÅAÌ AÒÒAY. ª  ª ÃAÌÌÉNG SÅÑUÅNÃÅ: ª   ÃAÌÌ AÉSÑÆ(NUM²¬ÃHAN¬VÏÌÔ²¬ÅÒÒ±© ª  ×HÅÒÅ:  NUM² - NUMBÅÒ ÏÆ ÃHANNÅÌS ÔÏ BÅ ÒÅAD ( ÉÆ N<0 ÔHÅN ª                 PÅÒÆÏÒM PAÃÅD ÃÏNVÅÒSÉÏN© ª          ÃHAN - SÔAÒÔÉNG ÃHANNÅÌ ÏÆ SÃAN (ÉÆ ÃHAN<0 ÔHÅN ª                  PÅÒÆÏÒMS NUM² ÒÅADÉNGS ÆÒÏM ÃHANNÅÌ -ÃHAN© ª          VÏÌÔ² - ÒÅAÌ AÒÒAY ÆÏÒ ÃÏNVÅÒÔÅD DAÔA ª          ÅÒÒ - ÅÒÒÏÒ ÒÅÔUÒN PAÒAMÅÔÅÒ ª                  BÉÔ 0 ½ ÏVÅÒÆÌÏ× ÏN AÔ ÌÅASÔ ÏNÅ ÒÅADÉNG ª                  BÉÔ ± ½ PAÃÅ ÅÒÒÏÒ ÏN AÔ ÌÅASÔ ÏNÅ ÒÅADÉNG ª  AÉSÑÆ NÏP           ÆÏAÔÉNG PÔ. SÅÑUÅNÔÉAÌ SÃAN       ÌDA AÉSÑÆ     ÆÅÔÃH ÒÅÔUÒN ADDÒÅSS       ÃÌB           ÃÌÅAÒ ÆÉØÅD PÏÉNÔ ÆÌAG       ÊMP SÑSÃN     GÏ ÔÏ SÅÑUÅNÔÉAÌ SÃAN       SPಠAÉSÑ× NÏP           ÆÉØÅD PÔ. SÅÑUÅNÔÉAÌ SÃAN       ÌDA AÉSÑ×     ÆÅÔÃH ÒÅÔUÒN ADDÒÅSS       ÃÌB¬ÉNB       SÅÔ ÆÉØÅD PÏÉNÔ ÆÌAG       SPà± SÑSÃN ÊSB SÅÔUP     GÏ ÔÏ ÉNÉÔÉAÌÉZÅ ÒÏUÔÉNÅ       SPà±       ÌDA ÃHAN¬É    SAVÅ SÔAÒÔ ÃHANNÅÌ AS NØÔSàSÔA SÉNGÌ      SÉNGÌÅ ÃHAN. ÆÌAG       SSA           ÉÆ NÅGAÔÉVÅ       ÃMA¬ÉNA        MAKÅ PÏSÉÔÉVÅ       ÊSB ÆÃHN      ÆÅÔÃH ÃHANNÅÌ HAÒD×AÒÅ ADDÒÅSS       ÉÏÒ DÉGÔZ    ÆÏÒM DÉGÉÔÉZÅ ÃÏMMAND       SÔA ÃHANÌ      ×ÏÒD AND SAVÅ       ÉÏÒ PAÃÅD     ÏÒ ÉN PAÃÅ BÉÔ       SSB¬ÒSS       ÉÆ ÌÏ× ÌÅVÅÌ       ÊMP ÌÌSÑ       GÏ PÒÏÃÅSS       ÌDB SÉNGÌ     ÉÆ SÉNGÌÅ ÃHANNÅÌ       SSB            SÃAN GÏ ÔÏ       ÊMP HÌSÑÒ       HÉGH ÌÅVÅÌ ÅØÅàÃAÌÌ       ÉÏÒ ½B±60000  GÅNÅÒAÔÅ SÅÑUÅNÔÉAÌ       ÌDB ADÒS       ÃÏMMAND¬ SÅÔÔÉNG       ÃPB ADÒS±       BÉÔ 0 ÉÆ       ÉÏÒ .±           SÉNGÌÅ ÅNDÅD SÃAN       SPà±       ÌDB ÒÅMÃH     ÌÅNGÔH ÏÆ SÃAN       ADB ÃNÔÒ       ÉS ÔHÅ SMAÌÌÅÒ       ÃMB¬SSB¬ÉNB¬ÒSS  ÏÆ -ÃNÔÒ       ÃÌB            ÏÒ ÔHÅ ÒÅMAÉNDÅÒ       ADB ÒÅMÃH        ÏÆ ÔHÅ ÃHANNÅÌS       SÔB NUM           ÉN ÔHÉS ÅNÔÒY       SPà± HÌSÑÒ SÔA SÅÑ   ¡‘þú    SAVÅ MÏDÅ       SPà±       ÊSB ÅØÅà     ªªªªªªªªªªªªªªªªªªªªªªªªªªªª       DÅÆ ª+5       PÅÒÆÏÒM       DÅÆ .²         HÉGH       DÅÆ DMAÌU       ÌÅVÅÌ       DÅÆ SBUƲ        SÃAN       DÅÆ .3        ªªªªªªªªªªªªªªªªªªªªªªª       SPà± SÑÃÏN SZB¬ÒSS       ÉÆ ÔÒANSMÉSSÉÏN ÌÏG ÅÑUAÌS       ÊMP ÅÒÒ²       ZÅÒϬ GÉVÅ ÅÒÒÏÒ ² ª ÔHÅ ÆÏÌÌÏ×ÉNG ÉNSÔÒUÃÔÉÏNS ÃÏNVÅÒÔ ÔHÅ DAÔA ÊUSÔ ÒÅAD ÉN ª ÔÏ ÆÌÏAÔÉNG PÏÉNÔ AND UPDAÔÅ PÏÉNÔÅÒS "VÏÌÔ"¬ AND "VÏÌÔ±" ª ÔÏ PÏÉNÔ AÔ ÒÅMAÉNÉNG SÔÏÒAGÅ.       ÌDA NUM       ÆÅÔÃH £ ÃHANNÅÌS ÔHÉS SÃAN       ÃMA¬ÉNA        NUMBÅÒ ÏÆ ÃHANNÅÌS       SÔA ÌÏÏPà      ÒÅAD ÆÏÒ ÌÏÏP ÃÏUNÔÅÒ       SPà± SÑñ  ÌDB VÏÌÔ±¬É   ÆÅÔÃH NÅØÔ ÒÅADÉNG       ÊSB ÃÏNV      ÃÏNVÅÒÔ ÔÏ ÆÌÏAÔÉNG PÏÉNÔ       ÉSZ VÏÌÔ±     BUMP DAÔA ADDÒÅSS       ÉSZ ÌÏÏPà    ÌASÔ ÃHANNÅÌ       ÊMP SÑñ      NÏ - ÃÏNÔÉNUÅ       SPà± SÑò  ÌDB NUM       UPDAÔÅ -(NUMBÅÒ ÏÆ ÃHNÌS©       ADB ÃNÔÒ       ÒÅMAÉNÉNG       SSB¬ÒSS       ÉÆ ÃNÔÒ½0 ¬ ÅND ÏÆ       ÊMP ÅNÔÒY¬É    SÃAN SÏ ÒÅÔUÒN       SÔB ÃNÔÒ      ÏÔHÅÒ×ÉSÅ SAVÅ       ÌDA NUM       ÃÏMPUÔÅ NÅ×       ADA SÉNGÌ      SÔAÒÔ ÃHANNÅÌ       ÃMB¬ÉNB       SAVÅ PÏSÉÔÉVÅ NUMBÅÒ ÏÆ       SÔB NUM        ÃHANNÅÌS ÒÅMAÉNÉNG       ÊMP NØÔSà    GÏ ÔÏ NÅØÔ SÃAN       SPà±       SPà´ ÌÌSÑ  ØÏÒ ½B±60000  SÅÔ UP       SÔA GÃHN       GAÉN ÅNÔÒY       ØÏÒ ½B±60000  ÒÅSÔÏÒÅ "A" ÔÏ DÉGÉÔÉZÅ       ÌDB SÉNGÌ     ÉÆ NÏÔ SÉNGÌÅ       SSB¬ÒSS        ÃHANNÅÌ SÃAN¬       ÉÏÒ ½B±60000    ÃHANGÅ ÔÏ SÅÑUÅNÔÉAÌ       SÔA SÅÑ          AND SAVÅ       SSB           ÉÆ SÉNGÌÅ ÃHANNÅÌ SÃAN       ÊMP ÌÌSÑÒ     GÏ PÅÒÆÏÒM SÃAN       AND ½B3·      ÃÏMPUÔÅ ÔHÅ NUMBÅÒ       ÃMA¬ÉNA        ÏÆ ÃHANNÅÌS ÒÅMAÉNÉNG       ADA .3²         ÏN ÔHÅ ADDÒÅSSÅD       AÒS              ÌÏ× ÌÅVÅÌ ÃAÒD       ADA ÃNÔÒ      SÃAN ÌÅNGÔH       ÃMA¬SSA¬ÉNA    ÉS ÅÑUAÌ       ÃÌA             ÔÏ ÔHÅ SMAÌÌÅSÔ ÏÆ       ADA ÃNÔÒ         ÔHÅ ÆÏÌÌÏ×ÉNG:       ADA ÒÅMÃH     ±. £ ÃHNÌS ÌÅÆÔ ÏN ÃAÒD       ÃMA¬SSA¬ÉNA¬ÒSS       ÃÌA           ². £ ÃHNÌS ÌÅÆÔ GþúÉN SÃAN       ADA ÒÅMÃH       SÔA NUM       3. £ ÃHNÌS ÌÅÆÔ ÉN ÔABÌÅ ÅNÔÒY       SPà± ÌÌSÑÒ ÊSB ÅØÅà     ªªªªªªªªªªªªªªªªªªªªªªª       DÅÆ ª+5       PÅÒÆÏÒM       DÅÆ .²         ÌÏ×       DÅÆ DMAÌU       ÌÅVÅÌ       DÅÆ SBUƱ        SÃAN       DÅÆ .5        ªªªªªªªªªªªªªªªªªªªªªªªª       SPà±       ÊMP SÑÃÏN     ÃÏNVÅÒÔ DAÔA ÔÏ ÆÌÏAÔÉNG VÏÌÔS       SPà´ SBUƱ ÏÃÔ 3         -----------------------------       ÏÃÔ ²       DÅÆ GÃHN SBUƲ ÏÃÔ 3       ÏÃÔ ±          SÅMÉ-DYNAMÉàBUÆÆÅÒ       DÅÆ ÃHANÌ      ÆÏÒ ²3±3 SÃANS       ÏÃÔ 3       ÏÃÔ 0       DÅÆ SÅÑ .´    ÏÃÔ ´ NUM   NÏP           NUMBÅÒ ÏÆ ÒÅADÉNGS VÏÌÔ± NÏP           DAÔA SÔÏÒAGÅ       ÏÃÔ 3         ÃÌÅAN       ÏÃÔ ±          UP ÏPÅÒAÔÉÏN       DÅÆ DÉGÔZ       ÔÏ ÒÅÌÅASÅ ÌÌ MPØ       SPà´ DÉGÔZ ÏÃÔ ±²0000 M±    DÅà-±       SKP ª "PAÃÅÒ" SÅÔS UP ÔHÅ SYSÔÅM PAÃÅÒ¬ ÏÒ ÉÆ ÔHÅ PAÃÅ ÒAÔÅ ÉS ZÅÒÏ ª ÔUÒNS ÏÆÆ ÔHÅ SYSÔÅM PAÃÅÒ. ª  ª ÃAÌÌÉNG SÅÑUÅNÃÅ: ª  ª    ÃAÌÌ PAÃÅÒ(ÒAÔŬMUÌÔ¬MÏDÅ Û¬UNÉÔÝ© ª ×HÅÒÅ: ª    ÒAÔÅ - BASÉàPAÃÅÒ ÒAÔÅ (0 <½ ÒAÔÅ <½ ²56© ª    MUÌÔ - DÅÃADÅ MUÌÔÉPÌÉÅÒ ÔÉMÅS ÔHÅ BASÉà± MÉÃÒÏSÅÃÏND ª           ÒAÔÅ ( 0 <½ MUÌÔ <½ · © ª    MÏDÅ - ÅØÔÅÒNA̯SÔAÒÔ SÔÏP MÏDÅ (BÉÔS ±± AND ±² ÏÆ PAÃÅÒ ª           ÃÏMMAND ×ÏÒD - SÅÅ ±²·55A MANUAÌ© ª    UNÉÔ - SUBSYSÔÅM NUMBÅÒ (ÏPÔÉÏNAÌ - ASSUMÅD ±© ª  ÒAÔÅ  NÏP MUÌÔ  NÏP MÏDÅ  NÏP UNÉÔ± NÏP ÅÒÒ´  NÏP PAÃÅÒ NÏP       ÊSB .ÅNÔÒ     ÆÅÔÃH PAÒAMÅÔÅÒ       DÅÆ ÒAÔÅ       ADDÒÅSSÅS       ÃÌA¬ÉNA       PÒÅSÅÔ ÅÒÒÏÒ ÔÏ ±       SÔA ÅÒÒ´¬É       ÌDA PAÃÅÒ     SAVÅ ÒÅÔUÒN       SÔA ÅNÔÒY       ADDÒÅSS       ÌDB UNÉÔ±     ÆÅÔÃH ÌÏGÉÃAÌ       ÊSB ÆNDÌU      UNÉÔ NUMBÅÒ       SPà±       ÃÌB           ÃHÅÃK AÌÌ       ÌDA ÒAÔŬɠ    PAÒAMÅÔÅÒS       ASÒ 5           ÆÏÒ ÔHÅ ÆÏÌÌÏ×ÉNG       ÉÏÒ MUÌԬɠ      ÌÉMÉÔS:       AÒS            ÒAÔÅ  0 - ²55       ÉÏÒ MÏDŬɠ    MÏDÅ  0 - 3       AÒS¬AÒS        MUÌÔ  0 - ·       SZA           ÉÆ ANY PAÒAMÅÔÅÒ ÏUÔ ÏÆ       ÊMP ÅÒÒ3.      ÒANGÅ ÒÅÔUÒN ÅÒÒ½3       Ü þúSPà±       ÃÌA¬ÉNA       ASSUMÅ ÏNÅ       SÔA ÅNÔNM      ×ÏÒD ÅNÔÒY       ÌDB DÃMD²     ÆÅÔÃH ÏUÔPUÔ BUÆÆÅÒ ADDÒÅSS       ÌDA MÏDŬɠ   ÉÆ MÏDÅ ½ 0       SZA¬ÒSS        AND ÒAÔÅ ÉS NÏÔ 0       ÃPA ÒAÔÅ        ÔHÅN GÏ ÔÏ GÅNÅÒAÔÅ       ÊMP NZMÏD        PAÃÅÒ ÃÏMMAND ×ÏÒD       ADB M±        ÅÌSŬ GÅNÅÒAÔÅ A ±0 MS DÅÌAY       ÉNA            BÅÆÏÒÅ PÒÏGÒAMMÅD       ÉSZ ÅNÔNM       ÒAÔÅ SÔAÒÔS       SPà± NZMÏD SÔB DÅÆBÆ     SÔÏÒÅ ÑUÅUÅ BUÆÆÅÒ ADDÒÅSS       ÌSÌ 3         GÅNÅÒAÔÅ       ÉÏÒ MUÌԬɠ    PAÃÅÒ       ÌSÌ ¸           ÃÏMMAND       ÉÏÒ ÒAÔŬɠ      ×ÏÒD       ÉÏÒ ½B60000       AND       SÔA ÃMD²           SAVÅ       SPà±       ÊSB ÅØÅà     ªªªªªªªªªªªªªªªªªªªªªªªª       DÅÆ ª+5       SÅÔ       DÅÆ .²         UP       DÅÆ ÌU          PAÃÅÒ       DÅÆ ÑBUÆ       DÅÆ .±        ªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªª       SPà±       SZB¬ÒSS       ÉÆ ZÅÒÏ ÔÒANS. ÌÏG GÉVÅ ÅÒÒÏÒ ² ÅÒÒ². ÉSZ ÅÒÒ´¬É       ÊMP ÅNÔÒY¬É ª  ÅÒÒ3. ÉSZ ÅÒÒ´¬É    MAKÅ ÅØÉÔ ×ÉÔH       ÊMP ÅÒÒ².     ×ÉÔH ÅÒÒ´½3       SPà´ ª  ÅÒÒÏÒ ÒÏUÔÉNÅS ÆÏÒ ²3±3 ÉNÔÅÒÆAÃÅ ª    ÅÒÒ² - ÅÒÒÏÒ NUMBÅÒ ² ª   ÅÒÒ3 - ÅÒÒÏÒ NUMBÅÒ 3 ÅÒÒ3  ÉSZ ÅÒҬɠ    BUMP ÅÒÒÏÒ ÃÏUNÔ ÅÒÒ²  ÉSZ ÅÒҬɠ    BUMP ÅÒÒÏÒ ÃÏUNÔ       ÊMP ÅNÔÒY¬É   ÒÅÔUÒN       SPà3 ÑBUÆ  ÏÃÔ 3         ÑUÅUÅ BUÆÆÅÒ ÆÏÒ PAÃÅÒ ÃAÌÌ ÅNÔNM NÏP DÅÆBÆ NÏP DÃMD² DÅÆ ÃMD²       ÏÃÔ 6±´±²     ±0 MS SÔAÒÔ ÉMMÅDÉAÔÅ ÃMD²  NÏP       SKP A     ÅÑU 0 B     ÅÑU ± AÉÒD  ÅÑU AÉÒD× AÉSÑ  ÅÑU AÉSÑ× NMÃHN ÅÑU AÉSÑÆ ÃNÔÒ  ÅÑU AÉSÑ× ÌU    ÅÑU AÉÒD× SÉNGÌ ÅÑU AÉÒDÆ SÅÑ   ÅÑU GN± ÃHANÌ ÅÑU ÃHN² ÒÅMÃH ÅÑU SGAÉN .ADà ÅÑU ÒAÔÅ ADÒS  ÅÑU NÏÒM ADÒS± ÅÑU SÅÔUP MÃHN  ÅÑU ÅNÔNM ÆÉØPÔ ÅÑU DÅÆBÆ ÔÅMP  ÅÑU GÃHN AÆÃÔÒ ÅÑU ÒGAÉN .±    ÅÑU ÒBUƲ+± .²    ÅÑU ÒBUƱ+± .3    ÅÑU ÒBUƱ .5    ÅÑU ÒBUƲ PAÃÅD ÅÑU ÃHN± ÌÏÏPàÅÑU ÆÃHN DMAÌU ÅÑU PAÃÅÒ       ÅND ÖþHFBBHÿÿ ÿýIZ ÿ09610-80022 A S 0122 ANALOG OUTPUT              H0101 ôþúASMB¬Ò¬Ì¬Ã¬Æ¬B ª     ±¸ MAÒÃH ·´       HÅD ÉSA S6±.± ANAÌÏG ÏUÔPUÔ  A-096±0-600²² ÒÅV. A ª  ª AÏÆ¬AÏ׬AÏ - ANAÌÏG ÏUÔPUÔ ÔÏ ²3±3 AND 69´0 ª  ª SÏUÒÃÅ ÔAPÅ - 096±0-¸00²² ÒÅV. A ª ÒÅÌÏÃ. ÔAPÅ - 096±0-600²² ÒÅV. A ª  ª VÅÒSÉÏN - ÊANUAÒY ±9·´ ª  ª AUÔHÏÒ - Ô.A. SAPÏNAS ª        NAM AÏÆ.׬·       ÅNÔ AÏÆ¬AÏ׬AÏ       ÅØÔ .ÅNÔÒ¬ÅØÅì..DAì£69´0       SUP B     ÅÑU ± ª  ª AÏÆ PÅÒÆÏÒMS ANAÌÏG ÏUÔPUÔ ÔÏ ÔHÅ HP²3±3B DUAÌ DAàÃAÒD USÉNG ª ÒÔÅ DÒÉVÅÒ DVÒ6² ÏÒ ÔÏ 69´0 VÏÌÔAGÅ AND ÃUÒÒÅNÔ DAÃS USÉNG ÒÔÅ ª DÒÉVÅÒ DVÒ6±. ª  ª ÃAÌÌÉNG SÅÑUÅNÃÅ: ª   ÃAÌÌ AÏÆ(NUM¬ÃHAN¬VÏÌÔ¬ÅÒÒ© ª    ×HÅÒÅ: ª     NUM - ABS(NUM© ½ NUMBÅÒ ÏÆ ÏUÔPUÔ VAÌUÅS ª           NUM < 0   PAÃÅD ÏUÔPUÔ ª           NUM ¾ 0   UNPAÃÅD ÏUÔPUÔ ª     ÃHAN - ÉNÔÅGÅÒ AÒÒAY ÏÆ ANAÌÏG ÏUÔPUÔ ÃHANNÅÌ NUMBÅÒS ª     VÏÌÔ - ÆÌÏAÔÉNG PÏÉNÔ AÒÒAY ÏÆ ÏUÔPUÔ VÏÌÔAGÅS ÏÒ ÃUÒÒÅNÔS ª     ÅÒÒ - ÅÒÒÏÒ ÒÅÔUÒN PAÒAMÅÔÅÒ ª           ± - NÏ ÅÒÒÏÒ ª           ² - DÅVÉÃÅ ÔÉMÅ ÏUÔ ª           3 - ADDÒÅSS ÏUÔ ÏÆ ÒANGÅ ÏÒ NÏ ÃHANNÅÌS ª           ´ - ÏUÔPUÔ VÏÌÔAGÅ ÏÒ ÃUÒÒÅNÔ ÏUÔ ÏÆ ÒANGÅ ª  ª AÏ× ÉS ÉDÅNÔÉÃAÌ ÔÏ AÏÆ ÅØÃÅPÔ AÒÒAY VÏÌÔ ÉS AN ÉNÔÅGÅÒ AÒÒAY ª ÃÏNÔAÉNÉNG ÔHÅ ANAÌÏG ÏUÔPUÔ VAÌUÅS ÉN ÔHÅ ÆÏÒMAÔ SPÅÃÉÆÉÅD ª BY ÔHÅ DÅVÉÃÅ MANUAÌ ª  ª  ª ÉÆ AN ÏUÔPUÔ VAÌUÅ ÅØÃÅÅDS ÔHÅ MAØÉMUM¬ ÔHÅ MAØÉMUM VAÌUÅ ÏÆ ÔHÅ ª ÃÏÒÒÅSPÏNDÉNG SÉGN ÉS ÏUÔPUÔ AND ÔHÅ ÅÒÒÏÒ NÏÔÅD ÉN ÉÅÒÒ. ª  AÏÆ   NÏP       ÌDA AÏÆ       ÆÅÔÃH ÒÅÔUÒN ADDÒÅSS       ÃÌB           ÃÌÅAÒ ÆÉØÅD PÏÉNÔ ÆÌAG       ÊMP SÔAÒÔ     ÊÏÉN ÒÏUÔÉNÅ AÏ×       SPಠAÏ×   NÏP       ÌDA AÏ×       ÆÅÔÃH ÒÅÔUÒN ADDÒÅSS       ÃÌB¬ÉNB       SÅÔ ÆÉØÅD PÏÉNÔ ÆÌAG       SPà± SÔAÒÔ SÔA ÅNÔÒY     SAVÅ ÒÅÔUÒN ADDÒÅSS       SÔB ÆÉØPÔ     SAVÅ ÆÉØÅD PÏÉNÔ ÆÌAG       ÊMP ÅNÔÒY+±   GÏ ÆÅÔÃH PAÒAMS. NUM   NÏP ÃHAN  NÏP VÏÌÔ  NÏP ÅÒÒ   NÏP ÅNÔÒY NÏP       ÊSB .ÅNÔÒ     ÆÅÔÃH PAÒAMÅÔÅÒ       DÅÆ NUM        ADDÒÅSSÅS       ÃÌB¬ÉNB       ÉNÉÔÉAÌÉZÅ ÅÒÒÏÒ       SÔB ÅÒҬɠ     ÆÌAG ÔÏ ±       ÌDA NUM¬É     ÆÅÔÃH NUMBÅÒ ÏÆ ÃHNÌS       SZA¬ÒSS       ÉÆ ZÅÒÏ       ÊMP ÅÒ çþúÒ3       ÒÅÔUÒN ×ÉÔH ÅÒÒÏÒ 3       SSA           ÉÆ NÅGAÔÉVÅ       ÌDB ½B±0000    SÅÔ PAÃÅ BÉÔ       SÔB PAÃÅD       AND SAVÅ       SSA¬ÒSS       ÉÆ PÏSÉÔÉVÅ       ÃMA¬ÉNA        ÃÏMPÌÅMÅNÔ AND       SÔA NUM         SAVÅ ÆÏÒ ÌÏÏP ÃÏUNÔÅÒ       SKP ª  ANAÌÏG ÏUÔPUÔ ÌÏÏP SÔAÒÔS HÅÒÅ AÏÆ±  ÌDA ÃHAN¬É    ÆÅÔÃH ÃHANNÅÌ NUMBÅÒ       ÃMA¬SSA¬ÉNA¬SZA   AND ÃÏMPÌÅMÅNÔ       ÒSS           ÉÆ < ½ 0 ÔHÅN       ÊMP ÅÒÒ3       GÉVÅ ÅÒÒÏÒ £3       SÔA ÃNÔÒ      SAVÅ -( ÃHANNÅÌ NUM. ©       ÌDB ..DAà    ÆÅÔÃH DAàÔABÌÅ ADDÒÅSS       ADA B¬É       ÉÆ ADDÒÅSSÅD       SSA            ÃHANNÅÌ ÉS NÏÔ DÅÆÉNÅD       ÊMP DAÃ69       ÉN ²3±3¬ ÔÒY 69´0       SPà±       ÒSS ÆDAà SÔA ÃNÔÒ      SAVÅ -(£ÃHANNÅÌS ÒÅMAÉNÉNG©       ÉNB           BUMP DAàÔABÌÅ ADDÒÅSS       ÌDA B¬É       ÆÅÔÃH NÅØÔ ÔABÌÅ ÅNÔÒY       AND ½B·        AND MASK ÏÆ £ÃHNÌS-±       ADA ÃNÔÒ      ADDÒÅSSÅD ÃHANNÅÌ       SSA¬ÉNA¬SZA    ÉN ÔHÉS ÅNÔÒY?       ÊMP ÆDAà     NϬ ÃÏNÔÉNUÅ SÅAÒÃH       SÔB ÅNÔDà    YÅS¬ SAVÅ ÅNÔÒY ADDÒÅSS       SPà±       ÃÌB           ÃÌÅAÒ ÃUÒÒÅNÔ DAàÆÌAG       ÊSB ÆVÏÌÔ     ÃÏNVÅÒÔ VÏÌÔS ÔÏ       ASÌ ´          DAàDAÔA ×ÏÒD       SÔA ÏUÔV        AND SAVÅ ÉN ÏUÔPUÔ BUÆÒ       SPà±       ÌDA ÅNÔDìɠ  ÆÅÔÃH ÃHANNÅÌ ÅNÔÒY       ÃÌB           ÅØÔÒAÃÔ ÌU       ASÌ 6          ÆÒÏM ÅNÔÒY       SÔB ÌU          AND SAVÅ       ASÒ ´         SHÉÆÔ AND       AND ½B··´0     MASK BÏØ AND SÌÏÔ NUMBÅÒ       ÌDB ÃNÔÒ      ÆÅÔÃH ÃHANNÅÌ       ÃMB            NUMBÅÒ AND       BÌÆ             "ÏÒ" ÉNÔÏ       ÉÏÒ B            ÃÏMMAND ×ÏÒD       ÉÏÒ PAÃÅD     ÏÒ ÉN PAÃÅ BÉÔ       ÉÏÒ ½B´000±   ÏÒ ÉN ÃÏMMAND ÃÏDÅ       SÔA ÃMND      SAVÅ ÃÏMMAND ×ÏÒD       SPà±       ÊSB ÅØÅà     ªªªªªªªªªªªªªªªªªªªªªªªªª       DÅÆ ª+5       DÅÆ .²        PÅÒÆÏÒM       DÅÆ ÌU         ANAÌÏG       DÅÆ ÑBUÆ        ÏUÔPUÔ       DÅÆ .±        ªªªªªªªªªªªªªªªªªªªªªªªªªª       SPà±       SZB¬ÒSS       ÉÆ ÔÒANSMÉSSÉÏN ÌÏG ÅÑUAÌS       ÊMP ÅÒÒ²       ZÅÒϬ GÏ ÔÏ ÅÒÒÏÒ ²       SPà± Ìâþú NØÔV  ÌDA ÆÉØPÔ     ÉÆ ÆÉØÅD PÏÉNÔ ÆÌAG       SZA¬ÒSS        BUMP VÏÌÔ ADDÒÅSS ÏNÅ ×ÏÒD       ÉSZ VÏÌÔ      UPDAÔÅ       ÉSZ VÏÌÔ       VÏÌÔAGÅ       ÉSZ ÃHAN       AND ÃHANNÅÌ ADDÒÅSSÅS       ÉSZ NUM       ÌASÔ ÃHANNÅÌ?       ÊMP AÏÆ±      NϬ ÃÏNÔÉNUÅ       SPಠ      ÊMP ÅNÔÒY¬É   ÒÅÔUÒN       SPà± ÅÒÒ3  ÉSZ ÅÒҬɠ    ÅÒÒÏÒ ÒÅÔUÒN ÏÆ 3 ÅÒÒ²  ÉSZ ÅÒҬɠ    ÅÒÒÏÒ ÒÅÔUÒN ÏÆ ²       ÊMP ÅNÔÒY¬É       SPಠÑBUÆ  ÏÃÔ 3 .²    ÏÃÔ ²       DÅÆ ÃMND       SPà± ÃMND  NÏP ÏUÔV  NÏP PAÃÅD NÏP ÃNÔÒ  NÏP ÉÒÅÌàÅÑU ÃNÔÒ ÌU    NÏP .±    ÏÃÔ ± .´    ÏÃÔ ´ AÏ    ÅÑU AÏ× ÆÉØPÔ ÅÑU AÏ× ÅNÔDàÅÑU AÏÆ ÏVÒÆ  ÅÑU ÃMND       SKP ÆVÏÌÔ NÏP       ÌDA ÆÉØPÔ     ÉÆ ÆÉØÅD PÏÉNÔ       SZA¬ÒSS        ÉS ÃÌÅAÒ GÏ ÔÏ       ÊMP ÆØVÌÔ       ÆÌÏAÔÉNG ÃÏNVÅÒÔ       ÉSZ ÆVÏÌÔ     BUMP ÒÅÔUÒN ADDÒÅSS       ÌDA VÏÌԬɠ   ÆÅÔÃH DAÔA ×ÏÒD       ÊMP ÆVÏÌԬɠ   AND ÒÅÔUÒN       SPà± ÆØVÌÔ ADB DÅÆÌM     ÃÏMPUÔÅ VÏÌÔAGÅ ÌÉMÉÔ       SÔB ÏVÒÆ       ÔABÌÅ ADDÒÅSS AND SAVÅ       SPà±       DÌD VÏÌԬɠ   ÌÏAD VÏÌÔAGÅ ÏÒ ÃUÒÒÅNÔ       ÆMP ½Æ-²00.   ÃÏMPUÔÅ: -ÉNÔÅGÅÒ       ÆÉØ            VAÌUÅ ÆÏÒ DAà       SÔA ÏUÔV        AND SAVÅ       ADA ÏVÒÆ¬É    ÉÆ BÅYÏND UPPÅÒ       SSA            BÏUND¬ SÅÔ ÏUÔPUÔ       ÊMP ÏVÒÆÌ       ÔÏ UPPÅÒ BÏUND       ÉSZ ÏVÒÆ      MÏVÅ PÏÉNÔÅÒ ÔÏ ÌÏ×ÅÒ BÏUND       ÌDA ÏUÔV      ÉÆ ÌÅSS ÔHAN       ADA ÏVÒÆ¬É     ÌÏ×ÅÒ BÏUND¬       ÃMA¬ÉNA       SSA             SÅÔ ÏUÔPUÔ       ÊMP ÏVÒÆÌ        ÔÏ ÌÏ×ÅÒ BÏUND       ÌDA ÏUÔV      VAÌUÅ ×ÉÔHÉN BÏUNDS SÏ       ÃMA¬ÉNA        ÃÏMPÌÅMÅNÔ¬ MASK AND SAVÅ       ÊMP ÆVÏÌÔ¬É       SPà± ÏVÒÆÌ ÌDA .´        SÅÔ ÅÒÒÏÒ PAÒAMÅÔÅÒ       SÔA ÅÒҬɠ     ÔÏ ´       ÌDA ÏVÒÆ¬É    SÅÔ ÏUÔPUÔ VÏÌÔAGÅ ÔÏ ÌÉMÉÔ       ÊMP ÆVÏÌÔ¬É       SKP ª  ª     ÅNÔÅÒ ×ÉÔH (A© ½ - ÒÅÌAÔÉVÅ DAàÃHANNÅÌ NUMBÅÒ. ª  DAÃ69 ÅÑU ª       ÃMA¬ÉNA       MAKÅ ÒÅÌ. ÃHNÌ ADDÒÅSS PÏSÉÔÉVÅ       SÔA ÉÒÅÌà    SAVÅ       ÌDB £69´0     ÆÅÔÃH ÔHÅ HP69´0       ÌDA B¬É        ÌÏGÉÃAÌ UNÉÔ NUMBÅÒ       SÔA ÌU  Âþú        AND SAVÅ       ÌDA ÉÒÅÌà    GÅÔ ÒÅÌAÔÉVÅ DAàÃHANNÅÌ £       ADB .²        GÅÔ ADDÒÅSS ÏÆ ÌASÔ ÉNPUÔ ÃAÒD       ADA B¬É       ÃÏNVÅÒÔ ÒÅÌ.SÌÏÔ£ ÔÏ HAÒD×AÒÅ SÌÏÔ£ ª                   NÏÔÅ:HAÒD×AÒÅ SÌÏÔ£ ½ SÏÆÔ×AÒÅ SÌÏÔ £ -±       ÃMA¬ÉNA       MAKÅ NÅGAÔÉVÅ       SÔA ÉÒÅÌà    SAVÅ NÅG. SÆÔ×Ò ÃHNÌ £       ÉNB           GÅÔ ADDÒÅSS ÏÆ ÌASÔ VÏÌÔAGÅ DAàÃAÒD       ADA B¬É       ADD SÌÏÔ £ ÆÏÒ ÌASÔ VÏÌÔAGÅ DAàÃAÒD       SÔA ÏUÔV      SAVÅ VÏÌÔ¯ÃUÒÒÅNÔ DAàÆÌAG       ÌDA ÉÒÅÌà    GÅÔ -SÌÏÔ £ AGAÉN       ÉNB           GÅÔ ADDÒÅSS ÏÆ ÌASÔ ÃUÒÒÅNÔ DAà       ADA B¬É       ADD ÌASÔ ÃUÒÒÅNÔ DAàSÌÏÔ £       SSA           SÌÏÔ £ ¾ÌASÔ DAàSÌÏÔ?       ÊMP ÅÒÒ3      YÅS¬ ÃAÒD ADDÒÅSS ÅÒÒÏÒ.       SPà±       ÌDA ÏUÔV      GÅÔ DAàÔYPÅ(<0 ÃUÒÒÅNÔ¬½¾0 VÏÌÔ©       ÃÌB           ÉÆ ÃUÒÒÅNÔ DAìUSÅ SÅÃÏND       SSA             ÅNÔÒY ÉN ÌÉMÉÔ ÔABÌÅ       ÌDB .²       ÊSB ÆVÏÌÔ     ÃÏNVÅÒÔ DAÔA ÔÏ       AND B····      ÔÏ ÏUÔPUÔ ÃÏMMAND       SÔA ÏUÔV         AND SAVÅ       SPà±       ÌDA ÉÒÅÌà    ÃÏMPUÔÅ       ÃMA            BÏØ       ÃÌB             AND       DÉV ½D±5         SÌÏÔ ADDÒÅSS       ÉÏÒ ½B±·0±´0  ÏÒ BÏØ £ ÉNÔÏ ÃÏNÔÒÏÌ ×ÏÒD       SÔA ÃMND       AND SAVÅ ÉN ÏUÔPUÔ BUÆÆÅÒ       ÃÌA           MÏVÅ SÌÏÔ ADDÒÅSS       ASÒ ´          ÔÏ UPPÅÒ ´ BÉÔS       ÉÏÒ ÏUÔV      GÅNÅÒAÔÅ ÏUÔPUÔ       SÔA ÏUÔV       DAÔA ×ÏÒD       SPà±       ÊSB ÅØÅà     ªªªªªªªªªªªªªªªªªªªªªªªªªªª       DÅÆ ª+6       PÅÒÆÏÒM       DÅÆ .²         NÏÒMAÌ       DÅÆ ÌU          ×ÒÉÔÅ       DÅÆ ÃMND         ×ÉÔH       DÅÆ .²            GAÔÅ       DÅÆ ZÅÒÏ      ªªªªªªªªªªªªªªªªªªªªªªªªª       SPà±       AÒS¬AÒS       ÉS ÔÉMÅ ÏUÔ       SÌA            SÔAÔUS BÉÔ SÅÔ?       ÊMP ÅÒÒ²      YÅS¬ GÉVÅ ÔÉMÅÏUÔ ÅÒÒÏÒ       ÊMP NØÔV      NϬ ÆÅÔÃH NÅØÔ VAÌUÅ       SPà±       SPà´ DÅÆÌM DÅÆ ÌÉMÉÔ ÌÉMÉÔ ÏÃÔ 3···      VÏÌÔAGÅ DAàUPPÅÒ BÏUND       ÏÃÔ ±·´000     AND ÌÏ×ÅÒ BÏUND B···· ÏÃÔ ····      ÃUÒÒÅNÔ DAàUPPÅÒ BÏUND ZÅÒÏ  ÏÃÔ 0          AND ÌÏ×ÅÒ BÏUND       ÅN߉D QBÿÿ ÿýJ T ÿ09610-80023 A S 0122 DIGITAL I/O              H0101 ú]þúASMB¬Ò¬Ì¬Ã¬B       HÅD ÉSA S6±.± DÉGÉÔAÌ ÉNPUÔ¯ÏUÔPUÔ  A-096±0-600²3 ÒÅV. A ª  ª DÉ.Ï ÉSA S6±.± DÉGÉÔAÌ ÉNPUÔ¯ÏUÔPUÔ ÒÏUÔÉNÅS ÆÏÒ HP69´0 ª  ª SÏUÒÃÅ ÔAPÅ - 096±0-¸00²3 ÒÅV. A ª ÒÅÌÏÃ. ÔAPÅ - 096±0-600²3 ÒÅV. A ª  ª VÅÒSÉÏN - ÊANUAÒY ±9·´ ª  ª AUÔHÏÒ - Ô.A. SAPÏNAS ª  ª        NAM DÉ.Ϭ·       ÅNÔ DÉ׬DɬDÏÌ׬DÏ̬DÏM׬DÏM       ÅØÔ ÅØÅì.ÅNÔÒ¬$ÌÉBÒ¬$ÌÉBج£69´0       SUP       SPà3 NUMÉ  NÏP ÉÃHAN NÏP ÉDAÔA NÏP ÉÅÒÒ  NÏP DÉ×   NÏP       ÊSB .ÅNÔÒ     ÆÅÔÃH PAÒAMÅÔÅÒ       DÅÆ NUMÉ       ADDÒÅSSÅS       ÃÌB¬ÉNB       ÉNÉÔÉAÌÉZÅ ÅÒÒÏÒ       SÔB ÉÅÒҬɠ    ÔÏ ÏNÅ       ÌDA NUMɬɠ   ÆÅÔÃH NUMBÅÒ       ÃMA¬ÉNA        ÃÏMPÌÅMÅNÔ       SÔA NUMÉ        AND SAVÅ       SSA¬ÒSS       ÉÆ NUMÉ ¾ ½ 0       ÊMP ÉÅÒÒ3      GÉVÅ ÅÒÒÏÒ 3       ÌDB £69´0     ÆÅÔÃH ÌÏGÉÃAÌ       ÌDA B¬É        UNÉÔ NUMBÅÒ       SÔA ÌU          AND SAVÅ       ADB .²        ÃÏMPUÔÅ ADDÒÅSS ÏÆ ÌASÔ       SÔB ÉNPMØ      ÉNPUÔ ÃHANNÅÌ AND SAVÅ       SPà± NØÔÉN ÌDA ÉÃHAN¬É   ÉÆ ÉNPUÔ ÃHANNÅÌ NUMBÅÒ       ÃMA¬SSA¬ÉNA¬SZA   < ÏÒ ½ 0       ÃÌB¬ÒSS         ÏÒ ÉÆ ÃHANNÅÌ NUMBÅÒ       ÊMP ÉÅÒÒ3        ÉS GÒÅAÔÅÒ ÔHAN       ADA ÉNPMجɠ      NUMBÅÒ ÉN ÔABÌÅ       SSA                GÉVÅ ÅÒÒÏÒ       ÊMP ÉÅÒÒ3           NUMBÅÒ 3       SPà±       ÃÃA           ÃÏMPUÔÅ BÏØ       ADA ÉÃHAN¬É    AND       DÉV .±5         SÌÏÔ ADDÒÅSS       ÉÏÒ ÉÃNÔÒ     ÆÏÒM ÃÏNÔÒÏÌ ×ÏÒD       SÔA ÉBUÆÆ+±    AND SAVÅ       BÌÆ¬BÌÆ       SHÉÆÔ SÌÏÔ       BÌÆ            ÔÏ UPPÅÒ ´ BÉÔS       SÔB ÉBUÆÆ+²     AND SAVÅ       SPà±       ÊSB ÅØÅà     ÃAÌÌ       DÅÆ ª+6        69´0       DÅÆ .±          DÒÉVÅÒ       DÅÆ ÌU           ÔÏ       DÅÆ ÉBUÆÆ         ÒÅAD       DÅÆ .5             ÏNÅ       DÅÆ ZÅÒÏ            ×ÏÒD       SPà±       AÒS¬AÒS       ÉÆ ÔÉMÅ ÏUÔ       SÌA            SÔAÔUS BÉÔ SÅÔ       ÊMP ÉÅÒÒ²       GÉVÅ ÉÅÒÒÏÒ ²       ÌDA É×ÏÒD     ÆÅÔÃH ×ÏÒD ÒÅAD       SÔA ÉDAÔA¬É    AND SAVÅ       ÉSZ ÉDAÔA     BUMP AÒÒAY       ÉSZ ÉÃHAN       ADDÒÅSSÅS       ÉSZ NUMÉ  ²Øþú    ÌASÔ ×ÏÒD?       ÊMP NØÔÉN     NϬ ÒÅAD NÅØÔ ×ÏÒD       ÊMP DÉ׬ɠ    YÅS¬ ÒÅÔUÒN       SPಠÉÅÒÒ3 ÉSZ ÉÅÒҬɠ   BUMP ÅÒÒÏÒ ÉÅÒÒ² ÉSZ ÉÅÒÒ¬É       ÊMP DÉ×¬É       SPà± ÉÃNÔÒ ÏÃÔ ±·0²´0    ÉNPUÔ ÃÏNÔÒÏÌ ×ÏÒD .3    DÅà3 .±²   DÅà±² ÉNPMØ NÏP ÏUÔMØ ÅÑU ÉNPMØ ÌU    NÏP ZÅÒÏ  ÏÃÔ 0 .5    DÅà5 ª  ª  ÉNPUÔ BUÆÆÅÒ ÉBUÆÆ DÅಠ      BSS ² .±    ÏÃÔ ± É×ÏÒD BSS ±       SPà± .²    ÅÑU ÉBUÆÆ       SKP ª  "SÅÔUP" ÆÅÔÃHÅS PAÒAMÅÔÅÒS AND ÉNÉÔÉAÌÉZÅS ÔHÅ ÆÏÌÌÏ×ÉNG VAÒÉABÌÅS ª  ª ÌU - 69´0 ÌÏGÉÃAÌ UNÉÔ NUMBÅÒ ª ÅÒÒ - ÅÒÒÏÒ ÒÅÔUÒN PAÒAMÅÔÅÒ (SÅÔ ÔÏ ±© ª NUM AND NUM± - SÅÔ ÔÏ MÉNUS NUMBÅÒ ÏÆ ÏUÔPUÔ VAÌUÅS ª ÏUÔMجɠ- ÌASÔ DÉGÉÔAÌ ÏUÔPUÔ ÃHANNÅÌ ÉN 69´0 ª ÏUÔBÌ - ADDÒÅSS ÏÆ ÏUÔPUÔ SÔAÔUS ÔABÌÅ ª  SÅÔUP NÏP       SÔA ÅNÔÒY     SAVÅ ÒÅÔUÒN ADDÒÅSS       ÊMP ÅNÔÒY+±   GÏ ÆÅÔÃH PAÒAMÅÔÅÒS       SPಠNUM   NÏP ÃHAN  NÏP ÏDAÔA NÏP DÅÌAY NÏP MASK  ÅÑU DÅÌAY ÅÒÒ   NÏP ÅNÔÒY NÏP       ÊSB .ÅNÔÒ     ÆÅÔÃH PAÒAMÅÔÅÒ       DÅÆ NUM         ADDÒÅSSÅS       ÌDA £69´0     ÆÅÔÃH ADDÒÅSS ÏÆ 69´0 ÔABÌÅ       ÌDB A¬É       ÆÅÔÃH ÌÏGÉÃAÌ       SÔB ÌU         UNÉÔ NUMBÅÒ AND SAVÅ       ÃÌB¬ÉNB       ÉNÉÔÉAÌÉZÅ ÅÒÒÏÒ       SÔB ÅÒҬɠ     PAÒAMÅÔÅÒ ÔÏ ÏNÅ       ÌDB NUM¬É     ÆÅÔÃH NUMBÅÒ ÏÆ ÏUÔPUÔ ×ÏÒDS       ÃMB¬SSB¬ÉNB¬SZB  ÃÏMPÌÅMÅNÔ AND ÉÆ NUM       ÉNA¬ÒSS        ×AS < ÏÒ ½ 0 GÉVÅ       ÊMP ÅÒÒ3        ÅÒÒÏÒ NUMBÅÒ 3       SÔB NUM       SAVÅ       SÔB NUM±       ÃÏMPÌÅMÅNÔ       SÔA ÏUÔMØ     SAVÅ ADDÒÅSS ÏÆ ÌASÔ ÃHAN       ADA .3        SAVÅ ADDÒÅSS ÏÆ       SÔA ÏUÔBÌ      ÏUÔPUÔ SÔAÔUS ÔABÌÅ       ÊMP SÅÔUP¬É       SPಠÅÒÒ3  ÉSZ ÅÒÒ¬É ÅÒÒ²  ÉSZ ÅÒÒ¬É       ÊMP ÅNÔÒY¬É       SPಠÔMű  ÏÃÔ ±·0±60 ÔMÅ0  ÏÃÔ ±·0±´0 .±5   DÅà±5       SKP ª "DÏM×" PÅÒÆÏÒMS MÏMÅNÔAÒY DÉGÉÔAÌ ÏUÔPUÔ BY ÆÉÒSÔ ÏUÔPUÔÔÉNG ª AÌÌ GÉVÅN DAÔA ×ÏÒDS ÔHÅN SUSPÅNDÉNG ÉÔSÅÌÆ ÆÏÒ ÔHÅ SPÅÃÉÆÉÅD ª ÔÉMŬ ÔHÅN ÏUÔPUÔÔÉNG ZÅÒÏ. ª  DÏM×  NÏP       ÃÌB¬ÉNB       SÅÔ MÏDÅ ÏÆ ÏUÔPUÔ ÔÏ       SÔB MÏDÅ       ×ÒÉÔÅ ×ÉÔH HANDSHAKÅ       ÌDB ÔMÅ0  ÓËþú      AND ÔMÅ ½ 0       SÔB ÃNÔÒÌ       ÌDA DÏM×      ÆÅÔÃH ÒÅÔUÒN ADDÒÅSS       ÊSB SÅÔUP     PÅÒÆÏÒM SÅÔUP       SPà± NØÔ±  ÌDA ÏDAÔA¬É   ÆÅÔÃH ×ÏÒD ÆÏÒ ÏUÔPUÔ       ÊSB ÏUÔPÔ      AND GÏ ÏUÔPUÔ ÉÔ       ÉSZ NUM        ÌASÔ ×ÏÒD?       ÊMP NØÔ±      NϬ ÃÏNÔÉNUÅ       SPà±       ÌDA DÅÌAY¬É   ÆÅÔÃH DÅÌAY       ÃMA¬SSA¬ÉNA¬SZA  ÃÏMPÌÅMÅNÔ AND ÉÆ       ÒSS             DÅÌAY ÉS NÅGAÔÉVÅ ÏÒ ZÅÒÏ       ÊMP ÏUÔ0      SKÉP DÅÌAY       SÔA DÅÌAY       SPà±       ÊSB ÅØÅà     SUSPÅND       DÅÆ ª+6        PÒÏGÒAM       DÅÆ .±²         ÆÏÒ       DÅÆ ZÅÒÏ         SPÅÃÉÆÉÅD       DÅÆ .±            ÔÉMÅ       DÅÆ ZÅÒÏ       DÅÆ DÅÌAY       SPà± ÏUÔ0 ÌDA ÃHAN       ÒÅSÅÔ ÃHANNÅÌ       ADA NUM±       PÏÉNÔÅÒ ÔÏ       SÔA ÃHAN        ÆÉÒSÔ ÅÌÅMÅNÔ ÉN AÒÒAY       SPà± NØÔ²  ÃÌA           ÒÅSÅÔ       ÊSB ÏUÔPÔ      AÌÌ       ÉSZ NUM±        ÏUÔPUÔS       ÊMP NØÔ²         ÔÏ ZÅÒÏ       ÊMP ÅNÔÒY¬É       SKP ª "DÏÌ×" PÅÒÆÏÒMS ÌAÔÃHÉNG DÉGÉÔAÌ ÏUÔPUÔ ª ÔHÅ ÏUÔPUÔ VAÌUÅ ÉS ÅÑUAÌ ÔÏ ÔHÅ ÆÏÌÌÏ×ÉNG ÌÏGÉÃAÌ ÅØPÒÅSSÉÏN ª  ª ÏUÔPUÔ ½ ( DAÔA AND MASK © ÏÒ ( SÔAÔUS AND MASK' © ª  ª ×HÅÒÅ: ª    DAÔA - ÏUÔPUÔ DAÔA ( 3ÒD PAÒAMÅÔÅÒ © ª    MASK - ÏUÔPUÔ MASK ( ´ÔH PAÒAMÅÔÅÒ © ª    SÔAÔUS - PÒÅVÉÏUS ÏUÔPUÔ ×ÏÒD SÔAÔUS ª  DÏÌ×  NÏP       ÃÌB           SÅÔ MÏDÅ ÔÏ       SÔB MÏDÅ       NÏÒMAÌ ÒÅAD       ÌDA ÔMű        ×ÉÔH ÔMÅ ½ ±       SÔA ÃNÔÒÌ       ÌDA DÏÌ×      ÆÅÔÃH ÒÅÔUÒN ADDÒÅSS AND       ÊSB SÅÔUP      GÏ ÔÏ ÉNÉÔÉAÌÉZÅ ÒÏUÔÉNÅ       SPà± NØÔ3  ÌDA ÏDAÔA¬É   ÆÅÔÃH NÅØÔ ÏUÔPUÔ       AND MASK¬É     ×ÏÒD¬ MASK ÉÔ AND       SÔA ÔÅMP        SAVÅ ÒÅSUÌÔ       ÌDA MASK¬É    ÆÏÒM ÃÏMPÌÅMÅNÔ       ÃMA            ÏÆ MASK       ÌDB ÃHAN¬É    ÆÅÔÃH ÃUÒÒÅNÔ       ADB ÏUÔBÌ      ÏUÔPUÔ SÔAÔUS       AND B¬É         AND SAVÅ APPÒÏPÒÉAÔÅ BÉÔS       ÉÏÒ ÔÅMP      ÏÒ ÉN NÅ× BÉÔS AND       ÊSB ÏUÔPÔ      ÏUÔPUÔ ×ÏÒD       ÉSZ MASK      BUMP MASK ADDÒÅSS       ÉSZ NUM       ÌASÔ ÅNÔÒY?       ÊMP NØÔ3      NϬ ÃÏNÔÉNUÅ       ÊMP ÅNÔÒY¬É       SK€’P ª "ÏUÔPÔ" PÅÒÆÏÒMS ÏUÔPUÔ ÔÏ 69´0 AND UPDAÔÅS ÏUÔPUÔ SÔAÔUS ª  ÔABÌÅ. ª  ÏUÔPÔ NÏP       SÔA ÔÅMP      SAVÅ ÏUÔPUÔ ×ÏÒD       ÌDA ÃHAN¬É    ÆÅÔÃH ÃHANNÅÌ NUMBÅÒ       ÃMA¬SSA¬ÉNA¬SZA  ÉÆ < ÏÒ ½ 0       ÃÌB¬ÒSS        GÉVÅ ÅÒÒÏÒ       ÊMP ÅÒÒ3        NUMBÅÒ 3       ADA ÏUÔMجɠ  ÉÆ BÅYÏND ÌASÔ       SSA            ÏUÔPUÔ ÃHANNÅÌ       ÊMP ÅÒÒ3        AÌSÏ GÉVÅ ÅÒÒÏÒ 3       ÃÃA           ÃÏMPUÔÅ       ADA ÃHAN¬É     BÏØ AND SÌÏÔ       DÉV .±5         ADDÒÅSS       ÉÏÒ ÃNÔÒÌ     ÏÒ BÏØ £ ÉNÔÏ ÃÏNÔÒÏÌ ×ÏÒD       SÔA ÏBUÆÆ      AND SAVÅ       ÌDA ÔÅMP      DAÔA ×ÏÒD       AÌÆ            AND ÃÏMBÉNÅ ×ÉÔH       ASÒ ´           SÌÏÔ NUMBÅÒ       SÔA ÏBUÆÆ+±      ÔÏ ÆÏÒM ÏUÔPUÔ ×ÏÒD       SPà±       ÊSB ÅØÅà     PÅÒÆÏÒM       DÅÆ ª+6        DÉGÉÔAÌ       DÅÆ .²          ÏUÔPUÔ       DÅÆ ÌU           ÔÏ       DÅÆ ÏBUÆÆ         69´0       DÅÆ .²       DÅÆ MÏDÅ       SPà±       AÒS¬AÒS       ÉÆ ÔÉMÅÏUÔ       SÌA            BÉÔ SÅÔ GÉVÅ       ÊMP ÅÒÒ²        ÅÒÒÏÒ ²       SPà±       ÌDA ÃHAN¬É    ÃÏMPUÔÅ ÏUÔPUÔ       ADA ÏUÔBÌ      SÔAÔUS ADDÒÅSS       ÌDB ÏBUÆÆ+±   ÆÅÔÃH ÏUÔPUÔ ×ÏÒD       ÉSZ ÃHAN      UPDAÔÅ       ÉSZ ÏDAÔA      PÏÉNÔÅÒS       ÊSB $ÌÉBÒ     ÔUÒN ÏÆÆ ÉNÔÅÒÒUPÔ       NÏP            SYSÔÅM ÔÏ UPDAÔÅ ÔABÌÅ       SÔB A¬É       ÊSB $ÌÉBØ     ÔUÒN ÉNÔÅÒÒUPÔ SYSÔÅM       DÅÆ ÏUÔPÔ      BAÃK ÏN AND ÒÅÔUÒN       SPಠ      SKP A     ÅÑU 0 B     ÅÑU ± DÉ    ÅÑU DÉ× DÏM   ÅÑU DÏM× DÏÌ   ÅÑU DÏÌ× ÔÅMP  ÅÑU DÏÌ× NUM±  ÅÑU DÉ× ÏBUÆÆ ÅÑU NUMÉ ÃNÔÒÌ ÅÑU ÉDAÔA MÏDÅ  ÅÑU ÉÅÒÒ ÏUÔBÌ ÅÑU DÏM×       ÅND ´ÿÿ ÿýKT ÿ09610-80024 B S 0122 EVENT SENSE              H0101 ý—þúASMB¬Ò¬Ì¬Ã¬Æ¬B       HÅD ÉSA ÅVÅNÔ SÅNSÅ    A-096±0-600²´ ÒÅV. B ª  ª ÅVSNS -   ÅVÅNÔ  SÅNSÅ  DÅVÉÃÅ SUBÒÏUÔÉNÅS ÆÏÒ HP69´0A ª  ª SÏUÒÃÅ ÔAPÅ 096±0-¸00²´ ÒÅV. B ª ÒÅÌÏÃ. ÔAPÅ 096±0-600²´ ÒÅV. B ª  ª AUÔHÏÒ - Ô.A. SAPÏNAS ª  ª VÅÒSÉÏN ÏÃÔ ±9·´ --Ò.PASSMÏÒÅ ª  ª  ª        NAM ÅVSNS¬·       ÅNÔ MPNÒM¬ÅVSNS       ÅØÔ .ÅNÔÒ¬£69´0¬ÅØÅì£ÅVNÔ       ÅØÔ $ÌÉBÒ¬$ÌÉBØ       SUP       SKP ª  ª  ª  ÅVSNS SÅÔS UP A BÉÔ¯ÔÒAP DÅÆÉNÔÉÔÏN AND ÅNABÌÅS SÅNSÅ MÏDÅ ª  ÆÏÒ ÔHÅ HP69´0.  PAÒAMÅÔÅÒS AÒÅ ÃHANNÅ̬ NUMBÅÒ ÏÆ ÏUÔPUÔ ª  BÉÔ¬ VAÌUÅ ÏÆ ÏUÔPUÔ BÉÔ¬ ÔÒAP £ USÅD BY ÅVSNS ÃAÌ̬ AND ª  ÅÒÒÏÒ ÒÅÔUÒN.  ÅÒÒ½± ÉS NÏÒMAÌ: ² ÉS ÔÉMÅÏUÔ: 3 ÉS BAD ª  ÃHANNÅÌ ÏÒ BÉÔ ADDÒÅSS. ª  ª  ÃHANÌ NÏP           ÏUÔPUÔ ÃHANNÅÌ NBÉÔ´ NÏP           NUMBÅÒ ÏÆ ÏUÔPUÔ BÉÔ (0-±±© BÉÔ´  NÏP           VAÌUÅ ÏÆ ÏUÔPUÔ BÉÔ ÔÒAP  NÏP           ÔÒAP £ USÅD BY "SÅNSÅ" ÃAÌÌ ÅÒÒ   NÏP ÏBUÆÆ NÏP           ÔÅMP ÏUÔPUÔ BUÆÆÅÒ       NÏP ÅVSNS NÏP           ÅNÔÒY PÏÉNÔ ÅNÔÒY ÅÑU ÅVSNS       ÊSB .ÅNÔÒ       DÅÆ ÃHANÌ       ÃÌA¬ÉNA       ÃÌÅAÒ ÅÒÒÏÒ PAÒAMÅÔÅÒ       SÔA ÅÒÒ¬É       ÌDA NBÉÔ´¬É   PÒÏDUÃÅ       ÊSB £BÉÔ£      BÉÔ MASK       ÌDB BÉÔ´¬É    BÉÔ ÔÏ BÅ       SZB            ×ÒÉÔÔÅN ZÅÒÏ?       ÃÃB            NϬ SÅÔ BÉÔ       S×P           AND¯ÏÒ ÏUÔPUÔ ×ÏÒDS ÃÏNSÉSÔ       AND B          ÏÆ ÃÏMPÌÅMÅNÔ ÏÆ BÉÔ MASK       ÃMB             AND BÉÔ ÔÏ BÅ ×ÒÉÔÔÅN       SPಠª £Ï×ÒD ÔAKÅS ÔHÅ PÒÅVÉÏUS ×ÏÒD ×ÒÉÔÔÅN ÏN "ÃHANÌ" ª AND PÅÒÆÏÒMS AN "AND" ×ÉÔH ÔHÅ ×ÏÒD ÉN "B" AND ª AN ÉNÃÌUSÉVÅ "ÏÒ" ×ÉÔH ÔHÅ ×ÏÒD ÉN "A".  ÔHÅ 69´0 DÒÉVÅÒ ª ÉS ÔHÅN ÃAÌÌÅD ÔÏ ÏUÔPUÔ ÔHÅ ÒÅSUÌÔ. ª £Ï×ÒD ÃHÅÃKS "ÔÒAP" ÔÏ SÅÅ ÉÆ "×ÒBÉÔ" ×AS ÃAÌÌÅD ×ÉÔH ÆÏUÒ ª  ª PAÒAMÅÔÅÒS ÉNDÉÃAÔÉNG A SÅNSÅ ÃAÌÌ. ª  £Ï×ÒD AND ½B····    MASK AND SÔÏÒÅ ÌÏ×ÅÒ       SÔA ÏÒ         ±² BÉÔS ÏÒ "ÏÒ" ×ÏÒD       SÔB AND       SAVÅ "AND" ×ÏÒD       ÌDA ÃHAN̬ɠ  ÆÉND ÔABÌÅ ÅNÔÒY       ÃÌÅ           ÆÌAG AS ÏUÔPUÔ ÃAÒD       ÊSB £ÃHAN       SÌÏÔ AND BÏØ NUMBÅÒ       ÉÏÒ ½B±·0±´0    ÔÏ USÅ ÉN ÃÏNÔÒÏÌ       SÔA ÏBUÆÆ        ×ÏÒ2pþúD ÏÆ ÏUÔPUÔ BUÆÆÅÒ       ÌDA ÃHANÌ     ÃÏMPUÔÅ ADDÒÅSS       ADA £69´0      ÏÆ       ADA .´          ÏUÔPUÔ       SÔA ADÒS         ÅNÔÒY AND SAVÅ       ÌDA A¬É       ÌÏAD ÏUÔPUÔ SÔAÔUS       AND AND       AND "AND ×ÏÒD"       ÉÏÒ ÏÒ        ÏÒ "ÏÒ ×ÏÒD"       ÉÏÒ B         ÏÒ ÉN SÌÏÔ ADDÒÅSS       SÔA ÏBUÆÆ+±   SAVÅ ÒÅSUÌÔ ÉN ÏUÔPUÔ BUÆÆÅÒ       ÊSB $ÌÉBÒ     ÔUÒN ÏÆÆ ÉNÔÅÒÒUPÔS       NÏP       SÔA ADÒS¬É    ÏUÔPUÔ SÔAÔUS ÔÏ ÔABÌÅ       ÊSB $ÌÉBØ     ÔUÒN ÏN ÉNÔÅÒÒUPÔS       DÅÆ ª+±       DÅÆ ª+±       SPà±       ÌDA ÔÒAP      ×AS "×ÒBÉÔ" ÃAÌÌÅD ×ÉÔH       SZA             ´ PAÒAMÅÔÅÒS?       ÊSB SÅNS      YÅS¬ UPDAÔÅ BÉÔ¯ÔÒAP ÔABÌÅ       SPà±       ÊSB ÅØÅà     ÅNABÌÅ SÅNSÅ MÏDÅ       DÅÆ ª+3       DÅÆ .3       DÅÆ ÃNÔÒÌ       SPà±       ÊSB ÅØÅà     ÃAÌÌ       DÅÆ ª+6        69´0       DÅÆ .²          DÒÉVÅÒ ÔÏ       DÅÆ ÌU           ÏUÔPUÔ       DÅÆ ÏBUÆÆ         ÏNÅ ×ÏÒD       DÅÆ .²             USÉNG       DÅÆ ZÅÒÏ            NÏÒMAÌ ×ÒÉÔÅ       SPà±       AÒS¬AÒS       ÉÆ ÔÉMÅÏUÔ¬       SÌA       ÊMP ÅÒÒ±      BUMP ÅÒÒÏÒ PAÒAMÅÔÅÒ       SPà±       ÊMP ÅNÔÒY¬É   ÅÌSÅ ÅØÉÔ NÏÒMAÌÌY       SPಠ.´    DÅà´ .±5   DÅà±5       SPà± ª     SÅNS  UPDAÔÅS ÔHÅ BÉÔ¯ÔÒAP ÔABÌÅ. ª  SÅNS  NÏP       ÌDA ÌU        SÅÔ ÃÏNÔÒÏÌ       ØÏÒ ½B²±00     ×ÏÒD ÔÏ       SÔA ÃNÔÒÌ       ÌU + ²000B       ÌDB £ÅVNÔ     DÏÅS       ÌDA ÃHANÌ      ÃHANNÅÌ NUMBÅÒ       ÃMA¬ÉNA         PÏÉNÔ ÔÏ       ADA B¬É          ÅVÅNÔ SÅNSÅ       ÌDB ÔMÅ           ÃAÒD ÏÒ ×AS ÔMÅ       SZB¬ÒSS            ÅÑUAÌ ÔÏ ZÅÒÏ?       SSA       ÊMP ÅÒÒ²      NÏ - GÉVÅ ÅÒÒÏÒ       SPà±       ÃÃA           ÃÏMPUÔÅ       ADA ÃHANÌ      ADDÒÅSS       MPY .±²         ÉN       ADA £ÅVNÔ        BÉÔ¯ÔÒAP       ADA NBÉÔ´¬É       ÔABÌÅ       ÉNA       SPà±       ÊSB $ÌÉBÒ     ÔUÒN ÏÆÆ ÉNÔÅÒÒUPÔ SYSÔÅM       NÏP            ÔÏ UPDAÔÅ BÉÔ¯ÔÒAP ÔABÌÅ       ÌDB ÔÒAP¬É    SÔÏÒÅ ÔÒAP NUMBÅÒ       ÅÌB           ×ÉÔH PÒÏPÅÒ SÅNSÅ       ÃÃÅ       ÅÒB     åDþú  SÔB A¬É        ÉN BÉÔ¯ÔÒAP ÔABÌÅ       ÃÌA           ÒÅSÅÔ ÔÒAP PAÒAMÅÔÅÒ       SÔA ÔÒAP       ADDÒÅSS       ÊSB $ÌÉBØ     ÔUÒN ÉNÔÅÒÒUPÔ SYSÔÅM BAÃK       DÅÆ SÅNS       ÏN AND ÒÅÔUÒN       SPà± .3    DÅà3 .±²   DÅà±² M±²   DÅà-±²       SPಠª £ÃHAN SÅAÒÃHÅS 69´0 ÃÏNÆÉGUÒAÔÉÏN ÔABÌÅ ÆÏÒ ADDÒÅSS ÏÆ ª ÅNÔÒY ÃÏÒÒÅSPÏNDÉNG ÔÏ ÔHÅ ÃHANNÅÌ NUMBÅÒ ÉN ÔHÅ "A" ª ÒÅGÉSÔÅÒ.  ÔHÅ ADDÒÅSS ÉS SÔÏÒÅD ÉN "ÃHANÌ" AND ÔHÅ BÏØ NUMBÅÒ ª ÉS ÒÅÔUÒNÅD ÉN "A". ª  £ÃHAN NÏP       ÃÌB           ÉÆ ÃHANNÅÌ NUMBÅÒ ÉS       SSA¬ÒSS        PÏSÉÔÉVÅ SÅÔ ÔMÅ BÉÔ       ÊMP £ÃH±        ÔÏ ZÅÒÏ       ÌDB ½B²0      ÅÌSŬ SÅÔ ÔMÅ BÉÔ       ÃMA¬ÉNA       MAKÅ ÃHANNÅÌ NUMBÅÒ PÏSÉÔÉVÅ £ÃH±  SÔA ÃHANÌ     SAVÅ ÃHANNÅÌ NUMBÅÒ       SÔB ÔMÅ        AND ÔMÅ BÉÔ       ÃMA¬ÉNA¬SZA¬ÒSS  ÉÆ ZÅÒÏ       ÊMP ÅÒÒ²       GÉVÅ ÅÒÒÏÒ       ÌDB £69´0     ÉÆ ÃHANNÅÌ       SÅZ¬ÉNB        ÉS NÏÔ       ÉNB             DÅÆÉNÅD       ADA B¬É          ÉN ÔABÌÅ       SSA               GÉVÅ       ÊMP ÅÒÒ²           ÅÒÒÏÒ       ÌDB £69´0     ÆÅÔÃH ÔHÅ       ÌDB B¬É        69´0 ÌÏGÉÃAÌ       SÔB ÌU          UNÉÔ NUMBÅÒ AND SAVÅ       ÃÃA       ADA ÃHANÌ     ÃÏMPUÔÅ       ÃÌB            ÔHÅ BÏØ       DÉV .±5         AND SÌÏÔ       BÌÆ¬BÌÆ          ADDÒÅSS       BÌÆ               ÏÆ ÃHANNÅÌ       ÉÏÒ ÔMÅ       ÏÒ ÔMÅ BÉÔ ×ÉÔH BÏØ NUM.       ÊMP £ÃHAN¬É   ÒÅÔUÒN       SPಠ      SPಠª £BÉÔ£ PÒÏDUÃÅS A ÏNÅ BÉÔ ÉN ÔHÅ PÏSÉÔÉÏN SPÅÃÉÆÉÅD ÉN "A". ª ÔHÅ ÒÅSUÌÔÉNG MASK ÉS ÒÅÔUÒNÅD ÉN "A". ª  ÒÒÌ   ÒÒÌ ±6        SHÉÆÔ ÉNSÔÒUÃÔÉÏN £BÉÔ£ NÏP           ÅNÔÒY PÏÉNÔ       ÌDB A         ÉÆ BÉÔ       ADB M±²       ÉÆ BÉÔ NUMBÅÒ       SSA¬ÒSS        ÉS NÅGAÔÉVÅ       SSB¬ÒSS         ÏÒ GÒÅAÔÅÒ ÔHAN ±±       ÊMP ÅÒÒ²         GÏ ÔÏ ÅÒÒÏÒ £ ²       ÉÏÒ ÒÒÌ       GÅNÅÒAÔÅ       SÔA SHÉÆÔ      SHÉÆÔ ÉNSÔÒUÃÔÉÏN       ÃÌA¬ÉNA       ÉNÉÔÉAÌÉZÅ ×ÏÒDS       ÃÌB¬ÉNB        ÔÏ BÅ SHÉÆÔÅD SHÉÆÔ NÏP  ªªªªÔHÉS ×ÏÒD ÉS ÒÅPÌAÃÅD BY SHÉÆÔ ÉNSÔÒUÃÔÉÏNªªªª       ÊMP £BÉÔ£¬É   ÒÅÔUÒN       SPಠª MPNÒM ÔUÒNS ÏÆÆ SÅžkNSÅ MÏDÅ AND ÃÌÅAÒS BÉÔ ÔÒAP ÔABÌÅ ª  MPNÒM NÏP       ÌDA MPNÒM¬É   ÆÅÔÃH ÒÅÔUÒN       SÔA MPNÒM      ADDÒÅSS AND SAVÅ       ÌDA £69´0     ÆÅÔÃH ÌÏGÉÃAÌ       ÌDA A¬É        UNÉÔ NUMBÅÒ       ÉÏÒ ½B²±00      AND ÆÏÒM ÃÌÅAÒ       SÔA ÃNÔÒÌ        SÅNSÅ MÏDÅ ÃÏNÔÒÏÌ ×ÏÒD       SPà±       ÊSB ÅØÅà     ÃÏNÔÒÏÌ       DÅÆ ª+3        ÒÅÑUÅSÔ       DÅÆ .3          ÔÏ ÃÌÅAÒ SÅNSÅ       DÅÆ ÃNÔÒÌ        MÏDÅ ÏN 69´0       SPà±       ÌDA £ÅVNÔ     ÆÅÔÃH ADDÒÅSS ÏÆ BÉÔ ÔÒAP ÔABÌÅ       ÌDA A¬É       ÆÅÔÃH ÔHÅ NUMBÅÒ       MPY .±²        ÏÆ ÅNÔÒÉÅS       ÃMA¬ÉNA¬SZA¬ÒSS ÃÏMPÌÅMÅNÔ ÉÆ ½0       ÊMP MPNÒM¬É    ÔHÅN ÒÅÔUÒN       SÔA ÃNÔÒÌ       ÅÌSŬ SAVÅ AS ÌÏÏP ÃNÔÒ       ÃÌB       ÌDA £ÅVNÔ       SPà±       ÊSB $ÌÉBÒ     ÔUÒN ÏÆÆ       NÏP            ÉNÔÅÒÒUPÔ SYSÔÅM NÒM±  ÉNA           BUMP ÔABÌÅ ADDÒÅSS       SÔB A¬É       SÔÏÒÅ ZÅÒÏ ÉN ÔABÌÅ       ÉSZ ÃNÔÒÌ     ÌASÔ ÅNÔÒY?       ÊMP NÒM±      NϬ ÃÏNÔÉNUÅ       ÊSB $ÌÉBØ     YÅS¬ ÔUÒN ÏN ÉNÔÅÒÒUPÔ       DÅÆ MPNÒM      AND ÒÅÔUÒN       SPಠÅÒÒ²  ÉSZ ÅÒҬɠ        ÅÒÒÏÒ £ 3 ÅÒÒ±  ÉSZ ÅÒҬɠ       ÅÒÒÏÒ £ ²       SPà±       ÃÌA           ÃÌÅAÒ ÔÒAP       SÔA ÔÒAP       PAÒAMÅÔÅÒ ADDÒÅSS       ÊMP ÅNÔÒY¬É   ÒÅÔUÒN       SPಠ      SKP A     ÅÑU 0 B     ÅÑU ± ÏÒ    ÅÑU BÉÔ´      ÏUÔPUÔ "ÏÒ" ×ÏÒD AND   ÅÑU ÏBUÆÆ+±   ÏUÔPUÔ "AND" ×ÏÒD ZÅÒÏ  ÅÑU ÔÒAP      "ÔÒAP" ÉS ZÅÒÏ ×HÅN NÅÅDÅD ÔMÅ   ÅÑU £BÉÔ£ ÃNÔÒÌ ÅÑU £ÃHAN ADÒS  ÅÑU MPNÒM ÌU    NÏP .²    DÅಠ      ÅND nçÿÿ ÿýLU ÿ09610-80025 B S 0122 EXC. & BIT ROUTINE              H0101 ý2þúASMB,R,L,C,B HED ISA S61.1 EXEC AND BIT ROUTINES 09610-60025 REV. B * * SOURCE TAPE - 09610-80025 REV. B * RELOC. TAPE - 09610-60025 REV. B * * * NAM EX.BT,7 09610-60025B 092275 ENT IEOR,ISHFT,START,TRNON,WAIT EXT .ENTR,EXEC SUP SPC 3 OP1 NOP 1ST OPERAND OP2 NOP 2ND OPERAND IEOR NOP JSB .ENTR DEF OP1 LDA OP1,I FETCH 1ST NUMBER XOR OP2,I PERFORM EXCLUSIVE OR JMP IEOR,I RETURN SPC 3 OP3 NOP NUMBER TO BE SHIFTED NUM NOP NUMBER OF SHIFTS ISHFT NOP JSB .ENTR FETCH PARAMETER DEF OP3 ADDRESSES LDA OP3,I FETCH LDB NUM,I PARAMETER VALUES SSB,RSS IF POSITIVE JMP LSHFT GO TO LEFT SHIFT * * RIGHT SHIFT RSHFT CLE,ERA SHIFT RIGHT ONE PLACE INB,SZB IF AT END JMP RSHFT CONTINUE, OTHERWISE JMP ISHFT,I RETURN * * LEFT SHIFT LSHFT CMB,RSS IF ZERO NO SHIFT LSHF1 CLE,ELA LEFT SHIFT ONE PLACE INB,SZB IF NOT FINISHED JMP LSHF1 CONTINUE, OTHERWISE JMP ISHFT,I RETURN SKP NAM NOP MULT NOP RESL NOP ERR NOP START NOP JSB .ENTR FETCH PARAMETER DEF NAM ADDRESSES CLA,INA ASSUME NO STA ERR,I ERROR (ERR=1) LDA MULT,I FETCH TIME MULTIPLE LDB RESL,I AND RESOLUTION JSB TIME CONVERT TO RTE STANDARDS JMP IMMED IF MULT<0 SCHED IMMEDIATE JSB EXEC SCHEDULE DEF *+6 PROGRAM DEF B1014 WITH DEF NAM,I TO EXECUTE DEF RESL ONCE WITH DEF ZERO OFFSET DEF MULT SPC 1 JSB BERR BUMP ERROR FLAG IF ERROR JMP START,I SPC 3 IMMED JSB EXEC SCHEDULE DEF *+3 PROGRAM DEF B1010 IMMEDIATELY DEF NAM,I SPC 1 ISZ ¢VþúERR,I BUMP ERROR FLAG IF ERROR JMP START,I * * BERR NOP LDA 1 GET ERROR MESSAGE AND C7 CONVERT TO OCTAL ADA ERR,I ADD TO EXISTING VALUE STA ERR,I JMP BERR,I AND EXIT * * SKP MULT1 NOP RESL1 NOP ERR1 NOP WAIT NOP JSB .ENTR FETCH PARAMETER DEF MULT1 ADDRESSES CLA,INA ASSUME NO STA ERR1,I ERROR (ERR1=1) LDA MULT1,I FETCH MULTIPLE LDB RESL1,I AND RESOLUTION JSB TIME CONVERT TO RTE STANDARDS JMP WAIT,I NO WAIT SO RETURN SPC 1 JSB EXEC SUSPEND DEF *+6 CALLING DEF B1014 DEF ZERO PROGRAM DEF RESL FOR DEF ZERO SPECIFIED DEF MULT TIME SPC 1 RSS SKIP IF ERROR JMP WAIT,I LDA 1 CONVERT RTE ERROR TO ISA AND C7 ADA ERR1,I STA ERR1,I JMP WAIT,I AND EXIT SKP NAME NOP ITIME NOP ERR2 NOP TRNON NOP JSB .ENTR FETCH CALLING DEF NAME ADDRESSES CLA,INA ASSUME NO STA ERR2,I ERROR (ERR2=1) LDA ITIME,I MOVE TIME OUT STA HRS OF ARRAY ISZ ITIME AND INTO DLD ITIME,I LOCAL AREA DST MIN SPC 1 JSB EXEC SCHEDULE DEF *+9 TO EXECUTE DEF B1014 ONCE AT A DEF NAME,I SPECIFIED DEF .1 TIME DEF ZERO DEF HRS DEF MIN DEF SEC DEF ZERO SPC 1 JSB BERR2 BUMP ERROR IF ERROR JMP TRNON,I * * BERR2 NOP LDA 1 GET ERROR MESSAGE AND C7 CONVERT TO OCTAL ADA ERR2,I ADD TO PRESENT VALUE STA ERR2,I JMP BERR2,I RETURN * C7 OCT 7 * * SKP TIME NOP CPB .1 RESOLUTION = MILLISECONDS? JMP MILLI YES GO CONVERT SZB,H RSS RESL CODE = 0 RESL. CLB,INB SET TO ONE STB RESL AND SAVE CMA,SSA,INA,SZA COMPLEMENT MULTIPLE ISZ TIME BUMP RETURN IF MULT>0 STA MULT JMP TIME,I MILLI ADA .9 ROUND UP TO NEAREST CLB TEN MILLISECONDS DIV .10 THEN CONVERT TO TENS JMP RESL. SKP ZERO NOP B1010 OCT 100012 B1014 OCT 100014 .9 DEC 9 .1 DEC 1 .10 DEC 10 HRS EQU MULT1 MIN EQU RESL1 SEC EQU ERR1 END P‚ÿÿ ÿýMU ÿ09611-18005 1826 S 0122 &DVA72 RTE 6940B DRIVER DVA72             H0101 «´þúASMB,R,C,L HED HP6940A/B RTE MPG DVA72 - LOCAL/REMOTE REV 1826 NAM DVA72,0 09611-16005 780403 REV 1826 ENT IA72,CA72 EXT $LIST,.MVW * ******************PROGRAM DESCRIPTION*********************** * * RELOC. TAPE: 09611-16005 REV 1826 * SOURCE TAPE: 09611-18005 REV 1826 * ************************************************************ * A EQU 0 B EQU 1 SC EQU 0 * ********* *CAUTION* ********* * * IF INSTRUCTION SPEEDS CHANGE IN FUTURE GENERATIONS * OF 2100 SERIES COMPUTERS, THE TIMING LOOPS OF THIS * DRIVER SHOULD BE VERIFIED FOR PROPER OPERATION. * * THERE ARE TIMING LOOPS IN THE FOLLOWING ROUTINES: * CPOLL,OUTWT,DELAY,TIME * * SYSTEM COMMUNICATION AREA * EQT1 EQU 1660B SHOWS I/O IN PROGRESS FOR CONTIN. EQT2 EQU 1661B DRIVER INITIATOR ADDRESS EQT3 EQU 1662B DRIVER CONTINUATOR ADDRESS EQT4 EQU 1663B SPECIAL BITS EQT5 EQU 1664B STATUS BITS EQT6 EQU 1665B REQUEST CODE, READ COUNT EQT7 EQU 1666B BUFFER ADDRESS EQT8 EQU 1667B BUFFER LENGTH EQT9 EQU 1670B FUNCTION TYPE CODE (PARAM.1) & * WRITE BEFORE READ COUNT EQT10 EQU 1671B RUNNING COUNTER EQT11 EQU 1672B SLOT# OF 1ST SENSE MODE INTERRUPTER EQT12 EQU 1771B DATA FROM THE INTERRUPTER EQT13 EQU 1772B SCHEDULE FLAG EQT14 EQU 1773B TIME OUT VALUE EQT15 EQU 1774B TIMEOUT CLOCK INTBA EQU 1654B INTERRUPT TABLE BASE ADDRESS SKP * IA72 NOP ENTRY POINT JSB SETIO "A" REG. CONTAINS CHANNEL # OF * DESIRED DEVICE ON ENTRY. SETIO USES * IT TO CONFIGURE DVA72'S I/O COMMANDS * LDA EQT5,I GET STATUS BITS AND MASKS RESET BITS 2,5,&7 STA EQT5,I RESTORE STATUS LDA RTNAD PUT (RETURN ADDRESS) STA CA72 INTO CONT. ENTRY LDA EQT13,I GET SCHEDULE FLAG SZA FLAG DEFINED YET? JMP CONT YES, SKIP DEFINITION SECTION * * ïþú THIS SECTION PLACES EITHER THE POSITIVE ADDRESS OF AN 'ALARM' * PROGRAM OR A MINUS 1 IF THERE IS NO SUCH PROGRAM INTO EQT13,I. * IT ALSO SETS BIT 12 OF EQT4,I TO INDICATE THE DRIVER WILL * HANDLE TIMEOUTS ITSELF. * LDA CHAN A_I/O CHANNEL, SET UP INDEX ADA N6 INTO THE INTERRUPT TABLE ADA INTBA TO GET THE SCHEDULE WORD LDB A,I B _ WORD (ITS ADDR. IN A) CMB,SSB,INB IF WORD POSITIVE SEZ EQT CCB THEN SET -1(NO PROG) ELSE STB TEMP +ADDR OF PROG INTO EQT13,I LDB EQT1 SET THE EQT ADDRESS INTO STB A,I THE INTERRUPT TABLE LDA EQT4,I SET THE 'I WILL HANDLE TIMEOUT' IOR BIT12 BIT IN EQT4,I STA EQT4,I RESTORE * * SETUP DATA BUFFER * LDA COUNT BUFFER POINTER CPA .8 BUFFER FULL?? JMP ERBUF NO MORE ROOM IN BUFFER LDA ADRS GET ADDR OF FIRST WORD OF BUFFER STA EQT13,I ADA .11 STA ADRS INCREMENT TABLE ADDR BY 11 ISZ COUNT INCREMENT BUFFER POINTER LDB EQT13,I GET NEW ADDR OF EQT13 LDA TEMP STORE STA B,I ID SEGMENT ADDR * CONT LDA EQT6,I GET CONTROL WORD OF REQUEST AND .3 ISOLATE BITS 1 & 0, REQ.OPERATION CPA .3 IS IT A FUNCTION REQ.? JMP FUNCT YES, THEN PROCESS FURTHER SKP * * REQUEST WAS READ OR WRITE. IS IT LEGAL? * LDA EQT6,I NO, GET REQ. CONTROL WORD AGAIN AND M700 ISOLATE K,V,& M BITS, MUST MATCH CPA KVM NO KEYBOARD,BINARY,FIXED LENGTH. RSS IT DOES, SKIP JMP RCER LDA EQT8,I GET BUFFER LENGTH CMA,SSA,INA,SZA BUFFER>0 CLA,RSS O.K. ZERO COUNTER JMP RCER BUFFERþúTHE STEPPER CARD C SPECIFIED IN ITEST = 8. THE NUMBER OF PULSES MUST BE C LESS THAN 4000B. C C DIMENSION IBUFFR (5) DIMENSION IREGS(2) EQUIVALENCE (REGS,IREGS(1)) DATA IZERO/0/,ICOD1/1/,ICOD2/2/ DATA ICOD12/12/,IOFST/-1/ C IFUNC = 0 IF (ITEST.EQ.9) IDATA = 0 ITME = 0 GOTO (20,50,600,130,320),ITEST-7 20 WRITE (IOUTLU,1020) 1020 FORMAT (" UNIT #, SLOT # ? (-1 TO EXIT)") READ (INLU,*) IUNIT,ISLOT IF (IUNIT.LT.0) GOTO 999 IF (IUNIT.GT.I6941) GOTO 20 IF (ISLOT.LT.0.OR.ISLOT.GT.14) GOTO 20 40 BTEMP = ISLOT * 10000B GOTO (100,200,300,400,50),ITEST 50 IBUFFR(1) = 170040B + IUNIT IF (ITEST.EQ.8) IBUFFR(1) = IBUFFR(1) + 20B GOTO (320,500,320,320,350),ITEST-4 C C INPUT CALL - NORMAL READ. C 100 WRITE (IOUTLU,1000) 1000 FORMAT (" TME? (0=OFF,1=ON,-1 TO EXIT)") READ (INLU,*) ITME IF (ITME.EQ.-1) GOTO 999 IF (ITME.NE.0.AND.ITME.NE.1) GOTO 100 130 IBUFFR(1) = 2 IBUFFR(2) = 170240B + IUNIT + ITME*20B IBUFFR(3) = BTEMP IBUFFR(4) = 1 IBUFFR(5) = 0 IBUFFL = 5 REGS = EXEC (ICOD1,ICNWD,IBUFFR,IBUFFL,IFUNC) IFUNC = 0 IERR = IAND (IREGS(1),377B) IF (IERR.NE.0) GOTO 370 150 WRITE (IOUTLU,1500) ISLOT,IBUFFR(5) 1500 FORMAT (" SLOT # "I2" HAS DATA "@6) C IN NORMAL READ TEST KEEP INPUTTING DATA UNTIL USER C ENTERS -1 FOR TME. IF (ITEST.EQ.1) GOTO 100 GOTO 999 C C INPUT - READ DIRECT WITHOUT GATE. C 200 IFUNC = 2 GOTO 130 C C OUTPUT CALLS TO MULTIPROGRAMMER. C C SINGLE OUTPUT ENTRY POINT. 300 IDTE = 0 ISYE = 0 ITME = 0 WRITE (IOUTLU,3000) 3000 FORMAT (" DTE, SYE, TME? (-1 TO EXIT)") READ (INLU,*) IDTE,ISYE,ITME IF (IDTE.EQ.-1) GOTO 999 IF (IDTE.NE.0.AND.IDTE.NE.1) GOTO 300 IF (ISYE.NE.0.AND.ISYE.NE.1) GOTO 300 IF (ITME.NE.0.AND.ITME.NE.1) GOTO 300 3¿Ïþú10 IBUFFR(1) = 170000B + IUNIT IBUFFR(1) = IBUFFR(1) + ITME*20B + ISYE*40B + IDTE*100B C EVENT SENSE REFERENCE WORD, PROGRAMMABLE TIMER AND C STEPPER MOTOR ENTRY POINT. 320 WRITE (IOUTLU,3200) 3200 FORMAT (" ENTER DATA (OCTAL).") READ (INLU,3300) IDATA 3300 FORMAT (@4) IF (IDATA) 999,330 330 IF (IDATA-10000B) 340,320 340 IF (IDATA-4000B) 350,345 345 IF (ITEST.EQ.8.OR.ITEST.EQ.13) GOTO 320 C PULSE COUNTER TEST ENTRY POINT. 350 IBUFFR(2) = BTEMP + IDATA 360 REGS = EXEC (ICOD2,ICNWD,IBUFFR,ICOD2,IFUNC) IERR = IAND (IREGS(1),377B) IF (IERR.EQ.0) GOTO 380 370 WRITE (IOUTLU,3700) IERR 3700 FORMAT ("ERROR RETURN FROM DRIVER. STATUS = "@3) IERR = IAND (IREGS(1),4) IF (IERR.EQ.0.OR.ITME.EQ.0) GOTO 380 IBUFFR(1) = 170000B + IUNIT IBUFFR(2) = BTEMP REGS = EXEC (ICOD2,ICNWD,IBUFFR,ICOD2,IFUNC) IERR = IAND (IREGS(1),377B) IF (IERR.NE.0) WRITE (IOUTLU,3600) IERR 3600 FORMAT (" ERROR IN DISARMING CARD. STATUS = "@3) C IN OUTPUT TEST KEEP REPEATING OUTPUT CALL UNTIL THE C USER ENTERS A NEGATIVE NUMBER FOR DTE. 380 IF (ITEST.EQ.3) GOTO 300 C IN EVENT SENSE TEST ASK FOR UNIT & SLOT OF NEXT CARD C IN ORDER TO SET ITS REFERENCE WORD. IF (ITEST.EQ.5) GOTO 20 GOTO 999 C C CONTINUOUSLY ROTATED OUTPUT. C T6940 SUSPENDS FOR A SECOND AND THEN OUTPUTS A C WORD WITH THE NEXT CONSECUTIVE BIT TURNED ON. 400 IBUFFR(1) = 170140B + IUNIT DO 450 I = 1,2 DO 440 J = 0,11 WRITE (IOUTLU,4200) J 4200 FORMAT (" BIT "I2) IDATA = 2 ** J 410 IBUFFR(2) = BTEMP + IDATA REGS = EXEC (ICOD2,ICNWD,IBUFFR,ICOD2,IFUNC) IERR = IAND (IREGS(1),377B) IF (IERR.NE.0) WRITE (IOUTLU,3700) IERR CALL EXEC (ICOD12,IZERO,ICOD2,IZERO,IOFST) 440 CONTINUE 450 CONTINUE IF (IDATA.EQ.0) GOTO 460 C IN FINAL OUTPUT CLEAR ALL THE BITS. IDATA = 0 GOTO 410 460 GOTO 999 C C PULSE COUï£0.*NTER OVERFLOW CHECK. 500 IBUFFR(2) = BTEMP + 7777B GOTO 360 C C STEPPER MOTOR - ACTIVATE OUTPUT # 2. 600 IBUFFR(2) = BTEMP + 4000B + IDATA GOTO 360 C C 999 RETURN END END$ 0ÿÿ ÿýO \ ÿ09611-18007 A S 0106  SENSE - 6940 VERIFICATION INTERRUPT HANDLER             H0101 °7þúASMB,L HED SENSE -- EVENT SENSE INTERRUPT HANDLER 09611-18007 * * * * S E N S E -- EVENT SENSE INTERRUPT HANDLER * * * * * * BIN. RELOC. TAPE: 09611-16007 REV A * SOURCE TAPE: 09611-18007 REV A * MANUAL: 09611-90010 JUNE, 1975 * * AUTHOR: JULIA A. CATES * * VERSION: MAY, 1975 * * SENSE, EVENT SENSE INTERRUPT HANDLER, RETRIEVES THE * SLOT, DATA AND SELECT CODE INFORMATION OF INTERRUPTING * 6940 MULTIPROGRAMMER I/O CARDS. SENSE PRINTS THIS INFOR- * MATION ON THE SYSTEM CONSOLE, SO THAT THE USER MAY VERIFY * PROPER FUNCTIONING OF THE MULTIPROGRAMMER. * * NAM SENSE,2,89 09611-16007 REV A 20MAY75 * ENT SENSE EXT EXEC SUP * * SENSE LDA B,I STA SLOT# INB LDA B,I STA DATA ADB .3 LDA B,I AND MSK77 STA CHAN# PSLOT LDA SLOT# PREPARE INTERRUPT DATA FOR OUTPUT. ADA MIN18 SSA,RSS CHECK FOR VALID SLOT NUMBER. JMP PDATA LDA .14 STA TXT1L LDA SLOT# \ CLB \ DIV .10 \ ADB B60 \ CONVERT THE SLOT NUMBER TO ADA B60 / THE ASCII REPRESENTATION ALF,ALF / OF A DECIMAL NUMBER. IOR B / STA BUFR1 / PDATA LDA TXPT2 LDB DATA JSB OCTAS LDA TXPT3 LDB CHAN# JSB OCTAS START LDA TXT1D START OUTPUT. LDB TX1LD PRINT THE SLOT NUMBER JSB OUTPT ON THE TELETYPE. LDA TXT2D LDB TX2LD PRINT THE DATA OF THE JSB OUTPT INTERRUPTING CARD. LDA TXT3D LDB TX3LD PRINT THE SELECT CODE OF JSB OUTPT THE 6940 THAT INTERRUPTED. CONT JSB EXEC DEF *+2 DEF RCOD6 COMPLETION CALL. SKP * * VARIABLES, CONSTANTS * SLOT# NOP TXPT2 DEF BUFR2 DATA NOP TXPT3 DEF BUFR3 CHAN# NOP ICNWD OCT 1 .3 OCT 3 RCOD6 OCT 6 .10 DEC 10 x˜  .14 DEC 14 MIN18 DEC -18 B60 OCT 60 MSK77 OCT 77 * A EQU 0 B EQU 1 * TEXT1 ASC 13, THE INTERRUPTING SLOT IS BUFR1 ASC 4,INVALID TXT1L DEC 17 TXT1D DEF TEXT1 TX1LD DEF TXT1L TEXT2 ASC 7, THE DATA IS NOP NOP BUFR2 NOP TXT2L DEC 10 TXT2D DEF TEXT2 TX2LD DEF TXT2L TEXT3 ASC 13, THE 6940 SELECT CODE IS NOP NOP BUFR3 NOP TXT3L DEC 16 TXT3D DEF TEXT3 TX3LD DEF TXT3L SKP * * SUBROUTINE OCTAS -- OCTAL TO ASCII CONVERSION * * "OCTAS" USES THE B REGISTER AS THE INTEGER TO BE * CONVERTED. THE A REGISTER CONTAINS A POINTER TO * THE STORAGE LOCATION OF THE 3 ASCII WORDS. * OCTAS NOP STA BFRPT LDA MIN3 STA CNTR GOON LDA B AND MK7 STA TEMP2 LDA B AND M7770 STA TEMP1 ALF,ALS AND M3400 IOR TEMP2 ADA ASCII STA BFRPT,I ISZ CNTR RSS JMP DONE LDB BFRPT ADB MIN1 STB BFRPT LDB TEMP1 BRS,BRS BRS,BRS BRS,BRS JMP GOON DONE JMP OCTAS,I * BFRPT NOP TEMP1 NOP TEMP2 NOP ASCII OCT 30060 MIN1 OCT -1 MIN3 OCT -3 CNTR OCT 3 MK7 OCT 7 M3400 OCT 3400 M7770 OCT 177770 SKP * * * SUBROUTINE OUTPT -- OUTPUT DATA * * OUTPT OUTPUTS THE SLOT NUMBER, DATA AND SELECT CODE * OF THE INTERRUPTING 6940 CARD TO THE SYSTEM CONSOLE. * OUTPT NOP STA TEXT STB TEXTL JSB EXEC DEF *+5 DEF RCOD2 WRITE CALL. DEF ICNWD TEXT NOP TEXTL NOP JMP OUTPT,I * RCOD2 OCT 2 * * END SENSE END$ | ÿÿ ÿýPW ÿ09611-18009 A S 0106 !$#&% OFF-LINE 2313/6940VERIFICATION START-UP PROG            H0101 ÊþúASMB,R,L,C NAM !$#&%,1,1 09611-16009 REV. A 75164 -TLD- * * * SOURCE 09611-18009 * BINARY 09611-16009 * * * THIS PROGRAM IS USED TO CONFIGURE THE EQT ENTRY FOR * THE OFF-LINE 2313 OR 6940 VERIFICATION RUNNING IN * THE RTE-C ENVIRONMENT. EQT 2 IS CONFIGURED FOR 2313- * EQT 3 IS CONFIGURED FOR 6940. IN ADDITION, THE INTERRUPT * TABLE IS CONFIGURED FOR THE PROPER SELECT CODE. LU 2 IS * ASSUMED TO POINT TO EQT 2, LU 3 TO EQT 3. THE DRT FOR * THE APPROPRIATE LU WILL HAVE THE SUBCHANNEL SET TO 1 FOR * REMOTE. * * EXT'S PROVIDE DATA TO DETERMINE WHICH EQT WILL BE CONFIGURED * EITHER 2313 (EQT 2) OR 6940 (EQT 3). * EXT EXEC,$LIBR,$LIBX EXT !$#&1,!$#&2,!$#&3,!$#&4 START EQU * JSB EXEC ASK FOR SC DEF *+5 DEF D2 DEF D1 DEF !$#&1 DEF DM20 JSB EXEC GET REPLY DEF *+5 DEF D1 DEF B401 DEF BFR DEF DM2 SZB,RSS JMP START IF TLOG=0 ERROR CPB D1 JMP START IF TLOG=1 ERROR LDA BFR GET CHARS AND B377 MASK STA TEMP SAVE LDA BFR GET CHARS ALF,ALF GET HI CHAR AND B377 MASK JSB D.CHK CHECK FOR DIGIT JMP START IF NOT DIGIT ERROR ALF,RAR MULTIPLY BY 8 STA BFR SAVE LDA TEMP GET LOW CHAR JSB D.CHK CHECK FOR DIGIT JMP START IF NOT DIGIT ERROR ADA BFR ADD UPPER CHAR VALUE STA TEMP SAVE SC ADA DM8 CHECK FOR < 8 SSA JMP START < 8 ERROR R.L? EQU * JSB EXEC ASK REMOTE OR LOCAL DEF *+5 DEF D2 DEF D1 DEF QQ DEF DM18 JSB EXEC GET REPLY DEF *+5 DEF D1 DEF B401 DEF BFR DEF DM1 SZB,RSS JMP R.L? IF TLOG=0 ERROR LDA BFR GET CHAR ALF,ALF AND B377 MASK CPA L LOCAL? JMÙþúP NOSCH YES - NO SUBCHANNEL TO BE SET CPA R REMOTE? RSS JMP R.L? NO - ERROR JSB $LIBR TURN OFF INTERRUPT SYSTEM NOP LDB DRT GET DRT ADDR ADB !$#&2 GET OFFSET INTO DRT LDA B,I GET DRT ENTRY IOR BIT11 TURN ON BIT 11 STA B,I REPLACE DRT ENTRY JMP SKPIO INTERRUPT ALREADY OFF NOSCH EQU * JSB $LIBR TURN OFF INTERRUPT SYSTEM NOP SKPIO EQU * LDA !$#&2 GET OFFSET INTO EQT MPY D15 MULTIPLY BY 15 ADA EQT ADD EQT ADDR LDB INTBA GET INT TABLE ADDR ADB DM6 ADJUST SC ADB TEMP INDEX INTO TABLE STA B,I SET EQT ADDR INTO INT TABLE LDB A SAVE EQT ADDR ADB D3 MOVE TO SC WORD LDA B,I GET WORD AND CMASK MASK SC IOR TEMP PUT IN NEW SC STA B,I RESTORE WORD JSB $LIBX TURN ON INTERRUPT SYSTEM DEF *+1 DEF *+1 JSB EXEC TELL WHICH LU TO USE DEF *+5 DEF D2 DEF D1 DEF !$#&4 DEF DM19 JSB EXEC SCHEDULE PROGRAM DEF *+8 DEF D10 DEF !$#&3 DEF ZERO DEF ZERO DEF ZERO DEF ZERO DEF ZERO JSB EXEC TERMINATE DEF *+2 DEF D6 D.CHK NOP CHECK FOR VALID OCTAL DIGIT ADA BM60 ADD -"0" SSA JMP D.CHK,I < "0" SO ERROR LDB A ADB DM8 ADD -8 SSB ISZ D.CHK IF <= 7 BUMP RETURN JMP D.CHK,I OTHERWISE ERROR RETURN BM60 OCT -60 B377 OCT 377 B401 OCT 401 BFR NOP BIT11 OCT 4000 CMASK OCT 177700 ZERO NOP D1 DEC 1 D10 DEC 10 D15 DEC 15 D2 DEC 2 D3 DEC 3 D6 DEC 6 DM1 DEC -1 DM2 DEC -2 DM6 DEC -6 DM8 DEC -8 DM18 DEC -18 DM19 DEC -19 DM20 DEC -20 L OCT 114 R OCT 122 TEMP NOP QQ ASC 9,LOCAL OR REMOTE? _:aã DRT EQU 1652B EQT EQU 1650B INTBA EQU 1654B A EQU 0 B EQU 1 END START â†ÿÿ ÿýQY ÿ09611-18010 A S 0122 !$#&A OFF-LINE 6940 VERIFICATION DATA TABLE             H0101 ¾+ASMB,R,L,C NAM !$#&A,7 09611-16010 REV. A 75164 -TLD- * * * SOURCE 09611-18010 * BINARY 09611-16010 * * * DATA TABLE FOR !$#&% TO CONFIGURE 6940 ENT !$#&1,!$#&2,!$#&3,!$#&4 !$#&1 EQU * ASC 10,6940 SELECT CODE = _: !$#&2 EQU * DEC 2 !$#&3 EQU * ASC 3,T6940 !$#&4 EQU * ASC 10,FOR 6940 USE LU = 3 END ®ÿÿ ÿýRX ÿ09611-18011 A S 0106 !$#&B OFF-LINE 2313 VERIFICATION DATA TABLE             H0101 Á"ASMB,R,L,C NAM !$#&B,7 09611-16011 REV. A 75164 -TLD- * * * SOURCE 09611-18011 * BINARY 09611-16011 * * * DATA TABLE FOR !$#&% TO CONFIGURE 2313 ENT !$#&1,!$#&2,!$#&3,!$#&4 !$#&1 EQU * ASC 10,2313 SELECT CODE = _: !$#&2 EQU * DEC 1 !$#&3 EQU * ASC 3,!2313 !$#&4 EQU * ASC 10,FOR 2313 USE LU = 2 END g‹ÿÿ ÿýSY ÿ09611-18012 A S 0106 OFF-LINE 2313/6940 VERIF. RTE-C CONFIGURATION OVRLAY            H0101 u7þúASMB,A,B,L,C * REV. A 75164 -TLD- * * * SOURCE 09611-18012 * ABSOLT 09611-16012 * * * * * * RTEC PATCH * * * * * THIS OVERLAY MAKES RTE-C SELF CONFIGURING FOR SYSTEM TTY AND TBG * THIS PATCH RETRIEVES FROM THE SWITCH REGISTER * THE SELECT CODE OF THE TELETYPE (BITS 0 THRU 5) * AND THE SELECT CODE OF THE TBG (BITS 6 THRU 11). * THE TBG SELECT CODE IS PUT IN LOCATION 1674. * THE TELETYPE SELECT CODE IS PUT IN EQT 1. * * ORG 2 JMP TBG,I JUMP TO OVERLAY * ORG 1674B DEF START ADDR OF OVERLAY FOR JUMP * ORG 37600B START EQU * LIB SWREG GET SELECT CODES IN SWR SZB,RSS = 0 IS ERROR JMP BADSC LDA B AND M7700 PICK OFF THE TBG CHANNEL, ALF,ALF AND STORE IT IN RAL,RAL RTE'S BASE PAGE JSB SCCHK CHECK SELECT CODE STA TBG COMMUNICATION AREA. LDA B AND M77 PICK OFF THE TTY'S SELECT CODE. JSB SCCHK CHECK SELECT CODE CPA TBG CHECK FOR TTY = TBG JMP BADSC = MUST BE ERROR STA TTYSC LDB INTBA STORE THE ADDRESS ADB A OF THE TELETYPE EQT ADB MIN6 IN THE INTERRUPT LDA EQTA TABLE. STA B,I ADA .3 STA EQT4 LDA A,I MERGE THE TELETYPE AND M1777 SELECT CODE INTO IOR TTYSC THE 4TH ENTRY OF THE STA EQT4,I TELETYPE EQT (EQT 1). JMP L3,I START UP RTEC. BADSC EQU * CCB OTB 1 SET SWR ALL 1'S ON ERROR HLT JMP START RETRY SCCHK NOP CHECK FOR SC > 7 STA TEMP SAVE SC ADA DM8 IF SC SSA < 10(8) JMP BADSC THEN ERROR LDA TEMP RESTORE SC JMP SCCHK,I RETURN * SWREG EQU 1 A EQU 0 B EQU 1 TBG EQU 1674B INTBA EQU 1654B EQTA EQU 1650B L3 EQU 3 TEMP NOP DM8 DEC -8 TTYSC NOP EQT4 NOP F  M7700 OCT 7700 M77 OCT 77 M1777 OCT 177700 MIN6 OCT -6 .3 OCT 3 END @) ÿÿ ÿýT[ ÿ09611-18015 A S 0106  HP6940 RTE VERIFICATION TEST SUBROUTINES             H0101 ÇþúASMB,L HED SERCH -- 09611-16015 A SUBROUTINES OF T6940 * * * * * S E R C H -- SYSTEM LIST SEARCH AND MODIFY * * * * * SOURCE TAPE: 09611-18015 REV A * BINARY RELOC TAPE: 09611-16015 REV A * MANUAL: O9611-90010 JUNE, 1975 * AUTHOR: JULIA A. CATES * * NAM: SERCH * ENTRY POINTS: SERCH, LUCHK, DSRCH * * "SERCH" SEARCHES THROUGH THE SYSTEM LIST TO SEE IF * "SENSE" IS SYSTEM RESIDENT. IF "SENSE" IS NOT FOUND, * MODE <= 1, AND THE VERIFICATION PROGRAM WILL NOT * OPERATE IN THE SENSE MODE. IF "SENSE" IS FOUND, * "SERCH" LOOKS FOR THE ID SEGMENT ADDRESS OF THE * USER'S ALARM--INTERRUPT HANDLING PROGRAM. "SERCH" * WILL SAVE ITS ADDRESS, SO THAT "DSRCH" MAY REPLACE * IT IN THE DRIVER'S TABLE AT THE COMPLETION OF "T6940". * "SERCH" STORES THE ID SEGMENT ADDRESS OF "SENSE" IN THE * DRIVER'S TABLE, SO THAT THE DRIVER WILL SCHEDULE "SENSE" * TO PROCESS EVENT SENSE INTERRUPTS. * NAM SERCH,7 09611-16015 A 75161 SUBR OF T6940 ENT SERCH,LUCHK,DSRCH EXT EXEC,.DIO.,.IOI.,.DTA.,$LIBR,$LIBX,.ENTR SUP * * MPLU NOP MULTIPROGRAMMER LOGICAL UNIT # TTYLU NOP OUTPUT LIST DEVICE - USED FOR MESSAGES. SCODE NOP I/O SLOT NUMBER OF THE 6940. DVRNO NOP SPECIFIES DRIVER 61 OR DRIVER 72 MODE NOP MODE: 0 - SENSE IS CONFIGURED IN DRIVER. * 1 - NO SENSE PROGRAM FOUND. * -1 - INTERRUPT TABLE ENTRY IS 0. * SERCH NOP POINT OF ENTRY. JSB .ENTR RETRIEVE PARAMETERS. DEF MPLU CLA STA MODE,I ADA TTYLU,I STA ICNWD * * SERCH CHECKS THAT THE INTERRUPT TABLE HAS A POSITIVE * ENTRY - THE ADDRESS OF THE 6940 DRIVER EQT TABLE. * ITABL LDA INTBA FIND THE LOCATION OF THE INTERRUPT ADA SCODE,I TABLE ENTRY FOR THE 6940. ADA MIN6 STA INTBL LDA INTBL,I IS AN ALARM PROGRAM OR DRIVER ADDRESS PRESENT? STA ICNTN CMY°þúA,INA SSA,RSS JMP EMPTY NO ALARM PROGRAM OR DRIVER ADDRESS. SKP * * "SERCH" LOOKS THROUGH THE KEYWORD BLOCK FOR THE ID * SEGMENT ADDRESS OF "SENSE". KWORD LDA KEYWD FIRST WORD ADDRESS OF KEYWORD TABLE STA KYTBL NXTID LDB KYTBL,I ADDRESS OF NEXT ID SEGMENT STABL STB IDADR SZB,RSS AT END OF KEYWORD BLOCK? JMP NOSNS YES, NO SENSE PROGRAM FOUND. ADB .12 NO, CHECK NEXT PROGRAM NAME. STB NAME ADDRESS OF PROGRAM NAME IN ID SEGMENT LDA NAME,I CPA ASCSE RSS JMP NEXT IS ISZ NAME LDA NAME,I THE CPA ASCNS RSS PROGRAM JMP NEXT ISZ NAME NAME LDA NAME,I AND MASK "SENSE"? CPA ASCE JMP FOUND NEXT ISZ KYTBL JMP NXTID * * SERCH HAS FOUND THE ID SEGMENT ADDRESS OF "SENSE". * SERCH NEXT LOOKS FOR THE ID SEGMENT ADDRESS OF THE * USER'S INTERRUPT HANDLING PROGRAM ("ALARM") IN THE * 6940 DRIVER'S EQT TABLE. * FOUND LDA MPLU,I ADA MIN1 ADA DRT FROM THE DEVICE REFERENCE TABLE LDA A,I FIND THE EQT #. AND MSK77 ADA MIN1 LDB A \ ALF \ THESE INSTRUCTIONS MULTIPLY CMB,INB / THE EQT # BY 15. ADB A / ADB EQTA STB EQTBL ADB .12 FIND THE 13TH ENTRY OF THE EQT TABLE. LDA DVRNO,I AND RCOD2 IS THE DRIVER # 61 OR 72? SZA DVR72 LDB B,I DRIVER 72: ALARM ADDR IS IN DRIVER'S TABLE STORE STB LOCAT DRIVER 61: ALARM ADDR IS IN EQT ENTRY 13 LDA LOCAT,I STA CNTNT SKP * * SERCH PLACES THE ID SEGMENT ADDRESS OF "SENSE" IN THE * 6940 DRIVER'S TABLE. * RPLAC JSB $LIBR NOP LDA IDADR STA LOCAT,I JSB $LIBX DEF *+1 DEF *+1 DSPLY CLA ADA ICNWD CLB JSB .DIO. DEF TEXTA ”þú DEF RTRN1 LDA CNTNT THE ID SEGMENT ADDRESS OF ALARM IS ... JSB .IOI. LDA LOCAT THE ADDRESS IS STORED AT ... JSB .IOI. JSB .DTA. RTRN1 JMP SERCH,I * NOSNS CLA,INA NO SENSE PROGRAM FOUND. STA MODE,I MODE <= 1 RTRN2 JMP SERCH,I * SKP * * * CONSTANTS AND VARIABLES. * INTBA EQU 1654B FWA OF INTERRUPT TABLE. DRT EQU 1652B ADDRESS OF DEVICE REFERENCE TABLE EQTA EQU 1650B ADDRESS OF EQUIPMENT TABLE KEYWD EQU 1657B FWA OF KEYWORD BLOCK. A EQU 0 B EQU 1 ICNTN NOP STORAGE FOR INTERRUPT TABLE CONTENTS. CNTNT NOP CONTENTS OF THE 13TH ENTRY OF THE 6940 * EQT TABLE. LOCAT NOP STORAGE LOCATION OF THE ID SEGMENT * ADDRESS OF THE USER'S ALARM PROGRAM. EQTBL NOP LOCATION OF EQT TABLE FOR THE 6940 ICNWD NOP CONTROL INFORMATION WORD FOR EXEC CALLS. INTBL NOP LOCATION OF INTERRUPT TABLE ENTRY. EQT13 NOP THE 13TH ENTRY OF THE 6940 EQT TABLE. KYTBL NOP LOCATION OF KEYWORD BLOCK. IDADR NOP SENSE'S ID SEGMENT ADDRESS ASCSE ASC 1,SE ASCNS ASC 1,NS ASCE OCT 42400 NAME NOP RCOD2 OCT 2 .12 DEC 12 MIN1 OCT -1 MIN6 OCT -6 MSK77 OCT 77 MASK OCT 77400 SKP * * PRINT STATEMENTS. * * TEXTA ASC 21,(" THE ID SEGMENT ADDRESS OF ALARM IS "@6 ASC 16,/" THE ADDRESS IS STORED AT "@6) * * EMPTY JSB EXEC DEF *+5 THE INTERRUPT TABLE ENTRY FOR THE DEF RCOD2 6940 IS ZERO OR NEGATIVE! BAD NEWS! DEF ICNWD DEF TEXTB DEF TXTBL JSB EXEC DEF *+5 DEF RCOD2 DEF ICNWD DEF TEXTC DEF TXTCL CCA MODE = -1, -> INDICATES AN ERROR STA MODE,I IN THE INTERRUPT TABLE. RTRN3 JMP SERCH,I * TEXTB ASC 15, ERROR! 6940 INTERRRUPT TABLE TEXTC ASC 18, ENTRY IS NOT DRIVER'S EQT ADDRESS. TXTBL DEC 15 TXTCL DEC 18 * SKP * * * * * * * * L U C H K"i - MAXIMUM LU RETRIEVER * * * * * MAXLU NOP * LUCHK NOP JSB .ENTR DEF MAXLU LOOK ON BASE PAGE TO FIND OUT THE LDA LUMAX MAXIMUM LU # IN THE SYSTEM. STA MAXLU,I JMP LUCHK,I * LUMAX EQU 1653B SKP * * * * * D S R C H * * * * * * "DSRCH" RESTORES THE ID SEGMENT ADDRESS OF THE USER'S * ALARM - INTERRRUPT PROCESSING PROGRAM TO THE DRIVER'S * TABLE. * * DSRCH NOP STARTING POINT . . . RSTOR JSB $LIBR NOP LDA CNTNT STA LOCAT,I * THE FOLLOWING CODE CLEARS THE T6940 ID SEGMENT'S * TIME VALUES. LDB XEQT GET THE ID SEGMENT ADDRESS OF T6940 ADB D17 GOTO WORD 18 (RES/T/MULT) LDA B,I GET CONTENTS AND TBIT ISOLATE TIME BIT SZA,RSS IS PROGRAM IN THE TIME LIST? STA B,I CLEAR RESOLUTION CODE AND MULTIPLE EXIT JSB $LIBX DEF DSRCH,I * XEQT EQU 1717B D17 DEC 17 TBIT OCT 10000 * END END$ ¶)ÿÿ ÿýU^ ÿ09611-18017 1742 S 0122 &CRCNF RTE RECON. ROUTINE             H0101 ËÂþúASMB,A,B,L,C * NAME : RTE-C RECONFIGURATION PATCH * MODIFIED TO RECOGNIZE DVR05 * SOURCE: 09611-18017 REV 1742 * RELOC: 09611-16017 REV 1742 * PROGRAMMER: A.R. SANDERSON 770805 * REVISED FOR RTE-C BASED 2313/91000 VERIFICATION * BASED ON PREVIOUS VERSIONS BY R.K. JUNCKER, * (92064-18139), E.J.W., AND D.L.S. * * **************************************************************** * * (C) COPYRIGHT HEWLETT-PACKARD COMPANY 1976. ALL RIGHTS * * * RESERVED. NO PART OF THIS PROGRAM MAY BE PHOTOCOPIED, * * * REPRODUCED OR TRANSLATED TO ANOTHER PROGRAM LANGUAGE WITHOUT * * * THE PRIOR WRITTEN CONSENT OF HEWLETT-PACKARD COMPANY. * * **************************************************************** * * * ORG 2 JMP TBG,I SET UP TO START IN THIS ROUTINE INSTEAD OF ORG 1674B THE OP SYSTEM. DEF START BEGINNING OF THIS ROUTINE A EQU 0 B EQU 1 * ORG 37400B START CLB STARTS HERE. HLT 70B HALT FOR USER TO SET S AND B TO PARAMETERS. * * PHOTOREADER RECONFIGURATION * B CONTAINS PHOTOREADER SELECT CODE (IF USED). * * LDA B AND B77 STA NEWCH SET "NEWCH" TO PHOTOREADER S.C. SZA,RSS JMP CRTIO PHOTOREADER S.C.=0, SKIP RECONFIGURATION * * LDA PRMSK 770630 SET A=EQT TYPE, CHP2=NEW I/O CHANNEL JSB SCAN FIND EQT AND SET NEW I/O CHANNEL IN EQT JSB SINT SET UP INTERRUPT TABLE & TRAP CELL * * * SYSTEM CONSOLE RECONFIGURATION * CRTIO LIA 1 GET NEW S.C. FOR AND B77 CONSOLE FROM S-REG SZA,RSS BITS 0-5. JMP TBGIO IF ZERO, SKIP CRT SECTION * STA NEWCH SAVE S.C. FOR SCAN AND LDA CHSC3 CONFIGURE I-O IOR NEWCH INSTRUCTIONS. STA CHSC3 LDA CHSC4 IOR NEWCH STA CHSC4 LDA CHSC2 IOR NEWCH STA CHSC2 * ~Æþú LDA CHMRS SEND MASTER RESET.FLAG SET=12966A. CHSC2 CLF 0 CHSC3 OTA 0 CHSC4 SFS 0 * CLE,RSS IF NOT 12966A CARD, SET E=0. CCE IF 12966A CARD, SET E=1. * LDB SYSTY GET ADB D4 OLD LDA B,I DEVICE AND B374C TYPE. CPA B2400 JMP PAS29 * SEZ JMP PAS28 OLD=00, NEW=05. JMP PAS27 OLD=00, NEW=00. * PAS29 SEZ JMP PAS27 OLD=05, NEW=05. * PAS28 CLA,SEZ OLD=05, NEW=00. LDA B2400 SCAN FOR 00 OR JSB SCAN 05 DEVICE. * STB SYSTY SETUP BASE PAGE CONSOLE WORD. * STA DRT,I FIX LU#1. * PAS25 JSB SINT SET INTERRUPT TABLE & TRAP CELL LDA DRT,I GET BACK LU1 EQT 770630 LDB DRT INDEX UP TO 770630 ADB D5 LU6 770630 STA B,I & ASSIGN IT TO CONSOLE 770630 JMP TBGIO * PAS27 ADB M1 CURRENT SYSTEM CONSOLE IS ALRIGHT LDA B,I EXCEPT FOR THE CHANNEL IN EQT AND C77 WORD 4. FIX UP WORD IOR NEWCH 4 THEN RETURN AND STA B,I FIX UP BASE PAGE ADB M3 JMP PAS25 TRAP CELL AND INTBA. * * * TIME-BASE-GENERATOR RECONFIGURATION * TBGIO LIA 1 GET NEW S.C.FOR ALF,ALF TBG FROM S-REG RAL,RAL BITS 6-11. AND B77 SZA,RSS IF ZERO, JMP PRVIO SKIP TBG SECTION * STA TBG CLB CLEAR LDA INTBA TBG ADA M6 INTERRUPT ADA TBG TABLE STB A,I LOCATION. * LDA JCICI SET UP TBG STA TBG,I TRAP CELL. * * * PRIVILEGED TERMINATOR CARD RECONFIGURATION * PRVIO LIA 1 GET NEW S.C. ALF FOR PRIVILEGED AND B17 INTERRUPT CARD. SZA,RSS IF ZERO, JMP FINIS SKIP PRIVILEGED INTERRUPT SECTION * CPA B10 IF NEW S.C=10 CLA i?þú THEN CLEAR STA DUMMY DUMMY. * LDB JCICI PUT 'JSB $CIC,I' INTO BASE STB DUMMY,I PAGE TRAP CELL. * * * * FINIS JMP 3,I RETURN TO SYSTEM START-UP SEQUENCE * * CHMRS OCT 150077 MASTER RESET FOR 12966A CARD. PRMSK OCT 400 770630 PHOTOREADER DRIVER TYPE OLDCH NOP SET BY SCAN. NEWCH NOP B10 OCT 10 B17 OCT 17 B77 OCT 77 B2400 OCT 2400 B374C OCT 37400 C77 OCT 177700 M6 DEC -6 M3 DEC -3 M1 DEC -1 D4 DEC 4 D5 DEC 5 D15 EQU B17 SKP * **************************************************************** * **************************************************************** * * OPERATION: * THE SYSTEM HALTS WITH 102070 AFTER IT IS STARTED. * AT THIS POINT, ENTER THE SELECT CODE OF THE CONSOLE * IN SWITCH REGISTER BITS 0-5, AND THE SELECT CODE OF * THE TBG IN BITS 6-11. * OPTIONAL: * ENTER THE SELECT CODE OF THE PHOTOREADER IN BITS * 0-5 OF THE B REGISTER. * PRESS RUN. * **************************************************************** * * THIS "PROGRAM" IS APPENDED TO THE END OF THE RTE-C * ABSOLUTE SYSTEM TAPE. **************************************************************** * * SCAN SUBROUTINE - FIND EQT BY TYPE & SET UP NEW I-O CHANNEL * * ENTRY: * :=NEW I/O CHANNEL # TO PUT INTO EQT * :=BITS 8-13 = DEVICE TYPE. * JSB SCAN * * EXIT: * :=EQT# * :=EQT1 ADDRESS. * :=OLD I/O CHANNEL # OF EQT * **************************************************************** * SCAN NOP STA TEMP0 SAVE DEVICE TYPE MASK. LDB EQT# SET CMB,INB UP STB COUNT COUNT. LDB EQTA POSITION TO FIRST ADB D4 EQT WORD 5 * SCAN1 LDA B,I GET DEVICE TYPE AND B374C FROM EQT WORD 5. CPA TEMP0 IF CORRECT TYPE, žòþú JMP SCAN2 THEN EXIT. ADB D15 POSITION TO NEXT ISZ COUNT EQT WORD 5. JMP SCAN1 CONTINUE SCAN. * LDA TEMP0 HLT 61B IF NO DEVICE, JMP *-1 HLT 61. (A)=DEVICE TYPE TO BE FOUND * SCAN2 ADB M1 LDA B,I AND B77 GET OLD STA OLDCH CHANNEL AND LDA B,I SAVE IT. AND C77 FIX CHANNEL # IOR NEWCH IN EQT WORD 4. STA B,I ADB M3 POSITION TO EQT1. LDA COUNT COMPUTE ADA EQT# EQT # INA AND JMP SCAN,I RETURN. * ***************************************************************** * * SINT SUBROUTINE - SET UP INTERRUPT TABLE & TRAP CELL * * ENTRY: * :=NEW I/O CHANNEL # * :=EQT ADDR * JSB SINT * * EXIT: * REGISTERS MEANINGLESS * ***************************************************************** * SINT NOP STB TEMP0 SAVE EQT ADDR LDA NEWCH GET NEW I/O CHANNEL ADA M6 STA B ADB INTBA (B) = ADDR OF INTERRUPT TABLE ENTRY CMA,CLE,SSA TEST FOR NEGATIVE I/O CHANNEL ADA INTLG TEST FOR MAX I/O CHANNEL LDA TEMP0 SEZ,RSS ANY ERROR IN ABOVE TESTS? JMP BADCH YES, ERROR HALT * STA B,I SET EQT ADDR IN NEW INTERRUPT TABLE ENTRY * LDA JCICI GET 'JSB $CIC-LINK,I' AND STA NEWCH,I PUT INTO NEW TRAP CELL JMP SINT,I RETURN * BADCH LDB INTLG ERROR. I O CHANNEL # TOO HIGH ADB D5 LDA NEWCH (A)=NEW I/O CHANNEL HLT 63B HLT 63 (B)=MAX I/O CHANNEL ALLOWED JMP *-1 * * TEMP0 NOP COUNT NOP * * JCICI EQU 5B LOCATION 5 MUST BE 'JSB $CIC-LINK,I' EQTA EQU 1650B EQT# EQU 1651B DRT EQU 1652B INTBA EQU 1654B INTLG EQU 1655B TBG EQU 1674B SYSTY EQU 1675B DUMMY EQU 1737B * END ÍŸÿÿ ÿýV ` ÿ12531-18001 1509 S 0122 012752/54 TTY & 12531 INTERFACE DIAGNOSTIC             H0101 ™$þú ASMB¬A¬B¬Ì¬Ã       HÅD GÅNÅÒAÌ ÏPÅÒAÔÉNG PÒÏÃÅDUÒÅ       ÏÒG 0       SUP ª     GÅNÅÒAÌ ÏPÅÒAÔÉNG PÒÏÃÅDUÒÅ ª  ª         A. ÌÏAD DÉAGNÏSÔÉàÃÏNÆÉGUÒAÔÏÒ AND SÅÔ ÉÔ UP. ª         B. ÌÏAD DÉAGNÏSÔÉàMAÉN PÒÏGÒAM ª         Ã. ÌÏAD ADDÒÅSS ±00B. ª         D. ÌÏAD S×ÉÔÃH ÒÅG. ×ÉÔH SÅÌÅÃÔ ÃÏDÅ AND ÏPÔÉÏNS ª         Å. PÒÅSS ÒUN AND ×AÉÔ ÆÏÒ HAÌÔ ±0·0·´. ª         Æ. ÌÏAD S×ÉÔÃH ÒÅGÉSÔÅÒ ª                   ÉÆ SÅÔ ½: ª                   ±5 ½ HAÌÔ AÔ ÅND ÏÆ ÅAÃH ÔÅSÔ ª                   ±´ ½ SUPÒÅSS ÅÒÒÏÒ HAÌÔS ª                   ±3 ½ ÌÏÏP ÏN ÌASÔ ÔÅSÔ ª                   ±² ½ ÌÏÏP ÏN DÉAGNÏSÔÉà ª                        (SUPPÒÅSS AÌÌ ÏPÅÒAÔÏÒ ÉNÔÅÒVÅNÔÉÏN© ª                   ±± ½ SUPÒÅSS ÅÒÒÏÒ MÅSSAGÅS ª                   ±0 ½ SUPÒÅSS NÏN-ÅÒÒÏÒ MÅSSAGÅS ª                    9 ½ GÏ ÔÏ USÅÒ ÃÏNÔÒÏÌ SÅÃÔÉÏN ª                        AÔ ÅND ÏÆ PÒÅSÅNÔ ÔÅSÔ ª                    ¸½ SUPPÒÅSS ÏPÅÒAÔÏÒ ÉNÔÅÒVÅNÔÉÏN ÔÅSÔS ª                    · ª                      ½ DÉAGNÏSÔÉàÏPÔÉÏNS ª                    0 ª         NÏÔÅ: SÔANDAÒD ÒUN SHÏUÌD BÅ ×ÉÔH S×. ÒÅG. ½ 0 ª               USÅÒ ÃÏNÔÒÏÌ ×ÉÌÌ ASK ÆÏÒ A 3² BÉÔ ×ÏÒD. ª               ÅAÃH BÉÔ ×ÉÌÌ ½ ± ÔÅSÔ ª  ª         G. PÒÅSS ÒUN. ª         H. ÒÅSÔAÒÔ - ÌÏAD ADDÒÅSS ²000B ª         É. ÒÅÃÏNÆÉGUÒÅ ÉÆ ÔÅSÔÉNG É¯Ï ÉNÔÅÒÆAÃÅ - ÌÏAD ADDÒÅSS ±00B ª  ª         GÅNÅÒAÌ ÃÏMPUÔÅÒ HAÌÔS ª  ª         ±0²0ØØ    Å ÏÒ H  000 ÔÏ 06· ª         ±060ØØ    Å ÏÒ H  ±00 ÔÏ ±6· ª         ±030ØØ    Å ÏÒ H  ²00 ÔÏ ²6· ª         ±0·0ØØ    Å ÏÒ H  300 ÔÏ 36· ª  ª         ÃÏNÔÒÏÌ PÒÏGÒAM HAÌÔ MÅSSAGÅS ª  ª         ±0²0··    ÅND ÏÆ DÉAG (A ½ PASS ÃÏUNÔ© ª         ±0²0·6    ÅND ÏÆ ÔÅSÔ (A ½ ÔÅSÔ £© ª         ±0²0·5    USÅÒ SÅÌÅÃÔÉÏN ÒÅÑUÅSÔ ª         ±0²0·´    SÅÌÅÃÔ ÃÏDÅ ÉNPUÔ ÃÏMPÌÅÔÅ ª         ±0²0·3    USÅÒ SÅÌÅÃÔ ÃÏDÅ ÅÒÒÏÒ ª         ±0²0·²    ÒÅSÅÒVÅD ª         ±0²0·±    ÒÅSÅÒVÅD ª         ±0²0·0    ÒÅSÅÒVÅD ª  ª         ±060··    ÔÒAP ÃÅÌÌ HAÌÔ ª  ª  ª        HÅD PÒÏGÒAM ÏÒGANÉZAÔÉÏN ÃHAÒÔ ª         ªªªªªªªªªªªªªªŽ£þúªªªªªªªªªªªªªªªªªªªªªªªªªªªªª ª         ª         ÃÏNÆÉGUÒAÔÏÒ            ±00B    ª ª         ª            ÌÉNKAGÅ ÔABÌÅ                ª ª         ªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªª ª         ª         ÅØÅÃUÔÉVÅ               ±30B    ª ª         ª         ÌÉNKAGÅ                         ª ª         ªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªª ª         ª         ÃÏNSÔANÔS               ±50B    ª ª         ª            AND                          ª ª         ª         SÔÏÒAGÅ                         ª ª         ªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªª ª         ª                                ²000B    ª ª         ª         ÅØÅÃUÔÉVÅ ÃÏNÔÒÏÌ               ª ª         ª                                         ª ª         ªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªª ª         ª         ÉÆ USÅD                         ª ª         ª         BASÉàɯϠÔÅSÔS (ÔÅSÔ 00©       ª ª         ª                                ZÃÅND    ª ª         ªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªª ª         ª         ÔABÌÅ ÏÆ ÔÅSÔ PÏÉNÔÅÒS          ª ª         ª         ÔABÌÅ ÏÆ É¯Ï ÉNSÔÒ PÏÉNÔÅÒS     ª ª         ªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªª ª         ª                                         ª ª         ª                                         ª ª         ª                                         ª ª         ª                                         ª ª         ª                                         ª ª         ª         MAÉN DÉAGNÏSÔÉÃS (±-3±©         ª ª         ª                                         ª ª         ª                                         ª ª         ª                                         ª ª         ª                                         ª ª         ª                                         ª ª         ªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªª ª  ª  ª  ª  ª  ª  ª  ª  ª  ª  ª  ª  ª  ª  ª  ª  ª  ª  ª  ª        HÅD ÃÏNÆÉGUÒAÔÏÒ ÌÉNKAGÅ ÔABÌÅ A     ÅÑU 0         A ÒÅGÉSÔÅÒ ÒÅÆÅÒÅNÃÅ B 4%þú    ÅÑU ±         B ÒÅGÉSÔÅÒ ÒÅÆÅÒÅNÃÅ S×    ÅÑU ±         S×ÉÔÃH ÒÅGÉSÔÅÒ ÒÅÆÅÒÅNÃÅ ÉNÔP  ÅÑU 0         ÉNÔÅÒÒUPÔ ÃHANNÅÌ ÒÅÆÅÒÅNÃÅ ª  ª        ÏÒG ±00B ª        ÊMP ÃÆÉG¬É    GÏ ÔÏ ÃÏNÆÉGUÒAÔÉÏN SÅÃÔÉÏN ÆAÉN  BSS ±         ÆASÔ ÉNPUÔ (PHÏÔÏ ÒÅADÅÒ© SÌÏP  BSS ±         SÌÏ× ÏUÔPUÔ (ÌÉSÔ© ÆAÏP  BSS ±         ÆASÔ ÏUÔPUÔ (DUMP ÏÒ PUNÃH© SÌÉN  BSS ±         SÌÏ× ÉNPUÔ (KÅYBÏAÒD© Æ×AM  DÅÆ Æ×AA      ÆÉÒSÔ ×ÏÒD ÏÆ AVBÌ. MÅMÏÒY Ì×AM  BSS ±         ÌASÔ ×ÏÒD ÏÆ AVBÌ. MÅMÏÒY       BSS ±         NÏÔ USÅD (MAG ÔAPÅ© ÏÔMà BSS ±         ± MÉÌÌ SÅàÔÉMÅ ÏUÔ ÃÏUNÔ       BSS ´         SÅÌÅÃÔ ÃÏDÅS ÆÏÒ É¯Ï ÃPÔÏ  BSS ±         ÃÏMPUÔÅÒ ÔYPůÏPÔÉÏNS USSà BSS ±         USÅÒ ÃAÒD ÔYPÅ AND SÅÌÅÃÔ ÃÏDÅ MÅMÏ  BSS ±         MÅMÏÒY SÉZÅ AND ÔYPÅ ÉS×Ò  BSS ±         ÉNÔÅÒNAÌ S×ÉÔÃH ÒÅGÉSÔÅÒ ÔMÒÒ  BSS ±         ± MÉÌÌ SÅàÔÉMÅÒ S×Òà BSS ±         ÃÏNÆÉGUÒAÔÏÒ S×ÉÔÃH ÃK PÔÒ É²AS  BSS ±         ÉNÔÅGÅÒ ÔÏ ASÃÉÉ ÃÏNVÅÒSÉÏN ϲAS  BSS ±         ÏÃÔAÌ ÔÏ ASÃÉÉ ÃÏNVÅÒSÉÏN AS²N  BSS ±         ASÃÉÉ ÃÏNVÅÒSÉÏN DSNÌ  BSS ±         DÉAGNÏSÔÉàSÅÒÉAÌ NUMBÅÒ ÆMÔÒ  BSS ±         ÆÏÒMAÔÔÅÒ ª  ª  ª         ÃÏNÔÒÏÌ ÌÉNKAGÅ AND DAÔA ÒÅÆÅÒÅNÃÅS ª  ÃÆÉG  DÅÆ ZÃÏNÆ     ÃÏNÆÉGUÒAÔÉÏN SÅÃÔÉÏN MSGà DÅÆ ZMSGà    MÅSSAGÅ ×ÉÔH NÏ HAÌÔ MSGH  DÅÆ ZMSGH     MÅSSAGÅ ×ÉÔH HAÌÔ ÅÒMS  DÅÆ ZÅÒMS     ÅÒÒÏÒ MÅSSAGÅ S×ÒÔ  DÅÆ ZS×ÒÔ     S×ÉÔÃH ÒÅGÉSÔÅÒ ÃHÅÃK ÒÏUÔÉNÅ ÔSÔN  ÏÃÔ 0         ÃUÒÒÅNÔ ÔÅSÔ NUMBÅÒ ÅØÒÔ  DÅÆ ZÅØÒÔ     ÒÅÔUÒN ÔÏ ÃÏNÔÒÏÌ PÒÏGÒAM       NÏP           ÒÅSÅÒVÅD ª  ª  ª  ª  ª  ª  ª  ª  ª  ª  ª  ª  ª        HÅD ÅØÅÃUÔÉVÅ ÃÏNÔÒÏÌ       ÏÒG ²000B ZSÔÅØ ÃÌàÉNÔP¬Ã    ÔUÒN É¯Ï SYSÔÅM ÏÆÆ       ÊSB MSGìɠ   DÏ ÃÒÌÆ       DÅÆ ZÒÔÌÆ       ÌDA HDMP      GÅÔ ÉNÔÒÏDUÃÔÏÒY MÅSSAGÅ       SÔA ª+²       ÊSB MSGìɠ   ÏUÔ PUÔ ÉÔ       NÏP       ÃÌA           ÃÌÅAÒ PASS       SÔA ZÅÏÌà      ÃÏUNÔ       ÌDB ZS×9      ÃHÅÃK ÆÏÒ USÅÒ SÅÌÅÃÔÉÏN ÒÅÑ       ÊSB S×ÒÔ¬É       ÊMP ZUSÒ      ÉÔ'S USÅÒS ÃHÏÉÃÅ ZNUSÒ ÌDA SÔDA      GÅÔ SÔANDAÒD ÔÅSÔ ÒUN       ÌDB SÔDB      ª     ›‚þú  ÊMP ZÅØÃ ª  ZUSÒ  ÌDA ZSÉNA     ÒÅÔÒÉÅVÅ PÒÅVÉÏUS ÒUN       ÌDB ZSÉNB       HÌÔ ·5B       ×AÉÔ ÆÏÒ USÅÒ ÉNPUÔ       NÏP       NÏP       NÏP ZÅØÃ  SÔA ZUÉNA     SAVÅ       SÔB ZUÉNB       USÅÒ       SÔA ZSÉNA         ÉNPUÔ       SÔB ZSÉNB           PÒÏGÒAM       ÌDB ZS×9      ÃHÅÃK ÉÆ S×9 ÉS DÏ×N       ÊSB S×ÒÔ¬É       ÊMP ZUSÒ      NÏ GÏ AND ×AÉÔ       ÃÃA           SÅÔ ÔÅSÔ NUMBÅÒ       SÔA ÔSÔN      ½-±       ÃÌA       SÔA ZÔSÔA     ÃÌÅAÒ ÔÅSÔ ÒUN ÆÌAG ª  ª  ª  ª  ª  ª  ª  ª  ª  ª  ª  ª  ª  ª  ª  ª        SKP ZÅØÃÌ ÌDA ZUÉNA     ÒÅSÔÏÒÅ A ÒÅG.       ÌDB ZUÉNB     ÒÅSÔÏÒÅ B ÒÅG.       ÅÒA¬ÒAÌ       ÒÏÔAÔÅ       ÅÒB             ÆÉÒSÔ       ÅÒA               ÔÅSÔ BÉÔ       SÔA ZUÉNA     SAVÅ PÏSÉÔÉÏNS       SÔB ZUÉNB       ÉSZ ÔSÔN      MÏVÅ ÔÅSÔ UP ÏNÅ       NÏP ZØÃ̱ ÌDA ÔSÔN       ADA ÔSÔP      GÅÔ ÉÔ'S       ÌDA A¬É         ADDÒÅSS       ÃPA Z.M±      ÉS ÉÔ ÅND ÏÆ ÌÉSÔ       ÊMP ZÅÏÌ      YÅS       ÌDB ZUÉNB       SSB¬ÒSS       SHÏUÌD ÉÔ BÅ ÒUN?       ÊMP ZÅØÃÌ     NÏ       SÔA ZÔSÔA     YÅS - SAVÅ ÔÅSÔ ADDÒÅSS       ÊSB ZÉÔÃH     ÉNÉÔÉAÌÉZÅ ÔÒAP ÃÅÌÌ HAÌÔS       ÊSB ZÔSÔA¬É   GÏ DÏ ÔÅSÔ ZÅØÒÔ ÌDA ÔSÔN      DÉSPÌAY ÔÅSÔ NUMBÅÒ ÉÆ HAÌÔÅD       ÌDB ZS×±5     ÃHÅÃK ÆÏÒ HAÌÔ AÔ ÅND ÏÆ ÔÅSÔ       ÊSB S×ÒÔ¬É       HÌÔ ·6B       YÅS ×AÉÔ ÆÏÒ ÏPÅÒAÔÏÒ       ÌDB ZS×9      ÃHÅÃK ÆÏÒ ABÏÒÔ       ÊSB S×ÒÔ¬É       ÊMP ZUSÒ      YÅS       ÌDB ZS×±3     ÃHÅÃK ÆÏÒ ÌÏÏP ÏN ÒÏUÔÉNÅ       ÊSB S×ÒÔ¬É       ÊMP ZØÃ̱     YÅS - ÌÏÏP       ÊMP ZÅØÃÌ     ÃÏNÔÉNUÅ ª  ZÅÏÌ  ÌDA ZÔSÔA     ÃHÅÃK ÉÆ ANY ÔÅSÔS ×ÅÒÅ ÒUN       SZA¬ÒSS       ?       ÊMP ZNUSÒ     NÏ  SÏ PÉÃK UP SÔANDAÒD ÒUN       ÌDA ZÅÏÌà    UP DAÔÅ PASS ÃÏUNÔ       ÉNA       SÔA ZÅÏÌà       ÃÃÅ       ÌDB ZPSÃA     GÅÔ PASS ÃÏUNÔ       ADB Z.²         ADDÒÅSS       ÊSB Ï²AS¬É    ÃÏNVÅÒÔ ÉÔ       ÊSB MSGìɠ   ÃAÌÌ PÒÉNÔ ÒÏUÔÉNÅ ZPSÃA DÅÆ ZPSà       ÌDB ZS×±²     ÃHÅÃK ÆÏÒ ÌÏÏP ÏN DÉAG.       ÊSB S×ÒÔ¬É       ÊMP ª+3       YÅS       ÌDA ZÅÏÌà     Ìpþú  HÌÔ ··B       NÏ ×AÉÔ AND DÉSPÌAY PASS ÃÏUNÔ       ÌDA ZSÉNA     ÒÅSÔÏÒÅ ÏÒÉGÉNAÌ       ÌDB ZSÉNB       PÒÏGÒAM       ÊMP ZÅØÃ      DÏ ÉÔ AÌÌ AGAÉN ª        SKP ª         MÅSSAGÅ ÏUÔPUÔ ×ÉÔH ÏUÔ HAÌÔ ª  ZMSGàNÏP           ÅNÔÒY       ÊSB ZMSG      ÏUÔPUÔ MÅSSAGÅ       ÏÃÔ ²000      S×ÉÔÃH ±0 ÃHÅÃK       ÊMP ZMSGìɠ  ÒÅÔUÒN ÔÏ ÃAÌÌÅÒ ª  ª         MÅSSAGÅ ÏUÔPUÔ ×ÉÔH HAÌÔ ª  ZMSGH NÏP           ÅNÔÒY       ÊSB ZMSG      ÏUÔPUÔ MÅSSAGÅ       ÏÃÔ ²000      S×ÉÔÃH ±0 ÃHÅÃK       ÌDA ZHÌÔ      GÅÔ HAÌÔ ÃÏDÅ       SÔA ª+²       PUÔ ÉÔ ÉN PÌAÃÅ       ÌDA ZSAVA     ÒÅSÔÏÒÅ A ÒÅGÉSÔÅÒ       NÏP           HAÌÔ ÆÏÒ DÉSPÌAY       ÊMP ZMSGH¬É   ÒÅÔUÒN ÔÏ ÃAÌÌÅÒ ª  ª         ÅÒÒÏÒ MÅSSAGÅ ×ÉÔH HAÌÔ ª  ZÅÒMS NÏP           ÅNÔÒY       ÊSB ZMSG      ÏUÔPUÔ MÅSSAGÅ       ÏÃÔ ´000      S×ÉÔÃH ±± ÃHÅÃK       ÃÌA       ÌDB ZS×±´     ÃHÅÃK S×Ò BÉÔ ±´ ÔÏ SUPPÒÅSS       ÊSB S×ÒԬɠ   HAÌÔ       SÔA ª+3       PUÔ  HAÌÔ ÉN PÌAÃÅ       ÌDA ZSAVA     ÒÅSÔÏÒÅ A ¦ B       ÌDB ZSAVB ZHÌÔ  NÏP           ×AÉÔ ÆÏÒ ÏPÅÒAÔÏÒ       ÊMP ZÅÒMS¬É   ÒÅÔUÒN ÔÏ ÃAÌÌÅÒ ª  ª  ª  ª  ª  ª  ª  ª  ª  ª  ª  ª  ª        SKP ª         ÏUÔPUÔ MÅSSAGÅ ª  ZMSG  NÏP       SÔA ZSAVA     SAVÅ A AND B ÒÅGÉSÔÅÒS       SÔB ZSAVB       ÌDB ZMSG¬É    GÅÔ S×ÉÔÃH ÒÅGÉSÔÅÒ BÉÔ       ÌDA ZMSG       ADA Z.M²      DÅÃÒÅMÅNÔ ÒÅÔUÒN ADDÒÅSS       SÔA ZMSG       ÊSB S×ÒԬɠ   ÃHÅÃK ÔÏ SUPPÒÅSS MÅSSAGÅ       ÊMP ZMSG0     YÅS       ÌDA ZMSG¬É    ÃHÅÃK ÉÆ ÅÒÒÏÒ       ÌDA A¬É       ÌDA A¬É       ÉÆ SÏ       AÌÆ¬AÌÆ       AND Z.±··       ÃPA ZA.Å       ÊSB ZÃÆÔN     ÃHÅÃK ÔÏ ÏUÔPUÔ ÔÅSÔ NUMBÅÒ       ÌDA ZMSG¬É    NÏ ÒÅÔÒÉÅVÅ ÆÏÒMAÔ       ÌDB A¬É         ADDÒÅSS       ÃÌA¬ÃÌÅ       ÊSB ÆMÔÒ¬É ZMSG0 ÌDA ZMSG¬É    ÃÏNVÅÒÔ HAÌÔ ÃÏDÅ       ÌDB A¬É         ÆÒÏM ASÃÉÉ SÔÒÉNG       ÃÃA¬ÃÃÅ       ÊSB AS²N¬É       SÔA ZN²AÏ     SAVÅ ÒÅSUÌÔ       AND Z.300     DÅÃÏDÅ       ÌDB ZH²         HAÌÔ ÃÏDÅ       ÃPA Z.±00       ÌDB ZH6       ÃPA Z.²00       ÌDB ZH3       ÃPA Z.3Zþú300       ÌDB ZH·       ÌDA ZN²AÏ     GÅÔ HAÌÔ NUMBÅÒ       AND Z.··       ÉÏÒ B       SÔA ZHÌÔ      SAVÅ ÉÔ       ÉSZ ZMSG¬É    ADÊUSÔ ÒÅÔUÒN PÏÉNÔÅÒS       ÉSZ ZMSG       ÉSZ ZMSG       ÉSZ ZMSG       ÌDA ZSAVA     ÒÅSÔÏÒÅ A AND B ÒÅGÉSÔÅÒS       ÌDB ZSAVB       ÊMP ZMSG¬É ª  ª  ª  ª  ª  ª        SKP ZÃÆÔN NÏP       ÌDA ÔSÔN      GÅÔ ÔÅSÔ NUMBÅÒ       ÃPA ZÃÆÔÔ     ÉS ÉÔ ÔHÅ SAMÅ ÏNÅ?       ÊMP ZÃÆÔN¬É   YÅS SKÉP ÏUÔPUÔ       SÔA ZÃÆÔÔ     NÏ - ÔHÅN UPDAÔÅ ÉÔ       ÊSB ZN²AÏ     ÃÏNVÅÒÔ ÉÔ       SÔA ZÔSÔN     PUÔ ÉÔ ÉN SÔÒÉNG       ÃÌA           DÏ A ÃÒÌÆ       ÊSB SÌÏP¬É       ÃÌA¬ÃÌÅ       ÉNDÉÃAÔÅ SÔAÒÔ ÏÆ ÆÏÒMAÔ       ÌDB ZÔSÔÆ       ÊSB ÆMÔÒ¬É       ÊMP ZÃÆÔN¬É   ÒÅÔUÒN ª  ª  ª  ª  ZSAVA NÏP ZSAVB NÏP ZÅÏÌàNÏP ZÔSÔA NÏP ZSÉNA NÏP ZSÉNB NÏP ZUÉNA NÏP ZUÉNB NÏP ZBÔMP NÏP Z.²   ÏÃÔ ² Z.·   ÏÃÔ · Z.±0  ÏÃÔ ±0 Z.60  ÏÃÔ 60 Z.··  ÏÃÔ ·· Z.±·· ÏÃÔ ±·· Z.M±  DÅà-± Z.M²  DÅà-² ZD±00 DÅà-±00 ZÉÏM  ÏÃÔ ±···00 ZS×±5 ÏÃÔ ±00000 ZS×±´ ÏÃÔ ´0000 ZS×±3 ÏÃÔ ²0000 ZS×±² ÏÃÔ ±0000 ZS¸±² ÏÃÔ 0±0´00 ZS×9  ÏÃÔ ±000 Z.±00 ÏÃÔ ±00 Z.²00 ÏÃÔ ²00 Z.300 ÏÃÔ 300 ZH²   ÏÃÔ ±0²000 ZH6   ÏÃÔ ±06000 ZH3   ÏÃÔ ±03000 ZH·   ÏÃÔ ±0·000 ZÃÆÔÔ DÅà-± ZÔSÔÆ DÅÆ ª+±       ASà3¬ÔÅSÔ ZÔSÔN ASà²¬ØØ¯¯ ZÒÔÌÆ AS౬¯¯ ZPSà ASà6¬PASS ØØØØØØ¯ ZA.Å  ÏÃÔ ±05       HÅD GÅNÅÒAÌ ÒÏUÔÉNÅS ª  ª  ZN²AÏ NÏP       SÔA ZÉÏAD     SAVÅ NUMBÅÒ       AND Z.·       ÃÏNVÅÒÔ ÆÉÒSÔ       ÉÏÒ Z.60        NUMBÅÒ       SÔA B         SAVÅ ÉÔ       ÌDA ZÉÏAD     GÅÔ       ÒAÒ¬ÒAÒ         SÅÃÏND       ÒAÒ               NUMBÅÒ       AND Z.·       ÃÏNVÅÒÔ       ÉÏÒ Z.60        ÉÔ       AÌÆ¬AÌÆ       MÏVÅ ÔÏ UPPÅÒ HAÌÆ       ÉÏÒ B         ADD ÌÏ×ÅÒ       ÊMP ZN²AϬɠ  AND ÒÅÔUÒN ª  ª  ª  ª         S×ÉÔÃH ÒÅGÉSÔÅÒ ÃHÅÃK ª  ZS×ÒÔ NÏP       SÔA ZN²AÏ     SAVÅ A ÒÅGÉSÔÅÒ       ÌÉA S×        GÅÔ S×ÉÔÃH ÒÅG.       AND B         MASK ÏUÔ BÉÔ       SZA¬ÒSS       ÉS ÉÔ UP?       ÉSZ ZS×ÒÔ     NÏ       ÌDA ZN²AÏ     ÒÅSÔÏÒÅ A ÒÅQáþúGÉSÔÅÒ       ÌÉB S×        ÌÅÔ B ½ S×ÉÔÃH ÒÅGÉSÔÅÒ       ÊMP ZS×ÒԬɠ  ÒÅÔUÒN ÔÏ ÃAÌÌÅÒ ª  ª  ª  ª         ÉNÉÔÉAÌÉZÅ ÔÒAP ÃÅÌÌ HAÌÔS ª  ZÉÔÃH NÏP       ÌDA ZÔSH      GÅÔ SÔAÒÔÉNG ÔÒAP ÃÅÌÌ HAÌÔ       ÌDB Z.²       GÅÔ ÆÉÒSÔ ÔÒAP ÃÅÌÌ ÌÏÃAÔÉÏN ZÔSHÌ SÔA B¬É       PUÔ ÉÔ ÉN PÌAÃÅ       ÃPB Z.··      AM É ÆÉNÉSHÅD       ÊMP ZÉÔÃH¬É   YÅS       ÉNB             NÅØÔ ADDÒÅSS       ÊMP ZÔSHÌ ª  ZÔSH  ÏÃÔ ±060·· ª  ª  ª        SKP ª         PUÔ ÊSB ÉNSÔÒUÃÔÉÏN ÉN ÔÒAP ÃÅÌÌ ª  ZÔÃÊÉ NÏP       ÌDB ZÊSBÉ     GÅÔ ÉNSÔÒUÃÔÉÏN       SÔB ZÉÏSìɠ  PUÔ ÉÔ ÉN ÔÒAP ÃÅÌÌ       ÌDA ZÔÃÊɬɠ  GÅÔ ÌÏÃAÔÉÏN       SÔA 3B        SAVÅ ÉÔ ÆÏÒ ÊSB ÉNSÔÒUÃÔÉÏN       ÉSZ ZÔÃÊÉ     ADÊUSÔ ÒÅÔUÒN       ÊMP ZÔÃÊɬɠ  ÒÅÔUÒN ÔÏ ÃAÌÌÅÒ ª  ZÊSBÉ ÊSB 3B¬É      ÊSB ÉNSÔÒUÃÔÉÏN ª  ª  ª         ÉNÉÔÉAÌÉZÅ SÅÌÅÃÔ ÃÏDŠɯϠÉNSÔÒUÃÔÉÏNS ª  ZÉSà NÏP       SÔA ZÉÏSà    SAVÅ SÅÌÅÃÔ ÃÏDÅ       SÔB ZÉÏAD     SAVÅ ÔABÌÅ ADDÒÅSS ZÉÏÌ  ÌDB ZÉÏAD¬É   GÅÔ ADDÒÅSS ÏÆ ÌÏÃAÔÉÏN       ÃPB Z.M±      ÉS ÉÔ ÔHÅ ÔÅÒMÉNAÔÏÒ       ÊMP ZÉSìɠ   YÅS ÒÅÔUÒN ÔÏ ÃAÌÌÅÒ       ÌDA B¬É       NÏ - GÅÔ ÃÏNÔÅNÔS       AND ZÉÏM      MASK ÏÆÆ ÏÌD SÅÌÅÃÔ ÃÏDÅ       ÉÏÒ ZÉÏSà    ADD ÉN NÅ× SÅÌÅÃÔ ÃÏDÅ       SÔA B¬É       ÒÅSÔÏÒÅ  ÉÔ       ÉSZ ZÉÏAD     MÏVÅ ÔÏ NÅØÔ ADDÒÅSS       ÊMP ZÉÏÌ      DÏ ÉÔ ª  ZÉÏSàNÏP ZÉÏAD NÏP ª  ª  ª  ª        SKP ª         ÃÏNÆÉGUÒAÔÉÏN SÅÃÔÉÏN ª  ZÃÏNÆ ÃÌàÉNÔP¬Ã    ÔUÒN É¯Ï SYSÔÅM ÏÆÆ       ÌÉA S×        GÅÔ SÅÌÅÃÔ ÃÏDÅ AND ÏPÔÉÏNS       SÔA USSà     SAVÅ ÔHÅM       AND Z.··      ÅÌÉMÉNAÔÅ ÏPÔÉÏNS       ÌDB A       ÃMB¬ÉNB       ÃHÅÃK ÔHAÔ Sྠ·       ADB Z.·       SSB           ?       ÊMP ª+3       ÏK GÏ ÏN       HÌÔ ·3B       NÏ       ÊMP ZÃÏNÆ     ÔÒY AGAÉN       ÌDB ÉÏÉP      ÉNÉÔÉAÌÉZÅ ÔÅSÔ É¯Ï       ÊSB ZÉSà       ÉNSÔÒUÃÔÉÏNS       HÌÔ ·´B       AÌÌÏ× ÏPÅÒAÔÏÒ ÔÏ ÃHANGÅ S×ÉÔ       ÊMP ZSÔÅØ     GÏ ÔÏ ÅØÅàÃÏNÔÒÏÌ SÅÃÔÉÏN ª  ª  ª  ª  ª  ª  ª  ª  ª  ª  ª  ª  ª  ª  ª  ª  ª  ª  ª  ª  ª  ª  ª        HÅD BASÉàɯò0.*Ï ÔÅSÔS ÃH    ÅÑU ±0B ª  ÔSÔ00 ÅÑU ª       NÏP       ÌDA USSà     GÅÔ ÃÅÌÌ ÌÏÃAÔÉÏN       AND Z.··       ÊSB ZBÉÏ      DÏ BASÉÃ É¯Ï       ÊMP ÔSÔ00¬É ª  ZBÉÏ  NÏP       ÃÌàÉNÔP¬Ã    ÔUÒN ÏÆÆ AÌÌ É¯Ï       ÌDB ZBÉÏD     ÉNÉÔÉAÌÉZÅ BASÉÃ É¯Ï       ÊSB ZÉSà       ÉNSÔÒUÃÔÉÏNS ª  ª         ÉNÔÅÒÒUPÔ ÆÌAG ÃHÅÃK ª  ZBÉϱ SÔÆ ÉNÔP       ÃÌÆ ÉNÔP       SÆÃ ÉNÔP       ÒSS       ÊMP ª+3 Å000  ÊSB ÅÒMS¬É    Å000 ÃÌÆ 0-SÆÃ 0 ÅÒÒÏÒ       DÅÆ ZBÅ00       SÆS ÉNÔP       ÊMP ª+3 Å00±  ÊSB ÅÒMS¬É    Å00± ÃÌÆ 0-SÆS 0 ÅÒÒÏÒ       DÅÆ ZBÅ0±       SÔÆ ÉNÔP       SÆÃ ÉNÔP       ÊMP ª+´       ÃÌÆ ÉNÔP      ÔUÒN ÏÆÆ ÉNÔS Å00²  ÊSB ÅÒMS¬É    Å00² SÔÆ 0-SÆÃ 0 ÅÒÒÏÒ       DÅÆ ZBÅ0²       SÆS ÉNÔP       ÊMP ª+3       ÃÌÆ ÉNÔP      ÔUÒN ÏÆÆ ÉNÔÅÒÒUPÔS       ÊMP ZBÉϲ       ÃÌÆ ÉNÔP      ÔUÒN ÏÆÆ ÉNÔS Å003  ÊSB ÅÒMS¬É    Å003 SÔÆ 0-SÆS 0 ÅÒÒÏÒ       DÅÆ ZBÅ03       ÊMP ZBÉϲ ª  ZBÅ00 ASà±²¬Å000 ÃÌÆ 0-SÆÃ 0 ÅÒÒÏÒ¯ ZBÅ0± ASà±²¬Å00± ÃÌÆ 0-SÆS 0 ÅÒÒÏÒ¯ ZBÅ0² ASà±²¬Å00² SÔÆ 0-SÆÃ 0 ÅÒÒÏÒ¯ ZBÅ03 ASà±²¬Å003 SÔÆ 0-SÆS 0 ÅÒÒÏÒ¯ ª  ª  Ñr0ÿÿ ÿýW d ÿ12531-18002 1509 S 0122 012752/54 TTY & 12531 INTERFACE DIAGNOSTIC             H0101 š$þú       SKP ª         ÃAÒD ÆÌAG ÃHÅÃK ª  ZBÉϲ ÅÑU ª ZBS²± SÔÆ ÃH ZBS²² ÃÌÆ ÃH ZBS²3 SÆÃ ÃH       ÒSS       ÊMP ª+3 Å005  ÊSB ÅÒMS¬É    Å005 ÃÌÆ ÃH-SÆÃ ÃH ÅÒÒÏÒ       DÅÆ ZBÅ05 ZBS²´ SÆS ÃH       ÊMP ª+3 Å006  ÊSB ÅÒMS¬É    Å006 ÃÌÆ ÃH-SÆS ÃH ÅÒÒÏÒ       DÅÆ ZBÅ06 ZBS²5 SÔÆ ÃH ZBS²6 SÆÃ ÃH       ÊMP ª+3 Å00·  ÊSB ÅÒMS¬É    Å00· SÔÆ ÃH-SÆÃ ÃH ÅÒÒÏÒ       DÅÆ ZBÅ0· ZBS²· SÆS ÃH       ÒSS       ÊMP ZBÉÏ3 Å0±0  ÊSB ÅÒMS¬É    Å0±0 SÔÆ ÃH-SÆS ÃH ÅÒÒÏÒ       DÅÆ ZBű0       ÊMP ZBÉÏ3 ª  ZBÅ05 ASà±3¬Å005 ÃÌÆ ÃH-SÆÃ ÃH ÅÒÒÏÒ¯ ZBÅ06 ASà±3¬Å006 ÃÌÆ ÃH-SÆS ÃH ÅÒÒÏÒ¯ ZBÅ0· ASà±3¬Å00· SÔÆ ÃH-SÆÃ ÃH ÅÒÒÏÒ¯ ZBű0 ASà±3¬Å0±0 SÔÆ ÃH-SÆS ÃH ÅÒÒÏÒ¯ ª  ª  ª  ª  ª  ª  ª  ª  ª  ª  ª  ª  ª  ª  ª  ª  ª  ª  ª        SKP ª         ÉNÔÅÒÒUPÔ ÃÏNÔÒÏÌ ª  ZBÉÏ3 ÊSB ZÔÃÊÉ     SÅÔ ÊSB ÉNSÔÒUÃÔÉÏN       DÅÆ ZB3Å ZBS3± SÔÆ ÃH        SÅÔ ÔHÅ ÆÌAG ZBS3² SÔàÃH        SÅÔ ÔHÅ ÃÏNÔÒÏÌ       SÔÆ ÉNÔP      ÔUÒN É¯Ï SYSÔÅM ÏN ÔHÅN       ÃÌÆ ÉNÔP      ÔUÒN É¯Ï SYSÔÅM ÏÆÆ       NÏP           GÉVÅ ÉÔ A ÃHANÃÅ ÔÉ ÉNÔÅÒÒUPÔ       NÏP ZBS33 ÃÌÆ ÃH        ÒÅSÅÔ ÃH ÆÌAG       ÊMP ZBÉÏ´ ª  ZBÅ0´ ASà±6¬Å00´ ÃÌÆ 0 DÉD NÏÔ ÉNHÉBÉÔ ÉNÔ¯ ª  ZB3Å  NÏP       ÃÌÆ ÉNÔP      ÔUÒN ÏÆÆ ÉNÔS Å00´  ÊSB ÅÒMS¬É    Å00´       DÅÆ ZBÅ0´ ª  ª  ª  ª  ª  ª  ª  ª  ª  ª  ª  ª  ª  ª  ª  ª  ª  ª  ª  ª  ª  ª  ª  ª        SKP ª         SÅÌÅÃÔ ÃÏDÅ SÃÒÅÅN ÔÅSÔ ª  ZBÉÏ´ ÌDB Z.±0      SÔAÒÔ ×ÉÔH ÌÏ×ÅSÔ ADDÒÅSS ZB´0  ÌDA USSà     GÅÔ SÅÌÅÃÔ ÃÏDÅ       AND Z.··       ÃPB A         ÉS ÉÔ ÔHÅ ÃH?       ÊMP Z.ÃÌÆ+±   YÅS - SKÉP ÔÅSÔ       ÌDA Z.SÔÆ     SÅÔ UP       AND ZÉÏM       ÉÏÒ B           SÔÆ ÉNSÔÒUÃÔÉÏN       SÔA Z.SÔÆ     PUÔ ÉÔ ÉN PÌAÃÅ       ÌDA Z.ÃÌÆ     SÅÔ UP       AND ZÉÏM       ÉÏÒ B         ÃÌÆ ÉNSÔÒUÃÔÉÏN       SÔA Z.ÃÌÆ     PUÔ ÉÔ ÉN ÌÉNÅ ZBS´± ÃÌÆ ÃH        ÃÌÅAÒ ÃHANNÅÌ ÆÌAG Z.SÔÆ SÔÆ ÃH        ÅØÅÃUÔÅ SÔÆ ÃH ÉNSÔÒUÃÔÉÏN ZBS´² SÆÃ ÃH        ÔÅSÔ ÃHANNÅÌ ÆÌAG       ÊMP ZB´± Z.ÃÌÆ ÃÌÆ ÃH        ÃÌÅAÒ ÔÅSÔ ÆÌAG       ®zþúÃPB Z.··      ÉS ÔÅSÔ ÆÉNÉSHÅD?       ÊMP ZBÉÏ5     YÅS       ÉNB           NÏ       ÊMP ZB´0        DÏ NÅØÔ ÃHANNÅÌ ª  ZBű± ASà±´¬Å0±± SÔÆ  ØØ SÅÔ ÃAÒD ÆÌAG¯¯ ª  ZB´±  SÔB ZBÔMP     SAVÅ NUMBÅÒ       ÌDA B         ÃÏNVÅÒÔ ÃH ÆÏÒ MÅSSAGÅ       ÊSB ZN²AÏ       SÔA ZBű±+5       ÌDA ZBÔMP     ÒÅÔÒÉÅVÅ NUMBÅÒ Å0±±  ÊSB ÅÒMS¬É    Å0±±       DÅÆ ZBű± ª  ª  ª  ª  ª        SKP ª         ÃHÅÃK ÉNÔÅÒÒUPÔ ¦ HÏÌD ÏÆÆ ª  ZBÉÏ5 ÊSB ZÔÃÊÉ       DÅÆ ZBÉ5       ÃÌA           SÅÔ UP       SÔA ZBÆ5        ÆÌAGS       SÔA ZBÉ5        ÆÏÒ ÔÅSÔ       SÔA ZBÔMP ZBS5± SÔàÃH        ÔUÒN ÏN ZBS5² SÔÆ ÃH          ÃAÒD       SÔÆ ÉNÔP      AND ÉNÔÅÒÒUPÔS       SÔà±         ª       SÔÆ ±         ª       ÃÌà±         ª       ÃÌÆ ±         ª  NÏ ÉNÔÅÒÒUPÔ       ÊMP ª+±¬É     ª  SHÏUÌD ÏÃÃUÒÒ       DÅÆ ª+±       ª  HÅÒÅ       ÊSB ª+±¬É     ª       DÅÆ ª+±       ª ZBÆ5  NÏP           ª       ÉSZ ZBÔMP     ÉNÔ. SHÏUÌD BÅ HÅÒÅ       ÉSZ ZBÔMP       ÃÌÆ ÉNÔP      ÔUÒN É¯Ï SYSÔÅM ÏÆÆ       ÌDA ZBÉ5      DÉD ÉÔ ÉNÔÅÒÒUPÔ?       SZA       ÊMP ª+´ Å0±´  ÊSB ÅÒMS¬É    Å0±´ NÏ ÉNÔ       DÅÆ ZBű´       ÊMP ZBÉÏ6     ABÏÒÔ ÒÅSÔ ÏÆ SÅÃÔÉÏN       ÌDA ZBÔMP     ÃHÅÃK ÆÏÒ ÃÏÒÒÅÃÔ ÉNÔÅÒÒUPÔ       ÃPA Z.²       ?       ÊMP ª+3 Å0²6  ÊSB ÅÒMS¬É    Å0²6 ÉNÔ ÅØÅÃUÔÉÏN ÅÒÒÏÒ       DÅÆ ZBŲ6 ZBS53 ÃÌÆ ÃH        ÔUÒN ÏÆÆ ÃH ÆÌAG       ÊMP ZBÉÏ6     GÏ ÔÏ NÅØÔ SÅÃÔÉÏN ª  ZBD5  DÅÆ ZBÆ5-± ZBD5A DÅÆ ZBÆ5+± ª  ZBű² ASà±6¬Å0±² ÉNÔ DUÒÉNG HÏÌD ÏÆÆ ÉNSÔÒ¯ ZBű3 ASà±²¬Å0±3 SÅÃÏND ÉNÔ ÏÃUÒÒÅD¯ ZBű´ ASà06¬Å0±´ NÏ ÉNÔ¯ ZBű5 ASà±²¬Å0±5 ÉNÔ ÒÔN ADDÒ ÅÒÒÏÒ¯ ZBŲ6 ASà±3¬Å0²6 ÉNÔ ÅØÅÃUÔÉÏN ÅÒÒÏÒ¯ ª  ª  ª  ª        SKP ZBÉ5  NÏP       ÃÌÆ ÉNÔP      ÔUÒN É¯Ï SYSÔÅM ÏÆÆ       ÌDA ZBD5      ÃHÅÃK ÔÏ SÅÅ ÉÆ AÌÌ       ÃPA ZBÆ5          ÉNSÔÒUÃÔÉÏN ÃÏMPÌÅÔÅD       ÊMP ª+3       YÅS Å0±²  ÊSB ÅÒMS¬É    Å0±² ÉNÔ DUÒÉNG HÏÌD ÏÆÆ       DÅÆ ZBű²       ÌDA ZBD5A     ÃHÅÃK ÒÅÔUÒN ADDÒÅSS       ÌDB ÃPÔÏ      ÉÆ ²±0Ø       SSB           ADD ÏNÅ       ÉNæ¶þúA       ÃPA ZBÉ5       ÊMP ZBÉ5A Å0±5  ÊSB ÅÒMS¬É    Å0±5 ÉNÔ ÒÔN ADDÒ ÅÒÒÏÒ       DÅÆ ZBű5       ÊMP ZBÉÏ6 ZBÉ5A ÊSB ZÔÃÊÉ     SÅÔ SÅÃÏND ÉNÔ ÔÒAP       DÅÆ ZBÔ5       SÔÆ ÉNÔP      ÔUÒN É¯Ï SYSÔÅM ÏN       ÊMP ZBÉ5¬É    ÃÏNÔÉNUÅ ÔÅSÔ ª  ª  ZBÔ5  NÏP       ÃÌÆ ÉNÔP      ÔUÒN É¯Ï SYSÔÅM ÏÆÆ Å0±3  ÊSB ÅÒMS¬É    Å0±3 SÅÃÏND ÉNÔ ÏÃUÒÒÅD       DÅÆ ZBű3 ª  ª  ª  ª  ª        SKP ª         ÃÌàÃH AND  ÃÌà0 ª  ZBÉÏ6 ÊSB ZÔÃÊÉ     SÅÔ ÊSB ÉNSÔÒUÃÔÉÏN       DÅÆ ZBÉ6± ZBS6± SÔàÃH        SÅÔ ÃH ÃÏNÔÒÏÌ ZBS6² SÔÆ ÃH        SÅÔ ÃH ÆÌAG       SÔÆ ÉNÔP      ÔUÒN ÏN ÉNÔÅÒÒUPÔS ZBS63 ÃÌàÃH        ÃÌÅAÒ ÃH ÃÏNÔÒÏÌ       NÏP           GÉVÅ ÉÔ A ÃHANÃÅ       NÏP       ÃÌÆ ÉNÔP      ÔUÒN ÉNÔS ÏÆÆ ZB60  ÊSB ZÔÃÊÉ     SÅÔ ÊSB ÉNSÔÒUÃÔÉÏN       DÅÆ ZBÉ6² ZBS6´ ÃÌÆ ÃH        ÃÌÅAÒ ÃH ÆÌAG ZBS65 SÔàÃH        SÅÔ ÃH ÃÏNÔÒÏÌ ZBS66 SÔÆ ÃH        SÅÔ ÃH ÆÌAG       SÔÆ ÉNÔP      ÔUÒN ÏN ÉNÔS       ÃÌàÉNÔP      ÃÌÅAҠɯϠSYSÔÅM       NÏP           GÉVÅ ÉÔ A ÃHANÃÅ       NÏP       ÃÌÆ ÉNÔP      ÔUÒN ÏÆÆ ÉNÔS       ÊMP ZBÉÏ· ª  ª  ZBÉ6± NÏP       ÃÌÆ ÉNÔP      ÔUÒN ÏÆÆ ÉNÔS Å0±6  ÊSB ÅÒMS¬É    Å0±6 ÃÌàÃH ÅÒÒÏÒ       DÅÆ ZBű6       ÊMP ZB60 ª  ZBÉ6² NÏP       ÃÌÆ ÉNÔP      ÔUÒN ÏÆÆ ÉNÔS Å0±·  ÊSB ÅÒMS¬É    Å0±· ÃÌà0 ÅÒÒÏÒ       DÅÆ ZBű·       ÊMP ZBÉÏ· ª  ZBű6 ASà9¬Å0±6 ÃÌàÃH ÅÒÒÏÒ¯ ZBű· ASà9¬Å0±· ÃÌà0 ÅÒÒÏÒ¯ ª  ª  ª  ª  ª        SKP ª         ÅØÔÅÒNAÌ ¦ ÉNÔÅÒNAÌ PÒÅSÅÔ ÔÅSÔ ª  ZBÉÏ· ÌDB ZS¸±²     ÃHÅÃK ÔÏ SUPPÒÅSS       ÊSB S×ÒԬɠ   ?       ÊMP H0²5      YÅS - SKÉP PÒÅSÅÔ ÔÅSÔ H0²´  ÊSB MSGìɠ   ÔÅÌÌ ÏPÅÒAÔÏÒ       DÅÆ ZBM²´     PÒÅSS PÒÅSÅÔ ª  ZBS·± ÃÌÆ ÃH        ÃÌÅAÒ ÃH ÆÌAG       SÔÆ ÉNÔP      ÔUÒN ÏN ÉNÔS       ÊSB ZÔÃÊÉ     SÅÔ ÔÒAP ÃÅÌÌ ÊSB ÉNSÔÒUÃÔÉÏN       DÅÆ ZBÉ·0       HÌÔ ²´B       ×AÉÔ ÆÏÒ ÏPÅÒAÔÏÒ       ÃÌA¬ÉNA       SÅÔ UP ÆÌAGS ÆÏÒ ÔÅSÔS       SÆS ÉNÔP      ÃHÅÃK ÉNÔP ÆÌAG       ÃÌA           NÏÔ SÅÔ SÏ ÃÌÅAÒ ÆÌAG       ÒAÌ           MÏVÅ ÔÏ NÅØÔ ÆÌAG       ÃÌÆ ÉNÔP      ÔUÒN ÏÆÆNyþú ÏNÔPS ZBS·² SÆS ÃH        ÃHÅÃK ÃHANNÅÌ ÆÌAG       ÉNA           NÏÔ SÅÔ SÏ ÆÌAG ÉÔ       ÒAÌ           MÏVÅ ÔÏ NÅØÔ ÆÌAG       ÌÉB 0         ÃHÅÃK É¯Ï BUSS       SZB           SHÏUÌD BÅ ZÅÒÏ       ÉNA           NÏÔ SÏ ÆÌAG ÉÔ       ÒAÌ           MÏVÅ ÔÏ NÅØÔ ÆÌAG       SÔÆ ÉNÔP      ÃHÅÃK ÃÏNÔÒÏÌ ÏN ÃAÒD       NÏP           GÉVÅ ÉÔ A ÃHANÃÅ       NÏP       ÃÌÆ ÉNÔP      ÔUÒN ÏÆÆ ÉNÔPS ª  ª  ª  ª  ª  ª  ª  ª  ª  ª  ª  ª  ª  ª  ª  ª  ª  ª  ª  ª  ª  ª  ª        SKP ZB·0  SÌA¬ÒSS       ÃHÅÃK ÆÏÒ ÅÒÒÏÒS       ÊMP ª+3 Å0²²  ÊSB ÅÒMS¬É    Å0²² DÉD NÏÔ ÃÌÅAÒ ÃÏNÔÒÏÌ       DÅÆ ZBŲ²       ÒAÒ       SÌA¬ÒSS       ÊMP ª+3 Å0²3  ÊSB ÅÒMS¬É    Å0²3 É¯Ï ÌÉNÅS NÏÔ ÃÌÅAÒ       DÅÆ ZBŲ3       ÒAÒ       SÌA¬ÒSS       ÊMP ª+3 Å0²0  ÊSB ÅÒMS¬É    Å0²0 ÆÌAG NÏÔ SÅÔ       DÅÆ ZBŲ0       ÒAÒ       SÌA¬ÒSS       ÊMP ª+3 Å0²±  ÊSB ÅÒMS¬É    Å0²± DÉD NÏÔ DÉABÌÅ ÉNÔS       DÅÆ ZBŲ± H0²5  ÊSB MSGìɠ   ÔÅÌÌ ÏPÅÒAÔÏÒ       DÅÆ ZBM²5     BASÉàɯϠÉS ÃÏMPÌÅÔÅ       ÊMP ZBÉϬɠ   ÒÅÔUÒN ÔÏ ÃAÌÌÅÒ ª  ZBÉ·0 NÏP           ÃÏNÔÒÏÌ ÆAÉÌÅD       ÃÌÆ ÉNÔP      ÔUÒN ÏÆÆ ÉNÔPS       ÉNA       ÊMP ZB·0 ª  ZBŲ0 ASà±·¬Å0²0 PÒÅSÅÔ(ÅØÔ© DÉD NÏÔ SÅÔ ÆÌAG¯ ZBŲ± ASà±9¬Å0²± PÒÅSÅÔ(ÉNÔ© DÉD NÏÔ DÉSABÌÅ ÉNÔS¯ ZBŲ² ASà²0¬Å0²² PÒÅSÅÔ(ÅØÔ© DÉD NÏÔ ÃÌÅAÒ ÃÏNÔÒÏ̯ ZBŲ3 ASಱ¬Å0²3 PÒÅSÅÔ(ÅØÔ© DÉD NÏÔ ÃÌÅAÒ É-Ï ÌÉNÅS¯ ZBM²´ ASà±·¬H0²´ PÒÅSS PÒÅSÅÔ (ÅØÔ¦ÉNÔ©¬ÒUN¯ ZBM²5 ASà0¸¬H0²5 BÉ-Ï ÃÏMP¯       SKP ZBÉÏD DÅÆ ª+±       DÅÆ ZBS²±       DÅÆ ZBS²²       DÅÆ ZBS²3       DÅÆ ZBS²´       DÅÆ ZBS²5       DÅÆ ZBS²6       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Åà-± ª  ZÃÅND ÅÑU ª ª  ª  ª  ª  ª  ª  ª  ª  ª  ª  ª  ª  ª  ª  ª  ª  ª  ª  ª  ª  ª  ª  ª  ª  ª    ^ºþú    HÅD BASÅ PAGÅ ÌÉNKS AND ÃÏNSÔANÔS       ÏÒG ±²6B       ÏÃÔ ±0´003    DSN       ÏÒG ±´0B ÉÏÉP  DÅÆ ÉÏÉD      PÏÉNÔÅÒ ÔϠɯϠÉNSÔÒUÃÔÉÏNS ÔSÔP  DÅÆ ÔSÔD      PÏÉNÔÅÒ ÔÏ ÔÅSÔS HDMP  DÅÆ HDMD      PÏÉNÔÅÒ ÔÏ HÅADÅÒ MÅSSAGÅ SÔDA  ÏÃÔ 3·· SÔDB  ÏÃÔ 0 ª        ÏÒG ±50B HDMD  ÅÑU ª       ASà±±¬SÔAÒÔ ÔÔY DÉAGNÏSÔÉï ª  ÉÏÉD  ÅÑU ª       DÅÆ Ô.Sñ       DÅÆ ÔÏSñ       DÅÆ ÔÏSò       DÅÆ ÔÏSÃ3       DÅÆ ÔÏSô       DÅÆ ÔÉSñ       DÅÆ ÔÉSò       DÅÆ ÔÉSÃ3       DÅÆ ÔÉSô       DÅÆ ÔÉSÃ5       DÅÆ ÔÉSÃ6       DÅÆ ÏSÃS±       DÅÆ ÏSÃS²       DÅÆ ÏSÃS3       DÅÆ ÏSÃS´       DÅÆ ÏSÃS5       DÅÆ ÏSÃS6       DÅÆ ÏSÃS·       DÅà-± ª  ÔSÔD  ÅÑU ª       DÅÆ ÔSÔ00       DÅÆ ÔSÔ0±       DÅÆ ÔSÔ0²       DÅÆ ÔSÔ03       DÅÆ ÔSÔ0´       DÅÆ ÔSÔ05       DÅÆ ÔSÔ06       DÅÆ ÔSÔ0·       DÅÆ ÔSÔ±0     AÌÌÉGNMÅNÔ       DÅà-±       SKP ÔÔY   ÅÑU ±0 ª  S×±   ÏÃÔ ² S±²¸  ÏÃÔ ±0´00 DM30  DÅà-30 DM60  DÅà-60 .±··  ÏÃÔ ±·· .²    DÅಠB··   ÏÃÔ ·· .3··  ÏÃÔ 3·· .M±   DÅà-± .M¸   DÅà-¸ .M±0  DÅà-±0 .M²0  DÅà-²0 ÃÒÌÆ  ÏÃÔ 6´±² ÔMP   NÏP ÃNÔÒ  NÏP       HÅD   ÃÏMMÏN SUBÒÏUÔÉNÅS ª         ÏUÔPUÔ A ÒÅG. ÔÏ ÔÔY ª  A²ÔÔY NÏP       SÔA SAVÅ      KÅÅP ÔHÅ ÃHAÒAÃÔÅÒ       SSA¬ÒSS       ÉS ÉÔ A ÃÏMMAND?       ÊMP ª+´       NÏ-ÏUÔPUÔ A ÒÅG Ô.Sñ ÏÔA ÔÔY       YÅS-DÏ ÉÔ ÏÔÅØ  ÌDA SAVÅ      ÒÅÔÒÉÅVÅ ÃHAÒAÃÔÅÒ       ÊMP A²ÔÔY¬É     AND ÒÅÔUÒN       AÌÆ¬AÌÆ       UPPÅÒ ÃHÒ. ÆÉÒSÔ       AND .±··      MASK ÏÆÆ UN×ANÔÅD BÉÔS       SZA           ÉS ÉÔ A ÃHAÒAÃÔÅÒ       ÊSB A±ÔÔY     YÅS - ÔÒANSÆÅÒ ÉÔ       ÌDA SAVÅ      DÏ ÏÔHÅÒ HAÌÆ       AND .±··      MASK ÏÆÆ UPPÅÒ BÉÔS       SZA           ÉS ÉÔ A ÃHAÒAÃÔÅÒ       ÊSB A±ÔÔY     YÅS- ÔÒANSÆÅÒ ÉÔ       ÊMP ÏÔÅØ      NÏ-ÒÅÔUÒN ÔÏ ÃAÌÌÅÒ ª  A±ÔÔY NÏP ÔÏSñ ÏÔA ÔÔY       GÉVÅ DAÔA ÔÏ ÔÅÒMÉNAÌ ÔÏSò SÔàÔÔY¬Ã     ª       ÃÌA           ª ÔÏSÃ3 SÆÃ ÔÔY       ª ×AÉÔ ÆÏÒ       ÊMP ª+5       ª       ÉNA¬SZA       ª   ÔÒANSÆÅÒ       ÊMP ª-3       ª Å0´3  =/þúÊSB ÅÒMS¬É    ÒÅPÏÒÔ ÔÉMÅ ÏUÔ       DÅÆ ÆÔÏM      PÏÉNÔÅÒ ÔÏ MÅSSAGÅ ÔÏSô ÃÌàÔÔY¬Ã     ÔUÒN ÃAÒD ÏÆÆ       ÊMP A±ÔÔY¬É   ª ª  SAVÅ  NÏP ÆÔÏM  ASà±0¬Å0´3 ÆÌAG ÔÉMÅ ÏUÔ¯ ª  ª         PUÔ ÊSB ÉN ÔÒAP ÃÅÌÌ ª  ÔÃÊÉ  NÏP       ÌDA USSà     GÅÔ SÅÌÅÃÔ ÃÏDÅ       AND B··       ÌDB ÊSBÉ      GÅÔ ÊSB ÉNSÔÒUÃÔÉÏN       SÔB A¬É       PUÔ ÉÔ ÉN ÔÒAP ÃÅÌÌ       ÌDA ÔÃÊɬɠ   GÅÔ ÒÅÔUÒN ÌÏÃAÔÉÏN       SÔA 3B        SAVÅ ÉÔ ÆÏÒ ÊSB ÉNSÔÒUÃÔÉÏN       ÉSZ ÔÃÊÉ      ADÊUSÔ ÒÅÔUÒN       ÊMP ÔÃÊɬɠ   ÒÅÔUÒN ª  ÊSBÉ  ÊSB 3B¬É ª  ª         ABÏÒÔ ÃHÅÃK ª  ABà  NÏP       ÌDB S±²¸       ÊSB S×ÒÔ¬É       ÊMP ÅØÒÔ¬É       ÊMP ABÃ¬É       SKP ª         ÏUÔPUÔ DAÔA PAÔÔÅÒN ÔABÌÅ ª  ª         ÉÆ ÃHÒ. ÉS PÏS. ÏUÔPUÔ BÏÔH ÃHAÒAÃÔÅÒS ª         ÉÆ ÃHÒ. ÉS NÅG. USÅ UPPÅÒ AS ÃHAÒAÃÔÅÒ ÒÅP. ÃÏUNÔ ª  ÏPDPÔ NÏP       SÔB ÔMP       SAVÅ PÏÉNÔÅÒ AS ADDÒÅSS       ÃÃB           SÅÔ ÆÏÒ ² ÃHAÒAÃÔÅÒS       ÌDA ÔMP¬É     GÅÔ ÃHÒS. ÆÒÏM ÔABÌÅ       ÃPA .M±       ÉS ÉÔ ÔHÅ ÔÅÒMÉNAÔÏÒ       ÊMP ÏPDPԬɠ  YÅS-ÒÅÔUÒN ÔÏ ÃAÌÌÅÒ       SSA¬ÒSS       NÏ-ÉS ÉÔ A MUÌÔY ÃHÒ. ÏUÔPUÔ       ÊMP ª+6       NÏ-SKÉP SÅÔUP       ÉÏÒ .3··      ª       AÌÆ¬AÌÆ       ª       SÔA B         ª  SÅÔ UP ÃÏUNÔ       ÌDA ÔMP¬É     ª       AND .±··      ª       ÊSB A²ÔÔY       ÉNB¬SZB       ÏUÔPUÔ AGAÉN?       ÊMP ª-²       YÅS       ÉSZ ÔMP       NÏ-MÏVÅ ÔÏ NÅØÔ ÃHÒ.       ÊMP ÏPDPÔ+²   DÏ ÉÔ ª  ª         ÉNPUÔ ÔÏ A ÒÅG. ÆÒÏM ÔÔY ª  ÔÔY²A NÏP ÔÉSñ ÏÔA ÔÔY       ÏUÔPUÔ ÃÏMMAND ÔÉSò SÔàÔÔY¬Ã     ÅNABÌÅ ÉNPUÔ ÔÉSÃ3 SÆÃ ÔÔY       ÃHÅÃK ÆÏÒ ÉNPUÔ       ÊMP ÔÉSô       ÌDB S×±       ÉÆ ÏPÅÒAÔÏÒ SÅÌÅÃÔS       ÊSB S×ÒԬɠ     S×Ò BÉÔ ± ABÏÒÔ ÉNPUÔ       ÒSS       ÊMP ÔÉSÃ3       ÌDA B··       ×AÉÔ ÆÏÒ S×ÉÔÃH BÏUNÃÅ       ÊSB ÔMÒÒ¬É       ÌDB S×±       ÊSB S×ÒÔ¬É       ÊMP ª-² H0´´  ÊSB MSGìɠ   ÔÅÌÌ ÏPÅÒAÔÏÒ ÏÆ ABÏÒÔ       DÅÆ ÔÔYM±     PÏÉNÔÅÒ ÔÏ MÅSSAGÅ       ÊMP ª+3 ÔÉSô ÌÉA ÔÔY       GÅÔ DAÔA       ÉSZ ÔÔY²A     ADÊUSÔ ÒÅÔUÒN ÆÏÒ DAÔA       ÌDB ÏÃMD      ÒÅSÔÏÒÅ o*($ÏUÔPUÔ ÃÏMMAND ÔÉSÃ5 ÏÔB ÔÔY ÔÉSÃ6 ÃÌàÔÔY¬Ã     ÔUÒN ÃAÒD ÏÆÆ       ÊMP ÔÔY²A¬É   ÒÅÔUÒN ÔÏ ÃAÌÌÅÒ ª  ÉÃMD  ÏÃÔ ±´0000    ÉNPUÔ ×ÉÔH ÏUÔ ÅÃHÏ ÏÃMD  ÏÃÔ ±²0000 ÔÔYM± ASà±±¬H0´´ ÉNPUÔ ÔÅÒMÉNAÔÅD¯       HÅD      ÔÅSÔS ª                   PUNÃH PAÔÔÅÒN ª  ÔSÔ0± ÅÑU ª ª  PP    NÏP       ÊSB ABà H030  ÊSB MSGH¬É    ÔÅÌÌ ÏPÅÒAÔÏÒ ÔÏ ÔUÒN PUNÃH ÏN       DÅÆ PPH±      PÏÉNÔÅÒ ÔÏ MÅSSAGÅ       ÌDA PÃMD      SÅÔ ÔÔY ÆÏÒ       ÊSB A²ÔÔY       PUNÃH ÏNÌY(ÉÆ HP²·5´©       ÌDB DM60      ª       ÃÌA           ª       ÊSB A±ÔÔY     ª ÏUÔPUÔ ÌÅADÅÒ       ÉNB¬SZB       ª       ÊMP ª-3       ª       ÌDA .3··      SÅÔ SÔAÒÔÉNG DAÔA ÔÏ AÌÌ ÏNÅ'S PP̱  SÔA ÔMP         ÆÏÒ PUNÃH       ÊSB A±ÔÔY     ÏUÔPUÔ DAÔA       ÊSB ÒÔÃÒ      ÒÏÔAÔÅ DAÔA       ÊSB A±ÔÔY     ÏUÔPUÔ DAÔA       ÌDA ÔMP       MÏVÅ ÔÏ       ADA .M±         NÅØÔ DAÔA PAÔÔÅÒN       SSA¬ÒSS       ÉS ÔHAÔ ÅNÏUGH CS*ÿÿ ÿýX d ÿ12531-18003 1509 S 0122 012752/54 TTY & 12531 INTERFACE DIAGNOSTIC             H0101 ›$þú       ÊMP PP̱      NÏ - DÏ ÉÔ AGAÉN       ÌDB DM60      ª       ÃÌA           ª       ÊSB A±ÔÔY     ª ÏUÔPUÔ ÔÒAÉÌÅÒ       ÉNB¬SZB       ª       ÊMP ª-3       ª       ÌDA ÃÒÌÆ      ÏUÔPUÔ ÒÅÔUÒN ÌÉNÅ ÆÅÅD       ÊSB A²ÔÔY       ÆÏÒ SAÆÅÔY       ÊSB MSGH¬É    ÔÅÌÌ ÏPÅÒAÔÏÒ ÔÏ ÔUÒN PUNÃH ÏÆÆ       DÅÆ PPH²      PÏÉNÔÅÒ ÔÏ MÅSSAGÅ       ÊMP PP¬É      ÒÅÔUÒN ÔÏ ÃÏNÔÒÏÌ PÒÏGÒAM ª  ÒÔÃÒ NÏP       ÌDA ÔMP       GÅÔ DAÔA       ÌDB .M¸       SÅÔ UP       SÔB ÒÔÃÒà      ÒÏÔAÔÉÏN ÃÏUNÔ       ÃÌB           ÉNÉÔAÌ DAÔA ½ 0       ÃÌŬÅÒA       ª       ÅÌB           ª  ÒÏÔAÔÅ       ÉSZ ÒÔÃÒà    ª    DAÔA       ÊMP ª-3       ª       ÌDA B         ª       ÊMP ÒÔÃҬɠ   ÒÅÔUÒN ÔÏ ÃAÌÌÅÒ ª  ÒÔÃÒàNÏP PÃMD  ÏÃÔ ±±0000 PPH±  ASà±±¬H030 ÔUÒN ÔÔY PUNÃH ÏN       ÏÃÔ 6´±²       ASà5¬PÒÅSS ÒUN¯ PPH²  ASà±²¬H0´5 ÔUÒN ÔÔY PUNÃH ÏÆÆ       ÏÃÔ 6´±²       ASà5¬PÒÅSS ÒUN¯       SKP ª                   ÒÅAD ÔÅSÔ ª  ÔSÔ0² ÅÑU ª ª  ÒÔ    NÏP       ÊSB ABà H03±  ÊSB MSGH¬É    ÔÅÌÌ ÏPÅÒAÔÏÒ ÔÏ ÌÏAD ÔAPÅ       DÅÆ ÒÔH±      PÏÉNÔÅÒ ÔÏ MÅSSAGÅ ª        ÌDA .3··      ÉNÉÔAÌÉZÅ DAÔA PAÔÔÅÒN       SÔA ÔMP       ÌDA DM60      MAØ ÌÅADÅÒ       SÔA ÃNÔÒ ÒÔZ   ÌDA ÉÃMD      ÃAÌÌ ÆÏÒ ÉNPUÔ       ÊSB ÔÔY²A     GÅÔ DAÔA       ÊMP ÒԬɠ     ÉNPUÔ ABÏÒÔÅD       SZA           ÉS ÉÔ DAÔA?       ÊMP ÒÔ̱      YÅS       ÉSZ ÃNÔÒ      NÏ ÅNÏUGH ÌÅADÅÒ       ÊMP ÒÔZ       NÏ ÔÒY AGAÉN Å03²  ÊSB ÅÒMS¬É    ÒÅPÏÒÔ NÏ DAÔA       DÅÆ ÒÔű      PÏÉNÔÅÒ ÔÏ MÅSSAGÅ       ÊMP ÒԬɠ     ÒÅÔÉÒN ÔÏ ÃÏNÔÒÏÌ PÒÏGÒAM ª  ÒÔH±  ASà±6¬H03± ÌÏAD PUNÃHÅD ÔAPÅ ÉN ÒÅADÅÒ       ÏÃÔ 6´±²       ASà5¬PÒÅSS ÒUN¯ ÒÔű  ASà±±¬Å03² NÏ DAÔA DÅÔÅÃÔÅD¯       SKP ÒÔ̱  ÃPA ÔMP       YÅS - ÉS ÉÔ ÃÏÒÒÅÃÔ       ÊMP ÒÔN±      YÅS       ÌDB ÔMP       GÅÔ ÅØPÅÃÔÅD Å033A ÊSB ÒÔÅM      ÒÅPÏÒÔ ÅÒÒÏÒ ÒÔN±  ÊSB ÒÔÃÒ      YÅS - GÅÔ ÒÏÔAÔÅD DAÔA       SÔA SAVÔ      SAVÅ ÉÔ ÆÏÒ ÃÏMPAÉÒ       ÌDA ÉÃMD      ÃAÌÌ ÆÏÒ ÉNPUÔ       ÊSB ÔÔY²A     GÅÔ NÅØÔ DAÔA       ÊMP ÒÔÅØ      ÉNPUÔ ABÏÒÔÅD       ÃPA îþúSAVÔ      ÉS DAÔA GÏÏD?       ÊMP ÒÔN²      YÅS       ÌDB SAVÔ      GÅÔ ÅØPÅÃÔÅD Å033B ÊSB ÒÔÅM      ÒÅPÏÒÔ ÅÒÒÏÒ ÒÔN²  ÌDA ÔMP       YÅS - MÏVÅ       ADA .M±             ÔÏ NÅØÔ DAÔA PAÔÔÅÒN       SZA¬ÒSS       ÉS ÔHAÔ AÌÌ       ÊMP ÒÔN3      YÅS - ÃHÅÃK ÆÏÒ ÔÒAÉÌÅÒ       SÔA ÔMP       NÏ       ÌDA ÉÃMD      ÃAÌÌ ÆÏÒ ÉNPUÔ       ÊSB ÔÔY²A     GÅÔ NÅØÔ DAÔA ×ÏÒD       ÊMP ÒÔÅØ      ÉNPUÔ ABÏÒÔÅD       ÊMP ÒÔ̱      ÃHÅÃK DAÔA ÒÔN3  ÌDB DM30      ª       SÔB ÃNÔÒ      ª       ÌDA ÉÃMD      ª       ÊSB ÔÔY²A     ª       ÊSB ÒÔÅØ      ª  ÃHÅÃK ÔÒAÉÌÅÒ ÆÏÒ NÏ DAÔA       SZA¬ÒSS       ª       ÊMP ÒÔN´      ª Å03´  ÊSB ÅÒMS¬É    ÒÅPÏÒÔ DAÔA ÉN ÔÒAÉÌÅÒ       DÅÆ ÒÔÅM0     PÏÉNÔÅÒ ÔÏ MÅSSAGÅ       ÊMP ÒÔÅØ      ÅØÉÔ ÒÔN´  ÉSZ ÃNÔÒ      ÅNÏUGH ÏÆ ÔÒAÉÌÅÒ       ÊMP ÒÔN3+²    NÏ ª  ÒÔÅØ  ÌDA ÃÒÌÆ      DÏ ÒÅÔUÒN ÌÉNÅ ÆÅÅD       ÊSB A²ÔÔY       ÆÏÒ SAÆÅÔY       ÊSB MSGH¬É    ÔÅÌÌ ÏPÅÒAÔÏÒ ÔÏ ÔUÒN ÒÅADÅÒ ÏÆÆ       DÅÆ ÒÔH²      PÏÉNÔÅÒ ÔÏ MÅSSAGÅ       ÊMP ÒԬɠ         AND ÒÅÔUÒN ÔÏ ÃÏNÔÒÏÌ ª  SAVÔ  NÏP ÒÔÅM0 ASà±5¬Å03´ DAÔA DÅÔÅÃÔÅD ÉN ÔÒAÉÌÅÒ¯ ÒÔH²  ASà±0¬H0´6 ÔUÒN ÒÅADÅÒ ÏÆÆ       ÏÃÔ 6´±²       ASà5¬PÒÅSS ÒUN¯       SKP ª         ÒÅPÏÒÔ DAÔA ÅÒÒÏÒ ª  ÒÔÅM  NÏP       SÔA ÒÔA       SAVÅ DAÔA ÒÅAD       SÔB SAVÔ      SAVÅ ÅØPÅÃÔÅD       ÊSB ÒÔÅMà    ÃÏNVÅÒÔ ÅØPÅÃÔÅD       DÅÆ ÒÔÅM²       ÌDB ÒÔA       ÒÅÔÒÉÅVÅ DAÔA ÒÅAD       ÊSB ÒÔÅMà    ÃÏNVÅÒÔ DAÔA ÒÅAD       DÅÆ ÒÔÅM3       ÌDA SAVÔ      ÒÅÔÒÉÅVÅ ÅØPÅÃÔÅD ÆÏÒ DÉSPÌAY       ÌDB ÒÔA       AND AÃÔUAÌ       ÊSB ÅÒMS¬É    ÒÅPÏÒÔ ÅÒÒÏÒ       DÅÆ ÒÔÅM±     PÏÉNÔÅÒ ÔÏ MÅSSAGÅ       ÊMP ÒÔÅM¬É    ÒÅÔUÒN ÆÏÒ NÅØÔ DAÔA ª  ª  ÒÔÅMàNÏP       ÌDA ÒÔÅMìɠ  ÒÅÔÒÉÅVÅ       SÔA ÒÔÅMA      MÅSSAGÅ       ÉSZ ÒÔÅMà      ÌÏÃAÔÉÏN       BÌÆ¬BÌÆ       MÏVÅ ÔÏ UPPÅÒ HAÌÆ       ÃÌA¬ÃÌÅ       GÅÔ       ÅÌB            ÆÉÒSÔ       ÅÌA             BÉÔ       ÉÏÒ SPNÏ      ADD SPAÃÅ AND 60 ÏÃÔ       SÔA ÒÔÅMA¬É   PUÔ ÉÔ ÉN MÅSSAGÅ       ÉSZ ÒÔÅMA       ÊSB ÒÔÅMÒ     DÏ NÅØÔ BÉÔ       ÊSB ÒÔÅMéþúÒ       ÃÌA¬ÃÌÅ       ÅÌB       ÅÌA       ÉÏÒ PDNÏ       SÔA ÒÔÅMA¬É       ÉSZ ÒÔÅMA       ÊSB ÒÔÅMÒ       ÊMP ÒÔÅMÃ¬É ª        SKP ÒÔÅMÒ NÏP       ÃÌA¬ÃÌÅ       ÅÌB       ÅÒA       AÌÆ¬AÌÆ       ÅÌB       ÅÌA       ÉÏÒ NÏNÏ       SÔA ÒÔÅMA¬É       ÉSZ ÒÔÅMA       ÊMP ÒÔÅMÒ¬É ª  ª  ÒÔA   NÏP ÒÔÅMA NÏP SPNÏ  AS౬ 0 NÏNÏ  AS౬00 PDNÏ  AS౬.0 ª  ª  ÒÔÅM± ASà0¸¬Å033 DAÔA ÅÒÒÏÒ       ÏÃÔ 6´±²       ASà0´¬ÅØPÅÃÔÅD ÒÔÅM² ASà05¬ ØØØØØ.ØØØ       ÏÃÔ 6´±²       ASà0´¬AÃÔUAÌ ÒÔÅM3 ASà05¬ ØØØØØ.ØØØ       ASà0±¬¯¯       SKP ª                   PÒÉNÔ ÔÅSÔ ª  ÔSÔ03 ÅÑU ª ª  PÔ    NÏP       ÌDA .M±0      ±0 ÌÉNÅS ÏÆ DAÔA       SÔA ÃNÔÒ       ÌDA ÏÃMD      PÒÉNÔ ÏNÌY ÃÏMMAND       ÊSB A²ÔÔY PÔ̱  ÌDA ÃÒÌÆ      ÒÅÔUÒN ÌÉNÅ ÆÅÅD       ÊSB A²ÔÔY       ÌDA .´0       SÔAÒÔ ×ÉÔH SPAÃÅ PÔ̲  SÔA ÔMP       SAVÅ DAÔA       ÊSB A²ÔÔY     ÏUÔPUÔ ÉÔ       ÌDA ÔMP       MÏVÅ ÔÏ       ÉNA             NÅØÔ ÃHAÒAÃÔÅÒ       ÃPA MØPÃÒ     MAØ PÒÉNÔABÌÅ ÃHAÒAÃÔÅÒ?       ÒSS       ÊMP PÔ̲      NÏ ÃÏNÔÉNUÅ ÌÉNÅ       ÉSZ ÃNÔÒ      YÅS - AÌÌ ±0 ÌÉNÅS DÏNÅ?       ÊMP PÔ̱      NÏ       ÌDA ÃÒÌÆ      ÒÅÔUÒN ÌÉNÅ ÆÅÅD       ÊSB A²ÔÔY       ÊMP PÔ¬É ª  MØPÃÒ ÏÃÔ ±´0 .´0   ÏÃÔ ´0       SKP ª                   ÆUÌÌ KÅYBÏAÒD ÉNPUÔ ÔÅSÔ ª  ÔSÔ0´ ÅÑU ª ª  ÆKÉ   NÏP       ÊSB ABà       ÌDA ÏÃMD      SÅÔ ÆÏÒ ÏUÔPUÔ       ÊSB A²ÔÔY       ÌDA ÃÒÌÆ      DÏ A ÒÅÔUÒN ÌÉNÅ ÆÅÅD       ÊSB A²ÔÔY ª        ÊSB ÆKÉÒ      ÃAÌÌ ÆÏÒ       DÅÆ ÆKÉH±       ÆÉÒSÔ       DÅÆ ÆKÉP±         ÌÉNÅ       DÅÆ ÆKÉP± ª        ÊSB ÆKÉÒ       NÏP       DÅÆ ÆKÉP²       DÅÆ ÆKÉP² ª        ÊSB ÆKÉÒ       NÏP       DÅÆ ÆKÉP3       DÅÆ ÆKÉP3 ª        ÊSB ÆKÉÒ       NÏP       DÅÆ ÆKÉP´       DÅÆ ÆKÉP´ ª        ÊSB ÆKÉÒ       DÅÆ ÆKÉH5       DÅÆ ÆKÉP5       DÅÆ ÆKÉP5 ª        ÊSB ÆKÉÒ       NÏP       DÅÆ ÆKÉP6       DÅÆ ÆKÉP6 ª        ÊSB ÆKÉÒ       DÅÆ ÆKÉH·       DÅÆ ÆKÉP·       DÅÆ ÆKÉ÷ ª        ÊSB .ßþúÆKÉÒ       DÅÆ ÆKÉH¸       DÅÆ ÆKÉP¸       DÅÆ ÆKÉø ª  ÆKÉÅØ ÌDA ÃÒÌÆ      DÏ A ÒÅÔUÒN ÌÉNÅ ÆÅÅD       ÊSB A²ÔÔY       ÊMP ÆKɬɠ    ÒÅÔUÒN ÔÏ ÃÏNÔÒÏÌ       SKP ÆKÉH± ASà±0¬ÉNPUÔ ÔHÅ ÆÏÌÌÏ×ÉNG:       ÏÃÔ ±····· ÆKÉP± ASà6¬±²3´56·¸90:-       ÏÃÔ ±····· ª  ÆKÉP² ASà5¬Ñ×ÅÒÔYUÉÏP       ÏÃÔ ±····· ª  ÆKÉP3 ASà5¬ASDÆGHÊKÌ»       ÏÃÔ ±····· ª  ÆKÉP´ ASà5¬ZØÃVBNM¬.¯       ÏÃÔ ±····· ª  ÆKÉH5 ÏÃÔ 6´±²       ASà3¬SHÉÆÔ+       ÏÃÔ ±····· ÆKÉP5 ASà6¬!"£$¥¦'(©ª½       ÏÃÔ ±····· ª  ÆKÉP6 ASà´¬_À+Þ<¾?       ÏÃÔ ±····· ª  ÆKÉH· ÏÃÔ 6´±²       ASà3¬ÃNÔÒÌ+       ÏÃÔ 6´±²      ÃÒÌÆ       ASà±0¬×ÒU  ÔAPÅ NÔAP ØÏÆÆ       ASà±0¬ÅÏÔ  ÒU   BÅÌÌ ÔAB       ASà05¬VÔ   ÆÏÒM       ÏÃÔ ±····· ÆKÉP· AS౬       ÏÃÔ ±····· ÆKÉ÷ ÏÃÔ ²´²²      ×ÒU + ÔAPÅ       ÏÃÔ ±²0²3     NÔAP + ØÏÆÆ       ÏÃÔ ²006      ÅÏÔ + ÒU       ÏÃÔ 3´±±      BÅÌÌ + ÔAB       ÏÃÔ 5´±´      VÔ + ÆÏÒM       ÏÃÔ ±····· ª  ÆKÉH¸ ÏÃÔ 6´±²       ASà0¸¬ÒBÏÔ ÃÒ   ÌÆ       ÏÃÔ ±····· ÆKÉP¸ ÏÃÔ ±····· ÆKÉø ÏÃÔ ··´±5     ÒBÏÔ + ÃÒ       ÏÃÔ 050´0     ÌÆ + SPà       ÏÃÔ ±·····       SKP ÆKÉÒ  NÏP       ÌDB ÆKÉҬɠ   ÏUÔPUÔ HÅADÅÒ       SZB           ÉÆ ÔHÅÒÅ ÉS ÏNÅ       ÊSB ÏPDPÔ       ÌDA ÃÒÌÆ       ÊSB A²ÔÔY       ÉSZ ÆKÉÒ       ÌDB ÆKÉҬɠ   ÏUÔPUÔ ÒÅÑUÅSÔ ÌÉNÅ       ÃÌŬÅÌB       SÅÔ UPPÅÒ¯ÌÏ×ÅÒ ÆÌAG       SÔB PÔÒ         USÅ AS PÏÉNÔÅÒ ÔÏ ÔABÌÅ ÆKÉ̱ ÊSB ÔB̲A     GÅÔ A ÃHAÒAÃÔÅÒ ÆÒÏM ÔABÌÅ       ÊMP ÆKÉN±     NÏ MÏÒÅ       ÃPA .±SPà    ÉÆ SPAÃÅ       ÊMP ÆKÉN±       SKÉP ÉÔ       ÊSB A²ÔÔY       ÌDA .²SPà       ÊSB A²ÔÔY       ÌDA .²SPà       ÊSB A²ÔÔY       ÊMP ÆKÉ̱     MÏVÅ ÔÏ NÅØÔ ÃHAÒAÃÔÅÒ ÆKÉN± ÌDA ÃÒÌÆ       ÊSB A²ÔÔY       ÉSZ ÆKÉÒ       ÌDB ÆKÉҬɠ   GÅÔ ÃÏMPAÒÅ ÃHÒ.       ÉSZ ÆKÉÒ       ÃÌŬÅÌB       SÅÔ UPPÅÒ¯ÌÏ×ÅÒ ÆÌAG       SÔB PÔÒ       SAVÅ AS ÔABÌÅ PÏÉNÔÅÒ ÆKÉ̲ ÊSB ÔB̲A     GÅÔ A ÃHAÒAÃÔÅÒ ÆÒÏM ÔABÌÅ       ÊMP ÆKÉҬɠ   NÏ MÏÒÅ ÃHAÒAÃÔÅÒS       ÃPA .±SPà       ÊMP ÆKÉÒ¬É       SÔA ÔMP       SAVÅ ÉÔ ÆÏÒ ÃÏMPAÒÅ     2þú  ÌDA ÉÃMD      ÃAÌÌ ÆÏÒ ÉNPUÔ       ÊSB ÔÔY²A     GÏ GÅÔ ÉNPUÔ       ÊMP ÆKÉÅØ     ÉNPUÔ ABÏÒÔÅD       AND .±··      MASK PAÒÉÔY BÉÔ       ÃPA ÔMP       ×AS ÉÔ ÏK?       ÊMP ÆKÉϱ       ÌDB ÆKÉBD     NÏ-ÏUÔPUÔ       ÃÃÅ              ÏÃÔAÌ       ÊSB Ï²AS¬É          ÅÑU.       ÌDB ÆKÉBD       ADB .²       ÊSB ÏPDPÔ       ÊMP ª+3 ÆKÉϱ ÌDB ÆKÉSP     YÅS-ÏUÔPUÔ 5 SPAÃÅS       ÊSB ÏPDPÔ       ÊMP ÆKÉ̲       SKP ÔB̲A NÏP           GÅÔ A ÃHAÒAÃÔÅÒ ÆÒÏM ÔHÅ ÔABÌÅ       ÌDB PÔÒ       GÅÔ PÏÉNÔÅÒ       ÃÌŬÅÒB       ADÊUSÔ UPPÅÒ ÌÏ×ÅÒ ÆÌAG       ÌDA B¬É       GÅÔ ² ÃHAÒAÃÔÅÒS       ÃPA .M±       ÉS ÉÔ ÔHÅ ÔÅÒMÉNAÔÏÒ       ÊMP ÔB̲A¬É   YÅS       SÅZ¬ÒSS       NÏ-ÉS ÉÔ UPPÅÒ ÏÒ ÌÏ×ÅÒ       AÌÆ¬AÌÆ       ÉÔ'S UPPÅÒ       AND .±··      MASK ÏÆÆ UN×ANÔÅD BÉÔS       ÉSZ PÔÒ       MÏVÅ ÔÏ NÅØÔ ÃHAÒAÃÔÅÒ       ÉSZ ÔB̲A     ADÊUSÔ ÃHAÒAÃÔÅÒ ÒÅÔUÒN       ÊMP ÔB̲A¬É ª  ª  ª  PÔÒ   NÏP .±SPàÏÃÔ ´0 .²SPàAS౬ ª  ÆKÉBD DÅÆ ª+±       NÏP       NÏP       NÏP       AS౬       ÏÃÔ ´0       ÏÃÔ ±····· ª  ÆKÉSP DÅÆ ª+±       ÏÃÔ ±·5´´0    5ªSPAÃÅ       ÏÃÔ ±·····       SKP ª                   ÆÒÅÅ ÉNPUÔ ª  ÔSÔ05 ÅÑU ª ª  ÆÉ    NÏP       ÊSB ABà       ÌDB ÆÉH       ÔÅÌÌ ÏPÅÒAÔÏÒ ÔÏ       ÊSB ÏPDPÔ     ÉNPUÔ ANY KÅY       ÌDA .M±0      AÌÌÏ× ÏNÌY ±0 ÉNPUÔS       SÔA ÃNÔÒ      BÅÆÏÒÅ DÏÉNG ÃÒÌÆ ÆÉÌ   ÌDA ÉÃMD      ÃAÌÌ ÆÏÒ ÉNPUÔ       ÊSB ÔÔY²A     ÃAÌÌ ÆÏÒ ÉÔ       ÊMP ÆÉÅØ      ÉNPUÔ ABÏÒÔÅD ÒÅÔUÒN ÔÏ ÅØÅà       AND .±··      MASK ÏÆÆ PAÒÉÔY BÉÔS       ÌDB A       ADB M´±       SSB           ª       ÊMP ÆÉN±      ªÃHÅÃK       ADB M±00      ª   ÆÏÒ       SSB¬ÒSS       ª      DÉSP. ÃHÒ       ÊMP ÆÉN±      ª       SÔA ÆÉP+±     ÉÔ'S ÏK       ÌDB ÆÉP         ÅÃHÏ ÉÔ       ÊSB ÏPDPÔ       ÊMP ÆÉN²      DÏ ÉÔ AGAÉN ÆÉN±  ÌDB ÆKÉBD     NÏ-ÏUÔPUÔ       ÃÃÅ             ÏÃÔAÌ ÅÑUÉV.       ÊSB Ï²AS¬É       ÌDB ÆKÉBD       ADB .²       ÊSB ÏPDPÔ ÆÉN²  ÉSZ ÃNÔÒ      ÅNÏUGH ÆÏÒ ÔHÉS ÌÉNÅ?       ÊMP ÆÉÌ       NÏ       Ý¡þúÌDA ÃÒÌÆ      YÅS-DÏ ÒÅÔUÒN ¦ ÌÉNÅ ÆÅÅD       ÊSB A²ÔÔY       ÊMP ÆÉÌ-² ÆÉÅØ  ÌDA ÃÒÌÆ      ÒÅÔUÒN ÌÉNÅ ÆÅÅD       ÊSB A²ÔÔY       ÆÏÒ SAÆÅÔY       ÊMP ÆÉ¬É      ÒÅÔUÒN ÔÏ ÃÏNÔÒÏÌ ª  ª  ÆÉP   DÅÆ ª+±       NÏP       ASಬ       ÏÃÔ ±····· ª  ÆÉH   DÅÆ ª+±       ASà·¬ÉNPUÔ ANY KÅY       ÏÃÔ 6´±²       ÏÃÔ ±····· ª  M´±   ÏÃÔ ±···3· M±00  ÏÃÔ ±···00       SKP ª                   ÅÃHÏ ª  ÔSÔ06 ÅÑU ª ª  ÅÃHÏ  NÏP       ÊSB ABà       ÌDB ÅÃHÏM     ÔÅÌÌ ÏPÅÒAÔÏÒ HÅ ÉS       ÊSB ÏPDPÔ       ÉN ÅÃHÏ MÏDÅ       ÌDA ÅÃHÏà    GÅÔ ÃAÒD ÅÃHÏ ÃÏMMAND       ÊSB ÔÔY²A     GÏ GÅÔ ÉÔ       ÒSS       ÊMP ª-3       ÌDA ÃÒÌÆ      DÏ A ÃÒÌÆ ÆÏÒ       ÊSB A²ÔÔY        SAÆÅÔY       ÊMP ÅÃHÏ¬É ª  ª  ÅÃHÏàÏÃÔ ±60000 ª  ÅÃHÏM DÅÆ ª+±       ASà±5¬ÅÃHÏ MÏDÅ ANY ÉNPUÔ ÉS ÅÃHÏÅD       ÏÃÔ 6´±²       ÏÃÔ ±·····       SKP ª                   ÏSÃÉÌÌAÔÏÒ AND ÃÌÏÃK ÅNABÌÅ BÉÔ ÃHÅÃK ª  ÔSÔ0· ÅÑU ª ª  ÏSà  NÏP       ÌDA .M²0      SÅÔ ÌÏÏP       SÔA ÃNÔÒ        ÃÏUNÔ       ÊSB ÔÃÊÉ      SÅÔ ÉNÔÅÒÒUPÔ ÌÏÃAÔÉÏN       DÅÆ ÏSÃɱ ÏSÃ̱ ÌDA ÏÃMD      SÅÔ ÏUÔPUÔ ÃÏMMAND       ÊSB A²ÔÔY ÏSÃS± ÌÉA ÔÔY       ÃHÅÃK BUSY SÔAÔUS       SSA           ?       ÊMP ÏSÃű     ÉÔS UP AND SHÏUÌDN'Ô BÅ       ÃÌA           USÅ NUÌÌ ÃHAÒAÃÔÅÒ       ÃÃB           SÅÔ ÏUÔ ÏÆ ÔÏÌZ ÆÌAG       SÔB ÔMP       SÔÆ ÉNÔP      ÏK - ÔUÒN ÏN ÉNÔÅÒÒUPÔS ÏSÃS² ÏÔA ÔÔY       ÏUÔPUÔ ÉÔ ÏSÃS3 SÔàÔÔY¬Ã     SÔAÒÔ ÃÌÏÃK ÏSÃS´ ÌÉA ÔÔY       ÃHÅÃK BUSY SÔAÔUS       SSA¬ÒSS       ÊMP ÏSÃŲ     ÉÔ'S NÏÔ UP       ÌDA ÔÏÌZA     ÉÔ'S ÏK - SÔAÒÔ ÃÏUNÔÉNG       ÊSB ÔMÒҬɠ   ×AÉÔ ÆÏÒ ÉNÔÅÒÒUPÔ       ÉSZ ÔMP       SHÏ× ÉN ÔÏÌZ       NÏP       ÌDA ÔÏÌZB       ÊSB ÔMÒÒ¬É       ÉSZ ÔMP ÏSÃS5 ÌÉA ÔÔY       ÏUÔ ÏÆ ÔÏÌZ       SSA¬ÒSS       ÃHÅÃK ÃÌÏÃK ÅNABÌÅ?       ÊMP ÏSÃÅ3     ÉÔ'S DÏ×N BUÔ NÏ ÆÌAG       ÌDA ÔÏÌZA     ÉÔ'S SÔÉÌÌ ÒUNNÉNG       ÊSB ÔMÒҬɠ   ×AÉÔ ÆÏÒ ÉÔ       ÃÌÆ ÉNÔP      ÔUÒN ÏÆÆ ÉNÔÅÒÒUPÔS ÏSÃS6 ÌÉA ÔÔY       ÃHÅÃK BUSY BÉÔ AGAÉN       SSA           ? ¶Iþú      ÊMP ÏSÃÅ3       ÊMP ÏSÃÅ6     ASSUMÅ NÏ ÉNÔÅÒÒUPÔ       SKP ÏSÃɱ NÏP       ÃÌÆ ÉNÔP      ÉNÔÅÒÒUPÔÅD ÏSÃS· ÌÉA ÔÔY       DÉD BUSY GÏ ÌÏ×?       SSA       ÊMP ÏSÃű     NÏ       ÌDA ÔMP       SZA           ×AS ÉÔ ÉN ÔÏÌÅÒANÃÅ?       ÊMP ª+´       NÏ       ÉSZ ÃNÔÒ      YÅS - ²0 ÌÏÏPS DÏNÅ?       ÊMP ÏSÃ̱     NÏ       ÊMP ÏSÃÅØ     YÅS       SSA           ÉS ÉÔ ÆASÔ ÏÒ SÌÏ×?       ÊMP ÏSÃÅ´     ÆASÔ ÒÅPÏÒÔ ÉÔ       ÊMP ÏSÃÅ5     SÌÏ× ÒÅPÏÒÔ ÉÔ ª  ÏSÃÅØ ÊMP ÏSìɠ    ÒÅÔUÒN ÔÏ ÃÏNÔÒÏÌ       SKP ÏSÃű ÊSB ÅÒMS¬É       DÅÆ ª+²       ÊMP ÏSÃÅØ       ASà09¬Å035 BUSY SÔAÔUS¯ ª  ÏSÃŲ ÊSB ÅÒMS¬É       DÅÆ ª+²       ÊMP ÏSÃÅØ       ASà±0¬Å036 NÏ BUSY SÔAÔUS¯ ª  ÏSÃÅ3 ÊSB ÅÒMS¬É       DÅÆ ª+²       ÊMP ÏSÃÅØ       ASà±5¬Å03· BUSY ×ÅNÔ ÌÏ× BUÔ NÏ ÉNÔ¯ ª  ÏSÃÅ´ ÊSB ÅÒMS¬É       DÅÆ ª+²       ÊMP ÏSÃÅØ       ASà0·¬Å0´0 ÏSàÆASÔ¯ ª  ÏSÃÅ5 ÊSB ÅÒMS¬É       DÅÆ ª+²       ÊMP ÏSÃÅØ       ASà0·¬Å0´± ÏSàSÌÏׯ ª  ÏSÃÅ6 ÊSB ÅÒMS¬É       DÅÆ ª+²       ÊMP ÏSÃÅØ       ASà±´¬Å0´² ÃÌÏÃK DÉD NÏÔ ÔÉMÅ ÏUÔ¯ ª  ª  ÔÏÌZA DÅà96 ÔÏÌZB DÅà·       SKP       ÏÒG ZÃÅND ª         AÌÌÉGNMÅNÔ ª  ÔSÔ±0 ÅÑU ª ª  AÌGN  NÏP           ÅNÔÒY ÆÒÏM ÃÏNÔÒÏÌ       ÌDA DM·²      SÅÔ ÃHAÒAÃÔÅÒ ÃÏUNÔ       SÔA ÃNÔÒ       ÌDA ÏÃMD       ÊSB A²ÔÔY       ÌDA ÃÒÌÆ      DÏ A ÒÅÔUÒN ÌÉNÅ ÆÅÅD       ÊSB A²ÔÔY AÌG0  ÌDA ÏÃMD      PUÔ ÔÔY ÉN ÏUÔPUÔ MÏDÅ       ÊSB A²ÔÔY       ÌDA AÌGñ     GÅÔ ªU       ÌDB Sײ       ÊSB S×ÒԬɠ   ÏUÔPUÔ ÉÔ?       ÊSB AÌGÃH     YÅS       ÌDA AÌGò     GÅÔ 'Û       ÌDB S×3       ÊSB S×ÒԬɠ   ÏUÔPUÔ ÉÔ?       ÊSB AÌGÃH     YÅS       ÌDA AÌGÃ3     GÅÔ ?à       ÌDB S×´       ÊSB S×ÒԬɠ   ÏUÔPUÔ ÉÔ?       ÊSB AÌGÃH       ÌDB S×5       ÏUÔPUÔ AÌÌ ±'S AÌÌ 0'S       ÊSB S×ÒԬɠ   ?       ÊSB AÌG±0     YÅS       ÌDB S×6       ÒÅAD AÌÌ ±'S AÌÌ 0'S       ÊSB S×ÒԬɠ   ?       ÊSB AÌGÒD     YÅS       ÌDB S×±       ÅØÉÔ?       ÊSB S×ÒÔ¬É       ÒSS       ÊMP AÌG0      NÏ DÏ ANÏÔHÅÒ PASS       ÌDZ0.*A Sײ       ÊSB ÔMÒÒ¬É       ÌDB S×±       ÊSB S×ÒÔ¬É       ÊMP ª-²       ÊMP AÌGN¬É    YÅS ª  ª  ª  Sײ   ÏÃÔ ´ AÌGñ AS౬ªU S×3   ÏÃÔ ±0 AÌGò AS౬'Û S×´   ÏÃÔ ²0 AÌGÃ3 AS౬?à S×5   ÏÃÔ ´0 S×6   ÏÃÔ ±00 DM·²  DÅà-·²       SKP ª         ÏUÔPUÔ ² ÃHAÒAÃÔÅÒS ª  AÌGÃH NÏP       ÊSB A²ÔÔY       ÉSZ ÃNÔÒ       ÉSZ ÃNÔÒ       ÊMP AÌGÃH¬É       ÌDA DM·²       SÔA ÃNÔÒ       ÌDA ÃÒÌÆ       ÊSB A²ÔÔY       ÊMP AÌGÃH¬É ª  ª  ª         PUNÃH AÌÌ ±'S AÌÌ 0'S ª  AÌG±0 NÏP       ÌDA PÃMD      PUNÃH ÏNÌY       ÊSB A²ÔÔY       ÌDA .3··       ÊSB A±ÔÔY       ÃÌA       ÊSB A±ÔÔY       ÊMP AÌG±0¬É ª  ª  ª         ÒÅAD AÌÌ ±'S AÌÌ 0'S ª  AÌGÒD NÏP       ÌDA ÉÃMD      ÉNPUÔ ÃÏMMAND       ÊSB ÔÔY²A     GÅÔ ÉNPUÔ       ÊMP AÌGÒD¬É   ABÏÒÔÅD       ÌDB .3··      ÉS ÉÔ AÌÌ ÏNÅS?       ÃPA B       ÒSS       ÊSB ÒÔÅM      NÏ - ÒÅPÏÒÔ ÅÒÒÏÒ       ÌDA ÉÃMD       ÊSB ÔÔY²A       ÊMP AÌGN¬É    ABÏÒÔÅD       ÃÌB           ÉS ÉÔ AÌÌ ZÅÒÏS       ÃPA B       ÊMP AÌGÒD¬É   YÅS       ÊSB ÒÔÅM      NÏ - ÒÅPÏÒÔ ÅÒÒÏÒ       ÊMP AÌGÒD¬É Æ×AA  ÅÑU ª       ÅND »«0ÿÿ ÿýY f ÿ12539-18001 1830 S 0122 TIME BASE GENERATOR DG              H0101 ³hþúASMB,A,B,L,C HED TIME BASE GENERATOR DIAGNOSTIC (12539B/C) ORG 0 DSN 103301 JULY 6, 1978 REV. 1830 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 * (SUPPRESS ALL OPERATOR INTERVENTION) * 11 = SUPRESS ERROR MESSAGES * 10 = SUPRESS NON-ERROR MESSAGES * 9 = GO TO USER CONTROL SECTION * AT END OF PRESENT TEST * 8= SUPPRESS OPERATOR INTERVENTION TESTS * 7 * = DIAGNOSTIC OPTIONS * 0 * NOTE: STANDARD RUN SHOULD BE WITH SW. REG. = 0 * USER CONTROL WILL ASK FOR A 32 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 * * 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 * * CONTROL PROGRAM HALT MESSAGES * * 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 RESERVED * 102071 RESERVED * 102070 RESERVED * * 106077 TRAP CELL HALT * * * 2lþú HED PROGRAM ORGANIZATION CHART * ******************************************* * * CONFIGURATOR 100B * * * LINKAGE TABLE * * ******************************************* * * EXECUTIVE 130B * * * LINKAGE * * ******************************************* * * CONSTANTS 150B * * * AND * * * STORAGE * * ******************************************* * * 2000B * * * EXECUTIVE CONTROL * * * * * ******************************************* * * IF USED * * * BASIC I/O TESTS (TEST 00) * * * ZCEND * * ******************************************* * * TABLE OF TEST POINTERS * * * TABLE OF I/O INSTR POINTERS * * ******************************************* * * * * * * * * * * * * * * * * * MAIN DIAGNOSTICS (1-31) * * * * * * * * * * * * * * * * * ******************************************* * * * * * * * * * * * * * * * * * * * * HED CONFIGURATOR L‰[þúINKAGE 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 * * 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 DSNL BSS 1 DIAGNOSTIC SERIAL NUMBER FMTR BSS 1 FORMATTER * * * CONTROL LINKAGE AND DATA REFERENCES * CFIG DEF ZCONF CONFIGURATION SECTION MSGC DEF ZMSGC MESSAGE WITH NO HALT MSGH DEF ZMSGH MESSAGE WITH HALT ERMS DEF ZERMS ERROR MESSAGE SWRT DEF ZSWRT SWITCH REGISTER CHECK ROUTINE TSTN OCT 0 CURRENT TEST NUMBER EXRT DEF ZEXRT RETURN TO CONTROL PROGRAM NOP RESERVED * * * * * * * * * * * * * HED EXECUTIVE CONTROL ORG 2000B ZSTEX CLC INTP,C TURN I/O SYSTEM OFF CLE LDA DSN LDB HDMX JSB O2AS,I JSB MSGC,I DO CRLF DEF ZRTLF LDA HDMP GET INTRODUCTORY MESSAGE STA *+2 JSB MSGC,I OUT PUT IT NOP CLA CLEAR PASS STA ZEOLC COUNT LDB ZSW9 CHECK FOR USER SELECTION REQ JSB 2ÞþúSWRT,I JMP ZUSR IT'S USERS CHOICE ZNUSR LDA STDA GET STANDARD TEST RUN LDB STDB * JMP ZEXC * ZUSR LIA SW CLEAR S-REG BIT 9 XOR ZSW9 OTA SW LDA ZSINA RETRIEVE PREVIOUS RUN LDB ZSINB HLT 75B WAIT FOR USER INPUT NOP NOP NOP ZEXC STA ZUINA SAVE STB ZUINB USER STA ZSINA INPUT STB ZSINB PROGRAM LDB ZSW9 CHECK IF SW9 IS DOWN JSB SWRT,I JMP ZUSR NO GO AND WAIT CCA SET TEST NUMBER STA TSTN =-1 CLA STA ZTSTA CLEAR TEST RUN FLAG * * * * * * * * * * * * * * * * SKP ZEXCL LDA ZUINA RESTORE A REG. LDB ZUINB RESTORE B REG. ERA,RAL ROTATE ERB FIRST ERA TEST BIT STA ZUINA SAVE POSITIONS STB ZUINB ISZ TSTN MOVE TEST UP ONE NOP ZXCL1 LDA TSTN ADA TSTP GET IT'S LDA A,I ADDRESS CPA Z.M1 IS IT END OF LIST JMP ZEOL YES LDB ZUINB SSB,RSS SHOULD IT BE RUN? JMP ZEXCL NO STA ZTSTA YES - SAVE TEST ADDRESS JSB ZITCH INITIALIZE TRAP CELL HALTS JSB ZTSTA,I GO DO TEST ZEXRT LDA TSTN DISPLAY TEST NUMBER IF HALTED LDB ZSW15 CHECK FOR HALT AT END OF TEST JSB SWRT,I HLT 76B YES WAIT FOR OPERATOR LDB ZSW9 CHECK FOR ABORT JSB SWRT,I JMP ZUSR YES LDB ZSW13 CHECK FOR LOOP ON ROUTINE JSB SWRT,I JMP ZXCL1 YES - LOOP JMP ZEXCL CONTINUE * ZEOL LDA ZTSTA CHECK IF ANY TESTS WERE RUN SZA,RSS ? JMP ZNUSR NO SO PICK UP STANDARD RUN LDA ZEOLC UP DATE PASS COUNT INA STA ZEOLC CCE LDB ZPSCA GET PASS COUNT ADB Z.2 ADDRESS JSB è þúO2AS,I CONVERT IT JSB MSGC,I CALL PRINT ROUTINE ZPSCA DEF ZPSC LDB ZSW12 CHECK FOR LOOP ON DIAG. JSB SWRT,I JMP *+3 YES LDA ZEOLC HLT 77B NO WAIT AND DISPLAY PASS COUNT LDA ZSINA RESTORE ORIGINAL LDB ZSINB PROGRAM JMP ZEXC DO IT ALL AGAIN * SKP * MESSAGE OUTPUT WITH OUT HALT * ZMSGC NOP ENTRY JSB ZMSG OUTPUT MESSAGE OCT 2000 SWITCH 10 CHECK JMP ZMSGC,I RETURN TO CALLER * * MESSAGE OUTPUT WITH HALT * ZMSGH NOP ENTRY JSB ZMSG OUTPUT MESSAGE OCT 2000 SWITCH 10 CHECK LDA ZHLT GET HALT CODE STA *+2 PUT IT IN PLACE LDA ZSAVA RESTORE A REGISTER NOP HALT FOR DISPLAY JMP ZMSGH,I RETURN TO CALLER * * ERROR MESSAGE WITH HALT * ZERMS NOP ENTRY JSB ZMSG OUTPUT MESSAGE OCT 4000 SWITCH 11 CHECK CLA LDB ZSW14 CHECK SWR BIT 14 TO SUPPRESS JSB SWRT,I HALT STA *+3 PUT HALT IN PLACE LDA ZSAVA RESTORE A & B LDB ZSAVB ZHLT NOP WAIT FOR OPERATOR JMP ZERMS,I RETURN TO CALLER * * * * * * * * * * * * * SKP * OUTPUT MESSAGE * ZMSG NOP STA ZSAVA SAVE A AND B REGISTERS STB ZSAVB LDB ZMSG,I GET SWITCH REGISTER BIT LDA ZMSG ADA Z.M2 DECREMENT RETURN ADDRESS STA ZMSG JSB SWRT,I CHECK TO SUPPRESS MESSAGE JMP ZMSG0 YES LDA ZMSG,I CHECK IF ERROR LDA A,I LDA A,I IF SO ALF,ALF AND Z.177 CPA ZA.E JSB ZCFTN CHECK TO OUTPUT TEST NUMBER LDA ZMSG,I NO RETRIEVE FORMAT LDB A,I ADDRESS CLA,CLE JSB FMTR,I ZMSG0 LDA ZMSG,I CONVERT HALT CODE LDB A,I FROM ASCII STRING CCA,CCE =Xþú JSB AS2N,I STA ZN2AO SAVE RESULT AND Z.300 DECODE LDB ZH2 HALT CODE CPA Z.100 LDB ZH6 CPA Z.200 LDB ZH3 CPA Z.300 LDB ZH7 LDA ZN2AO GET HALT NUMBER AND Z.77 IOR B STA ZHLT SAVE IT ISZ ZMSG,I ADJUST RETURN POINTERS ISZ ZMSG ISZ ZMSG ISZ ZMSG LDA ZSAVA RESTORE A AND B REGISTERS LDB ZSAVB JMP ZMSG,I * * * * * * SKP ZCFTN NOP LDA TSTN GET TEST NUMBER CPA ZCFTT IS IT THE SAME ONE? JMP ZCFTN,I YES SKIP OUTPUT STA ZCFTT NO - THEN UPDATE IT JSB ZN2AO CONVERT IT STA ZTSTN PUT IT IN STRING CLA DO A CRLF JSB SLOP,I CLA,CLE INDICATE START OF FORMAT LDB ZTSTF JSB FMTR,I JMP ZCFTN,I RETURN * * * ZSAVA NOP ZSAVB NOP ZEOLC NOP ZTSTA NOP ZSINA NOP ZSINB NOP ZUINA NOP ZUINB NOP ZBTMP NOP Z.2 OCT 2 Z.7 OCT 7 Z.10 OCT 10 Z.60 OCT 60 Z.77 OCT 77 Z.177 OCT 177 Z.M1 DEC -1 Z.M2 DEC -2 ZD100 DEC -100 ZIOM OCT 177700 ZSW15 OCT 100000 ZSW14 OCT 40000 ZSW13 OCT 20000 ZSW12 OCT 10000 ZS812 OCT 010400 ZSW9 OCT 1000 Z.100 OCT 100 Z.200 OCT 200 Z.300 OCT 300 ZH2 OCT 102000 ZH6 OCT 106000 ZH3 OCT 103000 ZH7 OCT 107000 ZCFTT DEC -1 ZTSTF DEF *+1 ASC 3,TEST ZTSTN ASC 2,XX// ZRTLF ASC 1,// ZPSC ASC 6,PASS XXXXXX/ ZA.E OCT 105 HED GENERAL ROUTINES * * ZN2AO NOP STA ZIOAD SAVE NUMBER AND Z.7 CONVERT FIRST IOR Z.60 NUMBER STA B SAVE IT LDA ZIOAD GET RAR,RAR SECOND RAR NUMBER AND Z.7 CONVERT IOR Z.60 IT ALF,ALF MOVE TO UPPER HALF IOR B ADD LOWER JMP ZN2AO,I AND RETURN * * * * SWITCH REGISTER CHECK * ZSWRT NOP STA ZNðþú2AO SAVE A REGISTER LIA SW GET SWITCH REG. AND B MASK OUT BIT SZA,RSS IS IT UP? ISZ ZSWRT NO LDA ZN2AO RESTORE A REGISTER LIB SW LET B = SWITCH REGISTER JMP ZSWRT,I RETURN TO CALLER * * * * INITIALIZE TRAP CELL HALTS * ZITCH NOP LDA ZTSH GET STARTING TRAP CELL HALT LDB Z.2 GET FIRST TRAP CELL LOCATION ZTSHL STA B,I PUT IT IN PLACE CPB Z.77 AM I FINISHED JMP ZITCH,I YES INB NEXT ADDRESS JMP ZTSHL * ZTSH OCT 106077 * * * SKP * PUT JSB INSTRUCTION IN TRAP CELL * ZTCJI NOP LDB ZJSBI GET INSTRUCTION STB ZIOSC,I PUT IT IN TRAP CELL LDA ZTCJI,I GET LOCATION STA 3B SAVE IT FOR JSB INSTRUCTION ISZ ZTCJI ADJUST RETURN JMP ZTCJI,I RETURN TO CALLER * ZJSBI JSB 3B,I JSB INSTRUCTION * * * INITIALIZE SELECT CODE I/O INSTRUCTIONS * ZISC NOP STA ZIOSC SAVE SELECT CODE STB ZIOAD SAVE TABLE ADDRESS ZIOL LDB ZIOAD,I GET ADDRESS OF LOCATION CPB Z.M1 IS IT THE TERMINATOR JMP ZISC,I YES RETURN TO CALLER LDA B,I NO - GET CONTENTS AND ZIOM MASK OFF OLD SELECT CODE IOR ZIOSC ADD IN NEW SELECT CODE STA B,I RESTORE IT ISZ ZIOAD MOVE TO NEXT ADDRESS JMP ZIOL DO IT * ZIOSC NOP ZIOAD NOP * * * * SKP * CONFIGURATION SECTION * ZCONF CLC INTP,C TURN I/O SYSTEM OFF LIA SW GET SELECT CODE AND OPTIONS STA USSC SAVE THEM AND Z.77 ELIMINATE OPTIONS LDB A CMB,INB CHECK THAT SC > 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 CLA CLEAR‘þúR S-REG OTA SW HLT 74B ALLOW OPERATOR TO CHANGE SWIT JMP ZSTEX GO TO EXEC CONTROL SECTION * * * * * * * * * * * * * * * * * * * * * * * 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/ * * 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/ * * * * * * * * * »E640* * * * * * * * * * 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 CLC CH,C CLEAR CONTROL AND FLAG Z.STF STF CH EXECUTE STF CH INSTRUCTION ZBS42 SFC CH TEST CHANNEL FLAG JMP ZB41 Z.CLF CLF CH CLEAR TEST FLAG 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 *,6ÿÿ ÿýZ h ÿ12539-18002 1830 S 0122 TIME BASE GENERATOR DG              H0101 ´hþú* 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 * * * * * ÷vþú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 CLF INTP TURN OFF ONTPS ZBS72 SFS CH 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 ªQþú* * * * * * * * * * * * * * * * * * * * * * * SKP 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 JMP ZBIO,I RETURN TO CALLER * ZBI70 NOP CONTROL FAILED CLF INTP TURN OFF INTPS INA JMP ZB70 * 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 08,H025 BI-O COMP/ SKP 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 DEF ZBS42 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 * * * * * * * * * * * * * * * * * * * * * * * * * * HED BASE PAGE ORG 126B DSN OCT 103301 DIAGNOSTIC SERIAL NUMBER * ORG 140B IOIP DEF IOID POINTER TO I/O INSTRUCTIONS TSTP DEF TSTD POINTER TO TESTS HDMP DEF HDMD POINTER TO HEADER MESSAGE HDMX DEF HDMD+11 STDA OCT 3777 STDB OCT 0 * ORG 150B HDMD EQU * ASC 15,TBG DIAGNOSTIC, DSN = XXXXXX/ * IOID EQU * DEF SRT01 ;{þú DEF SRT02 DEF RTCLX DEF SLG01 DEF SLG02 DEF SLG03 DEF SLG04 DEF SLG05 DEF SLG06 DEF SLG07 DEF SLG10 DEF SLG11 DEF SLG12 DEF SLG13 DEF SLG14 DEF SLG15 DEF STTC1 DEF STTC2 DEF TTCEX DEC -1 * SKP 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 * * PUT JSB IN TRAP CELL * TCJI NOP LDA USSC GET SELECT CODE AND B77 LDB JSBI GET INSTRUCTION STB A,I PUT IT IN TRAP CELL LDA TCJI,I GET LOCATION STA 3B SAVE IT FOR JSB INSTRUCTION ISZ TCJI ADJUST RETURN JMP TCJI,I RETURN * JSBI JSB 3B,I * PTIPM NOP LDA TSTN GET TEST NUMBER CPA LTSTN SKIP OUTPUT IF SAME TEST JMP PTIPM,I STA LTSTN NO - UPDATE TEST NUMBER AND B7 CONVERT IOR B60 NUMBER STA B LDA TSTN RAR,RAR RAR AND B7 IOR B60 ALF,ALF IOR B STA H030+5 JSB MSGC,I OUTPUT TEST IN PROGRESS DEF H030 JMP PTIPM,I * H030 ASC 13,H030 TEST XX IN PROGRESS/ * LTSTN NOP B7 OCT 7 B20 OCT 20 B60 OCT 60 B77 OCT 77 HED RELATIVE TIME CHECKS * TEST 1 0.1 MILLSEC * TST01 NOP JSB RTCL DO RELATIVE TIME CHECK OCT 0 TBG GATE TIME DEC 1 TIME OUT ALLOWANCE ASC 1,31 ERROR CODE JMP TST01,I SPC 2 * TEST 2 1.O MILLSEC * TST02 NOP JSB RTCL OCT 1 D2 DEC 2 ASC 1,32 JMP TST02,I SPC 2 * TEST 3 1O MILLSEC * TST03 NOP JSB RTCL OCT 2 DEC 20 ASC 1,33 JMP TST03,I °Jþú SPC 2 * TEST 4 1OO MILLSEC * TST04 NOP JSB RTCL GT3 OCT 3 DEC 200 ASC 1,34 JMP TST04,I SKP * RELATIVE TIME CHECK LOWER DECADES * RTCL NOP CCA SET 1 REP COUNT STA RC SAVE IT JSB PTIPM PRINT "TEST IN PROGRESS" MESSAGE JSB TCJI PUT JSB IN TRAP CELL DEF RTCLI RETURN POINT FOR TRAP CLA STA TMRR,I CLEAR IMMEDIATE INTP FLAG LDB RTCL,I GET GATE TIME ISZ RTCL SRT01 OTB CH GIVE IT TO GENERATOR SRT02 STC CH,C START GENERATOR STF INTP TURN ON INTERRUPTS NOP WAIT FOR IMMEDIATE INTERRUPT NOP NOP LDA RTCL,I GET TIME ALLOWANCE JSB TMRR,I GO WAIT ISZ RC ANY REPS JMP *-3 YES CLF INTP NO TURN OFF INTERRUPTS ISZ RTCL MOVE PAST TIME ALLOWANCE LDA RTCL,I GET MESSAGE NUMBER STA RTCE1+1 E0XX JSB ERMS,I REPORT ERROR DEF RTCE1 RTCLX CLC CH,C INSURE CARD IS OFF ISZ RTCL ADJUST RETURN JMP RTCL,I AND RETURN * RC NOP * RTCLI NOP CLF INTP TURN OFF INTPS ISZ RTCL MOVE PAST TIME ALLOWANCE LDA TMRR,I DID IT INTERRUPT IMMEDIATELY SZA JMP RTCLX NO OK LDA RTCL,I YES ADA ASC40 ADD ASCII 40 FOR SEC NUMBER STA RTCE2+1 PUT CODE IN PLACE EOYY JSB ERMS,I REPORT ERROR DEF RTCE2 JMP RTCLX NOW EXIT * * ASC40 OCT 400 RTCE2 ASC 15,E0YY CARD INTP'D IMMEDIATELY/ * RTCE1 ASC 15,E0XX CARD FAILED TO TIME OUT/ SKP * TEST 5 1 SEC (W2 1 MILLSEC) * TST05 NOP JSB RTCU DO RELATIVE TIME CHECK OCT 4 TBG GATE TIME DEC 2 TIME OUT ALLOWANCE ASC 1,35 JMP TST05,I SPC 2 * TEST 6 1O SEC (W2 1O MILLSEC) * TST06 NOP JSB RTCU OCT 5 DEC 20 ÑïþúASC 1,36 JMP TST06,I SPC 2 * TEST 7 1OO SEC (W2 1OO MILLSEC)) * TST07 NOP JSB RTCU OCT 6 DEC 200 ASC 1,37 JMP TST07,I SPC 2 * TEST 1O 1OOO SEC (W2 1 SEC) * TST10 NOP JSB RTCU OCT 7 DEC 2000 ASC 1,40 JMP TST10,I SKP * RELATIVE TIME CHECK UPPER DECADES * RTCU NOP LDA RTCU SET RETURN ADDRESS STA RTCL LDA DM.E3 GET -1OOO LDB SW1 CHECK IF W1 OR W2 JSB SWRT,I CCA W2 SET MULTIPLER JMP RTCL+2 * SW1 OCT 2 DM.E3 DEC -1000 HED LOGIC CHECK * TEST 11 LOGIC CHECK * TST11 EQU * * LOGIC NOP JSB PTIPM PRINT "TEST IN PROGRESS" MESSAGE SLG01 STC CH CLEAR STATUS BIT SLG02 LIA CH CHECK ERROR FF IS RESET SZA,RSS ? JMP *+4 YES-SO CONTINUE E051 JSB ERMS,I NOT RESET REPORT ERROR DEF LGE51 POINTER TO MESSAGE JMP LGEX DON'T BOTHER WITH REST OF TEST * JSB TCJI PUT JSB IN TRAP CELL DEF LGI0 RETURN POINT FOR TRAP CLB,INB SET 1 MS GATE TIME LDA D2 ALLOW 2 MS SLG03 OTB CH OUTPUT GATE TIME TO CARD SLG04 STC CH,C START STF INTP TURN ON INTERRUPTS JSB TMRR,I WAIT FOR IT CLF INTP NEVER INTERRUPTED E052 JSB ERMS,I REPORT ERROR DEF LGE52 POINTER TO MESSAGE JMP LGEX DON'T BOTHER WITH REST OF TEST * LGI0 NOP INTERRUPTED CLF INTP TURN OFF INTERRUPTS SLG05 LIA CH CHECK ERROR FF IS STILL RESET SZA,RSS ? JMP *+4 YES - SO CONTINUE E053 JSB ERMS,I NOT RESET SO REPORT ERROR DEF LGE53 POINTER TO MESSAGE JMP LGEX DON'T BOTHER WITH REST OF TEST * SLG06 SFC CH CHECK FLAG WAS SET JMP *+4 YES - CONTINUE E054 JSB ERMS,I NOT SET REPORT ERROR DEF LGE54 POÕþúINTER TO MESSAGE JMP LGEX DON'T BOTHER WITH REST OF TEST * JSB TCJI PUT JSB IN TRAP CELL DEF LGI1 RETURN POINT FOR TRAP LDA D2 ALLOW TIME FOR SECOND INTP STF INTP TURN ON INTERRUPTS JSB TMRR,I WAIT FOR INT CLF INTP OK TURN OFF INTS SLG07 LIA CH CHECK ERROR SET CPA B20 JMP *+4 E056 JSB ERMS,I REPORT ERROR DEF LGE56 POINTER TO MESSAGE JMP LGEX DON'T BOTHER WITH REST OF TEST SKP * SLG10 STC CH CLEAR ERROR FLAG SLG11 LIA CH CHECK ERROR FF IS RESET SZA,RSS ? JMP *+4 YES - SO CONTINUE E057 JSB ERMS,I NOT RESET REPORT ERROR DEF LGE57 POINTER TO MESSAGE JMP LGEX DON'T BOTHER WITH REST OF TEST * JSB TCJI PUT JSB IN TRAP CELL DEF LGI2 RETURN POINT FOR TRAP CLB,INB SLG12 STC CH,C SLG13 STF CH STF INTP TURN ON INTERRUPTS SLG14 OTB CH SHOULD STOP INTERRUPT LDA D2 JSB TMRR,I LGEX CLF INTP OK - TURN INTPS OFF SLG15 CLC CH,C INSURE CARD IS OFF JMP LOGIC,I RETURN TO CONTROL * * LGI1 NOP CLF INTP TURN INTERRUPTS OFF E055 JSB ERMS,I REPORT INT DEF LGE55 POINTER TO MESSAGE JMP LGEX DON'T BOTHER WITH REST OF TEST * * LGI2 NOP CLF INTP TURN INTERRUPTS OFF E060 JSB ERMS,I REPORT INT DEF LGE60 POINTER TO MESSAGE JMP LGEX EXIT TEST * * LGE51 ASC 13,E051 ERROR FF NOT RESET BY ASC 09, STC INSTRUCTION/ LGE52 ASC 15,E052 CARD FAILED TO TIME OUT/ LGE53 ASC 14,E053 ERROR FF SET AFTER ONLY ASC 08, ONE GATE TIME/ LGE54 ASC 14,E054 FLAG DID NOT SET AFTER ASC 05,TIME OUT/ LGE55 ASC 17,E055 INTP'D AFTER FIRST TIME OUT/ LGE56 ASC 16,E056 ERROR FF DID NOT SET AFTER ASC 12,TWICE THE TIME INTERVAL/ LGE57 ASC 13,E057 ERROR FF NOT RESET BY ASC 09, STC INSTRUCTION/ LGE60 ASC 12,E060 OTB INSTMÈþúRUCTION DID ASC 10, NOT STOP INTERRUPT/ HED TIME TOLERANCE CHECK * TEST 12 TIME TOLERANCE CHECK * TST12 EQU * * TTC NOP JSB PTIPM PRINT "TEST IN PROGRESS" MESSAGE JSB TCJI PUT JSB IN TRAP CELL DEF TTCI RETURN POINT FOR TRAP LDA M2 SET LOOP COUNT TO -2 FOR STA T12CT 21MX TESTING (SEE BELOW *) LDA D98 GET FIRST GATE ALLOWANCE R21MX CCB SET OUT OF TOLERANCE STB RC FLAG LDB GT3 GET TBG GATE TIME STTC1 OTB CH STTC2 STC CH,C START GENERATOR STF INTP TURN ON INTERRUPTS JSB TMRR,I GO WAIT ISZ RC INDICATE IN TOLERANCE NOP LDA D3 IN TOLERANCE WAIT TIME JSB TMRR,I ISZ RC INDICATE OUT OF TOLERANCE LDA D98 ALLOW MORE TIME JSB TMRR,I CLF INTP NO INT E063 JSB ERMS,I REPORT ERROR DEF TTCE3 POINTER TO MESSAGE TTCEX CLC CH,C TURN CARD OFF JMP TTC,I * * TTCI NOP INTERRUPTED CLF INTP TURN OFF INTERRUPTS LDB RC CHECK IF IN TOLERANCE SZB,RSS ? JMP TTCEX YES - SO EXIT TEST LDA CPTO NO, CHECK IF CPU IS A 21MX? AND S1512 (SEE BELOW *) CPA SW15 JMP E21MX YES, CPU IS A 21MX T21MX SSB,RSS NO, ERROR. CHECK IF INTPT JMP *+4 BEFORE OR AFTER EO61 JSB ERMS,I BEFORE, REPORT ERROR DEF TTCE1 POINTER TO MESSAGE JMP TTCEX E062 JSB ERMS,I AFTER, REPORT ERROR DEF TTCE2 POINTER TO MESSAGE JMP TTCEX * * SKP * * THIS ROUTINE WAS ADDED WITH DSN RELEASE 103301 TO * COMPENSATE THE TIMING TOLERANCE CHECK FOR CPU PER- * FORMANCE DECREASE IN 21MX M-SERIES COMPUTERS WHEN * 16K MEMORY CONTROLLERS ARE INSTALLED. THESE CONTROL- * LERS WILL ISSUE A MEMORY REFRESH EVERY 15 MICROSEC * (4K MEM CONTL. EVERY 31 MICROSEC) RESULTING IN A * INSTRUCE640TION EXECUTION SPEED DECREASE OF APPRX 2.5%. * THE DIAGN. CAN'T DETERMEN THE TYPE OF MEMORY IN- * STALLED AND THEREFORE WILL TRY FIRST WITH 98 MILLISEC * AND IF THAT FAILES WITH 95 MILLISEC AS A LOWER * WINDOW LIMIT IF AN M-SERIES COMPUTER IS USED. * E21MX ISZ T12CT CHECK IF COUNTER IS 0? JMP *+2 NO JMP T21MX YES, BOTH TRIES FAILED, ERROR LDA D95 SET LOWER WINDOW LIMIT TO JMP R21MX 95 MILLISEC & TRY ONCE MORE * * * * * D3 DEC 3 D98 DEC 98 D95 DEC 95 M2 OCT 177776 T12CT OCT 0 S1512 OCT 170000 SW15 OCT 100000 TTCE1 ASC 15,E061 INT BEFORE 98 MILLSECOND/ TTCE2 ASC 15,E062 INT AFTER 102 MILLSECOND/ TTCE3 ASC 09,E063 NO INTERRUPT/ * * * * * ORG ZCEND FWAA EQU * END ú^6ÿÿ ÿý[ i ÿ12560-18001 1540 S 0122 12560A PLOTTER INTERFACE DIAGNOSTIC             H0101 ½þúASMB,A,B,L,C HED CALCOMP PLOTTER DIAGNOSTIC (DSN 107000) ORG 0 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 = 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 * = SEE PSEUDO OPDESIGN * 0 * NOTE: STANDARD RUN SHOULD BE WITH SW. REG. = 0 * * G. PRESS RUN. II * H. RESTART - LOAD ADDRESS 2000B * I. RECONFIGURE IF TESTING I/O INTERFACE - LOAD ADDRESS 100B * *ñ * GENERAL COMPUTER HALTS * * 1020XX E OR H 000 TO 035 * 102077 END OF DIAG (A = PASS COUNT) * 102076 END OF TEST (A = TEST #) * 102075 USER SELECTION REQUEST (SET A-REG) * 102074 SELECT CODE INPUT COMPLETE * 102073 USER SELECT CODE ERROR * 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 * * ORG 100B * *ñ JMP CFIG,I GO TO CONFIGURATION SECTION BSS 1 COD BSS 1 CONSOLE OUTPUT DRIVER LPD BSS 1 LINE PRINT1˜þúER DRIVER CID BSS 1 CONSOLE INPUT DRIVER FWAM DEF FWAA FIRST WORD OF AVBL. MEMORY LWAM BSS 1 LAST WORD OF AVBL. MEMORY BSS 1 NOT USED (MAG TAPE) TMC BSS 1 1 MILL SEC TIME OUT COUNT BSS 4 SELECT CODES FOR I/O 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 TMRR BSS 1 1 MILL SEC TIMER SWRC BSS 1 CONFIGURATOR SWITCH CK PTR D2AS BSS 1 DECIMAL TO ASCII CONVERSION O2AS BSS 1 OCTAL TO ASCII CONVERSION AS2N BSS 1 ASCII CONVERSION DSN OCT 107000 DIAGNOSTIC SERIAL NUMBER FMTR BSS 1 FORMATTER * * * CONTROL LINKAGE AND DATA REFERENCES * CFIG DEF ZCONF CONFIGURATION SECTION MSGC DEF ZMSGC MESSAGE WITH NO HALT MSGH DEF ZMSGH MESSAGE WITH HALT ERMS DEF ZERMS ERROR MESSAGE SWRT DEF ZSWRT SWITCH REGISTER CHECK ROUTINE TSTN OCT 0 CURRENT TEST NUMBER EXRT DEF ZEXRT RETURN TO CONTROL PROGRAM SKP * EXECUTIVE CONTROL * *ñ ORG 2000B ZSTEX CLC INTP,C TURN I/O SYSTEM OFF JSB MSGC,I DO CRLF DEF ZRTLF LDA HDMP GET INTRODUCTORY MESSAGE STA *+2 2š JSB MSGC,I OUT PUT IT NOP CLA CLEAR PASS STA ZEOLC COUNT LDB ZSW9 CHECK FOR USER SELECTION REQ JSB SWRT,I JMP ZUSR IT'S USERS CHOICE ZNUSR LDA STDA GET STANDARD TEST RUN LDB STDB * *ù JMP ZEXC * ZUSR LDA ZSINA RETRIEVE PREVIOUS RUN LDB ZSINB HLT 75B WAIT FOR USER INPUT ZEXC STA ZUINA SAVE STB ZUINB USER STA ZSINA INPUT STB ZSINB PROGRAM LDB ZSW9 CHECK IF SW9 IS DOWN JSB SWRT,I,£ JMP ZUSR NO - GO AND WAIT CCA SET TEST NUMBER STA TSTN =-1 CLA STA ¸gþúZTSTA CLEAR TEST RUN FLAG SKP Pl ZEXCL LDA ZUINA RESTORE A REG. LDB ZUINB RESTORE B REG. ERA,RAL ROTATE ERB FIRST ERA TEST BIT STA ZUINA SAVE POSITIONS STB ZUINB ISZ TSTN MOVE TEST UP ONE NOP ZXCL1 LDA TSTN ADA TSTP GET IT'S LDA A,I ADDRESS CPA Z.M1 IS IT END OF LIST? JMP ZEOL YES LDB ZUINB SSB,RSS SHOULD IT BE RUN? JMP ZEXCL NO STA ZTSTA YES - SAVE TEST ADDRESS JSB ZITCH INITIALIZE TRAP CELL HALTS JSB ZTSTA,I GO DO TEST ZEXRT LDA TSTN DISPLAY TEST NUMBER IF HALTED LDB ZSW15 CHECK FOR HALT AT END OF TEST JSB SWRT,I HLT 76B YES WAIT FOR OPERATOR LDB ZSW9 CHECK FOR ABORT JSB SWRT,I JMP ZUSR YES LDB ZSW13 CHECK FOR LOOP ON ROUTINE JSB SWRT,I JMP ZXCL1 YES - LOOP JMP ZEXCL CONTINUE * ZEOL LDA ZTSTA CHECK IF ANY TESTS WERE RUN SZA,RSS ? JMP ZNUSR NO SO PICK UP STANDARD RUN LDA ZEOLC UPDATE PASS COUNT INA STA ZEOLC CCE LDB ZPSCA GET PASS COUNT ADB Z.2 ADDRESS JSB O2AS,I CONVERT IT JSB MSGC,I CALL PRINT ROUTINE ZPSCA DEF ZPSC LDB ZSW12 CHECK FOR LOOP ON DIAG. JSB SWRT,I JMP *+3 YES LDA ZEOLC HLT 77B NO WAIT AND DISPLAY PASS COUNT LDA ZSINA RESTORE ORIGINAL LDB ZSINB PROGRAM JMP ZEXC DO IT ALL AGAIN SKP * MESSAGE OUTPUT WITH OUT HALT * ZMSGC NOP ENTRY JSB ZMSG OUTPUT MESSAGE OCT 2000 SWITCH 10 CHECK JMP ZMSGC,I RETURN TO CALLER * *ñ * MESSAGE OUTPUT WITH HALT * ZMSGH NOP ENTRY JSB ZMSG OUTPUT MESSAGE OCT 2000 SWITCH 10 CHECK LDA ZHLT GEj¯þúT HALT CODE STA *+2 PUT IT IN PLACE LDA ZSAVA RESTORE A REGISTER NOP HALT FOR DISPLAY JMP ZMSGH,I RETURN TO CALLER * *ñ * ERROR MESSAGE WITH HALT * ZERMS NOP ENTRY JSB ZMSG OUTPUT MESSAGE OCT 4000 SWITCH 11 CHECK CLA LDB ZSW14 CHECK SWR BIT 14 TO SUPPRESS JSB SWRT,I HALT STA *+3 PUT HALT IN PLACE LDA ZSAVA RESTORE A & B LDB ZSAVB ZHLT NOP WAIT FOR OPERATOR JMP ZERMS,I RETURN TO CALLER SKP * OUTPUT MESSAGE * ZMSG NOP STA ZSAVA SAVE A AND B REGISTERS STB ZSAVB LDB ZMSG,I GET SWITCH REGISTER BIT LDA ZMSG ADA Z.M2 DECREMENT RETURN ADDRESS STA ZMSG JSB SWRT,I CHECK TO SUPPRESS MESSAGE JMP ZMSG0 YES LDA ZMSG,I CHECK IF ERROR LDA A,I ELA,CLE,ERA LDA A,I IF SO ALF,ALF AND Z.177 CPA ZA.E JSB ZCFTN CHECK TO OUTPUT TEST NUMBER LDA ZMSG,I NO RETRIEVE FORMAT LDB A,I ADDRESS ELB,CLE,ERB CLEAR IND BIT CLA,CLE JSB FMTR,I ZMSG0 LDA ZMSG,I CONVERT HALT CODE LDB A,I FROM ASCII STRING ELB,CLE,ERB CCA,CCE JSB AS2N,I STA ZN2AO SAVE RESULT AND Z.300 DECODE LDB ZH2 HALT CODE CPA Z.100 LDB ZH6 CPA Z.200 LDB ZH3 CPA Z.300 LDB ZH7 LDA ZN2AO GET HALT NUMBER AND Z.77 IOR B STA ZHLT SAVE IT SKP Pl ZMSG1 LDA ZMSG,I CHECK FOR MORE OUTPUT LDA A,I SSA,RSS ? JMP ZMSG2 NO ISZ ZMSG,I YES MOVE TO NEXT POINTER LDB ZMSG SUPPRESS MESSAGE? ADB Z.2 2 LDB B,I JSB SWRT,I JMP ZMSG1 YES LDA ZMSG,I NO GET NEXT POINTER LDB A,I II ELB,CLE,ERB CLA,1TþúCLE JSB FMTR,I JMP ZMSG1 TRY NEXT POINTER ZMSG2 ISZ ZMSG,I ADJUST RETURN POINTERS ISZ ZMSG ISZ ZMSG ISZ ZMSG LDA ZSAVA RESTORE A AND B REGISTERS LDB ZSAVB JMP ZMSG,I * * *ñ * ññ ZCFTN NOP LDA TSTN GET TEST NUMBER CPA ZCFTT IS IT THE SAME ONE? JMP ZCFTN,I YES SKIP OUTPUT STA ZCFTT NO - THEN UPDATE IT JSB ZN2AO CONVERT IT STA ZTSTN PUT IT IN STRING CLA DO A CRLF JSB COD,I CLA,CLE INDICATE START OF FORMAT LDB ZTSTF JSB FMTR,I JMP ZCFTN,I RETURN SKP ZSAVA NOP ZSAVB NOP ZEOLC NOP ZTSTA NOP ZSINA NOP ZSINB NOP ZUINA NOP ZUINB NOP ZBTMP NOP Z.2 OCT 2 Z.7 OCT 7 ­­ Z.10 OCT 10 Z.60 OCT 60 Z.77 OCT 77 Z.177 OCT 177 Z.M1 DEC -1 Z.M2 DEC -2 ZIOM OCT 177700 ZSW15 OCT 100000 ZSW14 OCT 40000 ZSW13 OCT 20000 0Ž ZSW12 OCT 10000 ZS812 OCT 010400 ZSW9 OCT 1000 Z.100 OCT 100 0 Z.200 OCT 200 Z.300 OCT 300 ZH2 OCT 102000 ZH6 OCT 106000 ZH3 OCT 103000 ZH7 OCT 107000 ZCFTT DEC -1 ZTSTF DEF *+1 1] ASC 3,TEST ZTSTN ASC 2,XX// ZRTLF ASC 1,// ZPSC ASC 6,PASS XXXXXX/ ZA.E OCT 105 SKP * GENERAL ROUTINES * * ZN2AO NOP STA ZIOAD SAVE NUMBER AND Z.7 CONVERT FIRST IOR Z.60 NUMBER STA B SAVE IT LDA ZIOAD GET RAR,RAR SECOND RAR NUMBER AND Z.7 CONVERT IOR Z.60 IT ALF,ALF MOVE TO UPPER HALF IOR B ADD LOWER JMP ZN2AO,I AND RETURN * * * * SWITCH REGISTER CHECK * ZSWRT NOP P^ STA ZN2AO SAVE A REGISTER LIA SW GET SWITCH REG. AND B MASK OUT BIT SZA,RSS IS IT UP? ISZ ZSWRT NO LDA ZN2AO RESTORE A REGISTER LIB SW LET B = SWITCH REGISTER JMP ZSWRT,I RE:¿þúTURN TO CALLER * ññ * * * INITIALIZE TRAP CELL HALTS * ZITCH NOP LDA ZTSH GET STARTING TRAP CELL HALT LDB Z.2 GET FIRST TRAP CELL LOCATION ZTSHL STA B,I PUT IT IN PLACE CPB Z.77 AM I FINISHED JMP ZITCH,I YES INB NEXT ADDRESS JMP ZTSHL * ZTSH OCT 106077 SKP * PUT JSB INSTRUCTION IN TRAP CELL * ZTCJI NOP LDB ZJSBI GET INSTRUCTION STB ZIOSC,I PUT IT IN TRAP CELL LDA ZTCJI,I GET LOCATION STA 3B SAVE IT FOR JSB INSTRUCTION ISZ ZTCJI ADJUST RETURN JMP ZTCJI,I RETURN TO CALLER * *ñ ZJSBI JSB 3B,I JSB INSTRUCTION * * INITIALIZE SELECT CODE I/O INSTRUCTIONS * ññ ZISC NOP STA ZIOSC SAVE SELECT CODE STB ZIOAD SAVE TABLE ADDRESS ZIOL LDB ZIOAD,I GET ADDRESS OF LOCATION CPB Z.M1 IS IT THE TERMINATOR JMP ZISC,I YES RETURN TO CALLER LDA B,I NO - GET CONTENTS AND ZIOM MASK OFF OLD SELECT CODE IOR ZIOSC ADD IN NEW SELECT CODE STA B,I RESTORE IT ISZ ZIOAD MOVE TO NEXT ADDRESS JMP ZIOL DO IT * ZIOSC NOP ZIOAD NOP SKP * CONFIGURATION SECTION * ZCONF CLC INTP,C TURN I/O SYSTEM OFF LIA SW GET SELECT CODE AND OPTIONS STA USSC SAVE THEM AND Z.77 ELIMINATE OPTIONS LDB A CMB,INB CHECK THAT SC > 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 LDB USSC CHECK FOR 563 565 AND RBL ENGLISH OR METRIC LDA INIS INITIALIZE COUNT JSB MP2.5 STA INIC LDA SIZES SET LINE LENGTH JSB MP2.5 STA SIZE LDA DECS DECREASING SIZE COUNT JSB MP2.5 STA DEC ™ËþúLDA DASHS AND DASHES LENGTH JSB MP2.5 STA DASH HLT 74B ALLOW OPERATOR TO SET S-REG. JMP ZSTEX GO TO EXEC CONTROL SECTION * * MP2.5 NOP SLB,RSS LARGE PLOTTER? JMP *+5 NO STA MPX YES MPY BY 2.5 ALS,ALS (BY 4) ADA MPX (THEN ADD 1 MAKES 5) ARS (THEN DIVIDE BY 2 = 2.5) SSB,RSS METRIC? JMP MP2.5,I NO RETURN STA MPX YES MPY BY 2.5 AGAIN ALS,ALS ADA MPX  ARS JMP MP2.5,I * *ñ MPX ABS 0 SKP * BASIC I/O TESTS * ññ SC 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/ SKP * CARD FLAG CHECK * ZBIO2 EQU * ZBS21 STF SCSk ZBS22 CLF SC ZBS23 SFC SCS: RSS JMP *+3 3H 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 *+gþú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 0Ï 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/ SKP * 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 TO 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 DEF ZBE04 * * * * 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 SC? 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 SC CLEAR SELECT CODE FLAG Z.STF STF SC EXECUTE STF SC INSTRUCTION ZBS42 SFC SC TEST SELECT CODE 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 —•640 SET UP STA ZBF5 FLAGS STA ZBI5 FOR TEST STA ZBTMP ZBS51 STC SC TURN ON ùë6ÿÿ ÿý\ j ÿ12560-18002 1540 S 0122 12560A PLOTTER INTERFACE DIAGNOSTIC             H0101 ½þúZBS52 STF SC CARD STF INTP AND INTERRUPTS STC 1 * STF 1 * CLC 1 * CLF 1 * NO INTERRUPT JMP *+1,I * SHOULD OCCUR 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 4Ž 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 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 PÛ 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 1~ 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 * 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 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 INTPS ZBS72 SFS SC CHECK SELECT CODE 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 SKP ZB70 SLA,RSS CHECK FOR ERRORS JMP *+3 3H 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 3H E020 JSB ERMS,I E020 FLAG NOT SET DEF ZBE20 RAR SLA,RSS JMP *+3 E021 JSB ERMS,I E021 DID NOT DISABLE INTS DEF ZBE21 H025 JSB MSGC,I TELL OPERATOR DEF ZBM25 BASIC I/O IS COMPLETE JMP ZBIO,I RETURN TO CALLER * ñññû ZBI70 NOP CONTROL FAILED CLF INTP TURN OFF INTPS INA JMP ZB70 * 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 08,H025 BI-O COMP/ SKP 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 DEF ZBS42 DEF ZBS51 ÍÍ DEF ZBS52 DEF ZBS53 DEF ZBS61 DEF ZBS62 DEF ZBS63 DEF ZBS64 DEF ZBS65 5] DEF ZBS66 DEF ZBS71 DEF ZBS72 DEC -1 * *ñ ZCEND EQU * SKP ORG 140B IOIP DEF IOID POINTER TO I/O INSTRUCTIONS TSTP DEF TSTD POINTER TO TESTS LIST HDMP DEF HDMS POINTER TO HEADER MESSAGE STDA OCT 17 STDB OCT 0 * ORG 150B HDMS EQU * ASC 18,CALCOMP PLOTTER DIAGNOSTIC/ * IOID EQU * DEF PEN01 DEF PEN02 DEF PEN03 DEC -1 * TSTD EQU * DEF TST00 BASIC I/O DEF TST01 TIME CHECKS DEF TST02 OCTAGON DEF TST03 OVERDRAW DEF TST04 PSEUDO OPDESIGN DEC -1 SKP * TIME CHECKS (ONE SHOTS) * 2.9/4.5 MS AND 60 MS * * TST01 EQU * *f * TMCK NOP CLA OUTPUT A NULL JSB PEN TO GET SHORTER ONE SHOT SSA ERROR? JMP TMCK0 YES TRY 60 ADA N5 (Ãþú LDB USSC CHECK IF LARGE PLOTTER SSB ADA N3 YES THEN LONGER TIME SSA,RSS GREATER THAN 2.5(4.0) JMP *+4 YES E031 JSB ERMS,I NO REPORT ERROR DEF MS031 JMP TMCK0 DO OTHER ONE SHOT ADA N3 SSA OVER 3.5(5.0)? JMP *+3 E032 JSB ERMS,I YES REPORT ERROR DEF MS032 TMCK0 LDA PENDN OUTPUT PEN DOWN JSB PEN SSA ERROR? JMP TMCK,I YES RETURN ADA N100 SSA,RSS GREATER THAN 50 MS? JMP *+4 YES E033 JSB ERMS,I NO REPORT ERROR DEF MS033 JMP TMCK,I RETURN ADA N40 SSA OVER 70 MS? JMP TMCK,I NO OK RETURN E034 JSB ERMS,I YES REPORT ERROR DEF MS034 JMP TMCK,I RETURN TO EXEC * N5 DEC -5 N3 DEC -3 N100 DEC -100 N40 DEC -40 MS031 ASC 18,E031 2.9(4.5)MS ONE SHOT TOO SHORT/ MS032 ASC 17,E032 2.9(4.5)MS ONE SHOT TOO LONG/ MS033 ASC 15,E033 60MS ONE SHOT TOO SHORT/ MS034 ASC 15,E034 60MS ONE SHOT TOO LONG/ SKP * OCTAGON PATTERN * DRAWS DECREASING CONCENTRIC OCTAGONS * TST02 EQU * * OCT NOP LDA PENUP JSB PEN LIFT PEN AND MOVE LDA VUHR UP AND RIGHT LDB INIC USE INITIALIZE COUNT JSB PLOT GO TO STARTING POINT LDA HL MOVE IN JUST A LITTLE LDB D10 TO AVOID PERFORATION JSB PLOT LDA SIZE GET STARTING SIZE STA LINE SAVE LINE LENGTH OCTL CCB,RSS DRAW A SOLID LINE LDB ALT THEN A DOTTED LINE STB TYPE JSB DRAW DO IT LDA PENUP JSB PEN N LDA HL MOVE PEN IN LDB DEC BLS JSB PLOT LDA VDHL AND DOWN TO LDB DEC JSB PLOT NEXT OCTAGON LDA DEC ALS CMA,INA ADA LINE DECREASE OCTAGON SIZE STA LINE SZA,RSS ÷þúFINISHED? JMP OCT,I YES EXIT LDB TYPE CHANGE LINE TYPE CPB ALT IF PREVIOUS WAS DOTED JMP OCTL USE SOLID INB,SZB IF PREVIOUS WAS SOLID JMP OCTL+1 JMP OCTL+2 USE NO LINE SKP * OCTAGON PATTERN * DRAWS DECREASING OCTAGONS * WITH THE SAME ORIGIN * TST03 EQU * * ññ OCTX NOP Pœ LDA PENUP JSB PEN LIFT PEN AND MOVE LDA VUHR UP AND RIGHT LDB INIC USE INITIALIZE COUNT JSB PLOT GO TO STARTING POINT LDA HL MOVE IN JUST A LITTLE LDB D10 TO AVOID PERFORATION JSB PLOT LDA SIZE GET STARTING SIZE STA LINE SAVE LINE LENGTH OCTXL CCB DRAW A SOLID LINE JSB DRAW DO IT LDA DEC ALS CMA,INA ADA LINE DECREASE OCTAGON SIZE STA LINE SZA DONE? JMP OCTXL NO LDA PENUP YES LIFT PEN AND EXIT JSB PEN JMP OCTX,I SKP * PSEUDO OPDESIGN * SWR * BIT MEANING * 0 DRUM DOWN +X AXIS (VERTICAL UP) * 1 DRUM UP -X AXIS (VERTICAL DOWN) * 2 CARRIAGE LEFT +Y AXIS (HORIZONTAL LEFT) * 3 CARRIAGE RIGHT -Y AXIS (HORIZONTAL RIGHT) * 4 PEN UP * 5 PEN DOWN * 6 LOOP ON SELECTION * TST04 EQU * * OPDSN NOP P¡ JSB MSGC,I TELL OPERATOR TO DEF MS035 MAKE SWR SELECTION PRESS RUN H035 HLT 35B WAIT FOR OPERATOR LDB .177 CHECK IF ANY SELECTION JSB SWRT,I ? RSS JMP OPDSN,I NO SELECTION EXIT LDA B AND .77 ISOLATE COMMANDS JSB PEN DO IT(THEM) LDB BIT6 CHECK FOR LOOP JSB SWRT,I JMP *-5 YES JMP H035 NO HALT AGAIN * MS035 ASC 19,H035 MAKE SWR SELECTION FOR OPDESIGN/ .177 OCT 177 .77 OCT 77 BIT6 OCT 100 SK·öþúP * THIS ROUTINE DRAWS AN OCTAGON * * A-REG. = SIDE "LINE" LENGTH * B-REG. = LINE TYPE 0= NO LINE * -1= SOLID LINE * 52525= -------- * ññ DRAW NOP STA DRAWC SAVE LENGTH STB DRAWT AND TYPE OF LINE JSB DRAWL DRAW ONE LINE VD OCT 2 VERTICAL DOWN JSB DRAWL VDHL OCT 6 VERTICAL DOWN + HORIZONTAL LEFT JSB DRAWL HL OCT 4 HORIZONTAL LEFT JSB DRAWL HLVU OCT 5 HORIZONTAL LEFT + VERTICAL UP JSB DRAWL VU OCT 1 VERTICAL UP JSB DRAWL VUHR OCT 11 VERTICAL UP + HORIZONTAL RIGHT JSB DRAWL HR OCT 10 HORIZONTAL RIGHT JSB DRAWL HRVD OCT 12 HORIZONTAL RIGHT + VERTICAL DOWN JMP DRAW,I SKP * THIS ROUTINE DRAWS ONE LINE OF * AN OCTAGON. * ññ * JSB DRAWL * OCT XX DIRECTION * * ññ DRAWL NOP LDA DRAWC GET LENGTH CMA,INA MAKE NEGATIVE LDB DRAWT GET TYPE STA WORK SAVE LENGTH AND STB WORK+1 TYPE IN WORK AREA DRWL0 LDA PENUP START WITH PEN UP SLB SHOULD IT BE DOWN? LDA PENDN YES JSB PEN DRWL1 LDA DRAWL,I GET DIRECTION OF LINE LDB DASH AND DASH LENGTH JSB PLOT DRAW IT LDA WORK ADA DASH SUBTRACT FROM TOTAL LENGTH LDB WORK+1 ROTATE DASH FLAG BIT RBR SSA DONE WITH LINE? JMP *+3 NO DRAW ANOTHER PART ISZ DRAWL YES - ADJUST RETURN JMP DRAWL,I AND RETURN STA WORK SAVE LENGTH STB WORK+1 AND TYPE SZB,RSS IF NO LINE DONT CHANGE PEN JMP DRWL1 CPB .M1 IF SOLID LINE DONT CHANGE PEN JMP DRWL1 JMP DRWL0 * ñññû * PLOT NOP STA PLOTC CMB,INB MAKE LINE LEåT*($NGTH NEG. STB PLOTM SAVE IT JSB PEN DRAW DOT LDA PLOTC RESTORE COMMAND ISZ PLOTM DONE ALL? JMP *-3 NO JMP PLOT,I YES RETURN SKP * OUTPUT ROUTINE * * LDA CMD * JSB PEN * PEN NOP STA PENC SAVE COMMAND LDB BIT9 CHECK FOR ABORT JSB SWRT,I JMP EXRT,I YES - RETURN TO EXEC LDA PENIJ PUT "JSB" IN PEN01 STA SC TRAP CELL LDB PENC GET COMMAND LDA PENT AND TIME STF INTP TURN ON INTERRUPTS PEN02 OTB SC OUTPUT COMMAND PEN03 STC SC,C START ONE-SHOT JSB TMRR,I WAIT FOR COMPLETION CLF INTP TOO LONG LDA PENC GET COMMAND FOR DISPLAY E030 JSB ERMS,I REPORT ERROR DEF MS030 FLAG DID NOT RESPOND CCA INDICATE ERROR CLB JMP PEN,I * PENI NOP INTERRUPTED CLF INTP TURN OFF INTERRUPTS ADA PENT CALCULATE ALS TIME WITHIN CMB,INB .5 MILL SEC BLS ADB TMC SSB INA JMP PEN,I SKP MS030 ASC 11,E030 FLAG DID NOT SET/ PENIJ JSB PENI PENT DEC 100 0 PENUP OCT 20 PENDN OCT 40 BIT9 OCT 1000 ALT OCT 125252 D10 DEC 10 .M1 DEC -1 INIS DEC 1300 SMALL PLOTTER INITIALIZE COUNT SIZES DEC 360 SMALL PLTR STARTING LINE LENGTH DECS DEC 20 DASHS DEC 8 INIC ABS 0 SIZE ABS 0 DEC ABS 0 DASH ABS 0 TYPE ABS 0 0 DRAWC ABS 0 DRAWT ABS 0 LINE ABS 0 WORK ABS 0 ABS 0 PLOTC ABS 0 PLOTM ABS 0 PENC ABS 0 FWAA EQU ZCEND END ž*ÿÿ ÿý] i ÿ12587-18001 1552 S 0122 DATAPHONE INTERFACE              H0101 ¬<þúASMB,A,B,L,C HED 12587B ASYNCHR. DATA INTERFACE DIAGNOSTIC ORG 2B * * ******************************************************************** * * * DIAGNOSTIC CHECKS SEND/RECEIVE INTERFACE OPERATION * * RUNS IN 4K MEMORY * * CONSOLE MAY BE USED BUT NOT REQUIRED * * DIAGNOSTIC CONFIGURATOR IS REQUIRED * * DIAGNOSTIC SERIAL NO (DSN) 103003 * * STARTING ADDRESS IS 100 FOR CONFIGURATION, * AND 2000 FOR RESTART * ******************************************************************** SKP * *************** SWITCH REGISTER OPTIONS **************************** * * * BIT MEANING * * 0-6 SPARES * 7 OMIT PRESET TEST * 8 OMIT CKFRQ TEST * 9 SPARE * 10 SUPPRESS NON-ERROR MESSAGES * 11 SUPPRESS ERROR MESSAGE * 12 REPEAT ALL TESTS * 13 REPEAT LAST TEST * 14 SUPPRESS ERROR HALTS * 15 HALT AT END OF EACH TEST * * *************** COMPUTER HALTS ************************************* * * HALT MEANING * * 1020XX ERROR HALTS (XX= VALUE OTHER THAN THOSE DEFINED BELOW) * 102011 END BI/O TEST * 102026 END CKFRQ TEST * 102070 END FCTST TEST * 1070XX ERROR HALTS (XX= VALUE OTHER THAN THOSE DEFINED BELOW) * 107020 END SENDP TEST * 107040 END RECVP TEST * 107060 END ERRFF TEST * 107076 SELECT CODE INVALID * RENTER TO SWR, PUSH RUN * 107077 ENTER PGM OPTIONS TO SWR, PUSH RUN * 102077 DIAGNOSTIC COMPLETE * 1060XX UNEXPECTED TRAP CELL HALTS * * ******************************************************************** * SKP ORG 100B JMP CFR,I TTY.I BSS 1 TAPE INPUT TTY.O BSS 1 LIST OUTPUT TTY.P BSS 1 PUNCH OUTPUT TTY.K BSS 1 KEYBOARD INPUT DEF FWAM FIRST WORD AVAILABLE MEMORY ORG 126B OCT 103003 SPC 3 LSTO EQU 112B CTO Ïþú EQU 115B DSC EQU 116B SPC 3 ORG 130B FERC ABS -FER FER DEF *+1 ERROR NUMBER TABLE DEF E1 DEF E2 DEF E3 DEF E4 DEF E5 DEF E6 DEF E10 DEF E12 DEF E13 DEF E14 DEF E15 DEF E16 DEF E21 DEF E22 DEF E23 DEF E27 DEF E32 DEF E35 DEF E40 DEF E41 DEF E42 DEF E43 DEF E44 DEF E45 DEF E46 DEF E51 DEF E52 DEF E55 DEF E56 DEF E61 DEF E62 DEF E65 DEF E66 DEF E67 DEF E102 DEF E103 DEF E121 DEF E124 DEF E141 DEF E142 DEF E143 LER DEF * SPC 2 CHLT DEF * CODED HALT TABLE HLT 1 HLT 2 HLT 3 HLT 4 HLT 5 HLT 6 HLT 10B HLT 12B HLT 13B HLT 14B HLT 15B HLT 16B HLT 21B HLT 22B HLT 23B HLT 27B HLT 32B HLT 35B HLT 40B HLT 41B HLT 42B HLT 43B HLT 44B HLT 45B HLT 46B HLT 51B HLT 52B HLT 55B HLT 56B HLT 61B HLT 62B HLT 65B HLT 66B HLT 67B OCT 107002 E102 OCT 107003 HLT E103 OCT 107021 E121 OCT 107024 E124 OCT 107041 E141 OCT 107042 E142 OCT 107043 E143 SPC 2 FMI DEF * MESSAGE ADDRESS TABLE DEF M1 DEF M2 DEF M3 DEF M4 DEF M5 DEF M6 DEF M10 DEF M12 DEF M13 DEF M14 DEF M15 DEF M16 DEF M21 DEF M22 DEF M23 DEF M27 DEF M32 DEF M35 DEF M40 DEF M41 DEF M42 DEF M43 DEF M44 DEF M45 DEF M46 DEF M51 DEF M52 DEF M55 ³CþúDEF M56 DEF M61 DEF M62 DEF M65 DEF M66 DEF M67 DEF M102 DEF M103 DEF M121 DEF M124 DEF M141 DEF M142 DEF M143 SPC 2 FML DEF * MESSAGE LENGTH TABLE DEF L1 DEF L2 DEF L3 DEF L4 DEF L5 DEF L6 DEF L10 DEF L12 DEF L13 DEF L14 DEF L15 DEF L16 DEF L21 DEF L22 DEF L23 DEF L27 DEF L32 DEF L35 DEF L40 DEF L41 DEF L42 DEF L43 DEF L44 DEF L45 DEF L46 DEF L51 DEF L52 DEF L55 DEF L56 DEF L61 DEF L62 DEF L65 DEF L66 DEF L67 DEF L102 DEF L103 DEF L121 DEF L124 DEF L141 DEF L142 DEF L143 SPC 2 FIRST DEF *+1 TABLE OF SELECT CODES TO BE DEF CH0 DEF CH1 MODIFIED DEF CH2 DEF CH3 DEF CH4 DEF CH5 DEF CH6 DEF CH7 DEF CH8 DEF CH9 DEF CH10 DEF CH11 DEF CH12 DEF CH13 DEF CH14 DEF CH15 DEF CH16 DEF CH18 DEF CH19 DEF CH20 DEF CH21 DEF CH23 DEF CH24 DEF CH25 DEF CH27 DEF CH28 DEF CH32 DEF CH33 DEF CH34 DEF CH38 DEF CH39 DEF CH40 DEF CH43 DEF CH44 DEF CH47 DEF CH48 DEF CH51 DEF CH53 DEF CH56 DEF CH57 DEF HLTC DEF DCH LAST DEF *-1 SPC 2 OTACH NOP CH24 OTA CH JMP OTACH,I LIACH NOP CH25 LIA CH JMP LIACH,I SPC 2 A0077 OCT 77 COMMON CONSTANTS AND SYMBOLS A0002 OCT 2 A0017 OCT 17 MN9 DEC -9 AC OCT 020060 A0014 OCT 14 A0003 OCT 3 A0100 OCT 100 THLT OCT 106002 TRAP CELL HALTS P0000 OCT 170000 P7700 OCT 177700 TIMEX NOP TIME DEF * n0þú TIME1 OCT -42701 16A OCT -42701 16B OCT -42701 16C OCT -33715 15A OCT -33715 14A OCT -33715 14B OCT -44710 00A OCT -37410 L.G. OCT -37410 OCT -37410 OCT -37410 OCT -37410 OCT -37410 OCT -37410 OCT -37410 OCT -37410 ONE2 NOP ONE OR TWO STOP BITS FLAG CLTR1 NOP CLTR2 NOP MN4 DEC -4 MN8 DEC -8 MN32 DEC -32 MN64 DEC -64 NOTTP NOP CFR DEF CFGR SAVA NOP SAVB NOP SAVC NOP SAVD NOP SAVBB NOP PRT OCT 122000 BP2 OCT 162000 BP3 OCT 144000 BP4 OCT 044000 BP5 OCT 054000 BP6 OCT 050000 BP7 OCT 014000 BP8 OCT 154000 CWX NOP CONTROL WORD CW1 OCT 100010 CW2 OCT 101010 CW3 OCT 002000 CW5 OCT 110010 CW6 OCT 130010 CW7 OCT 111010 CW8 OCT 140010 CW9 OCT 120000 NO PARITY SEND CW10 OCT 120600 ODD PARITY SEND CW11 OCT 120400 EVEN PARITY SEND CW12 OCT 100000 NO PARITY RECEIVE CW13 OCT 100600 ODD PARITY RECEIVE CW14 OCT 100400 EVEN PARITY RECEIVE E24 HLT 24B H30 HLT 30B E33 HLT 33B E36 HLT 36B E47 HLT 47B E53 HLT 53B E57 HLT 57B E63 HLT 63B E104 OCT 107004 E122 OCT 107022 E125 OCT 107025 HLTA OCT 106000 A REG TRAP CELL HALT HLTB OCT 106001 B REG HLTC OCT 106000 SELECTED CHANNEL DCH NOP IO NOP SRP NOP TWT OCT 20000 DT DEC 1000 DTEN DEC 10 SLASH OCT 57 COLON OCT 72 DMH DEC -100 DMTN DEC -10000 MIN1 OCT -1 T1 NOP T2 NOP T3 NOP T4 NOP T5 NOP CNT1 NOP * ERROR CNT2 NOP * COUNTERS SETXX NOP SWB NOP CRL OCT 2 CRI DEF *+1 OCT 6400 CARRIAGE RETURN A EQU 0 A REG B EQU 1 B REG CH EQU 10B INITIAL VALUE OF SELECT CODE BLK OCT 40 D7 OCT 7 B60 OCT 60 M12P4 DEF M12+4 M12P5 DEF M12+5 STF0 STF 0 SC OCT 0 BT0 OCT 1 BT3 OCT 10 BT6 OCT 40 BT7 OCT 20þú0 BT8 OCT 400 BT9 OCT 1000 BT10 OCT 2000 BT11 OCT 4000 BT12 OCT 10000 BT13 OCT 20000 BT14 OCT 40000 BT15 OCT 100000 J1 JSB *+1,I DEF IJ1 J2 JSB *+1,I DEF IJ2 J3 JSB *+1,I DEF IJ3 J4 JSB *+1,I DEF IJ4 TABL1 DEF TB1 NO PARITY MASK TABLE TABL2 DEF TB2 PARITY MASK TABLE TB1 OCT 6 TB2 OCT 16 OCT 36 OCT 76 OCT 176 OCT 376 OCT 776 OCT 1776 OCT 3776 TABL3 DEF TB3 PATTERN COUNT TB3 DEC -2 DEC -4 DEC -8 DEC -16 DEC -32 DEC -64 DEC -128 DEC -256 PTNC NOP MASK NOP WD1 NOP WD2 NOP CPAR NOP CHCNT NOP PAR NOP CNR NOP TRW NOP SDATA NOP BTNM NOP BTXFR NOP SPC 2 TTSKI DEF TTSK INDIRECT ADDRESSES JSB1 JSB R1,I INTERRUPT ROUTINE ERROR DEF ERR ADDRS DEF INTPT+1 SW07I DEF SW07 SW08I DEF SW08 SW10I DEF SW10 SWRPI DEF SWRPT BRAI DEF BRP1 BRBI DEF BRP2 BRCI DEF BRP3 SWAI DEF SWSA SWBI DEF SWRC DELAY DEF DELY DATAI DEF DATA MSG23 DEF G1 MSG32 DEF G2 MSG35 DEF G3 MSG46 DEF G4 MSG52 DEF G5 MSG56 DEF G6 MSG62 DEF G7 MSG3A DEF G8+3 MSG3B DEF G9+9 MSG3C DEF G10+16 MSG3D DEF G11+16 MSG3E DEF G12+16 MSG4A DEF G13+3 MSG4B DEF G14+9 MSG4C DEF G15+16 MSG4D DEF G16+16 MSG4E DEF G17+16 AS0M DEF AS0 AS1M DEF AS1 AS2M DEF AS2 MI7 DEF M7 LM7 DEF L7 MI11 DEF M11 LM11 DEF L11 MI26 DEF M26 LM26 DEF L26 MI30 DEF M30 LM30 DEF L30 MI31 DEF M31 LM31 DEF L31 MI70 DEF M70 LM70 DEF L70 MI77 DEF M77 LM77 DEF L77 MI120 DEF M120 LM120 DEF L120 MI140 DEF M140 LM140 DEF L140 MI160 DEF M160 LM160 DEF L160 ARTM DEF ART R1 DEF RETRN STR DEF START SML DEF SL SMI DEF SM SUP SM ASC 14,H8. 12587 ASYNCHRONOUS DATA ASC 11, INTERFACE DIAGNOSTIC SL EQU *+*-SM-SM M7 ASC 19,H7. PRESS PRESET(EXT,INT), THEN PRESS ASC 02,RUN L7 EQU *+*-M7-M7 M10 ASC 19,E10¨Jþú. PRESET(EXT) DID NOT SET THE FLAG L10 EQU *+*-M10-M10 SPC 2 B2DAC NOP BINARY TO DECIMAL ASCII STB SAVB MESSAGE LOCATION LDB SLASH 57B ADA DMTN DIVIDE BY DECIMAL 10,000 INB SSA,RSS STILL POSITIVE? JMP *-3 YES, CONTINUE DIVISION STB T1 LDB COLON 72B ADA DT DIVIDE BY DECIMAL 1000 ADB MIN1 -1 SSA STILL NEGATIVE? JMP *-3 YES, CONTINUE DIVISION STB T2 LDB SLASH 57B ADA DMH DIVIDE BY 100 INB SSA,RSS STILL POSITIVE? JMP *-3 YES STB T3 LDB COLON 72B ADA DTEN DIVIDE BY 10 ADB MIN1 SSA STILL NEGATIVE? JMP *-3 YES STB T4 ADA SLASH PICK-UP UNITS INA 1 STA T5 LDA TWT STACK DECIMAL ASCII INTO MESSAGE ADA T1 STA SAVB,I SPACE PLUS MOST SIG DIGIT ISZ SAVB LDA T2 ALF,ALF ADA T3 STA SAVB,I SECOND AND THIRD MOST SIG DIGIT ISZ SAVB LDA T4 ALF,ALF ADA T5 STA SAVB,I LEAST SIGNIFICANT DIGITS TO MSG JMP B2DAC,I EXIT HED CONFIGURATION PROGRAM - 12587 ASYNCHR. DATA INTF. DIAGN. CFGR CLC 0,C CONFIGURATION ROUTINE LIA 1 INPUT SWR STA DSC SAVE SC/OPTION BITS AND A0077 ADA MN8 SSA,RSS TEST SC TO BE GT/EQ 10 JMP *+3 YES RER OCT 102073 NO JMP CFGR REENTER SC TO SWR, PUSH RUN CLA CLEAR S-REGISTER FOR OTA 1B 2. INPUT LDA DSC AND A0077 STA IO LDB FIRST MODIFY I/O INSTRUCTIONS STB SRP L LDB SRP,I LDA B,I AND P7700 IOR IO STA B,I CPB LAST,I FINISHED? JMP *+3 YES ISZ SRP JMP L LDA DSC AND BT14 MASK OUT UNWANTED €¤*($BITS RAL,RAL STA ONE2 ONE OR TWO STOP BITS LDA DSC SSA JMP COF LDA MN32 STA CLTR1 1/2 CHAR. LOW SPEED CLOCK TRANS. LDA MN64 STA CLTR2 FULL CHAR LOW SP CLK TRANSITIONS JMP CON COF LDA MN4 STA CLTR1 1/2 CH HIGH SP CLK TRANS LDA MN8 STA CLTR2 FULL CH HIGH SP CLK TRANS CON CCB NO LDA LSTO SZA IS TTY PRESENT CLB YES STB NOTTP SET CONSOLE AVAILABLE FLAG LDA CTO GET COMPUTER TYPE ALF AND A0017 MASK COMPUTER TYPE BITS STA TEMP SAVE TYPE ADA TIME ADD TABLE ENTRY LDA A,I GET COUNT STA TIMEX SAVE FOR TEST LDA TEMP CPA D7 TEST FOR 2100 JMP CF1+1 YES CPA BT3 TEST FOR L.G. JMP CF1+1 YES CLA NO CF1 STA CTT,I HLT 74B ENTER PGM OPTION BITS TO SWR * PUSH RUN JMP STR,I GO TO START TEMP OCT 0 CTT DEF NB1-1 HED INITIALIZATION PRGRAM - 12587 ASYNCH. DATA INTF. DIAGN. ORG 2000B START CLC 0,C TURN EVERYTHING OFF LDB A0002 1ST TRAP CELL LOCATION LDA THLT TRAP CELL HALT STA B,I INB INA CPB A0100 TRAP CELL HALTS COMPLETE? RSS YES JMP *-5 NO, REPEAT JSB SW10I,I OMIT START MESSAGE ? RSS NO JMP BI/O YES JSB TTSKI,I LDA CRL LDB CRI JSB TTY.O,I OUTPUT CR,LF JSB TTSKI,I LDA SML LDB SMI JSB TTY.O,I START DATA SET DIAGNOSTIC a%*ÿÿ ÿý^ j ÿ12587-18002 1552 S 0122 DATAPHONE INTERFACE              H0101 ­<þú HED BI/O - BASIC I/O TEST - 12587 ASYNCH. DATA INTF. DIACN. * TEST ABILITY TO SET AND CLEAR THE CHANNEL FLAG SPC 2 BI/O CLC 0,C CLF 0 LDA CW1 100010 - MASTER CLEAR RECEIVE JSB OTACH MODE - NO INTS JSB DELAY,I JSB LIACH RESET READY FLIP FLOP LDA HLTA TRAP CELL HALTS LDB HLTB CH0 STF CH CH1 CLF CH CLEAR CHANNEL FLAG CH2 SFS CH RSS ** CLF DID NOT CLEAR FLAG OR SFS E1 JSB ERROR,I CAUSED SKIP WITH FLAG CLEAR CH7 CLF CH CH3 SFC CH E2 JSB ERROR,I * SFC NO SKIP WITH FLAG CLEAR CH4 STF CH CH5 SFC CH RSS ** STF DID NOT SET FLAG OR SFC E3 JSB ERROR,I CAUSED SKIP WITH FLAG SET CH10 STF CH CH6 SFS CH E4 JSB ERROR,I * SFS NO SKIP WITH FLAG SET CH38 STF CH CH39 CLC CH,C CH40 SFC CH * ERROR = CLC CH,C DID NOT CLEAR E44 JSB ERROR,I * FLAG OR SFC DID NOT SKIP SPC 2 * TEST ABILITY TO ENABLE AND DISABLE INTERRUPT SYSTEM SPC 2 STF 0 ENABLE INTS CLF 0 DISABLE INTS SFS 0 IS INTERRUPT SYSTEM ON? RSS NO E17 HLT 17B * CLF 0 DID NOT DISABLE INTS OR CLF 0 * SFS 0 CAUSED BAD SKIP SFC 0 IS INT SYSTEM ON? E20 HLT 20B * CLF 0 DID NOT DISABLE INTS OR STF 0 * SFC 0 CAUSED BAD SKIP SFC 0 IS INT SYSTEM ON? RSS YES E21 JSB ERROR,I * STF 0 DID NOT ENABLE INTS OR STF 0 * SFC 0 CAUSED BAD SKIP SFS 0 IS INT SYSTEM ON? E22 JSB ERROR,I * STF 0 DID NOT ENABLE INTS OR CLF 0 * SFS 0 CAUSED BAD SKIP SPC 2 SKP * TEST THAT SETTING OTHER FLAGS DOES NOT SET * TEST CARD CHANNEL FLAG SPC 3 SCST CLC 0,C TURN EVERYTHING OFF LDA BT3 SCST0 STA SC CPA IO JMP SCST1 SC = CH IOR STF0 FOR STF SC INSTR. STA CH20+1 STORE 9þúIN LINE CH20 CLF CH NOP CH21 SFS CH JMP SCST1 LDA SC GET CURRENT SELECT CODE AND D7 SAVE R.H. OF SC IOR B60 OR IN ASCII ALF,ALF POSITION IN L.H. OF WORD IOR BLK OR IN BLANK STA M12P5,I STORE AT MESSAGE LDA SC GET SELECT CODE ARS,ARS POSITION L.H. OF SC ARS AND D7 SAVE L.H. SC BITS IOR B60 OR IN ASCII ALF,ALF POSITION IN L.H. OF WORD IOR BLK OR IN BLANK ALF,ALF POSITION IN R.H. OF SC STA M12P4,I STORE AT MESSAGE E12 JSB ERROR,I * STF SC CAUSED CH FLAG TO BE SET JMP TINC GO TO NEXT TEST SCST1 LDA SC INA NEXT SELECT CODE CPA BT6 LAST SLOT RSS YES JMP SCST0 NO SPC 3 * TEST INTERRUPT CAPABILITY SPC 2 TINC LDA JSB1 SET INTERRUPT TRAP CELL STA DCH,I LDA HLTA TRAP CELL HALTS LDB HLTB CH8 STC CH SET CHANNEL TO REQUEST CH9 STF CH AN INTERRUPT STF 0 ENABLE INTERRUPTS STC 1 * INTERRUPTS STF 1 SHOULD CLC 1 BE CLF 1 DELAYED JMP *+1,I UNTIL DEF *+1 . JSB *+1,I . DEF *+1 . NOP . INTPT NOP * HERE E5 JSB ERROR,I * DID NOT INTERRUPT JMP TCR SPC 1 RETRN NOP INTERRUPT SUBROUTINE CLF 0 DISABLE INTERRUPTS LDA J1 IJ1 INTERRUPT ROUTINE STA DCH,I STF 0 TEST INTERRUPT ACKNOWLEDGE NOP * SHOULD NOT NOP INTERRUPT HERE CLF 0 DISABLE INT LDA RETRN DID INTERRUPT OCCUR AT THE CPA ADDRS CORRECT MEM LOCATION? RSS E6 JSB ERROR,I * RETURN ADDRESS IS INCORRECT STB RETRN CHANGE RETRN JMP TCR ôþú SPC 1 IJ1 NOP CLF 0 E14 JSB ERROR,I * INTERRUPT ACKNOWLEDGE DID NOT JMP GOOD * WORK. TEST ABORTED SPC 2 * TEST CONTROL RESET SPC 2 TCR LDA J2 IJ2 INTERRUPT ROUTINE STA DCH,I LDA HLTA LDB HLTB CH11 STC CH SET CONTROL CH12 STF CH CLC 0 SHOULD CLEAR ALL CONTROL BITS STF 0 ENABLE NOP ** SHOULD NOT NOP INTERRUPT HERE CLF 0 DISABLE INTS TCR2 LDA J4 STA DCH,I IJ4 INTERRUPT ROUTINE LDA HLTA LDB HLTB CH18 STC CH CH19 STF CH CH28 CLC CH CLEAR CHANNEL CONTROL BIT STF 0 ENABLE INTS NOP ** SHOULD NOT NOP INTERRUPT HERE CLF 0 JMP PRSET SPC 1 IJ2 NOP CLF 0 E15 JSB ERROR,I * CLC 0 DID NOT CLEAR CONTROL JMP TCR2 * FLIP-FLOP IJ4 NOP CLF 0 E43 JSB ERROR,I * CLC 0 ON CHANNEL DID NOT CLEAR SPC 2 * PRESET TEST SPC 2 PRSET JSB SW07I,I OMIT TEST ? RSS NO JMP GOOD YES JSB TTSKI,I LDA LM7 LDB MI7 JSB TTY.O,I LDA HLTA LDB HLTB CH13 STC CH,C SET CONTROL, CLEAR FLAG STF 0 ENABLE INTS H7 HLT 7 ** PRESS PRESETS, THEN PRESS RUN CH14 SFS CH IS FLAG SET? JMP *+4 NO SFC 0 YES, IS INT SYSTEM DISABLED? E27 JSB ERROR,I * PRESET DID NOT DISABLE INTS JMP CL YES SFC 0 JMP E13 E10 JSB ERROR,I * PRESET DID NOT SET FLAG JMP PRST E13 JSB ERROR,I * PRESET DID NOT SET FLAG AND JMP PRST * DID NOT DISABLE INTS CL LDA J3 IJ3 INTERRUPT ROUTINE STA DCH,I CHECK FOR A CLC 0 BY PRESET LDA HLTA LDB HLTB STF 0 ENABLE INTS NOP SHOULD NOT INTERRUPT HERE NOP CLF 0 PRST JSB LIACH PRESET SETS Ÿ¢þúREADY BIT 15, RESETS AND PRT CD,CE BIT 10 AND RESETS BIT 13 CPA BT15 BIT 15=1, 13,10 = 0? JMP GOOD YES STA SAVA NO, REPORT ERROR LDB BT15 STB SAVB LDB MSG23 JSB DATAI,I LDA E24 CALLING SEQUENCE HALT JSB BRAI,I RTN *+2 IF NO TTP SELECTED E23 JSB ERROR,I * STATUS BITS 15,13,OR 10 INCRCT JMP GOOD SPC 1 IJ3 NOP CLF 0 E16 JSB ERROR,I * PRESET DID NOT CLEAR CONTROL JMP PRST * FLIP-FLOP SPC 1 GOOD CLC 0,C TURN EVERYTHING OFF LDA HLTC STA DCH,I RESET TRAP CELL HALT JSB SWAI,I CONTINUE AUTOMATIC? JMP EBIO YES JSB TTSKI,I RUN SEMI-AUTO LDA LM11 LDB MI11 JSB TTY.O,I LIST H11 HLT 11B END BI/O EBIO JSB SWBI,I RECYCLE TEST? JMP BI/O YES, REPEAT HED CKFRQ - CLOCK FREQNCY - 12587 ASYNCH. DATA INTF. DIAGN. CKFRQ NOP JSB SW08I,I OMIT TEST ? RSS NO JMP FCTST YES LDA TIMEX SET TIME3 CONSTANT FOR RIGHT STA TIME3 COMPUTER CLA STA CCNT SPC 1 CH15 LIA CH,C BT12 = 0 LOOP JSB TINCR AND BT12 SZA JMP *+4 NOT ZERO NOP (DUMMY ISZ A INSTRUCTIONS) JMP CH15 ISZ CCNT INCREMENT ON ZERO TO ONE STATE JMP CH16 AND GO TO BT12 = 1 LOOP SPC 1 TINCR NOP WHEN TIME3 = 0, 1/2 SECOND WILL NOP HAVE EXPIRED AND CCNT WILL NOP CONTAIN ENOUGH COUNTS FOR ONE NOP SECOND ISZ TIME3 JMP TINCR,I JMP FREQ EXIT LOOPS SPC 1 CH16 LIA CH,C BT12 = 1 LOOP JSB TINCR AND BT12 SZA,RSS JMP *+4 NOT ONE NOP (DUMMY ISZ A INSTRUCTIONS) JMP CH16 ISZ CCNT INCREMENT ON ONE TO ZERO STATE æ„þúJMP CH15 AND GO TO BT12 = 0 LOOP SPC 1 FREQ LDA CCNT FREQ IN A STA SAVD LDA H30 JSB BRBI,I REPORT VIA SW REG? RSS NO JMP ECLKA LDA CCNT FREQ IN A LDB MI31 MESSAGE ADDRESS IN B JSB B2DAC CONVERT FREQ TO DECIMAL ASCII JSB SWBI,I AND STUFF INTO MESSAGE JMP TYPFQ RECYCLE TEST SELECTED, SKIP M30 JSB TTSKI,I LDA LM30 LDB MI30 JSB TTY.O,I THE CLOCK FREQUENCY IS TYPFQ JSB TTSKI,I LDA LM31 LDB MI31 JSB TTY.O,I XXXXXX SPC 1 ECLKA JSB SWAI,I CONTINUE AUTOMATIC? JMP ECLK YES JSB TTSKI,I NO LDA LM26 LDB MI26 JSB TTY.O,I LIST H26 HLT 26B END CKFRQ ECLK JSB SWBI,I RECYCLE TEST? JMP CKFRQ YES JMP FCTST NO, EXIT TIME3 NOP CCNT NOP BINARY CLOCK FREQUENCY HED FCTST - FUNCTN-STATUS - 12587 ASYNCH. DATA INTF. DIAGN. FCTST NOP TST1 LDA CW2 101010 - MASTER CLEAR RECEIVE JSB OTACH MODE WITH ECHOPLEX ON. CNTL WD CLA JSB OTACH SET SA FLIP FLOP TO ZERO JSB DELAY,I DELAY PAST RECEIVE CYCLE JSB LIACH RESET READY FLIP FLOP CH23 LIA CH,C INPUT STATUS (WITH READY CLEAR) AND BP2 SZA,RSS BITS 15,14,13,11 = 0 ? JMP TST2 YES STA SAVA NO, REPORT ERROR LDB MSG32 JSB DATAI,I CLA STA SAVB LDA E33 CALLING SEQUENCE HALT JSB BRAI,I RTN *+2 IF NO TTP SELECTED E32 JSB ERROR,I * ERROR IN STATUS SPC 2 TST2 LDA CW2 101010 - MASTER CLEAR RECEIVE JSB OTACH MODE WITH ECHOPLEX ON. CNTL WD LDA CW3 002000 - SETS SA, BB & SB BIT 14 JSB OTACH AND BA,CF BIT 11. DATA WORD JSB DELAY,I DELAY PAST SPACE CONDITION ON BB JSB LIACH RESET READY FLIP FLOP CH27 LIA CH,C INPUT STATUS (WITH READY CLEAR) ¿7þúAND BP3 CPA BP4 BT15=0,BTS14,11=1 ? JMP TST3 YES STA SAVA NO, REPORT ERROR LDB BP4 STB SAVB LDB MSG35 JSB DATAI,I LDA E36 CALLING SEQUENCE HALT JSB BRAI,I RTN *+2 IF NO TTP SELECTED E35 JSB ERROR,I * ERROR IN STATUS SPC 2 TST3 LDA CW8 140010 SET CD,CE BIT 10 AND SET JSB OTACH FLAG. CONTROL WORD JSB DELAY,I JSB LIACH INPUT STATUS AND BT10 SZA,RSS E40 JSB ERROR,I * STATUS ERROR, BT10 NOT SET CH32 SFS CH E41 JSB ERROR,I * FLAG NOT SET CH33 CLF CH CLEAR THE FLAG CH34 SFC CH IT SHOULD STAY CLEAR E42 JSB ERROR,I * FLAG DID NOT STAY CLEAR SPC 2 TST4 LDA CW3 002000 SA,SB,BB = 1 JSB OTACH LDA CW7 111010 ECHO ON, TIES BB TO BA,CF JSB OTACH AND SETS THEM TO 1, ENABL INTS JSB DELAY,I DELAY PAST RECEIVE CYCLE LDB BT12 JSB BIT1 WAIT FOR BIT 12 = 1 CH43 CLF CH LDB BT12 JSB BIT0 WAIT FOR BT12 = 0, THEN CC = 0 CH44 SFS CH FLAG SHOULD BE SET (AGAIN) E45 JSB ERROR,I * FLAG CLEAR AND SHOULD BE SET * LDA SAVA AND BP5 054000 CHECK SB,CF = 1, CC = 0 CPA BP4 044000 ? JMP TST5 YES STA SAVA NO, REPORT ERROR IN STATUS LDB BP4 STB SAVB LDB MSG46 JSB DATAI,I LDA E47 JSB BRAI,I RTN *+2 IF NO TTP SELECTED E46 JSB ERROR,I * ERROR IN STATUS * SPC 2 TST5 LDA CW3 002000 SA,SB,BB = 1 JSB OTACH LDA CW5 110010 ECHO OFF, ENABLE INTRPTS JSB OTACH JSB DELAY,I DELAY PAST RECEIVE CYCLE LDB BT12 FIRST WAITING FOR CC = 0 THEN JSB BIT0 WAITING FOR CC = 1 WILL ALLOW LDB BT12 MAXIMUM TIME FOR REMAINING TEST JSB BIT1 WITH CC = 1. CH47 LIA CH,C CLEAR FLAG CH48 SFS CH FLAG SHOULD BE SET (AGAIN) E51 JSB ERROR,+PþúI * FLAG CLEAR AND SHOULD BE SET * LDA SAVA AND BP5 054000 CHECK SB,CC = 1, CF = 0 CPA BP6 050000 ? JMP TST6 YES STA SAVA NO, REPORT ERROR IN STATUS LDB BP6 STB SAVB LDB MSG52 JSB DATAI,I LDA E53 JSB BRAI,I RTN *+2 IF NO TTP SELECTED E52 JSB ERROR,I * ERROR IN STATUS * SPC 2 TST6 LDA CW6 130010 SEND MODE, INTERRUPTS ON JSB OTACH CLA SA,BB,SB = 0 JSB OTACH LDB BT11 WAIT FOR START BIT - SETS STB SAB BA, CF = 1 CLB BII1 ISZ B RSS JMP E66 JSB LIACH STA SAVA AND SAB SZA,RSS BIT SET? JMP BII1 NO, TRY AGAIN RSS YES, PROCEED E66 JSB ERROR,I * STATUS BIT 11 NOT SETTING LDB BT12 WAITING FOR CC = 0 THEN = 1 WILL JSB BIT0 ALLOW MAXIMUM TIME FOR REMAIN- LDB BT12 ING TEST JSB BIT1 CLA CH51 OTA CH,C RESET READY IN SEND MODE AND JSB LIACH CH53 SFS CH FLAG SHOULD BE SET (AGAIN) E55 JSB ERROR,I * FLAG CLEAR AND SHOULD BE SET * LDA SAVA AND BP8 154000 CF,CC = 1, READY,SB = 0 CPA BP7 014000? JMP TST7 YES STA SAVA NO, REPORT ERROR IN STATUS LDB BP7 STB SAVB LDB MSG56 JSB DATAI,I LDA E57 JSB BRAI,I RTN *+2 IF NO TTP SELECTED E56 JSB ERROR,I * ERROR IN STATUS * SPC 2 TST7 LDA CW3 002000 SA,SB,BB = 1 JSB OTACH LDA CW2 101010 ECHO ON, TIES BB TO BA,CF JSB OTACH AND SETS THEM TO 1. INTERRUPTS JSB DELAY,I ARE NOT ENABLED AND FLAG LDB BT12 JSB BIT1 LDB BT12 SHOULD NOT BE SET JSB BIT0 WAIT FOR CC = 0 CH56 LIA CH,C CLEAR FLAG CH57 SFC CH FLAG SHOULD STAY CLEAR E61 JSB ERROR,I * FLAG SET AND SHOULD BE CLEAR * LDA SAVA ç'þúAND BP5 054000 CHECK SB,CF = 1, CC = 0 CPA BP4 044000 ? JMP TST8 YES STA SAVA NO, REPORT ERROR IN STATUS LDB BP4 STB SAVB LDB MSG62 JSB DATAI,I LDA E63 JSB BRAI,I RTN *+2 IF NO TTP SELECTED E62 JSB ERROR,I * ERROR IN STATUS * SPC 2 TST8 LDA CW1 100010 JSB OTACH CLA JSB OTACH RESETS SA AND BB JSB DELAY,I LDA CW3 002000 JSB OTACH JSB LIACH GET STATUS RAL,RAL CHECK BIT 13 SSA,RSS SHOULD = 1 E67 JSB ERROR,I * BUSY BIT 13 NOT SET CEFCT JSB SWAI,I CONTINUE AUTOMATIC? JMP EFCT YES JSB TTSKI,I NO LDA LM70 LDB MI70 JSB TTY.O,I LIST H70 HLT 70B END FCTST EFCT JSB SWBI,I RECYCLE TEST? JMP FCTST YES JMP SENDP NO, EXIT SPC 2 BIT0 NOP WAIT FOR STATUS OF BIT IN B REG STB SAB TO EQUAL ZERO CLB BI0 ISZ B RSS JMP E65 JSB LIACH STA SAVA SAVE STATUS AND SAB SZA BIT SET? JMP BI0 YES, TRY AGAIN JMP BIT0,I NO, EXIT SAB NOP BIT1 NOP WAIT FOR STATUS OF BIT IN B REG STB SAB TO EQUAL ONE CLB BI1 ISZ B RSS JMP E65 JSB LIACH STA SAVA SAVE STATUS AND SAB SZA,RSS BIT SET? JMP BI1 NO, TRY AGAIN JMP BIT1,I YES, EXIT E65 JSB ERROR,I * CLOCK NOT WORKING * JMP CEFCT TEST ABORTED HED SENDP - SEND PATTERN - 12587 ASYNCH. DATA INTF. DIAGN. SENDP NOP LDA CW9 SIMULATE JSB OTACH NORMAL JSB DELAY,I DELAY LDA CW9 JSB INP1 TRNP1 JSB TRAN TRANSMIT ALL NO PARITY DATA JSB SETNP SET NO PARITY TABLES AND COUNTRS LDA MN9 ADA CHCNT SZA JMP TRNP1 REPEAT 8 TIMES SPC 2 üþþú TROP LDA CW10 JSB IOP1 TROP1 JSB TRAN TRANSMIT ALL ODD PARITY DATA JSB SETOP SET ODD PARITY TABLES AND COUNTS LDA MN9 ADA CHCNT SZA JMP TROP1 REPEAT 8 TIMES SPC 2 TREP LDA CW11 JSB IEP1 TREP1 JSB TRAN TRANSMIT ALL EVEN PARITY DATA JSB SETEP SET EVEN PARITY TABLES AND CNTRS LDA MN9 ADA CHCNT SZA JMP TREP1 REPEAT 8 TIMES JSB SWAI,I CONTINUE AUTOMATIC? JMP ESEND YES JSB TTSKI,I NO LDA LM120 LDB MI120 JSB TTY.O,I LIST H120 OCT 107020 HLT - END SENDP ESEND JSB SWBI,I RECYCLE TEST? JMP SENDP YES JMP RECVP NO, EXIT SPC 2 TRAN NOP LDA CNR PATTERN STA WD1 STA WD2 JSB T2R CONVERT WORD OUT TO WORD IN JSB SEND SEND AND RECEIVE WORD LDA SDATA DATA IS IN SDATA CPA CPAR DATA SHOULD BE --- IS IN CPAR RSS DATA GOOD JMP ERRO ** ERROR ** RTST ISZ CNR INCREMENT DATA LDA PTNC,I PATTERN COUNT ADA CNR SZA FINISHED WITH ALL PATTERNS? JMP TRAN+1 NO,REPEAT JMP TRAN,I EXIT ERRO LDA PAR REPORT ERROR STB SAVBB LDB AS0M STUFF PROPER PARITY MODE INTO SZA MESSAGE JMP PA12 LDA B,I NO PARITY FA STA MSG3A,I INB LDA B,I LDB MSG3A INB STA B,I JMP GG9 PA12 CPA A0002 JMP PA1 LDB AS1M EVEN PARITY LDA B,I JMP FA PA1 LDB AS2M ODD PARITY LDA B,I JMP FA GG9 LDA CHCNT NO. OF BITS INTO MSG IOR AC ASCII STA MSG3B,I LDA WD2 WORD SENT LDB MSG3C JSB DATAI,I LDA SDATA DATA RECEIVED LDB MSG3D JSB DATAI,I LDA CPAR DATA SHOULD BE LDB MSG3E JSB DATAI,I t6þúLDA E104 JSB BRCI,I RTN *+2 IF NO TTP SELECTED E103 JSB ERROR,I * ERROR * LDB SAVBB JMP RTST SPC 2 CLKNT NOP COUNTS CLOCK TRANSITIONS FROM STA CNTT LOW TO HIGH - COMPLEMENT OF CLA NUMBER IN A REG STA FLSF JMP NB2 TIMEOUT ABOUT 1 SEC IN CASE NB1 JSB NB CLOCK NOT WORKING JSB LIACH STAY IN THIS LOOP UNTIL CLOCK AND BT12 IS HIGH SZA,RSS BIT 12 SET? JMP NB1 NO, CHECK AGAIN ISZ CNTT YES, INCREMENT COUNTER AND GO TO RSS NEXT LOOP UNLESS JMP CLKNT,I COUNT COMPLETE, EXIT NB2 JSB NB JSB LIACH STAY IN THIS LOOP UNTIL CLOCK AND BT12 IS LOW SZA JMP NB2 STILL HIGH, REPEAT JMP NB1 GO TO NEXT LOOP NB NOP IF CLOCK DOES NOT WORK AFTER ISZ FLSF ABOUT ONE SEC, ERROR WILL BE JMP NB,I REPORTED E102 JSB ERROR,I * CLOCK NOT WORKING * JMP CLKNT,I EXIT CNTT NOP FLSF NOP SPC 2 T2R NOP CONVERT TRANSMIT DATA TO RECEIVE JSB PRTY DATA FORMAT LDA WD1 WORD WITH CORRECT PARITY RAL,RAL CMA AND MASK,I STA CPAR RECEIVE DATA JMP T2R,I SPC 2 PRTY NOP FIND PARITY OF DATA OUT AND PUT LDA CHCNT INTO DATA FOR CHECKING DATA CMA,INA READ BACK IN STA CHC TWO'S COMP OF THE NUMBER STA CHD OF BITS (USED FOR COUNTING) LDA PAR 0 = NO, 1 = ODD, 2 = EVEN PARITY SZA,RSS JMP PRTY,I NO PARITY, EXIT CPA A0002 JMP EVN EVEN PARITY JSB PADD ODD PARITY CMA EVEN AND BT0 ALR ISZ CHD JMP *-2 IOR WD1 INCLUDE APPROPRIATE PARITY BIT STA WD1 JMP PRTY,I EVN JSB PADD JMP EVEN PADD NOP STB SAVBB LDB WD1 DATA TO B ªÆþú CLA ADA B BRS ISZ CHC JMP *-3 LDB SAVBB JMP PADD,I PARITY BIT IN A0 CHC NOP CHD NOP SPC 2 SEND NOP SEND DATA SUBROUTINE LDA TRW JSB OTACH CONTROL WORD LDA WD2 JSB OTACH DATA LDA CLTR1 JSB CLKNT WAIT FOR 1/2 CHARACTER CLOCK CLA TRANSITIONS STA SDATA LDA BTNM NO. OF BITS TO TRANSFER BACK STA BTXFR INTO COMPUTER SBB JSB LIACH AND BT11 BITS RETURN THROUGH BIT 11 OF IOR SDATA STATUS RAR STA SDATA LDA CLTR2 NOW WAIT FOR ONE CHAR. CLOCK JSB CLKNT TRANSITIONS ISZ BTXFR ALL CHAR. TRANSFERED? JMP SBB NO, REPEAT LDA BTNM ADA A0014 STB SAVBB LDB SDATA RIGHT JUSTIFY SDATA RBL BBB SZA JMP BB2 STB SDATA LDB SAVBB JMP SEND,I EXIT BB2 RBR ADA MIN1 -1 JMP BBB SPC 2 SETNP NOP SET NO PARITY TABLES AND COUNTRS ISZ CHCNT CHARACTER SIZE ISZ MASK MASK TABLE ISZ PTNC PATTERN COUNT CLA CLEAR STA CNR PATTERN INB MONITOR B REG LDA CHCNT CHARACTER SIZE CMA,INA AND A0017 IOR CWX STA TRW CONTROL WORD LDA CHCNT ADA ONE2 ONE OR TWO STOP BITS ADA A0002 ONE STOP AND ONE START BITS CMA,INA STA BTNM NO. OF BITS IN CHARACTER JMP SETNP,I SETEP NOP SET EVEN PARITY TABLES, COUNTERS ISZ CHCNT ISZ MASK ISZ PTNC CLA STA CNR INB LDA CHCNT CMA AND A0017 IOR CWX STA TRW LDA CHCNT ADA ONE2 ADA A0002 CMA STA BTNM JMP SETEP,I SETOP NOP SET ODD PARITY TABLES, COUNTERS ISZ CHCNT ISZ MASK ètþú ISZ PTNC CLA STA CNR INB LDA CHCNT CMA AND A0017 IOR CWX STA TRW LDA CHCNT ADA ONE2 ADA A0002 CMA STA BTNM JMP SETOP,I INP1 NOP NO PARITY INITIALIZATION STA CWX CLA,INA INITIALIZE TABLES, COUNTERS, ETC STA CHCNT CHARACTER SIZE - START WITH 1 STA B ADB BT13 MONITOR B REG CLA STA PAR PARITY TYPE, 0 = NO PARITY STA CNR CLEAR PATTERN COUNTER LDA TABL1 CONTAINS DATA MASKS FOR NO STA MASK PARITY SEND LDA TABL3 CONTAINS COUNT OF PATTERNS REQ. STA PTNC FOR DIFFERENT CHAR. SIZES LDA CHCNT CMA,INA TWO'S COMPLEMENT OF CHAR SIZE AND A0017 IOR CWX BASIC CONTROL WORD FOR STA TRW NO PARITY LDA CHCNT ADA ONE2 ONE OR TWO STOP BITS (OPTION) ADA A0002 ONE STOP AND ONE START BIT CMA,INA STA BTNM NUMBER OF BITS IN CHARACTER JMP INP1,I IOP1 NOP ODD PARITY INITIALIZATION STA CWX CLA STA CNR CLA,INA STA CHCNT CHAR. SIZE - START WITH 1 STA PAR PARITY TYPE, 1 = ODD PARITY STA B ADB BT14 LDA TABL2 DATA MASK FOR ODD OR EVEN PARITY STA MASK SEND LDA TABL3 STA PTNC PATTERN COUNT LDA CHCNT CMA ADD 1 FOR PARITY AND A0017 IOR CWX STA TRW CONTROL WORD FOR ODD PARITY LDA CHCNT ADA ONE2 ADD 1 IF 2 STOP BITS SELECTED ADA A0002 ADD STOP BIT, START BIT, PARITY CMA BIT STA BTNM NUMBER OF BITS IN CHARACTER JMP IOP1,I IEP1 NOP EVEN PARITY INITIALIZATION STA CWX CLA STA CNR CLA,INA STA CHCNT CHAR. SIZE, START WITH 1 STA B ADB BT15 INA NLH STA PAR PARITY TYPE, 2 = EVEN PARITY LDA TABL2 STA MASK DATA MASK FOR ODD OR EVEN PARITY LDA TABL3 STA PTNC PATTERN COUNT LDA CHCNT CMA AND A0017 IOR CWX STA TRW CONTROL WORD FOR EVEN PARITY LDA CHCNT ADA ONE2 ADD 1 IF 2 STOP BITS SELECTED ADA A0002 ADD STOP BIT, START BIT, PARITY CMA BIT STA BTNM NUMBER OF BITS IN CHARACTER JMP IEP1,I ¥Nÿÿ ÿý_q ÿ12587-18003 1552 S 0122 DATAPHONE INTERFACE              H0101 ®<þú HED RECVP - RECV PATTERN - 12587 ASYNCH. DATA INTF. DIAGN. RECVP NOP LDA CW12 NO PARITY JSB INP1 INIT RCNP1 JSB RECV RECEIVE DATA JSB SETNP SET NO PARITY TABLES LDA MN9 ADA CHCNT SZA JMP RCNP1 REPEAT 8 TIMES SPC 2 LDA CW13 ODD PARITY JSB IOP1 RCOP1 JSB RECV RECEIVE DATA JSB SETOP SET ODD PARITY TABLES LDA MN9 ADA CHCNT SZA JMP RCOP1 REPEAT 8 TIMES SPC 2 LDA CW14 EVEN PARITY JSB IEP1 RCEP1 JSB RECV RECEIVE DATA JSB SETEP SET EVEN PARITY TABLES LDA MN9 ADA CHCNT SZA JMP RCEP1 REPEAT 8 TIMES JSB SWAI,I CONTINUE AUTOMATIC? JMP EREC YES JSB TTSKI,I NO LDA LM140 LDB MI140 JSB TTY.O,I LIST H140 OCT 107040 HLT - END RECVP EREC JSB SWBI,I RECYCLE TEST? JMP RECVP YES JMP ERRFF NO, EXIT SPC 2 RECV NOP LDA CNR WORD SIZE STA WD1 STA WD2 JSB T2R CONVERT WORD IN TO WORD OUT JSB RCVE RECEIVE WORD JSB LIACH INPUT DATA STB SAVBB LDB PTNC,I CMB AND B MASK OFF UNWANTED BITS LDB SAVBB STA SDATA CPA WD2 DATA SHOULD BE --- IS IN WD2 RSS DATA GOOD JMP ERRI ** ERROR ** REST1 JSB LIACH AND BT9 SZA JMP ERRR ** ERROR FLOP SET REST ISZ CNR INCREMENT DATA LDA PTNC,I PATTERN COUNT ADA CNR SZA FINISHED WITH ALL PATTERNS? JMP RECV+1 NO,REPEAT JMP RECV,I EXIT ERRR LDA TRW REPORT ERROR STA SAVD STB SAVBB LDB ARTM STUFF CONTROL WORD INTO MSG JSB DATAI,I LDA E122 JSB BRBI,I RTN *+2 IF NO TTP SELECTED E121 JSB ERROR,I ** ERROR FLIP FLOP SET ** JMP REST ERRI LDA PAR þøþú REPORT ERROR LDB AS0M SZA JMP PAR12 LDA B,I NO PARITY FAR STA MSG4A,I INB LDA B,I LDB MSG4A INB STA B,I JMP FF9 PAR12 CPA A0002 JMP PAR1 LDB AS1M ODD PARITY LDA B,I JMP FAR PAR1 LDB AS2M LDA B,I EVEN PARITY JMP FAR FF9 LDA CHCNT NO. OF BITS INTO MSG IOR AC ASCII STA MSG4B,I LDA CPAR WORD SENT LDB MSG4C JSB DATAI,I LDA SDATA WORD RECEIVED LDB MSG4D JSB DATAI,I LDA WD2 WORD SHOULD BE LDB MSG4E JSB DATAI,I LDA E125 JSB BRCI,I RTN *+2 IF NO TTP SELECTED E124 JSB ERROR,I ** ERROR ** LDB SAVBB JMP REST1 SPC 2 RCVE NOP RECEIVE DATA SUBROUTINE LDA TRW JSB OTACH CONTROL WORD LDA BTNM STA BTXFR NO. OF BITS TO TRANSFER LDA CPAR RIGHT JUSTIFY DATA TO BIT 10 ALF,ALF RAL,RAL STA SDATA TT2 AND BT10 JSB OTACH OUTPUT DATA LDA CLTR2 WAIT FOR ONE CHARACTER CLOCK JSB CLKNT TRANSITIONS LDA SDATA RAR STA SDATA ISZ BTXFR ALL CHARACTERS TRANSFERED? JMP TT2 NO, REPEAT JMP RCVE,I EXIT HED ERRFF - ERR FLIP-FLOP - 12587 ASYNCH. DATA INTF. DIAGN. ERRFF NOP LDA CW14 EVEN PARITY CONTROL WORD AND JSB IOP1 ODD PARITY DATA SHOULD SET JSB STD ERROR BIT 9 IN STATUS JSB LIACH AND BT9 SZA,RSS E141 JSB ERROR,I * NO PARITY ERROR INDICATION SPC 2 LDA CW13 ODD PARITY CONTROL WORD AND JSB IEP1 EVEN PARITY DATA SHOULD SET JSB STD ERROR BIT 9 IN STATUS JSB LIACH AND BT9 SZA,RSS E142 JSB ERROR,I * NO PARITY ERROR INDICATION SPC 2 * A NO-PARITY RECEIVE FOLLOWED BY ANOTHER RECEIVE CYCLE WITHOUT êíþú* AN LIA INSTRUCTION SHOULD SET THE ERROR BIT 9 IN THE STATUS SPC 2 CLA JSB OTACH RESETS SA - STOP BIT POSITION LDA CW1 100010 RECEIVE 8 BIT BYTE - NO JSB OTACH PARITY JSB DELAY,I LDA CW3 002000 SA=BB=1 - START BIT JSB OTACH JSB DELAY,I CLA SIMULATE STOP BIT JSB OTACH JSB DELAY,I END CYCLE 1 LDA CW3 002000 NEXT RECEIVE JSB OTACH JSB DELAY,I CLA JSB OTACH SIMULATE STOP BIT JSB DELAY,I END CYCLE 2 JSB LIACH STATUS IN A AND BT9 SZA,RSS E143 JSB ERROR,I * NO ERROR INDICATION JSB SWAI,I CONTINUE AUTOMATIC? JMP EERR YES JSB TTSKI,I NO LDA LM160 LDB MI160 JSB TTY.O,I LIST H160 OCT 107060 HLT - END ERRFF EERR JSB SWBI,I RECYCLE TEST? JMP ERRFF YES JMP END NO, EXIT SPC 1 STD NOP SETUP AND RECEIVE LDA CNR STA WD1 STA WD2 JSB T2R JSB RCVE JMP STD,I HED END - COMMON SUBRTNS - 12587 ASYNCH. DATA INTF. DIAGN. END NOP JSB SW10I,I OMIT STOP MESSAGE ? RSS NO JMP H77-1 YES JSB TTSKI,I LDA LM77 LDB MI77 JSB TTY.O,I TELL OPERATOR TEST IS FINISHED JSB SWRPI,I REPEAT TEST AUTO? H77 HLT 77B NO JMP STR,I SPC 2 *** SUBROUTINES *** SPC 2 ORG 4000B B2ASC NOP OCTAL ASCII AND A0077 LDB A BRS,BRS BRS BLF,BLF AND A0007 IOR B IOR D0060 JMP B2ASC,I A0007 OCT 7 D0060 OCT 30060 ASCII PREFIXES SPC 2 DATA 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 A0002 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 P0000 ALF JSB B2ASC CHANGE TWO MOST SIG CH TO ASCII STA DADD,I STORE FINAL TWO CHARACTERS JMP DATA,I EXIT DX BSS 1 DATA TO BE CONVERTED DADD BSS 1 ADDRESS WHERE ASCII CH MUST GO SPC 2 DELY NOP DELAYS A FEW HUNDRED MSEC CLA INA,SZA JMP *-1 JMP DELY,I SPC 2 SWEH NOP CHECK SW REG BIT 14 FOR HALT LDB SWEH ON ERRORS INB LIA 1 AND BT14 SZA JMP B,I NO HALT - RETURN *+2 JMP SWEH,I HLT ON ERRORS - RETURN *+1 SPC 1 SWTP NOP CHECK SW REG BIT 11 FOR TTP LDB SWTP SUPPRESSED INB LIA 1 AND BT11 SZA JMP SWTP,I TTP IS SUPPRESSED - RTN *+1 LDA NOTTP SZA JMP SWTP,I TTP NOT AVAILABLE, RTN *+1 JMP B,I NOT SUPPRESSED - RETURN *+2 SPC 1 SWRC NOP CHECK SW REG BIT 13 FOR RECYCLE LDB SWRC LAST TEST INB LIA 1 AND BT13 SZA JMP SWRC,I RECYCLE LAST TEST - RETURN *+1 JMP B,I NO RECYCLE RETURN *+2 SPC 1 SWSA NOP CHECK SW REG BIT 15 FOR HALT AT LDB SWSA END OF TEST INB LIA 1 SSA JMP B,I RUN SEMI-AUTO - RETURN *+2 JMP SWSA,I CONTINUE AUTO - RETURN *+1 SPC 1 SWRPT NOP CHECK SW REG BIT 12 FOR HALT AT LDB SWRPT END OF DIAGNOSTIC INB LIA 1 AND BT12 SZA,RSS JMP SWRPT,I BIT CLEAR - RETURN *+1 AND HALT JMP B,I REPEAT TEST - RETURN *+2 SPC 2 SW07 NOP CHECK TO OMIT PRESET LDB SW07 TEST IN€0þúB LIA 1 AND BT7 SZA,RSS OMIT TEST ? JMP SW07,I NO JMP B,I YES SPC 3 SW08 NOP CHECK TO OMIT CKFRQ LDB SW08 TEST INB LIA 1 AND BT8 SZA,RSS OMIT TEST ? JMP SW08,I NO JMP B,I YES SPC 3 SW10 NOP CHECK TO OMIT NON-ERROR MESSAGES LDB SW10 INB LIA 1 AND BT10 SZA,RSS OMIT MESSAGE ? JMP SW10,I NO JMP B,I YES SPC 2 BRP1 NOP ** REPORT ERROR VIA SW REG JSB INR AND A REG JMP BRP1,I RTN *+1 LDA SAVA JSB EY4R LDA SAVB JSB EY4R LDA SAVC OTA 1 RESTORE SW REG ISZ BRP1 JMP BRP1,I RETURN *+2 SPC 2 BRP2 NOP ** REPORT ERROR VIA SW REG JSB INR AND A REG JMP BRP2,I RTN *+1 LDA SAVD JSB EY4R LDA SAVC JSB EY4R ISZ BRP2 JMP BRP2,I RETURN *+2 SPC 2 BRP3 NOP ** REPORT ERROR VIA SW REG JSB INR AND A REG JMP BRP3,I RTN *+1 LDA PAR JSB EY4R LDA CHCNT JSB EY4R LDA WD2 JSB EY4R LDA SDATA JSB EY4R LDA CPAR JSB EY4R LDA SAVC RESTORE SW REG JSB EY4R ISZ BRP3 JMP BRP3,I RETURN *+2 SPC 2 INR NOP ** RETURN *+2 IF NO STA EY4 TTP SELECTED LDA NOTTP SZA,RSS JMP INR,I RTN *+1 LIA 1 STA SAVC SAVE SW REG ISZ INR JMP INR,I RTN *+2 SPC 2 EY4R NOP ** OUTPUT TO SWITCH REGISTER LDB SAVC RBL SSB,RSS HALT SELECTED? EY4 HLT 0 YES ISZ EY4 JMP EY4R,I SPC 2 ERR NOP ERROR REPORTING ROUTINE CLF 0 DISABLE INTERRUPTS CCB ADB ERR LDA FER òxþú FIND ERROR NUMBER BASED ON RETRN CPB A,I ADDRESS AND TABLE JMP *+5 FOUND IT INA CPA LER END OF TABLE? JMP ERR,I YES, EXIT ERROR ROUTINE JMP *-5 CONTINUE SEARCH ADA FERC NORMALIZE NUMBER STA SETXX JSB SWTP TTP SUPPRESSED? JMP NOH YES LDA SETXX NO LDB FMI MESSAGE ADDRESS TABLE ADB A LDB B,I MESSAGE ADDRESS INTO B ADA FML LDA A,I MESSAGE LENGTH INTO A JSB TTY.O,I TYPE MESSAGE NOH ISZ CNT2 COUNT ALL ERRORS RSS ISZ CNT1 NOP LDB CHLT CODED HALT TABLE ADB SETXX LDB B,I CODED HALT IN B STB EXX JSB SWEH ERROR HALT? EXX HLT 0 YES, SO HALT JMP ERR,I SPC 2 TTSK NOP CHECKS FOR PRINTOUT SELECTION CLF 0 DISABLE INTERRUPTS LDB TTSK ADB A0003 MODIFY RETURN ADDRESS STB SWB LIA 1 AND BT10 YES SZA SUPRESS NON-ERROR MESSAGES ? JMP SWB,I YES, SKIP PRINTOUT JMP TTSK,I NO, EXIT AND PRINT SPC 2 *** MESSAGES *** SPC 2 SUP M1 ASC 17,E1. CLF DID NOT CLEAR FLAG, OR SFS ASC 14, CAUSED SKIP WITH FLAG CLEAR L1 EQU *+*-M1-M1 M2 ASC 18,E2. SFC DID NOT SKIP WITH FLAG CLEAR L2 EQU *+*-M2-M2 M3 ASC 20,E3. STF DID NOT SET FLAG, OR SFC CAUSED ASC 9,SKIP WITH FLAG SET L3 EQU *+*-M3-M3 M4 ASC 17,E4. SFS DID NOT SKIP WITH FLAG SET L4 EQU *+*-M4-M4 M5 ASC 11,E5. DID NOT INTERRUPT L5 EQU *+*-M5-M5 M6 ASC 19,E6. THE RETURN ADDRESS IS NOT CORRECT L6 EQU *+*-M6-M6 M11 ASC 7,H11. END BI/O L11 EQU *+*-M11-M11 M12 ASC 13,E12. STF XX SET CARD FLAG L12 EQU *+*-M12-M12 M13 ASC 19,E10. PRESET(EXT,INT) DID NOT SET FLAG ASC 15,AND DID NOT DISABLE INTERRUPTS L13 EQU *+*-M13-M13 M14 ASC 17,E14. INTERRUP0'þúT ACKNOWLEDGE DID NOT ASC 10, WORK. TEST ABORTED. L14 EQU *+*-M14-M14 M15 ASC 16,E15. CLC 0 DID NOT CLEAR CONTROL ASC 5, FLIP-FLOP L15 EQU *+*-M15-M15 M16 ASC 19,E16. PRESET(EXT) DID NOT CLEAR CONTROL ASC 05, FLIP-FLOP L16 EQU *+*-M16-M16 M21 ASC 16,E21. STF 0 OR SFC 0 DID NOT WORK L21 EQU *+*-M21-M21 M22 ASC 16,E22. STF 0 OR SFS 0 DID NOT WORK L22 EQU *+*-M22-M22 M23 ASC 11,E23. STATUS BITS ARE G1 ASC 14,XXXXXX AND SHOULD BE 100000 L23 EQU *+*-M23-M23 M26 ASC 7,H26. END CKFRQ L26 EQU *+*-M26-M26 M27 ASC 16,E27. PRESET(INT) DID NOT DISABLE ASC 06, INTERRUPTS L27 EQU *+*-M27-M27 M30 ASC 14,H30. THE CLOCK FREQUENCY IS L30 EQU *+*-M30-M30 M31 ASC 3,XXXXXX L31 EQU *+*-M31-M31 M32 ASC 11,E32. STATUS BITS ARE G2 ASC 14,XXXXXX AND SHOULD BE 000000 L32 EQU *+*-M32-M32 M35 ASC 11,E35. STATUS BITS ARE G3 ASC 14,XXXXXX AND SHOULD BE 044000 L35 EQU *+*-M35-M35 M40 ASC 13,E40. STATUS BIT 10 NOT SET L40 EQU *+*-M40-M40 M41 ASC 9,E41. FLAG NOT SET L41 EQU *+*-M41-M41 M42 ASC 14,E42. FLAG DID NOT STAY CLEAR L42 EQU *+*-M42-M42 M43 ASC 17,E43. CLC ON CHANNEL DID NOT CLEAR ASC 9,CONTROL FLIP-FLOP L43 EQU *+*-M43-M43 M44 ASC 20,E44. CLC CH,C DID NOT CLEAR FLAG OR SFC ASC 14,DID NOT SKIP WITH FLAG CLEAR L44 EQU *+*-M44-M44 M45 ASC 17,E45. FLAG CLEAR AND SHOULD BE SET L45 EQU *+*-M45-M45 M46 ASC 13,E46. INCORRECT STATUS IS G4 ASC 14,XXXXXX AND SHOULD BE 044000 L46 EQU *+*-M46-M46 M51 ASC 17,E51. FLAG CLEAR AND SHOULD BE SET L51 EQU *+*-M51-M51 M52 ASC 13,E52. INCORRECT STATUS IS G5 ASC 14,XXXXXX AND SHOULD BE 050000 L52 EQU *+*-M52-M52 M55 ASC 17,E55. FLAG CLEAR AND SHOULD BE SET L55 EQU *+*-M55-M55 M56 ASC 13,E56. INCORRECT STATUS IS G6 ASC 14,XXXXXX AND SHOULD BE 014000 L56 EQU *+*-M56-M56 M61 ASC 17,E61. FLAG SET AND SHOULD BE CLEAR L61 EQU *+*-M61-M61 M62 ASC 13,E62. INCORREC !þúT STATUS IS G7 ASC 14,XXXXXX AND SHOULD BE 044000 L62 EQU *+*-M62-M62 M65 ASC 11,E65. CLOCK NOT WORKING ASC 8,. TEST ABORTED L65 EQU *+*-M65-M65 M66 ASC 19,E66. STATUS BIT 11 NOT SETTING (SERIAL ASC 3, DATA) L66 EQU *+*-M66-M66 M67 ASC 13,E67. BUSY BIT (13) NOT SET L67 EQU *+*-M67-M67 M70 ASC 7,H70. END FCTST L70 EQU *+*-M70-M70 M77 ASC 17,H77. DIAGNOSTIC HAS BEEN COMPLETED L77 EQU *+*-M77-M77 M102 ASC 12,E102. CLOCK NOT WORKING L102 EQU *+*-M102-M102 M103 ASC 17,E103. ERROR IN SEND PATTERN TEST. OCT 6412 G8 ASC 16, XXXX PARITY MODE SELECTED. OCT 6412 G9 ASC 14, DATA SIZE IS X BITS,, OCT 6412 G10 ASC 20, DATA PATTERN SENT IS XXXXXX, OCT 6412 G11 ASC 20, PATTERN READ BACK IS XXXXXX, OCT 6412 G12 ASC 20, PATTERN EXPECTED IS XXXXXX. L103 EQU *+*-M103-M103 AS0 ASC 2, NO AS1 ASC 2, ODD AS2 ASC 2,EVEN M120 ASC 8,H120. END SENDP L120 EQU *+*-M120-M120 M121 ASC 16,E121. ERROR FLIP FLOP SET. LAST ASC 9,CONTROL WORD WAS ART ASC 3,XXXXXX L121 EQU *+*-M121-M121 M124 ASC 19,E124. ERROR IN RECEIVE PATTERN TEST. OCT 6412 G13 ASC 16, XXXX PARITY MODE SELECTED. OCT 6412 G14 ASC 14, DATA SIZE IS X BITS,, OCT 6412 G15 ASC 20, DATA PATTERN SENT IS XXXXXX, OCT 6412 G16 ASC 20, PATTERN READ BACK IS XXXXXX, OCT 6412 G17 ASC 20, PATTERN EXPECTED IS XXXXXX. L124 EQU *+*-M124-M124 M140 ASC 8,H140. END RECVP L140 EQU *+*-M140-M140 M141 ASC 19,E141. EVEN PARITY CONTROL WORD AND ODD ASC 12, PARITY DATA DID NOT SET OCT 6412 ASC 11,ERROR BIT 9 IN STATUS L141 EQU *+*-M141-M141 M142 ASC 19,E142. ODD PARITY CONTROL WORD AND EVEN ASC 12, PARITY DATA DID NOT SET OCT 6412 ASC 11,ERROR BIT 9 IN STATUS L142 EQU *+*-M142-M142 M143 ASC 16,E143. TWO RECEIVE CYCLES WITHOUT ASC 19, INPUTI 640NG DATA DID NOT SET ERROR FLAG L143 EQU *+*-M143-M143 M160 ASC 8,H160. END ERRFF L160 EQU *+*-M160-M160 FWAM EQU * FIRST WORD AVAILABLE MEMORY END ¶6ÿÿ ÿý` n ÿ12597-18001 1725 S 0122 TAPE READER PUNCH DIAGNOSTIC             H0101 ,úþúASMB,A,B,L,C HED PAPER TAPE READER PUNCH DIAGNOSTIC ORG 0 DSN=146200 JUNE 2, 1977 REV.1725 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 107074. * 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 * (SUPPRESS ALL OPERATOR INTERVENTION) * 11 = SUPRESS ERROR MESSAGES * 10 = SUPRESS NON-ERROR MESSAGES * 9 = GO TO USER CONTROL SECTION * AT END OF PRESENT TEST * 8= SUPPRESS OPERATOR INTERVENTION TESTS * 7 * = DIAGNOSTIC OPTIONS * 0 * NOTE: STANDARD RUN SHOULD BE WITH SW. REG. = 0 * USER CONTROL WILL ASK FOR A 32 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 * * 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 * * CONTROL PROGRAM HALT MESSAGES * * 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 RESERVED * 102071 RESERVED * 102070 RESERVED * * 106077 TRAP CELL HALT * * * HED PROGRAÂ%þúM ORGANIZATION CHART * ******************************************* * * CONFIGURATOR 100B * * * LINKAGE TABLE * * ******************************************* * * EXECUTIVE 130B * * * LINKAGE * * ******************************************* * * CONSTANTS 150B * * * AND * * * STORAGE * * ******************************************* * * 2000B * * * EXECUTIVE CONTROL * * * * * ******************************************* * * IF USED * * * BASIC I/O TESTS (TEST 00) * * * ZCEND * * ******************************************* * * TABLE OF TEST POINTERS * * * TABLE OF I/O INSTR POINTERS * * ******************************************* * * * * * * * * * * * * * * * * * MAIN DIAGNOSTICS (1-31) * * * * * * * * * * * * * * * * * ******************************************* * * * * * * * * * * * * * * * * * * * * HED CONFIGURATOR LINKAGE TABLEt«þú A EQU 0 A REGISTER REFERENCE B EQU 1 B REGISTER REFERENCE SW EQU 1 SWITCH REGISTER REFERENCE INTP EQU 0 INTERRUPT CHANNEL REFERENCE * * ORG 100B * JMP SETUP CHECK FOR PROPER 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) 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 DSNL OCT 146200 DIAGNOSTIC SERIAL NUMBER FMTR BSS 1 FORMATTER * * * CONTROL LINKAGE AND DATA REFERENCES * CFIG DEF ZCONF CONFIGURATION SECTION MSGC DEF ZMSGC MESSAGE WITH NO HALT MSGH DEF ZMSGH MESSAGE WITH HALT ERMS DEF ZERMS ERROR MESSAGE SWRT DEF ZSWRT SWITCH REGISTER CHECK ROUTINE TSTN OCT 0 CURRENT TEST NUMBER EXRT DEF ZEXRT RETURN TO CONTROL PROGRAM NOP RESERVED * HED POINTERS AND TABLES * * * BASE PAGE POINTERS AND TABLES * * IOIP DEF IODP POINTER TO I/O INST TABLE TSTP DEF TSTD POINTER TO TEST # TABLE STDA OCT 177 POINTER TO STANDARD TESTS STDB OCT 0 DEFAULT TEST HDMP DEF HDMS POINTER TO HEADER MESSAGE * * * HDMS EQU * OCT 6412 ASC 19,PAPER TAPE READER AND PUNCH DIAGNOSTIC ASC 6, DSN XXXXXX/ * * * * PUNCH INSTRUCTION POINTER TABLE Äþú SPC 1 IODP DEF PUOTB DEF PUSTC DEF PUSFS DEF TTYCW DEF PULIB DEF PUCLC DEF T5PSC DEF INTPU DEF PUMTB DEF T5PI1 DEF T5PI2 DEF PIOA1 DEF PIOA2 DEF PIOA3 DEF PIOA4 DEF PIOA5 DEF PIOA6 DEF PIOA7 DEF PIOA8 DEC -1 SPC 1 * TEST SEQUENCE POINTER TABLE SPC 1 TSTD DEF TST.0 DEF TST01 DEF TST02 DEF TST03 DEF TST04 DEF TST05 DEF TST06 DEF TST07 DEF TST10 DEF TST11 DEF TST12 DEF TST13 DEF TST14 DEC -1 SPC 4 SPC 1 * READER INSTRUCTION POINTER TABLE SPC 1 IODR DEF RDSTC DEF RDSFS DEF RDLIA DEF RDRLA DEF T5RSC DEF T5RDR DEF RDRSC DEF RDVR1 DEF RDVR2 DEF RIOA1 DEF RIOA2 DEF RIOA3 DEF RSRSC DEC -1 * * * * * SPC 1 * LINKS SPC 1 CONF DEF CONFG SO.SO DEF PINTR RDLNK DEF RDDVR BIT05 OCT 40 PULNK OCT 0 RRLNK OCT 0 X.CFG DEF IODR XZISC DEF ZISC XSTEX DEF ZSTEX .TST0 DEF TST00 * * * HED COMMON SUBROUTINES * SYNC NOP LDA ND100 INITIALIZE STA SNCTR XTHRU 100 HRSYN JSB READ RETURN W. 1. BYTE READ SZA,RSS LEADER GONE? JMP *+3 NO - DO ANXTHRU STA FIBYT STORE FIRST BYTE AWAY JMP SYNC,I YES, EXIT ISZ SNCTR TOO MANY TIMES? JMP HRSYN NO, TRY AGAIN JSB ERMS,I YES, DIE DEF SYTOM TELL OPPERATOR SYNC XTHRU JMP SYNC+1 DO AGAIN * ND100 DEC -1000 SNCTR OCT 0 FIBYT OCT 0 SPC 1 * SPC 1 LEADR NOP OUTPUT ALL ZEROS LEADER LDB ND060 INITIALIZE STB SPAD2 60 COUNTER CLB OUTPUT A 60 JSB PUDVR ZERO LEADER ISZ SPAD2 4Eþú JMP *-2 CMB OUTPUT AN ALL JSB PUDVR ONES SYNC CHARACTER JMP LEADR,I EXIT * ND060 DEC -60 SPAD2 OCT 0 D22 DEC 22 * * * * * SKP * SPC 1 PUDVR NOP PUNCH ROUTINE (SIO) STB SPAD3 SAVE (BREG) LDA USSC CHECK IF TAPE LOOP MUST BE RAL PUNCHED ON A TTY. SSA JMP TTYCW-3 YES, OMIT PUNCH STATUS CHECK PULIB LIB PUNCH CHECK PUNCH SZB STATUS JSB LTSRP LDB PUTMC INITIALIZE STB SPAD4 XTHRU COUNTER LDB PUTMC+1 TTYCW OTB PUNCH PUT TTY INTO OUTPUT MODE LDB SPAD3 REGAIN PUOTB OTB PUNCH DATA & OUTPUT PUSTC STC PUNCH,C HIT THE PUNCH PUSFS SFS PUNCH READY TO JMP *+3 RESUME? PUCLC CLC PUNCH DISALLOW PUINT JMP PUDVR,I YES, EXIT ISZ SPAD4 NO, BUMP XTHRU COUNTER JMP PUSFS AND REITERATE CLF 0 INTSYS OFF FOR TCP JSB ERMS,I BUMPED OUT, SOMETHING IS DEF PUTMO WRONG, REPORT TO TCP JMP PUDVR,I * PUNCH EQU 00B SPAD3 OCT 0 SPAD4 OCT 0 PUTMC OCT 100000 OCT 110000 * * * * * SKP * LTSRP NOP LOW TAPE STATUS REPORT JSB ERMS,I DEF LTMSG JMP LTSRP,I SPC 1 * SPC 1 READ NOP READ ROUTINE (SIO) LDA PUTMC INITIALIZE THE TIMES STA SPADL THRU THE SFS ROUTINE RDSTC STC RDR,C HIT THE READER RDSFS SFS RDR READY TO READ? JMP CNTR1 RUN THRU THE DROP OUT COUNTER RDLIA LIA RDR GOTCHA JMP READ,I EXIT WITH A = READ CHARACTER CNTR1 ISZ SPADL INCREMENT TIMES THRU COUNTER JMP RDSFS NO DROP THRU YET CLF 0 JSB ERMS,I DROP THRU HAS OCCURRED, REPORT DEF RDTOM TO TCP VIA ERMS JMP READ,I BACK TO ROUTINE * RDR EQU 00B SPADL OCT 0 SPC 1 * SPC 1 RESYN NOP REŒþú-SYNC IF NECESSARY JSB SYNC MAKE SURE RESYNC IS NECESSARY JSB READ ENTIRE 1. BLOCK IS PASSED SZA UNTIL LEADER IS REACHED JMP *-2 AGAIN. NO STILL IN BLOCK JSB READ YES, CHECK FOR 2. FEEDHOLE SZA JMP *-2 JMP RESYN,I * * * * * SKP * PUSSR NOP PUNCH START-STOP ROUTINE ISZ DOYET DO IT YET? JMP PUSSR,I NO, EXIT JSB STPIT DO A STOPIT LDB NXTMR,I NEXT STB DOYET TIMES - CONSTANT ISZ NXTMR ISZ XTHRU XTHRU? JMP PUSSR,I NO, EXIT JSB PUSET YES, RESET EVERYTHING JMP PUSSR,I AND EXIT SPC 1 * SPC 1 PUSET NOP LDB NXTMC INITIALIZE STB DOYET DOYET LDB NDN.8 RESET STB XTHRU XTHRU CTR LDB NXTM1 RESET STB NXTMR TIMER JMP PUSET,I * NDN.8 DEC -8 NXTM1 DEF NXTMC SPC 1 * SPC 1 STPIT NOP STA STPAD SAVE (AREG) LDA OCTCC GET TC JSB TMRR,I EXECUTES 100 MS DELAY LDA STPAD RESTART (AREG) JMP STPIT,I AND EXIT * STPAD OCT 0 OCTCC DEC 100 DOYET OCT 0 NXTMC DEC -5 DEC -22 DEC -13 DEC -35 DEC -17 DEC -26 DEC -4 DEC -32 NXTMR DEF NXTMC XTHRU OCT 0 * * * * * SKP RSCHK NOP INSURE READER PRESENCE LDA RDCHN GET READER SELECT CODE SZA ZERO? JMP RSCHK,I NO, OK TO EXECUTE TEST LDA RSCHK YES, GET RETURN ADDRESS ADA XNEG2 LDA A,I AND EXIT FROM THE TEST JMP A,I THAT CALLED THIS ROUTINE. RDCHN OCT 0 SPC 1 * SPC 1 PSCHK NOP INSURE PUNCH PRESENCE LDA PUCHN GET PUNCH SELECT CODE SZA IS THE PUNCH PRESENT? JMP PSCHK,I YES, GO AND EXECUTE TEST LDA PSCHK NO, RETFL ADA XNEG2 Xúþú LDA A,I ADDRESS, AND JMP A,I EXIT * PUCHN OCT 0 XNEG2 DEC -2 SPC 1 * SPC 1 BPRCK NOP BOTH PUNCH AND READER CHECK LDA RDCHN GET READER SELECT CODE SZA,RSS PRESENT? JMP *+4 NO, GO SET UP RETURN ADDRESS LDA PUCHN YES, NOW CHECK FOR PUNCH SZA PRESENT? JMP BPRCK,I YES, BOTH PRESENT, EXECUTE TEST LDA BPRCK NO, GET RETURN JMP RETFL ADDRESS AND EXIT * * * * * SKP SETUP NOP CLC INTP,C OFF THE INTERRUPT SYSTEM LIA SW GET SWITCH REGISTER CONTENTS STA USSC SAVE (SWR) FOR TCP ALF,ALF POSITION THE READER SELECT CODE RAL,RAL FOR ISOLATION. AND XM.77 MASK OFF ALL BUT READER S.C. STA RDCHN SZA IS SWR VALUE GREATER THAN ZERO? JSB CONF,I YES, GO TO CONFIGURATION ROUTINE LIA SW NO, NOW CHECK THE PUNCH AND XM.77 ELIMINATE ALL SAVE THE PUNCH SC STA PUCHN SZA IS PUNCH SC PRESENT IN THE SWR? JMP CFIG,I YES, DO CONFIGURATION ROUTINE LIA SW NO, INSURE READER ALF,ALF IS PRESENT TO PREVENT RAL,RAL THE DIAGNOSTIC BEING CONFIGURED AND XM.77 NO READER OR NO PUNCH SZA,RSS IS THERE A READER? JMP CONF,I NO, CRASH AND TRY AGAIN CLA CLEAR S-REG OTA SW HLT 74B YES, GO AHEAD AFTER THE HALT JMP XSTEX,I AND DO THE DIAGNOSTIC * XM.77 OCT 77 * * * SPC 5 TST.0 EQU * SPC 1 NOP JSB PSCHK WANT TO RUN TEST? JSB MSGC,I YES, TELL THE OPERATOR DEF PIOMS JSB .TST0,I DO TST00 (BIO ON PUNCH) JMP TST.0,I EXIT * * * * * SKP MKBUF NOP MAKE ERROR MESSAGE BUFFER STA SPADD SAVE THE STB SPADE A AND B REGISTERS LDA NEG.4 INITÞ^þúIALIZE FOUR TIMES THRU STA SPADG THIS ROUTINE COUNTER MKBF1 LDA SPADD FOR NEXT TIME THRU ROUTINE AND MASK1 LEAVE ONLY BIT 0 STA B SAVE BIT 0 IN THE B REGISTER LDA SPADD GET THE WORD AGAIN RAR POSITION NEXT BIT IN BIT 0 STA SPADF STORE IN TEMPORARY SCRATCH PAD RAR POSITION FOR NEXT TIME THRU STA SPADD AND STORE BACK IN SCRATCH PAD LDA SPADF GET WORD BACK FROM TEMP SPAD AND MASK1 MASK OFF BITS 15 THRU 1 ALF,ALF (AREG0-7)-(AREG8-15) IOR B PUT THE TWO BITS TOGETHER IOR NUMSK ADD THE ASCII NUMBER MASK STA SPADE,I STORE IN THE OUTPUT BUFFER LDA SPADE DECREMENT THE CMA,INA POINTER TO THE CMA OUTPUT BUFFER STA SPADE ADDRESS ISZ SPADG COUNT 4 TIMES THRU ROUTINE JMP MKBF1 NOT FOURTH TIME, DO AGAIN JMP MKBUF,I EXIT, THE BUFFER IS COMPLETE * SPADD BSS 1 SCRATCH SPADE BSS 1 PAD REGISTERS SPADF BSS 1 D THRU G FOR SPADG BSS 1 THIS ROUTINE MASK1 OCT 1 BIT STRIPPER NEG.4 DEC -4 8 BIT COUNTER CONSTANT NUMSK OCT 30060 ASCII IOR MASK * ABBGM ASC 2,E040 ASC 3, BAD= ARB76 OCT 30060 AREGISTER BITS 7&6 ARB54 OCT 30060 AR B 5&4 ARB32 OCT 30060 AR B 3&2 ARB10 OCT 30060 AR B 1&0 OCT 20040 SPACE-SPACE ASC 3,GOOD= BRB76 OCT 30060 BREGISTER BITS 7&6 BRB54 OCT 30060 5&4 BRB32 OCT 30060 3&2 BRB10 OCT 30060 1&0 OCT 27400 ASCII/ M.377 OCT 377 NEG.1 DEC -1 ND008 DEC -8 .BIT1 OCT 2 SPADX OCT 0 TEMP4 OCT 0 HED MESSAGES * SPC 1 PUTMO ASC 10,E031 PUNCH TIME OUT/ SPC 1 P.TOM ASC 17,E032 PUNCH ROUTINE NOT COMPLETED SPC 1 LTMSG ASC 11,E033 LOW TAPE SUPPLY/±ìþú SPC 3 * SPC 1 RDTOM ASC 11,E041 READER TIME OUT/ SPC 1 OVRUN ASC 13,E042 MISSING SYNC CHARTR/ SPC 1 RSMSG ASC 6,H043 RESYNC/ SPC 1 IRDTO ASC 18,E044 READER INTRPT DRIVER TIME OUT/ SPC 3 SYTOM ASC 16,E045 SYNC CHARTR NOT FOUND AFTER ASC 11, 1000 (OCTAL) CHARTRS/ SPC 1 * SPC 1 PIOMS ASC 10,H050 BI-O ON PUNCH/ SPC 1 T3MSG ASC 15,H051 ALL CHARTR COMBINATIONS, ASC 5,PUNCH ONLY OCT 6412 ASC 14, TURN PUNCH ON, PRESS RUN/ SPC 1 T4MSS ASC 15,H052 ALL CHARTR COMBINATIONS, ASC 3,VERIFY OCT 6412 ASC 14, TEAR TAPE AT PUNCH, PLACE ASC 11, IN READER, PRESS RUN/ SPC 1 INMS1 ASC 18,H054 PLACE LOOP IN READER-PRESS RUN OCT 6412 ASC 16, TO START READ, SET BIT0 TO 1 OCT 6412 ASC 16, TO EXIT TEST, SET BIT0 TO 0/ SPC 1 T1MSG ASC 10,H055 BI-O ON READER/ SPC 1 SKP POMSG ASC 22,H056 TURN PUNCH ON, PRESS RUN. PUNCH ROUTINE OCT 6412 ASC 21, WILL START. LOAD THE TAPE BEING PUNCHED OCT 6412 ASC 10, INTO THE READER. OCT 6412 ASC 16, TO START READ, SET BIT0 TO 1 OCT 6412 ASC 13, TO EXIT, SET BIT0 TO 0/ SPC 1 T5M1H ASC 14,H057 TO COMPLETE, TEAR TAPE, ASC 6, PRESS RUN/ SPC 1 T7MSG ASC 18,H060 TO MAKE LOOP, PUNCH ON AND RUN/ SPC 1 INITM ASC 9,H061 RESET BIT 0/ * T10MS ASC 21,H062 OUTPUT BIT0-7 TO PUNCH. TO START SET OCT 6412 ASC 21, BIT13, PRESS RUN. TO EXIT CLEAR BIT13/ * RSTM1 ASC 15,H063 READER SPEED TEST. PLACE ASC 7,LOOP IN READER OCT 6412 ASC 14, BIT 5=0 FOR 2748-58, BIT ASC 13,5=1 FOR 2737. PRESS RUN./ * RMXEM ASC 11,E064 2737 SPEED SLOW/ * HPREM ASC 12,E065 2748-58 SPEED SLOW/ * RSEND ASC 11,H066 TEST 11 COMPLETE/ * PSTM1 ASC 11,H100 PUNCH SPEED TEST. OCT 6412 ASC 15, BIT 6=0 FOR 2895 OR BIT 6=1 ASC 10, FOR 2753-PRESSÝp<:6 RUN/ * TLYEM ASC 11,E101 2753 SPEED SLOW/ * FCTEM ASC 11,E102 2895 SPEED SLOW/ * PSEND ASC 11,H103 TEST 12 COMPLETE/ * * * MSEND EQU * HED EXECUTIVE CONTROL ORG 2000B ZSTEX CLC INTP,C TURN I/O SYSTEM OFF, CLEAR FLAG LDA DSNL ADD DSN TO DIAGN HEADER MESSAGE, CCE LOAD DSN, (LOWER BYTE) LDB HDMP DETERMEN STORAGE LOCATION ADB D22 OF CONVERTED DSN & JSB O2AS,I GO TO OCTAL-ASCII CONVER. JSB MSGC,I OUTPUT HEADER MESSAGE DEF HDMS CLA CLEAR PASS STA ZEOLC COUNT ZEXCZ LDB ZSW9 CHECK FOR USER SELECTION REQ JSB SWRT,I JMP ZUSR IT'S USERS CHOICE ZNUSR LDA STDA GET STANDARD TEST RUN LDB STDB * JMP ZEXC * ZUSR LIA SW READ S-REG AND CLEAR AND ZSWM9 BIT 9 OTA SW LDA ZSINA RETRIEVE PREVIOUS RUN LDB ZSINB HLT 75B WAIT FOR USER INPUT ZEXC STA ZUINA SAVE STB ZUINB USER STA ZSINA INPUT STB ZSINB PROGRAM CCA SET TEST NUMBER STA TSTN TO -1 STA ZCFTT AND STORE CLA STA ZTSTA CLEAR TEST RUN FLAG * SKP ç<ÿÿ ÿýap ÿ12597-18002 1725 S 0122 TAPE READER PUNCH DIAGNOSTIC             H0101 -úþúZEXCL LDA ZUINA RESTORE A REG. LDB ZUINB RESTORE B REG. ERA,RAL ROTATE ERB FIRST ERA TEST BIT STA ZUINA SAVE POSITIONS STB ZUINB ISZ TSTN MOVE TEST UP ONE NOP ZXCL1 LDA TSTN ADA TSTP GET IT'S LDA A,I ADDRESS CPA Z.M1 IS IT END OF LIST JMP ZEOL YES LDB ZUINB SSB,RSS SHOULD IT BE RUN? JMP ZEXCL NO STA ZTSTA YES - SAVE TEST ADDRESS JSB ZITCH INITIALIZE TRAP CELL HALTS JSB ZTSTA,I GO DO TEST ZEXRT LDA TSTN DISPLAY TEST NUMBER IF HALTED LDB ZSW15 CHECK FOR HALT AT END OF TEST JSB SWRT,I HLT 76B YES WAIT FOR OPERATOR LDB ZSW9 CHECK FOR ABORT JSB SWRT,I JMP ZUSR YES LDB ZSW13 CHECK FOR LOOP ON ROUTINE JSB SWRT,I JMP ZXCL1 YES - LOOP JMP ZEXCL CONTINUE * ZEOL LDA ZTSTA CHECK IF ANY TESTS WERE RUN SZA,RSS ? JMP ZNUSR NO SO PICK UP STANDARD RUN LDA ZEOLC UP DATE PASS COUNT INA STA ZEOLC CCE LDB ZPSCA GET PASS COUNT ADB Z.2 ADDRESS JSB O2AS,I CONVERT IT JSB MSGC,I CALL PRINT ROUTINE ZPSCA DEF ZPSC LDB ZSW12 CHECK FOR LOOP ON DIAG. JSB SWRT,I JMP *+3 YES LDA ZEOLC HLT 77B NO WAIT AND DISPLAY PASS COUNT LDA ZSINA RESTORE ORIGINAL LDB ZSINB PROGRAM JMP ZEXCZ DO IT ALL AGAIN * SKP * MESSAGE OUTPUT WITH OUT HALT * ZMSGC NOP ENTRY JSB ZMSG OUTPUT MESSAGE OCT 2000 SWITCH 10 CHECK JMP ZMSGC,I RETURN TO CALLER * * MESSAGE OUTPUT WITH HALT * ZMSGH NOP ENTRY JSB ZMSG OUTPUT MESSAGE OCT 2000 SWITCH 10 CHECK LDA ZHLT GET HALT CODE STA *+2 PUT IT IN î2þúPLACE LDA ZSAVA RESTORE A REGISTER NOP HALT FOR DISPLAY JMP ZMSGH,I RETURN TO CALLER * * ERROR MESSAGE WITH HALT * ZERMS NOP ENTRY JSB ZMSG OUTPUT MESSAGE OCT 4000 SWITCH 11 CHECK CLA LDB ZSW14 CHECK SWR BIT 14 TO SUPPRESS JSB SWRT,I HALT STA *+3 PUT HALT IN PLACE LDA ZSAVA RESTORE A & B LDB ZSAVB ZHLT NOP WAIT FOR OPERATOR LDA ZSW9 CHECK IF EXECUTION OF TEST JSB SWRT,I SHALL BE ABORTED JMP ZEXRT YES, ABORT JMP ZERMS,I NO, RETURN TO CALLER * SKP * OUTPUT MESSAGE * ZMSG NOP STA ZSAVA SAVE A AND B REGISTERS STB ZSAVB LDB ZMSG,I GET SWITCH REGISTER BIT LDA ZMSG ADA Z.M2 DECREMENT RETURN ADDRESS STA ZMSG JSB SWRT,I CHECK TO SUPPRESS MESSAGE JMP ZMSG0 YES LDA ZMSG,I CHECK IF ERROR LDA A,I LDA A,I IF SO ALF,ALF AND Z.177 CPA ZA.E JSB ZCFTN CHECK TO OUTPUT TEST NUMBER LDA ZMSG,I NO RETRIEVE FORMAT LDB A,I ADDRESS CLA,CLE JSB FMTR,I ZMSG0 LDA ZMSG,I CONVERT HALT CODE LDB A,I FROM ASCII STRING CCA,CCE JSB AS2N,I STA ZN2AO SAVE RESULT AND Z.300 DECODE LDB ZH2 HALT CODE CPA Z.100 LDB ZH6 CPA Z.200 LDB ZH3 CPA Z.300 LDB ZH7 LDA ZN2AO GET HALT NUMBER AND Z.77 IOR B STA ZHLT SAVE IT ISZ ZMSG,I ADJUST RETURN POINTERS ISZ ZMSG ISZ ZMSG ISZ ZMSG LDA ZSAVA RESTORE A AND B REGISTERS LDB ZSAVB JMP ZMSG,I * * * * * * SKP ZCFTN NOP LDA TSTN GET TEST NUMBER CPA ZCFTT IS IT THE SAME ONE? JMP ZCFTN,I YES SKIP OUTPUT STA ZCFTT NO - THEN ÷þúUPDATE IT JSB ZN2AO CONVERT IT STA ZTSTN PUT IT IN STRING CLA DO A CRLF JSB SLOP,I CLA,CLE INDICATE START OF FORMAT LDB ZTSTF JSB FMTR,I JMP ZCFTN,I RETURN * * ZSAVA NOP ZSAVB NOP ZEOLC NOP ZTSTA NOP ZSINA NOP ZSINB NOP ZUINA NOP ZUINB NOP ZBTMP NOP Z.2 OCT 2 Z.7 OCT 7 Z.10 OCT 10 Z.60 OCT 60 Z.77 OCT 77 Z.177 OCT 177 Z.M1 DEC -1 Z.M2 DEC -2 ZD100 DEC -100 ZIOM OCT 177700 ZSW15 OCT 100000 ZSW14 OCT 40000 ZSW13 OCT 20000 ZSW12 OCT 10000 ZS812 OCT 010400 ZSW9 OCT 1000 ZSWM9 OCT 176777 Z.100 OCT 100 Z.200 OCT 200 Z.300 OCT 300 ZH2 OCT 102000 ZH6 OCT 106000 ZH3 OCT 103000 ZH7 OCT 107000 ZCFTT DEC -1 ZTSTF DEF *+1 ASC 3,TEST ZTSTN ASC 2,XX// ZPSC ASC 6,PASS XXXXXX/ ZA.E OCT 105 HED GENERAL ROUTINES * * ZN2AO NOP STA ZIOAD SAVE NUMBER AND Z.7 CONVERT FIRST IOR Z.60 NUMBER STA B SAVE IT LDA ZIOAD GET RAR,RAR SECOND RAR NUMBER AND Z.7 CONVERT IOR Z.60 IT ALF,ALF MOVE TO UPPER HALF IOR B ADD LOWER JMP ZN2AO,I AND RETURN * * * * SWITCH REGISTER CHECK * ZSWRT NOP STA ZN2AO SAVE A REGISTER LIA SW GET SWITCH REG. AND B MASK OUT BIT SZA,RSS IS IT UP? ISZ ZSWRT NO LDA ZN2AO RESTORE A REGISTER LIB SW LET B = SWITCH REGISTER JMP ZSWRT,I RETURN TO CALLER * * * * INITIALIZE TRAP CELL HALTS * ZITCH NOP LDA ZTSH GET STARTING TRAP CELL HALT LDB Z.2 GET FIRST TRAP CELL LOCATION ZTSHL STA B,I PUT IT IN PLACE CPB Z.77 AM I FINISHED JMP ZITCH,I YES INB NEXT ADDRESS JMP ZTSHL * ZTSH OCT 106077 * * * SKP * PUT JSB INSTRUCTION IN TRAP CEu:þúLL * ZTCJI NOP LDB ZJSBI GET INSTRUCTION STB ZIOSC,I PUT IT IN TRAP CELL LDA ZTCJI,I GET LOCATION STA 3B SAVE IT FOR JSB INSTRUCTION ISZ ZTCJI ADJUST RETURN JMP ZTCJI,I RETURN TO CALLER * ZJSBI JSB 3B,I JSB INSTRUCTION * * * INITIALIZE SELECT CODE I/O INSTRUCTIONS * ZISC NOP STA ZIOSC SAVE SELECT CODE STB ZIOAD SAVE TABLE ADDRESS ZIOL LDB ZIOAD,I GET ADDRESS OF LOCATION CPB Z.M1 IS IT THE TERMINATOR JMP ZISC,I YES RETURN TO CALLER LDA B,I NO - GET CONTENTS AND ZIOM MASK OFF OLD SELECT CODE IOR ZIOSC ADD IN NEW SELECT CODE STA B,I RESTORE IT ISZ ZIOAD MOVE TO NEXT ADDRESS JMP ZIOL DO IT * ZIOSC NOP ZIOAD NOP * * * * SKP * CONFIGURATION SECTION * ZCONF CLC INTP,C TURN I/O SYSTEM OFF LIA SW GET SELECT CODE AND OPTIONS STA USSC SAVE THEM AND Z.77 ELIMINATE OPTIONS LDB A CMB,INB CHECK THAT SC > 7 ADB Z.7 SSB ? JMP *+3 OK GO ON HLT 73B NO JMP SETUP TRY AGAIN LDB IOIP INITIALIZE TEST I/O JSB ZISC INSTRUCTIONS CLA CLEAR S-REG OTA SW HLT 74B ALLOW OPERATOR TO CHANGE SWITCH JMP ZSTEX GO TO EXEC CONTROL SECTION * SKP 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,Ipþú 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 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 * SELECT CODE SCREEN TEST * ZBIO3 LDB Z.10 START WITH LOWEST ADDRESS ZB40 LDA ZIOSC 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 CPB Z.77 IS TEST FINISHED? JMP ZBIO4 YES INB NO JMP ZB40 DO NEXT CHANNEL * ZBïgþúE11 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 * INTERRUPT CONTROL * ZBIO4 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 ZBIO5 * 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 * 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 Ð70.*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 CLF INTP TURN OFF ONTPS ZBS72 SFS CH 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 * * SKP 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 JMP ZBIO,I RETURN TO CALLER * ZBI70 NOP CONTROL FAILED CLF INTP TURN OFF INTPS INA JMP ZB70 * 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 08,H025 BI-O COMP/ SKP 1 0ÿÿ ÿýb o ÿ12597-18003 1725 S 0122 TAPE READER PUNCH DIAGNOSTIC             H0101 .úþú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 DEF ZBS42 DEF ZBS51 DEF ZBS52 DEF ZBS53 DEF ZBS61 DEF ZBS62 DEF ZBS63 DEF ZBS64 DEF ZBS65 DEF ZBS66 DEF ZBS71 DEF ZBS72 DEC -1 * HED CONFIGURE THE READER INSTRUCTIONS CONFG NOP CLC INTP,C TURN I/O SYSTEM OFF LIA SW GET SELECT CODES ALF,ALF POSITION RAL,RAL FOR READER SELECT CODE AND Z.77 AND CONFIGURE LDB A CMB,INB ADB Z.7 SSB JMP *+3 HLT 73B JMP SETUP CRASH $$$***$$$ TRY AGAIN LDB XCONF JSB ZISC JMP CONFG,I EXIT BACK TO CALLE * XCONF DEF IODR * * * * * * * * * * HED BASIC I/O ON READER * * * TEST 01 * * THE MESSAGE "H055 B-IO ON READER" IS * PRINTED ON THE CONSOLE * * * NEXT, TCP IS CALLED, AND RUNS BASIC * I/O AGAIN, BUT THIS TIME, USING THE * SELECT CODE OF THE READER INTERFACE * BOARD. * * * OTHER THAN THE -H055 B-IO ON READER * MESSAGE, INFORMATION MESSAGES AND * ERROR HALTS AND MESSAGES ARE THE SAME * AS THOSE USED TO DESCRIBE ANY ERROR * DETECTED IN TEST 0. * * * * * SPC 5 TST01 EQU * SPC 1 NOP JSB RSCHK CHECK FOR RDR CONFIGURATION JSB MSGC,I REPORT TO CONSOLE DEF T1MSG B-IO ON READER LDA RDCHN GET READER SELECT CODE JSB ZBIO JMP TST01,I BACK TO EXEC * * * * * HED PUNCH ALL CHARACTER COMBINITIONS * * * TEST 02 * * THE IDENTIFICATION MESSAGE "H051 ALL * CHARACTER COMBINATIONS - PUNCH ONLY" * IS PRINTED ON THE CONSOLE. * * WHEN RUN IS PRESSED, A 60 CHARACTER * AL“$þúL ZEROS LEADER IS PUNCHED. NEXT, * AN ALL ONES CHARACTER IS PUNCHED, * REVERSED E.G. BIT0 BECOMES BIT7, BIT1 * BECOMES BIT6 ETC, AND PUNCHED AGAIN * THEN THE ORIGINAL CHARACTER IS * DECREMENTED AND OUTPUT TO THE PUNCH * AGAIN. THIS CONTINUES UNTIL AN ALL * ZEROS CHARACTER IS OUTPUT. THEN * THE CHARACTER IS INCREMENTED AND * REVERSED UNTIL THE ORIGINAL ALL ONES * CHARACTER IS AGAIN PUNCHED. FINALLY, * A TRAILING ALL ZEROS PATTERN IS OUTPUT, * AND THE ROUTINE TERMINATES. * * VARIABLE RECORD LENGTH OUTPUT CAN BE * SELECTED BY SETTING SWITCH REGISTER * BIT3 TO A ONE * * * * * SKP TST02 EQU * SPC 1 NOP JSB PSCHK CHECK FOR PUNCH CONFIG. JSB MSGH,I GIVE THE OPERATOR DEF T3MSG THE INSTRUCTIONS. JSB PUSET JSB LEADR PUNCH A LEADER CCA T.RY3 AND M.377 LOWER EIGHT BITS ONLY STA SPADH STORE IN HOLDING LOCATION JSB OUTPU AND PUNCH IT JSB FLOPP FLIP-FLOP THE CHARACTER JSB OUTPU AND PUNCH IT LDA SPADH GET THE CHARACTER ADA NEG.1 SUBTRACT A ONE SZA FULLY DECREMENTED? JMP T.RY3 NO, RUN THRU AGAIN STA SPADH YES, STORE CHARACTER AND START TRY3. JSB OUTPU INCREMENTING - PUNCH JSB FLOPP - FLOP JSB OUTPU - PUNCH LDA SPADH GET THE UN-FLOPPED CHARACTER CPA M.377 INCREMENTED TO 377? JMP .DONE YES, GET READY TO EXIT INA NO, INCREMENT THE CHARACTER STA SPADH PUT BACK IN HOLDING LOCATION JMP TRY3. AND DO IT AGAIN SPC 1 .DONE NOP JSB LEADR PUNCH A 60 FEED HOLE LEADER JMP TST02,I SPC 1 * SPC 1 OUTPU NOP OUTPUT TO PUNCH ROUTINE STA OUTP1 SAVE THE A AND B STB OUTP2 REGISTER CONTENTS LDB BIT03 Ô±þú SWR CHECK JSB SWRT,I JMP IF SET JSB PUSSR DO START-STOP ROUTINE LDB OUTP1 LDB WITH (AREG) JSB PUDVR AND PUNCH THE CHARPCTER LDA OUTP1 RESTORE THE A AND B LDB OUTP2 REGISTER CONTENTS JMP OUTPU,I * OUTP1 OCT 3 OUTP2 OCT 0 BIT03 OCT 10 * * * * SKP REST8 NOP RESET THE 8 TIME THRU COUNTER LDA ND008 RESET THE STA SPADJ TIMES 8 COUNTER JMP REST8,I AND EXIT SPC 1 * SPC 1 FLOPP NOP FLIP-FLOP AREG BITS 0-7 JSB REST8 INITIALIZE X-8 COUNTER LDA SPADH ERA FLIP FLOP THE LOWER ELB EIGHT AREG BITS ISZ SPADJ THEN JMP *-3 EXIT LDA B PUT IN AREG AND M.377 FOR AND INSTRUCTION JMP FLOPP,I * SPADH BSS 1 SPADJ BSS 1 * * * * * HED READ ALL CHARACTER COMBINATIONS * * * TEST 03 * * TEST 03 STARTS WITH THE IDENTIFICATION * AND INSTRUCTION MESSAGES: * H052 ALL CHARACTER COMBINATIONS - VERIFY * TEAR TAPE AT PUNCH, PLACE IN * READER, PRESS RUN * * USING AN INTERRUPT TYPE DRIVER FOR * READ OPERATION, THE TEST 02 GENERATED * TAPE IS READ AND PROPER PUNCHING * OPERATION IS VERIFIED. * * NO DATA BUFFER IS EMPLOYED BY TEST02 * OR TEST03, ALL THE WORK IN CHANGING * THE DATA PATTERN IS DONE BY THE SUB- * ROUTINE NAMED FLOPP WHICH USES THE * A,B,AND EXTEND REGISTERS. * * IF AN ERROR IS FOUND, THE OPERATOR MAY * CHOOSE TO ABORT THE ROUTINE. THIS CAN BE * DONE BY SETTING BIT1 TO A 1. * * * SKP TST03 EQU * SPC 1 NOP JSB BPRCK RDR AND PUNCH PRESENT? JSB MSGH,I DEF T4MSS LDA RDJSB STA RDRSC,I JSB SYNC RETURN W 1.BYTE STORED @ FIBYT & A-REG CPA M.377 COMPARE EXPECTED W ACTUAL BYTE JMP *+4 +•þú COMPARE OK. LDB M.377 LOAD EXPECTED BYTE STB SPADH & STORE IN BUFFER JSB T4ERR REPORT ERROR SPC 1 LDA M.377 HERE4 STA SPADH INITIALIZE THE HOLDING BUFFER JSB INTRD READ ROUTINE CPA SPADH VALID CHARACTER READ? JMP *+2 YES, JUMP OVER ERROR JSB JSB T4ERR NO, REPORT TO TCP JSB FLOPP FLIP-FLOP THE WORD STA SPADX AND STORE IT JSB INTRD READ ROUTINE CPA SPADX VALID READ? JMP *+2 YES, OVER ERROR JSB T4ERR NO, REPORT ERROR LDA SPADH GET UNFLOPPED CHARACTER ADA NEG.1 SUBTRACT A ONE SZA,RSS DECREMENTED TO ZERO? JMP RVRSE YES, REVERSE THE PATTERN NOW AND M.377 NO, STRIP OFF UNNECESSARY BITS JMP HERE4 AND DO AGAIN SPC 1 RVRSE STA SPADH INITIALIZE REVERSE ROUTINE JSB INTRD READ ROUTINE CPA SPADH RIGHT ONE? JMP *+2 RIGHT ON JSB T4ERR NO, REPORT ERROR JSB FLOPP FLIP-FLOP THE WORD STA SPADX SAVE THE FLOPEE JSB INTRD READ ROUTINE CPA SPADX CHARACTER READ=FLOPEE? JMP *+2 YES, JUMP OVER ERROR JSB T4ERR NO, ERROR LDA SPADH GET THE UNFLOPPED CHARACTER INA BUMP CHARACTER CPA M.377 BACK TO STARTING PATTERN? JMP *+2 JMP RVRSE NO, BACK FOR MORE CLF 0 JMP TST03,I SKP T4ERR NOP ERROR REPORT FOR THIS TEST STA TEMP4 SAVE (AREG) LDB BAD. CALLING JSB MKBUF SEQUENCE LDA SPADH AND SETUP TO MAKE LDB GOOD. AN ASCII JSB MKBUF BUFFER FOR REPORT LDB SPADH RESTORE A AND B REGISTER LDA TEMP4 CONTENTS CLF 0 INTRPT SYS OFF JSB ERMS,I REPORT TO TCP DEF ABBGM A=BAD B=GOOD MESSAGE POINTER LDB .By¯þúIT1 GIVE UP JSB SWRT,I AFTER ERROR? JMP *+2 YES, DO A P+2 JMP T4ERR,I NO, TRY AGAIN CLF 0 TURN OFF THE INTERRUPT SYSTEM JMP TST03,I AND EXIT TEST 3 * BAD. DEF ARB10 GOOD. DEF BRB10 SPC 1 * SPC 1 INTRD NOP INTERRUPT METHOD READ ROUTINE STF 0 INTERRUPT SYSTEM ON RDVR1 STC RDR,C TELL READER TO GO LDA RDRTC AND START A JSB TMRR,I TIME OUT ROUTINE CLF 0 JSB ERMS,I TIMED OUT, REPORT DEF IRDTO INT. RDR DRIVER TIME OUT JMP INTRD,I SPC 1 * SPC 1 RDDVR NOP INTERRUPTED TO HERE RDVR2 LIA RDR JMP INTRD,I EXIT * RDRTC OCT 1000 RDRSC EQU * NOP RDJSB JSB RDLNK,I * * * * * HED READ TAPE LOOP W/ DELAYS * * * TEST 04 * * TEST 04 USES A CONTINUOUS LOOP FOR * AN INPUT. THE INSTRUCTION MESSAGE * "H054 PLACE LOOP IN READER - ....." * IS OUTPUT, AND THEN THE ROUTINE WAITS * FOR THE OPERATOR TO PRESS RUN * * * WHEN THE OPERATOR STARTS THE TEST, * DELAYS BETWEEN READS CAN BE STARTED * BY SETTING BIT4 TO A 1. * * IN THE EVENT OF AN ERROR, THE TAPE * LOOP CAN BE SYNCHRONIZED TO THE * DATA BUFFER POINTER BY SETTING SWR * BIT2 TO A 1. * * THIS WILL CAUSE THE MESSAGE "H043 * RESYNC" TO BE PRINTED ON THE CONSOLE * AND THE RESYNC OPERATION WILL OCCUR. * THEN SWITCH REGISTER BIT2 SHOULD BE * RESET. * * TO EXIT TEST 04, SWITCH REGISIER * BIT0 MUST BE SET BACK TO 0. * * SKP ORG 4000B TST04 EQU * SPC 1 NOP JSB RSCHK CHECK FOR RDR CONFG. JSB MSGH,I OUTPUT MESSAGE W O HALT DEF INMS1 "PLACE LOOP IN READ, PRESS RUN" LDB BIT.0 B=000001 JSB SWRT,I JMP *+2 BIT0 NOW IS = 1 JMP *-3 STILL=0, WAIT SOME MORE JSB RESYN SET UP FOR SYNC ,nþú SPC 1 RONLY NOP INITIALIZE POINTERS & COUNTERS: LDA NEG.5 SET BLOCK READ COUNTER TO -5 STA SPADC LDA TMCST SET UP DELAY TIME STA SPADB LDA .BUFR INITIALIZE DATA POINTER TO STA SPADA IN1. LOCATION IN BUFFER JSB SYNC SYNCH.TAPE TO 1. BYTE SPC 1 NOP READS AND VERIFIES DATA LDB .SWR4 CHECK S-REG BIT 4 FOR JSB SWRT,I DESIRED DELAY JSB TIMER LDA FIBYT COMPARE FIBYT READ OF 2. BLOCK CPA SPADA,I AGAINST 1. LOC. IN BUFFER JMP *+2 JSB ERROR ISZ SPADA INCREMENT DATA BUFFER ADDRESS LDA NEG.5 STA SPADC LDA TMCST STA SPADB LDA .BUFE STA SPADA RHERE NOP LDB .SWR4 DELAY JSB SWRT,I DESIRED? JSB TIMER * TIMERS ARE INITIATED BETWEEN JSB READ * READS. IF NOT DESIRED, CPA SPADA,I * NO TIME DELAYS BETWEEN READS JMP *+2 * * JSB ERROR ISZ SPADA * * LDB .END * * CPB SPADA * * JSB SMWHR EXIT WHEN 1. LEADER AFTER BLOCK IS READ JMP RHERE RETURN WHEN READING INSIDE ANY BLOCKS JMP RHERE-2 NOP NOP SKP TIMER NOP IF CALLED, CAUSES A DELAY LDA SPADB,I GET TIMING CONSTANT JSB DELAY AND CAUSE A DELAY JMP TIMER,I THEN EXIT SPC 1 DELAY NOP STA CLOCK * THIS ISZ CLOCK * IS JMP *-1 * THE JMP DELAY,I * CLOCK SPC 1 SMWHR NOP CHECK XTHRU AND TIME TO EXIT ISZ SPADC JMP BSMF LDB BIT.0 CHECK S-REG AFTER EVERY 5 BLOCKS FOR JSB SWRT,I EXIT FORM TEST 04 JMP RONLY JMP TST04,I YES, FINISH SPC 1 BSMF ISZ SPADB NEXT TIMING CONSTANT JSB SYNC TAKE UP THE LEADER ISZ SMWHR SET UP RETURN ADDRESS JMP SMWHR,I AND RETURN T¤ þúO CALLER SPC 1 * SPC 1 ERROR NOP LDB .BAD POINTER TO BAD BITS 0&1 JSB MKBUF GO MAKE AN ASCII BUFFER LDA SPADA,I LDB .GOOD POINTER TO GOOD BITS JSB MKBUF MAKE THE GOOD MESSAGE BUFFER RDRLA LIA RDR GET THE BAD CHARACTER AGAIN LDB SPADA,I GET THE GOOD CHARACTER JSB ERMS,I OUTPUT THE MESSAGE DEF ABBGM POINTER FOR TCP LDB .SWR2 RESYNC? JSB SWRT,I JMP RSYNC JMP ERROR,I NO, EXIT SPC 1 * SPC 1 RSYNC NOP JSB MSGC,I DEF RSMSG JSB READ GET A CHARACTER SZA ZERO? JMP *-2 JSB READ YES, LOOK FOR NEXT ZERO SZA ZERO? JMP *-2 JMP RONLY * SKP .BAD DEF ARB10 .GOOD DEF BRB10 NEG.5 DEC -5 SPADC BSS 1 .BUFR DEF BUFER .BUFE DEF BUFER+1 SPADA BSS 1 SPADB BSS 1 TMCST DEF DL001 BIT.4 OCT 20 .END DEF BUFER+55 TMEND DEF DL005 CLOCK BSS 1 DL001 DEC -100 DEC -1500 DEC -500 DEC -1000 DL005 DEC -2000 .SWR2 OCT 4 .SWR4 OCT 20 BUFER OCT 377,201,125,252,333,155,066,033 OCT 204,037,340,377,127,201,102,145 OCT 132,347,030,377,132,245,030,102 OCT 044,030,201,245,102,044,030,231 OCT 044,102,201,377,252,125,250,377 OCT 000,347,122,255,211,152,235,052 OCT 367,010,167,030,245,044,333,000 * * * * * * * * HED READ TAPE LOOP - VARIABLE RECORD LENGTHS * * * TEST 05 * * TEST 05 IS SIMILIAR TO TEST 04. THE * SAME TAPE LOOP IS USED FOR READ/VERIFY * AND THE ROUTINES SHARE MANY COMMON * SUBROUTINES. * * THE MAIN DIFFERENCE IS THAT VARIABLE * RECORD LENGTHS ARE USED FOR THIS TEST * ERROR HANDLING ROUTINES AND THE * RESYNC ROUTINE ARE IDENTICAL. * * * * * SKP TST05 EQU * SPC 1 NOP JSB RSCHK CHECK FOR RDR CONFG. JSB MSGH,I DEF INMS1 TAPE LF‚þúOOP IN RDR LDB BIT.0 GET A JSB SWRT,I BIT0=1 YET JMP *+2 YES, GO ON JMP *-3 NO, WAIT SOME MORE JSB RESYN RESYNC TAPE TO FEEDHOLES JSB SYNC SYNC TAPE TO FIRST BYTE LDA .BUFR INITIALIZE THE DATA STA SPADA BUFFER POINTER LDA TMCST SET UP DELAY TIME STA SPADB SPC 1 EMSM2 LDA NEG16 INITIATE COUNTER FOR TOTAL STA BLK BLOCK LENGTH LDA LPTR. INITIATE LENGTH COUNTER OF STA PTSTR SEGMENT INSIDE BLOCK SPC 1 NBLOK LDA FIBYT BRING BACK READ BYTE LDB PTSTR,I SET UP POINTER TO STRING LENGTH STB EMSMW JSB READR COMPARE AGAINST BUFFER LDB .SWR4 CHECK S-REG TO TEST IF JSB SWRT,I DELAY IS DESIRED JSB TIMER YES, DELAY JSB READ RETURN WITH BYTE IN A-REG ISZ EMSMW INCREMENT VARIABLE REC. LENGTH COUNT JMP *-6 STA FIBYT STORE READ BYTE AWAY ISZ PTSTR INCREMENT LENTH POINTER NOP LDA BIT06 SET UP FOR 100 JSB TMRR,I MILLISECOND DELAY NOP ISZ BLK INCREM. BLOCK LENGTH COUNTER JMP NBLOK DO AGAIN JMP EMSM2 SPC 1 * SPC 1 READR NOP CPA SPADA,I AND COMPARE JMP *+2 GOOD JSB ERROR ERROR ISZ SPADA BUMP BUFFER POINTER LDA .END CHECK FOR CPA SPADA END OF BUFFER JMP RESTR END, RESET JMP READR,I NOT END, EXIT SPC 1 RESTR LDA .BUFR RESET STA SPADA BUFFER POINTER JSB SYNC TAKE UP LDB BIT.0 DONE JSB SWRT,I YES? JMP NBLOK NO, REPEAT JMP TST05,I YES, EXIT TEST SPC 1 * SPC 1 NEG16 DEC -16 BLK OCT 0 EMSMW OCT 0 LPTR. DEF N.PTR PTSTR DEF N.PTR N.PTR DEC -5 DEC -22 DEC -13 DEC -35 DEC -17 DEC -26 DEC ô+þú-4 DEC -32 DEC -10 DEC -16 DEC -23 DEC -15 DEC -24 DEC -13 DEC -19 N.LST DEC -7 * * * * * * * * HED READ-PUNCH * * * TEST 06 * * INSTRUCTION MESSAGE "H056 TURN PUNCH * ON, PRESS RUN. TO BEGIN READ, SET * BIT0 TO A 1, TO TERMINATE, SET BIT0 * TO 0" IS PRINTED ON THE CONSOLE, AND * THE ROUTINE HALTS THE COMPUTER. * * WHEN RUN IS PRESSED, THE SWITCH REGISTER * IS CHECKED TO INSURE BIT0 IS A 0. THIS IS * DONE TO PREVENT THE READ OPERATION FROM * STARTING BEFORE THE OPERATOR CAN PLACE * THE PUNCHED TAPE IN THE READER * * WHEN THE OPERATOR CHANGES SWITCH * REGISTER BIT 0 TO A 1, THE * PUNCH THEN BEGINS AN ALTERNATE SIO AND * INTERRUPT PUNCH OPERATION. THE READER * OPERATION IS SIO. * * THIS OPERATION WILL CONTINUE UNTIL BIT0 * IS RESET. THEN THE PUNCH OPERATION * CONTINUES UNTIL THE ENTIRE BUFFER IS * OUTPUT, THE MESSAGE "H057 TO COMPLETE, * TEAR TAPE - PRESS RUN" IS OUTPUT ON THE * CONSOLE, AND THE COMPUTER HALTS. THE * OPERATOR MAY THEN COMPLETE THIS ROUTINE * BY FOLLOWING THE ABOVE INSTRUCTIONS. * * * * * * * SKP TST06 EQU * SPC 1 NOP SPC 1 JSB BPRCK MAKE SURE OF PROPER CONF. JSB MSGH,I GIVE THE OPERATING DEF POMSG INSTRUCTIONS... LDA PUJSB INITIALIZE THE STA T5PSC,I PUNCH TRAP CELL CLA NOP THE STA T5RSC,I READER TRAP CELL NOP DEBUG LDB BIT.0 BIT 0 MUST JSB SWRT,I BE A ZERO OR ELSE JSB T5IEH TELL OPERATOR TO CLEAR BIT0 SPC 1 S0JMP JSB RESET JSB LEADR JSB PNCH1 OUTPUT ONE BUFFER LDB BIT.0 BEGIN READ? JSB SWRT,I IS SO, DO JMP *+2 ARROW JMP S0JMP IF NOT, TRY AGAIN SPC 1 ARROW JSB LEADR Z<:6 LDB SPAD1,I SET UP FOR INTERRUPT ISZ SPAD1 PUMTB OTB PUNCH RTSTR STF 0 AND GO INTO INTERRUPT INTPU STC PUNCH,C MODE OF PUNCHING NOP JSB SYNC TAKE UP THE LEADER JSB READ1 AND BEGIN READ OPERATION T5RDR CLC RDR LDA D1000 FINISH ROUTINE JSB TMRR,I OR ELSE NOP CLF 0 TURN OFF INTERRUPT SYSTEM JSB ERMS,I AND REPORT THAT THE PUNCH DEF P.TOM ROUTINE DID NOT FINISH. NOP DEBUG JMP TST06,I EXIT * * SKP ýR<ÿÿ ÿýcr ÿ12597-18004 1725 S 0122 TAPE READER PUNCH DIAGNOSTIC             H0101 /úþúPRST NOP CLF 0 JSB RESET LDB BIT.0 EXIT JSB SWRT,I TO JMP ARROW CCB MAKE B=ALL ONES JSB PUDVR JSB PUDVR JSB PUDVR OUTPUT A CHARACTER FOR END JSB LEADR AND A LEADR JSB MSGH,I TELL OPERATOR TO TEAR TAPE . DEF T5M1H JSB READ2 READ AND VERIFY PUNCHED TAPE JMP TST06,I * D1000 OCT 10000 T5PSC OCT 0 T5RSC OCT 0 BIT.0 OCT 1 * * * * * SPC 1 * SPC 1 T5IEH NOP THIS ROUTINE TELLS OPERATOR JSB MSGH,I TO CLEAR SW BIT0, THEN HALTS DEF INITM NOP JMP T5IEH,I SPC 1 * SPC 1 PNCH1 NOP PUNCH ROUTINE #1 LDB SPAD1 CHECK FOR POINTER CPB .END. OUT-OF-BOUNDS JMP PREST RESET POINTER LDB SPAD1,I GET THE DATA TO PUNCH ISZ SPAD1 BUMP POINTER JSB PUDVR PUNCH THE (BREG) JMP PNCH1+1 DOIT AGAIN PREST LDB BUFST RESET PUNCH STB SPAD1 POINTER JMP PNCH1,I EXIT * SPAD1 OCT 0 BUFST DEF BUF5 .END. DEF BUFND PUJSB JSB SO.SO,I SKP T5ERR NOP ERROR HANDLING ROUTINE STA T5ARS SAVE THE A AND B STB T5BRS REGISTERS FOR LATER LDB .BAD JSB MKBUF AKE THE "BAD" BUFFER NOP LDA SPAD6,I GET THE "GOOD" DATA PATTERN LDB .GOOD POINTER TO GOOD DATA BUFFER JSB MKBUF MAKE THE GOOD BUFFER NOP LDA T5ARS LDB T5BRS RESTORE THE A AND B REGISTERS NOP JSB ERMS,I REPORT THE ERROR DEF ABBGM NOP JMP T5ERR,I EXIT ROUTINE * T5BRS OCT 0 T5ARS OCT 0 SPC 1 * SPC 1 R.SET NOP LDA BUFST RESET THE STA SPAD6 RDR POINTER JMP R.SET,I SPC 1 * SPC 1 RESET NOP LDA BUFST RESET STA SPAD6 READ AND STA SPAD1 PUNCH POIN±¦þúTERS JMP RESET,I * SPAD6 OCT 0 SPC 1 * SPC 1 PINTR NOP PUNCH ROUTINE USING INTERRUPT NOP LDB SPAD1 POINTER CPB .END. OUT-OF-BOUNDS? JMP PRST YES, RESET LDB SPAD1,I NO, GET NEXT DATA ISZ SPAD1 BUMP POINTER NOP DEBUG T5PI1 OTB PUNCH T5PI2 STC PUNCH,C NOP JMP PINTR,I EXIT SKP READ1 NOP MAIN READ ROUTINE JSB R.SET INITIALIZE POINTERS, ETC SPC 1 .RD.1 LDA SPAD6 CHECK POINTER FOR CPA .END. OUT-OF-BOUNDS JMP READ1,I FINISHED, BACK TO CALLING ROUTINE JSB READ OK TO READ NOP CPA SPAD6,I READ VALID? JMP *+2 YES, PASS ERROR HALT JSB T5ERR REPORT ERROR ISZ SPAD6 BUMP POINTER NOP DEBUF JMP .RD.1 SPC 1 * SPC 1 READ2 NOP FINISH READ ROUTINE JSB SYNC TAKE UP LEADER JSB R.SET RESET POINTERS ETC SPC 1 .RD.2 LDA SPAD6 CPA .END. OUT-OF-BOUNDS JMP NDCK1 JSB READ OK TO READ NOP CPA SPAD6,I READ VALID? JMP *+2 YES, PASS ERROR HALT JSB T5ERR REPORT ERROR ISZ SPAD6 BUMP POINTER NOP DEBUF JMP .RD.2 SPC 1 * SPC 1 NDCK1 JSB READ GET NXT CHARAT CPA ENDCH ALL 1,S? JMP NDCK2 YES, DO 2ND CHECK JSB SYNC NO, READ ANOTHER BUFFER JMP READ2+2 * * * * * SKP * SPC 1 NDCK2 JSB READ GET NXT CHARACTER CPA ENDCH JMP READ2,I END FOUND, EXIT JSB ERMS,I DEF OVRUN NOP JMP *-1 * ENDCH OCT 377 SPC 5 BUF5 OCT 377,201,125,252,333,155,066,033 OCT 204,037,340,377,127,201,102,145 OCT 132,347,030,377,132,245,030,102 OCT 044,030,201,245,102,044,030,231 OCT 044,102,201,377,252,125,250,377 OCT 00IÌþú0,347,122,255,211,152,235,052 OCT 367,010,167,030,245,044,333,000 OCT 377,201,125,252,333,155,066,033 OCT 204,037,340,377,127,201,102,145 OCT 132,347,030,377,132,245,030,102 OCT 044,030,201,245,102,044,030,231 OCT 044,102,201,377,252,125,250,377 OCT 000,347,122,255,211,152,235,052 OCT 367,010,167,030,245,044,333,000 OCT 377,201,125,252,333,155,066,033 OCT 204,037,340,377,127,201,102,145 OCT 132,347,030,377,132,245,030,102 OCT 044,030,201,245,102,044,030,231 OCT 044,102,201,377,252,125,250,377 OCT 000,347,122,255,211,152,235,052 OCT 367,010,167,030,245,044,333,000 OCT 377,201,125,252,333,155,066,033 OCT 204,037,340,377,127,201,102,145 OCT 132,347,030,377,132,245,030,102 OCT 044,030,201,245,102,044,030,231 OCT 044,102,201,377,252,125,250,377 OCT 000,347,122,255,211,152,235,052 OCT 367,010,167,030,245,044,333,000 BUFND OCT 377 * HED PUNCH OUT THE LOOP * * * TEST 07 * * THE MESSAGE "H060 TO MAKE LOOP, PUNCH ON * AND RUN" IS OUTPUT, AND THE COMPUTER HALTS. * THE OPERATOR CAN MAKE A LOOP BY FOLLOWING * THESE INSTRUCTIONS. THREE ITERATIONS OF * THE DATA BUFER WILL BE OUTPUT TO THE PUNCH * * THIS TAPE CAN THEN BE MADE INTO A LOOP * USING A TAPE REPAIR PATCH, OR TRANSPARENT * TAPE. * * THIS ROUTINE WILL NOT RUN AS PART OF THE * DIAGNOSTIC, BUT CAN BE CALLED AT CONFIGURATION * TIME BY THE OPERATOR * * * * * * * SKP TST07 EQU * SPC 1 NOP JSB PSCHK WANT TO RUN TEST? JSB MSGH,I OUTPUT MSG DEF T7MSG LDA OCT.3 INITIALIZE STA R7X3C XTHRU COUNTER LDA NDN40 INITIALIZE STA R7SP1 40 COUNTER JSB R7LDR PUNCH LEADER SPC 1 * SPC 1 R7HR1 LDA NDN20 PUNCH A LEADER OF 20 STA R7SP1 FEED JSB R7LDR znþú FRAMES LDA NDN55 INITIALIZE THE STA R7SP1 XTHRU 55 LDA R7BFP SET UP THE STA R7SP2 DATA PIINTER SPC 1 * SPC 1 R7HR2 LDB R7SP2,I GET DATA WORD JSB PUDVR PUNCH IT ISZ R7SP2 BUMP POINTER ISZ R7SP1 FINISHER ONE BUFFER? JMP R7HR2 NO, GET ANOTHER WORD ISZ R7X3C YES FINISHED 3 BUFFERS? JMP R7HR1 NO, PUNCH MORE LEADER LDA NDN40 YES, INITIALIZE STA R7SP1 JSB R7LDR AND PUNCH A TRAILER JMP TST07,I EXIT SPC 1 * SPC 1 R7LDR NOP THIS ROUTINE PUNCHES CLB AN ALL ZEROS LEADER/TRAILER JSB PUDVR ISZ R7SP1 JMP *-2 JMP R7LDR,I * OCT.3 DEC -3 R7X3C OCT 0 ROUTINE 7 X3 COUNTER NDN40 DEC -40 R7SP1 OCT 0 NDN20 DEC -20 NDN55 DEC -55 R7BFP DEF BUFER R7SP2 OCT 0 HED PUNCH SWR BITS 0-7 * * * TEST 10 * * THIS UTILITY ROUTINE OUTPUTS SWITCH * REGISTER BITS 0-7 TO THE PUNCH. * THIS ROUTINE MUST BE CALLED BY THE * OPERATOR. * * * * SKP TST10 EQU * SPC 1 NOP JSB PSCHK WANT TO RUN TEST? JSB MSGH,I DEF T10MS X2 JSB SWRT,I NOP JSB PUDVR LDA B AND BIT13 SZA JMP X2 JMP TST10,I * BIT13 OCT 20000 SKP HED READER SPEED TEST * * TST11 * * TEST 11 IS THE READER SPEED TEST. IT IS ANOTHER UTILITY TEST * WHICH MAY BE SELECTED BY THE OPERATOR. THE INITIAL MESSAGE * INSTRUCTING THE OPERATOR TO SELECT A SWITCH REGISTER BIT TO * DIFFERENTIATE BETWEEN 2748/58 AND 2737 PHOTOREADERS, AND THE * PROGRAM HALTS THE COMPUTER. IF THE READER IS A 2737, BIT 5 * SHOULD BE SET TO A ONE. IF THE READER IS A 2748/58, BIT 5 * SHOULD BE SET TO A ZERO. AND RUN MUST BE PRESSED. THE READER * WILL THEN ADVANCE TAPE, AND THE PROGRAM WILL CAL?ÑþúCULATE THE * READER SPEED. IF THE SPEED IS CORRECT, THE TEST IS TERMINATED * IF A SLOW SPEED IS DETECTED, THE ERROR IS REPORTED AND THE A * REGISTER CONTAINS THE NUMBER OF ACTUAL CHARACTERS READ, THE B * REGISTER CONTAINS THE EXPECTED NUMBER OF CHARACTER. * * IF THE OPERATOR WISHES THIS TEST TO CONTINUE LONGER THAN THE * NORMAL ONE SECOND, HE MAY SET SWITCH REGISTER BIT 7 TO A ONE * PRIOR TO THE START OF TEST 11 EXECUTION. TO EXIT THIS LOOP * CONDITION, SWITCH REGISTER BIT 7 SHOULD BE SET TO A ZERO. * * * SKP TST11 EQU * SPC 1 NOP JSB RSCHK WANT TO RUN TEST? JSB MSGH,I OUTPUT INSTRUCTION MESSAGE DEF RSTM1 AND HALT. JSB FREQ,I SET CHAR/SEC CONSTANT FOR 50/60 HZ LDB BIT05 IS THE READER A JSB SWRT,I 2737? JSB RMXRT YES, GET THE 300 CPS CONSTANT LDA HPRDC NO, GET THE 500 CPS CONSTANT STA MBGTC AND PUT IN HOLD/CONSTANT LDA RSJSB PUT THE READ/COUNTER SUBROUTINE STA RSRSC,I ADDRESS IN THE RDR S.C. LDA RSTIR ESTABLISH THE BASE STA RRLNK PAGE LINK ADDRESS .TS11 CLA ZERO THE INTERRUPT STA RSICL COUNTER LOCATION. LDA OSTMC GET THE ONE SECOND CONSTANT STF INTP TURN INTSYS ON RIOA1 STC RDR,C TELL THE READER TO START UP JSB TMRR,I START TIMING CLF INTP TURN OFF THE INTERRUPT SYSTEM RIOA2 CLC RDR,C ROUTINE CLEAN-UP LDA RSICL GET THE INTERRUPT COUNT ADA MBGTC SUBTRACT THE MBG CONSTANT SSA,RSS IN READ SPEED SPEC? JMP RSEDR YES, JUMP OVER ERROR LDA RSICL GET COUNT FOR DISPLAY LDB MBGTC NO, WAS THIS THE TEST FOR CPB RXRDC THE 2737 READER? JSB ERRMX YES, REPORT 2737 SPEED SLOW JSB ERRHP NO, REPORT 2748 SPEED SLOW JSB LPCHK BIT 7=1? JMP .TS11 YES, LOOP UNTIL =0 JMP TST11,I EXIT Tç|þúHE LOOP AND ROUTINE * SPC 4 RSTIH NOP ISZ RSICL BUMP INTERRUPT COUNTER RIOA3 STC RDR,C HIT THE READER AGAIN, JMP RSTIH,I AND BACK TO THE TIMER. * RSICL OCT 0 INTERRUPT COUNT LOCATION SPC 2 RSEDR JSB MSGC,I TELL OPERATOR TEST IS DEF RSEND FINSHED, & EXIT JSB LPCHK BIT 7=1? JMP .TS11 UES LOOP JMP TST11,I NO, EXIT LOOP RMXRT NOP LDA RXRDC GET THE 2737 CONSTANT ISZ RMXRT GO PAST 2748 INSTRUCTION FETCH JMP RMXRT,I AND EXIT * RXRDC NOP CONTAINS 2737 CPS CONSTANT SPC 2 ERRMX NOP CMB,INB MAKE B POSITIVE FOR DISPLAY ISZ ERRMX BUMP PAST NEXT ERROR JSB ERMS,I REPORT THAT THE 2737 DEF RMXEM SPEED WAS TOO SLOW. JMP ERRMX,I AND EXIT SPC 2 ERRHP NOP CMB,INB MAKE B POSITIVE FOR DISPLAY JSB ERMS,I REPORT THAT THE 2748/58 DEF HPREM SPEED WAS TOO SLOW. JMP ERRHP,I SPC 2 * * HPRDC NOP CONTAINS 2748 2758/CPS CONSTANT MBGTC OCT 0 WILL CONTAIN CONSTANT FOR TIMING RSJSB JSB RRLNK,I RSRSC OCT 0 WILL = RDR S.C. AFTER CONFIG. RSTIR DEF RSTIH RDR ROUTINE POINTER OSTMC DEC 1000 ONE SECOND TIMER CONSTANT FREQ DEF ZFREQ POINTER TO FREQUENCY ROUTINE * * * * SKP SKP HED PUNCH SPEED TEST * * TST12 * * TEST 12 IS THE PUNCH SPEED TEST. LIKE THE READER SPEED TEST, * IT MUST BE SELECTED BY THE OPERATOR, AND LIKE THE READER TEST * IT REQUIRS A SWITCH REGISTER INPUT FROM THE OPERATOR TO INFORM * THE PROGRAM WHICH PUNCH IS BEING TESTED. SWITCH REGISTER BIT6 * MUST BE SET TO 1 IF THE PUNCH IS A 2753, OR SET TO 0 IF THE * PUNCH BEING TESTED IS A 2895. * AN INSTRUCTION MESSAGE IS OUTPUT INFORMING THE OPERATOR OF THE * NEED TO SET OR CLEAR BIT6, AND THE PROGRAM HALTS AWAITING THIS * INFORMATION. * * IF THE OPERATOR WISHESURþú TO EXTEND THE EXECUTION TIME OF THIS * TEST, SWITCH REGISTER BIT 7 SHOULD BE SET TO A ONE PRIOR TO * THE START OF EXECUTION. TO EXIT THIS LOOP CONDITION, SWITCH * REGISTER BIT 7 MUST BE SET TO A ZERO. * * * SKP TST12 EQU * SPC 1 NOP JSB PSCHK WANT TO RUN TEST? JSB MSGH,I OUTPUT INSTRUCTION MESSAGE DEF PSTM1 AND HALT LDB BIT06 IS THE PUNCH TO BE JSB SWRT,I TESTED A 2753? JSB TLYRT YES, GO GET THE CONSTANT LDA FCTPC NO, GET THE 2895 CONSTANT STA MBGTC AND PUT IT IN HOLDER LDA PUSUB GET JSB PUSUB INSTRUCTION STA PIOA6,I LDA PSTIR GET THE ROUNTIN4S ADDRESS STA PULNK AND PLACE IN BASE PAGE LINK .TS12 CLA ZERO THE STA PSICL COUNTER LDA FCTPC GET A NUMBER TO OUTPUT PIOA1 OTA PUNCH OUTPUT BUFFER LDA OSTMC GET THE ONE SECOND CONSTANT STF INTP INTERRUPT SYSTEM ON PIOA2 STC PUNCH,C TELL THE PUNCH TO START, JSB TMRR,I AND CONTINUE TIMING TEST. CLF INTP OFF THE INTERRUPT SYSTEM PIOA3 CLC PUNCH,C OFF PUNCH CONTROL LDA PSICL GET THE INTERRUPT COUNT ADA MBGTC SUBTRACT THE MBGT CONSTANT SSA,RSS IS THE PUNCH SPEED CORRECT? JMP PSEDR YES, OVER ERROR LDA PSICL GET COUNT FOR DISPLAY LDB MBGTC NO, GET THE SHOULD BE VALUE CPB TLYRC WAS THIS A 2753? JSB TLYER YES, REPORT ERROR JSB FCTER NO, REPORT 2895 ERROR. JSB LPCHK BIT 7=1? JMP .TS12 YES, LOOP JMP TST12,I EXIT PSEDR JSB MSGC,I REPORT SUCESSFUL SPEED TEST DEF PSEND JSB LPCHK CHECK FOR LOOP JMP .TS12 YES, LOOP UNTIL BIT7 IS CLEARED JMP TST12,I EXIT * BIT06 OCT 100 FCTPC DEC -74 PUSUB JSB PULNK,I PIOA6 OCT 0 PSTIR DEF PSTIH PSICL OCT 0 TLYRC DEC -119 PTR12 DEF BUF5 SKP TLYRT NOP LDA TLYRC „/þú GET 2753 TIME CONSTANT ISZ TLYRT OVER THE 2895 CONSTANT JMP TLYRT,I AND RETURN SPC 2 PSTIH NOP ISZ PSICL INCREMENT THE PUINT COUNTER PIOA7 OTA PUNCH PIOA4 STC PUNCH,C HIT THE PUNCH WITH ANOTHER GO JMP PSTIH,I AND BACK TO TIMER. SPC 2 TLYER NOP CMB,INB MAKE B A POSITIVE NUMBER JSB ERMS,I REPORT THE PUNCH IS DEF TLYEM TO SLOW ISZ TLYER GO PAST THE 2895 ERROR JMP TLYER,I AND EXIT. SPC 2 FCTER NOP CMB,INB MAKE B POSITIVE JSB ERMS,I REPORT 2895 OPERATION DEF FCTEM WAS TOO SLOW JMP FCTER,I EXIT SPC 2 LPCHK NOP LDB BIT07 IS BIT 7 A ONE? JSB SWRT,I IF SO, JMP LPCHK,I LOOP ISZ LPCHK IF NOT, JMP LPCHK,I EXIT * BIT07 OCT 200 P12AD OCT 0 HED 2753 STATUS TEST * * TST13 * * TEST 13 IS THE 2753 HIGH SPEED PUNCH STATUS TEST. IT CONSISTS * OF A ONE BIT CHECK. THE OPERATOR IS TOLD TO REMOVE THE TAPE * SUPPLY REEL TO FORCE AN ERROR. WHEN RUN IS PUSHED, BIT 5 * FROM THE PUNCH INTERFACE IS CHECKED TO INSURE THE ABILITY OF * THE INTERFACE DTTECTING A LOW SUPPLY REEL CONDITION. THE * OPERATOR IS THEN INSTRUCTED TO REINSTALL THE SUPPLY REEL, AND * WHEN RUN IS PRESSED, THE BIT 5 IS TESTED FOR A ZERO CONDITION * AND THE TEST IS EXITED. * * * * * * * * * SKP TST13 EQU * SPC 1 NOP JSB PSCHK WANT TO RUN TEST? JSB MSGH,I INSTRUCT THE OPERATOR TO REMOVE DEF TST1H PIOA5 LIB PUNCH GET THE PUNCH STATUS CPB BIT05 LOW TAPE STATUS? JMP *+3 YES, OVER THE ERROR JSB ERMS,I NO, TELL THE OPERATOR DEF T13EM ABOUT THE PROBLEM JSB MSGH,I INSTRUCT THE OPERATOR TO REPLACE DEF TSTH2 THE SUPPLY REEL. PIOA8 LIB PUNCH SZB,RSS JMP *+3 YES, OVER THE RERRER JSB ERMS,I ºÁþú NO, INFORM THE OPERATOR DEF T13EN OF THE PROBLEM JSB MSGC,I ANNOUNCE A SUCESSFUL TEST DEF TSTH3 TO THE OPERATOR JMP TST13,I AND EXIT SPC 5 * TST1H ASC 16,H104 2753 HIGH SPEED TAPE PUNCH ASC 6,STATUS CHECK OCT 6412 ASC 17, REMOVE SUPPLY REEL, PRESS RUN OCT 3457 BELL AND SLASH * T13EM ASC 18,E105 DID NOT DETECT LOW TAPE STATUS/ * T13EN ASC 17,E106 REPLACING SUPPLY REEL DID NOT ASC 7, CLEAR STATUS/ * TSTH2 ASC 18,H107 REPLACE SUPPLY REEL, PRESS RUN/ * TSTH3 ASC 14,H110 STATUS CHECK COMPLETE/ * * * HED 2895 MANUAL FUNCTIONS TEST * * TST14 * * TEST 14 IS A TEST OF THE MANUAL FUNCTIONS OF THE 2895 PUNCH. * THERE ARE EIGHT FUNCTIONS TO BE TESTED. EACH TEST IS STARTED * BY AN INSTRUCTION MESSAGE, TELLING THE OPERATOR WHAT TO DO. * * 'PRESS RUN' IN THE MESSAGES, REFERS TO THE COMPUTER RUN * SWITCH. * * THE EIGHT FUNCTIONS ARE: * * 1 POWER ON SWITCH. * * 2 DC ON SWITCH * * 3 TAPE FEED SWITCH * * 4 FEED HOLE SWITCH * * 5 CODE HOLE SWITCH * * 6 LOW TAPE SWITCH/INDICATOR * * 7 LOOSE TENSION ARM/ERROR INDICATOR * * 8 TIGHT TENSION ARM/ERROR INDICATOR * * * * * SKP TST14 EQU * SPC 1 NOP JSB PSCHK WANT TO RUN TEST? JSB MSGC,I TITLE DEF T14M1 MESSAGE JSB MSGH,I POWER ON SWITCH DEF TFPOM MESSAGE JSB MSGH,I DC ON SWITCH DEF TFDCM MESSAGE JSB MSGH,I TAPE FEED SWITCH DEF TFTFM MESSAGE JSB MSGH,I DEF TFFHM JSB MSGH,I CODE HOLE SWITCH DEF TFCHM MSG JSB MSGH,I REMOVE REEL DEF TFFRM JSB MSGH,I REPLACE REEL DEF TFRPM MSG JSB MSGH,I TENSION ARM LET DEF TFLEM MESSAGE. JSB MSGC,I COMPLETE DEF TFICM MESSAGE NO2EþúP JMP TST14,I EXIT THE BMC SPECIAL TEST SKP * * T14M1 ASC 16,H111 2895 MANUAL FUNCTIONS TEST/ * TFPOM ASC 16,H112 PRESS 'POWER ON'-PRESS RUN OCT 3457 BELL AND SLASH * TFDCM ASC 17,H113 PRESS 'DC ON', 'READY' SHOULD ASC 11, ILLUMINATE. PRESS RUN OCT 3457 BELL AND SLASH * TFTFM ASC 18,H114 PRESS 'TAPE FEED', SHOULD FEED ASC 11,BLANK TAPE. PRESS RUN OCT 3457 BELL AND SLASH * TFFHM ASC 18,H115 PRESS 'FEED HOLD'. SHOULD FEED ASC 16,TAPE WITH FEED HOLES. PRESS RUN OCT 3457 BELL AND SLASH * TFCHM ASC 18,H116 PRESS 'CODE HOLE'. SHOULD FEED ASC 15,FULLY PUNCHED TAPE. PRESS RUN OCT 3457 BELL AND SLASH * TFFRM ASC 17,H117 REMOVE THE TAPE SUPPLY REEL. ASC 5,PRESS RUN OCT 3457 BELL AND SLASH * TFRPM ASC 15,H120 TAPE LOW INDICATOR SHOULD ASC 16, BE ILLUMINATED. REPLACE SUPPLY OCT 6412 ASC 9, REEL. PRESS RUN OCT 3457 BELL AND SLASH * TFLEM ASC 13,H121 MOVE THE TAPE TENSION ASC 15, ARM TO MAXIMUM RIGHT AND LEFT OCT 6412 ASC 15, THE ERROR INDICATOR SHOULD ASC 15,ILLUMINATE AT THE TWO MAXIMUM OCT 6412 ASC 17, POSITIONS, AND BE EXTINGUISHED ASC 11,IN THE CENTER-PUSH RUN OCT 3457 BELL AND SLASH * TFICM ASC 18,H122 MANUAL FUNCTIONS TEST COMPLETE/ * * * HED SUBROUTINE 50/60 HZ FOR PAPER TAPE READER TEST * * THIS ROUTINE SETS UP THE CHARACTER COUNTERS * FOR OPERATION OF THE 2748/58 AND 2737 * PAPER TAPE READERS * THE CHARACTER COUNTERS WILL BE SET DIFFERENTLY * WHETHER THE READERS ARE OPERATED AT * ************* 50HZ OR 60HZ ******************** * * * ZFREQ NOP UPDATE POINTER ROUTINE LDA USSC IS IT 50HZ OR 60HZ ? SSA,RSS JMP *+7 GO TO 60HZ OPERATION * * * OPERATION AT 50HZ * * LDA HPRDD GET THE 415 CPS CONSTANT STA HPR1,I SAVE IT IN HPRDC£ B@< LDA RXRDE GET THE 250 CPS CONSTANT STA RXR1,I SAVE IT IN RXRDC LDA SAVA,I RESTORE THE A REGISTER JMP ZFREQ,I RETURN TO MAIN PROGRAM * * * OPERATION AT 60HZ * * LDA HPRDE GET THE 500 CPS CONSTANT STA HPR1,I SAVE IT IN HPRDC LDA RXRDF GET THE 300 CPS CONSTANT STA RXR1,I SAVE IT IN RXRDC LDA SAVA,I RESTORE THE A REGISTER JMP ZFREQ,I RETURN TO MAIN PROGRAM * * HPRDE DEC -498 500 CPS CONSTANT HPRDD DEC -413 415 CPS CONSTANT RXRDE DEC -248 250 CPS CONSTANT RXRDF DEC -298 300 CPS CONSTANT RXR1 DEF RXRDC 2737 CPS CONSTANT IN TEST 11 HPR1 DEF HPRDC 2748-58 CPS CONSTANT IN TEST 11 SAVA DEF ZSAVA SPC 3 FWAA EQU * SPC 3 END ñBÿÿ ÿýdt ÿ12621-18001 1532 S 0122 REC SYNC DATA SET              H0101 SþúASMB,A,B,L,T,C HED RECEIVE (ONLY) INTERFACE DIAGNOSTIC ORG 100B JMP CFGR GO TO CONFIGURATION TTY.I BSS 1 TAPE INPUT TTY.O BSS 1 LIST OUTPUT TTY.P BSS 1 PUNCH OUTPUT TTY.K BSS 1 KEYBOARD INPUT DEF FWAM FIRST WORD AVAILABLE MEMORY ORG 126B OCT 103012 DSN BSS 1 EXRTN DEF RETR SKP * A EQU 0 B EQU 1 CH EQU 10B FERC ABS -FER FER DEF *+1 ERROR NUMBER TABLE DEF E1 DEF E2 DEF E3 DEF E4 DEF E5 DEF E6 DEF E10 DEF E12 DEF E13 DEF E14 DEF E15 DEF E16 DEF E21 DEF E22 DEF E23 DEF E24 DEF E25 DEF E31 DEF E32 DEF E33 DEF E34 DEF E35 DEF E41 DEF E42 DEF E43 DEF E44 DEF E50 DEF E51 DEF E53 DEF E61 DEF E67 DEF E100 DEF E106 DEF E107 DEF E125 DEF E134 DEF E137 DEF E150 DEF E151 DEF E152 DEF E153 DEF E160 DEF E161 DEF E162 LER DEF * SKP CHLT DEF * CODED HALT TABLE HLT 1 HLT 2 HLT 3 HLT 4 HLT 5 HLT 6 HLT 10B HLT 12B HLT 13B HLT 14B HLT 15B HLT 16B HLT 21B HLT 22B HLT 23B HLT 24B HLT 25B HLT 31B HLT 32B HLT 33B HLT 34B HLT 35B HLT 41B HLT 42B HLT 43B HLT 44B HLT 50B HLT 51B HLT 53B HLT 61B HLT 67B OCT 103000 HLT 100 OCT 103006 HLT 106 OCT 103007 HLT 107B OCT 103025 HLT 125 OCT 103034 HLT 134 OCT 103037 HLT 137B OCT 103050 OCT 103051 OCT 103052 OCT 103053 OCT 103060 OCT 103061 SKP zþúSPC 2 FMI DEF * MESSAGE ADDRESS TABLE DEF M1 DEF M2 DEF M3 DEF M4 DEF M5 DEF M6 DEF M10 DEF M12 DEF M13 DEF M14 DEF M15 DEF M16 DEF M21 DEF M22 DEF M23 DEF M24 DEF M25 DEF M31 DEF M32 DEF M33 DEF M34 DEF M35 DEF M41 DEF M42 DEF M43 DEF M44 DEF M50 DEF M51 DEF M53 DEF M61 DEF M67 DEF M100 DEF M106 DEF M107 DEF M125 DEF M134 DEF M137 DEF M150 DEF M151 DEF M152 DEF M153 DEF M160 DEF M161 DEF M162 SKP FML DEF * MESSAGE LENGTH TABLE DEF L1 DEF L2 DEF L3 DEF L4 DEF L5 DEF L6 DEF L10 DEF L12 DEF L13 DEF L14 DEF L15 DEF L16 DEF L21 DEF L22 DEF L23 DEF L24 DEF L25 DEF L31 DEF L32 DEF L33 DEF L34 DEF L35 DEF L41 DEF L42 DEF L43 DEF L44 DEF L50 DEF L51 DEF L53 DEF L61 DEF L67 DEF L100 DEF L106 DEF L107 DEF L125 DEF L134 DEF L137 DEF L150 DEF L151 DEF L152 DEF L153 DEF L160 DEF L161 DEF L162 SKP FIRST DEF *+1 TABLE OF SELECT CODES TO BE DEF CH0 DEF CH1 MODIFIED DEF CH2 DEF CH3 DEF CH4 DEF CH5 DEF CH6 DEF CH7 DEF CH8 DEF CH9 DEF CH10 DEF CH11 DEF CH12 DEF CH13 DEF CH14 DEF CH15 DEF CH16 DEF CH17 DEF CH18 DEF CH19 DEF CH20 DEF CH21 DEF CH22 DEF CH23 DEF CH24 DEF CH25 DEF CH26 DEF CH27 DEF CH28 DEF „þúCH29 DEF CH30 DEF CH31 DEF CH32 DEF CH33 DEF CH34 DEF CH35 DEF CH37 DEF CH38 DEF CH39 DEF CH41 DEF CH43 DEF HLTC DEF DCH LAST DEF *-1 SKP A0077 OCT 77 COMMON CONSTANTS AND SYMBOLS A0002 OCT 2 A0003 OCT 3 A0100 OCT 100 THLT OCT 106002 TRAP CELL HALT P0000 OCT 170000 P7700 OCT 177700 NSYNC OCT 223 SYNC OCT 1 NOTTP NOP SAVA NOP SAVB NOP SAVC NOP SAVD NOP SAVE NOP HLTA OCT 106000 A REG TRAP CELL HALT HLTB OCT 106001 B REG HLTC OCT 106000 SELECTED CHANNEL DCH NOP IO NOP SRP NOP CNT1 NOP * ERROR CNT2 NOP * COUNTERS SETXX NOP SWB NOP CRL OCT 2 CRI DEF *+1 OCT 6400 CARRIAGE RETURN TABL DEF *+1 DEC -2 DEC -4 DEC -8 DEC -16 DEC -32 DEC -64 DEC -128 DEC -256 AC OCT 20060 BT158 OCT 100400 PTNC NOP WD1 NOP CHCNT NOP PAR NOP CNR NOP TRW NOP BTNM NOP A0377 OCT 377 TEMPA NOP P7400 OCT 177400 P7770 OCT 177770 A0017 OCT 17 NB4 OCT 177757 NBT5 OCT 177737 MN9 DEC -9 MN8 DEC -8 SKP BP1 OCT 32000 BP2 OCT 101000 BP3 OCT 12000 BT0 OCT 1 BT4 OCT 20 BT5 OCT 40 BT6 OCT 100 BT8 OCT 400 BT9 OCT 1000 BT10 OCT 2000 BT11 OCT 4000 BT12 OCT 10000 BT13 OCT 20000 BT14 OCT 40000 BT15 OCT 100000 CW1 OCT 140010 CW2 OCT 150010 CW3 OCT 140510 CW4 OCT 140550 CW5 OCT 140450 CW6 OCT 140020 CW7 OCT 146020 CW8 OCT 144020 CW9 OCT 140220 CW10 OCT 146220 CW11 OCT 144220 CW12 OCT 140020 CW13 OCT 146020 CW14 OCT 144020 CW15 OCT 040001 CW16 OCT 141010 CW17 OCT 140037 CWX NOP SKP J1 JSB *+1,I DEF IJ1 J2 JSB *+1,I DEF IJ2 J3 JSB *+1,I DEF IJ3 J4 JSB *+1,I DEF IJ4 E26 HLT 26B E36 HLT 36B E45 HLT 45B E54 HLT 54B E62 HLT 62B E101 OCT 103001 E126 OCT îþú103026 E140 OCT 103040 TTSKI DEF TTSK INDIRECT ADDRESSES JSB1 JSB R1,I INTERRUPT ROUTINE SKP ERROR DEF ERR ADDRS DEF INTPT+1 SW09I DEF SW09 SW10I DEF SW10 SWRPI DEF SWRPT BRAI DEF BRP1 BRBI DEF BRP2 BRCI DEF BRP3 SWAI DEF SWSA SWBI DEF SWRC DELAY DEF DELY DATAI DEF DATA AS0M DEF AS0 AS1M DEF AS1 AS2M DEF AS2 MI7 DEF M7 LM7 DEF L7 MI11 DEF M11 LM11 DEF L11 MSG25 DEF G25 MSG35 DEF G35 MSG44 DEF G44 MG53A DEF G53A MG53B DEF G53B MG53C DEF G53C MG53D DEF G53D MI52 DEF M52 LM52 DEF L52 MG61 DEF G61 MI70 DEF M70 LM70 DEF L70 MI77 DEF M77 LM77 DEF L77 MG00A DEF G00A MG00B DEF G00B MG00C DEF G00C MG00D DEF G00D MI110 DEF M110 LM110 DEF L110 MG25A DEF G25A MG25B DEF G25B MG25C DEF G25C MG37A DEF G37A MG37B DEF G37B MG37C DEF G37C MI145 DEF M145 LM145 DEF L145 MI154 DEF M154 LM154 DEF L154 MI163 DEF M163 LM163 DEF L163 R1 DEF RETRN STR DEF START SML DEF SL SMI DEF SM SKP B2ASC NOP OCTAL ASCII AND A0077 LDB A BRS,BRS BRS BLF,BLF AND A0007 IOR B IOR D0060 JMP B2ASC,I A0007 OCT 7 D0060 OCT 30060 ASCII PREFIXES SPC 2 PARTY NOP STUFF PARITY MODE INTO MESSAGE STB ADRS PAR IN A, ADDRESS IN B LDB AS0M SZA JMP YE LDA B,I NO PARITY YA STA ADRS,I INB LDA B,I ISZ ADRS STA ADRS,I JMP PARTY,I EXIT YE CPA A0002 JMP YO LDB AS1M EVEN PARITY LDA B,I JMP YA YO LDB AS2M ODD PARITY LDA B,I JMP YA ADRS NOP SPC 2 SWR NOP LIA 1 JMP SWR,I SPC 2 OTACH NOP CH15 OTA CH JMP OTACH,I SPC 1 LIACH NOP CH16 LIA CH JMP LIACH,I HED CONFIGURATION PROGRAM - RECEIVE INTERFACE DIAGNOSTIC ORG 1744B CFGR CLC 0,C CONFIGURATION ROUTINE LIA 1 SW REG ANYþúD A0077 ADA MN8 SSA,RSS SC > 7 ? JMP *+3 E73 HLT 73B SELECT CODE INPUT ERROR JMP CFGR LIA 1 AND A0077 STA IO LDB FIRST MODIFY I/O INSTRUCTIONS STB SRP L LDB SRP,I LDA B,I AND P7700 IOR IO STA B,I CPB LAST,I FINISHED? JMP *+3 YES ISZ SRP JMP L CLA LDB 112B SZB,RSS CCA STA NOTTP TELEPRINTER AVAILABLE BIT H74 HLT 74B **END OF CONFIGURATION** HED INITIALIZATION PROGRAM - RECEIVE INTERFACE DIAGNOSTIC START CLC 0,C TURN EVERYTHING OFF LDB A0002 TRAP CELL LOCATION LDA THLT TRAP CELL HALT STA B,I INB INA CPB A0100 TRAP CELL HALTS COMPLETE? RSS YES JMP *-5 NO, REPEAT JSB SW09I,I OMIT START MESSAGE? RSS NO JMP BI/O YES JSB TTSKI,I LDA CRL LDB CRI JSB TTY.O,I OUTPUT CR,LF JSB TTSKI,I LDA SML LDB SMI JSB TTY.O,I START DATA SET DIAGNOSTIC JMP BI/O HED BI/O - BASIC I/O - RECEIVE INTERFACE DIAGNOSTIC * TEST ABILITY TO SET AND CLEAR THE CHANNEL FLAG SPC 2 BI/O CLC 0,C CLF 0 LDA CW1 MASTER CLEAR - 140010 JSB OTACH CLEAR SP CHAR, ERROR JSB DELAY,I JSB LIACH AND P7400 SZA,RSS STATUS = 0? JMP HT YES STA SAVA NO, REPORT ERROR CLB STB SAVB LDB MSG25 JSB DATAI,I LDA E26 JSB BRAI,I RTN *+2 IF NO TTP SELECTED E25 JSB ERROR,I * STATUS NOT = 0 HT LDA HLTA TRAP CELL HALTS LDB HLTB CH0 STF CH CH1 CLF CH CLEAR CHANNEL FLAG CH2 SFS CH RSS ** CLF DID NOT CLEAR FLAG OR SFS E1 JSB ERROR,I CAUSED SKIP WITH FLAG CLEAR CH7 CLF CH CH3 SFC CH E2 JSB ERROR,I * SFC NO SøVþúKIP WITH FLAG CLEAR CH4 STF CH CH5 SFC CH RSS ** STF DID NOT SET FLAG OR SFC E3 JSB ERROR,I CAUSED SKIP WITH FLAG SET CH10 STF CH CH6 SFS CH E4 JSB ERROR,I * SFS NO SKIP WITH FLAG SET CH18 STF CH CH19 CLC CH,C CH20 SFC CH * ERROR = CLC CH,C DID NOT CLEAR E24 JSB ERROR,I * FLAG OR SFC DID NOT SKIP SKP * TEST ABILITY TO ENABLE AND DISABLE INTERRUPT SYSTEM SPC 2 STF 0 ENABLE INTS CLF 0 DISABLE INTS SFS 0 IS INTERRUPT SYSTEM ON? RSS NO E17 HLT 17B * CLF 0 DID NOT DISABLE INTS OR CLF 0 * SFS 0 CAUSED BAD SKIP SFC 0 IS INT SYSTEM ON? E20 HLT 20B * CLF 0 DID NOT DISABLE INTS OR STF 0 * SFC 0 CAUSED BAD SKIP SFC 0 IS INT SYSTEM ON? RSS YES E21 JSB ERROR,I * STF 0 DID NOT ENABLE INTS OR STF 0 * SFC 0 CAUSED BAD SKIP SFS 0 IS INT SYSTEM ON? E22 JSB ERROR,I * STF 0 DID NOT ENABLE INTS OR CLF 0 * SFS 0 CAUSED BAD SKIP SKP * TEST INTERRUPT CAPABILITY SPC 2 LDA JSB1 SET INTERRUPT TRAP CELL STA DCH,I LDA HLTA TRAP CELL HALTS LDB HLTB CH8 STC CH SET CHANNEL TO REQUEST CH9 STF CH AN INTERRUPT STF 0 ENABLE INTERRUPTS STC 1 * INTERRUPTS STF 1 SHOULD CLC 1 BE CLF 1 DELAYED JMP *+1,I UNTIL DEF *+1 . JSB *+1,I . DEF *+1 . NOP . INTPT NOP * HERE E5 JSB ERROR,I * DID NOT INTERRUPT JMP TCR SPC 1 RETRN NOP INTERRUPT SUBROUTINE CLF 0 DISABLE INTERRUPTS LDA J1 IJ1 INTERRUPT ROUTINE STA DCH,I STF 0 TEST INTERRUPT ACKNOWLEDGE NOP * SHOULD NOT NOP ‘eþú INTERRUPT HERE CLF 0 DISABLE INT LDA RETRN DID INTERRUPT OCCUR AT THE CPA ADDRS CORRECT MEM LOCATION? RSS E6 JSB ERROR,I * RETURN ADDRESS IS INCORRECT STB RETRN CHANGE RETRN JMP TCR SPC 1 IJ1 NOP CLF 0 E14 JSB ERROR,I * INTERRUPT ACKNOWLEDGE DID NOT JMP GOOD * WORK. TEST ABORTED SKP * TEST CONTROL RESET SPC 2 TCR LDA J2 IJ2 INTERRUPT ROUTINE STA DCH,I LDA HLTA LDB HLTB CH11 STC CH SET CONTROL CH12 STF CH CLC 0 SHOULD CLEAR ALL CONTROL BITS STF 0 ENABLE NOP ** SHOULD NOT NOP INTERRUPT HERE CLF 0 DISABLE INTS TCR2 LDA J4 STA DCH,I IJ4 INTERRUPT ROUTINE LDA HLTA LDB HLTB CH33 STC CH CH34 STF CH CH17 CLC CH CLEAR CHANNEL CONTROL BIT STF 0 ENABLE INTS NOP ** SHOULD NOT NOP INTERRUPT HERE CLF 0 JMP PRSET SPC 1 IJ2 NOP CLF 0 E15 JSB ERROR,I * CLC 0 DID NOT CLEAR CONTROL JMP TCR2 * FLIP-FLOP IJ4 NOP CLF 0 E23 JSB ERROR,I * CLC 0 ON CHANNEL DID NOT CLEAR JMP PRSET * CONTROL FLIP-FLOP SKP * PRESET TEST SPC 2 PRSET JSB SW10I,I OMIT TEST? RSS NO JMP GOOD YES JSB TTSKI,I LDA LM7 LDB MI7 JSB TTY.O,I LDA HLTA LDB HLTB CH13 STC CH,C SET CONTROL, CLEAR FLAG STF 0 ENABLE INTS H7 HLT 7 ** PRESS PRESETS, THEN PRESS RUN CH14 SFS CH IS FLAG SET? JMP *+4 NO SFC 0 YES, IS INT SYSTEM DISABLED? E12 JSB ERROR,I * PRESET DID NOT DISABLE INTS JMP CL YES SFC 0 JMP E13 E10 JSB ERROR,I * PRESET DID NOT SET FLAG JMP GOOD E13 JSB ERROR,I * PRESET DID NOT SET FLAG AND JMè®þúP GOOD * DID NOT DISABLE INTS CL LDA J3 IJ3 INTERRUPT ROUTINE STA DCH,I CHECK FOR A CLC 0 BY PRESET LDA HLTA LDB HLTB STF 0 ENABLE INTS NOP SHOULD NOT INTERRUPT HERE NOP CLF 0 JMP GOOD SPC 1 IJ3 NOP CLF 0 E16 JSB ERROR,I * PRESET DID NOT CLEAR CONTROL SPC 1 GOOD CLC 0,C TURN EVERYTHING OFF LDA HLTC STA DCH,I RESET TRAP CELL HALT JSB SWAI,I CONTINUE AUTOMATIC? JMP EBIO YES JSB TTSKI,I RUN SEMI-AUTO LDA LM11 LDB MI11 JSB TTY.O,I LIST H11 HLT 11B END BI/O EBIO JSB SWBI,I RECYCLE TEST? JMP BI/O YES, REPEAT JMP FCTST NO, EXIT HED FCTST - FUNCTION-STATUS - RECEIVE INTERFACE DIAGNOSTIC FCTST NOP TST1 LDA CW2 150010 SET CD JSB OTACH JSB DELAY,I JSB LIACH AND BT11 CE,CD = 1? SZA,RSS E31 JSB ERROR,I * CD,CE NOT 1 CH21 CLF CH CH22 SFS CH FLAG SHOULD BE SET (AGAIN) BY CE E32 JSB ERROR,I * FLAG NOT SET SPC 2 TST2 LDA CW1 140010 RESET CD JSB OTACH . JSB DELAY,I JSB LIACH AND BT11 SZA CD,CE = 0? E33 JSB ERROR,I * NOT ZERO CH23 CLF CH CH24 SFC CH FLAG SHOULD STAY CLEAR E34 JSB ERROR,I * FLAG NOT CLEAR SPC 2 TST3 LDA CW3 140510 SET SA JSB OTACH STATUS FLAGS ENABLED JSB DELAY,I JSB LIACH AND BP1 CPA BP3 CF,SA,BB = 1; CC,TEST = 0? JMP CH25 YES STA SAVA NO, REPORT ERROR LDB BP3 STB SAVB LDB MSG35 JSB DATAI,I LDA E36 JSB BRAI,I RTN *+2 IF NO TTP SELECTED E35 JSB ERROR,I * STATUS ERROR CH25 CLF CH CH26 SFS CH FLAG SHOULD BE SET (AGAIN) BY CC E41 JSB ERROR,I * FLAG NOT SET SPC 2 TST4 LDA CW4 140550 SET TEST JSB OTACH šþúJSB DELAY,I JSB LIACH AND BT13 SZA,RSS CC,TEST = 1? E42 JSB ERROR,I * STATUS ERROR BIT 13 CH27 CLF CH CH28 SFC CH FLAG SHOULD STAY CLEAR E43 JSB ERROR,I * FLAG SHOULD BE CLEAR SPC 2 TST5 LDA CW5 140450 RESET SA JSB OTACH JSB DELAY,I JSB LIACH AND BP1 CPA BT13 CF,SA,BB = 0; TEST = 1? JMP CH29 YES STA SAVA NO, REPORT ERROR LDB BT13 STB SAVB LDB MSG44 JSB DATAI,I LDA E45 JSB BRAI,I RTN *+2 IF NO TTP SELECTED E44 JSB ERROR,I * STATUS ERROR CH29 CLF CH CH30 SFS CH CF SHOULD HOLD FLAG SET E50 JSB ERROR,I * FLAG SHOULD BE SET SPC 2 TST6 LDA CW1 140010 JSB OTACH DISABLE STATUS LINE FLAGS CH31 CLF CH CH32 SFC CH FLAGS SHOULD STAY CLEAR E51 JSB ERROR,I * FLAG SET SPC 3 JSB SWAI,I CONTINUE AUTOMATIC? JMP EFCT YES JSB TTSKI,I NO LDA LM52 LDB MI52 JSB TTY.O,I H52 HLT 52B END FCTST EFCT JSB SWBI,I RECYCLE TEST? JMP FCTST YES JMP RECVP NO, EXIT HED RECVP - RECEIVE PATTERN - RECEIVE INTERFACE DIAGNOSTIC RECVP NOP LDA CW1 MASTER CLEAR - 140010 JSB OTACH JSB DELAY,I SPC 2 LDA CW6 NO PARITY RECEIVE - 140020 JSB INP RECNP JSB RCV RECEIVE ALL PATTERNS JSB SETNP FOR 8 BITS LDA MN9 OF DATA ADA CHCNT SZA JMP RECNP SPC 2 LDA CW7 ODD PARITY RECEIVE - 146020 JSB IOP RECOP JSB RCV RECEIVE ALL PATTERNS JSB SETOP FOR 7 BITS LDA MN8 OF DATA ADA CHCNT SZA JMP RECOP SPC 2 LDA CW8 EVEN PARITY RECEIVE - 144020 JSB IEP RECEP JSB RCV RECEIVE ALL PATTERNS JSB SETEP FOR 7 BITS LDA MN8 OF DATA ADA CHCNT SZÀX<:6A JMP RECEP SPC 2 JSB SWAI,I CONTINUE AUTO? JMP ESEND YES JSB TTSKI,I NO LDA LM70 LDB MI70 JSB TTY.O,I LIST H70 HLT 70B END RECVP ESEND JSB SWBI,I RECYCLE TEST? JMP RECVP YES JMP SPCHR NO, EXIT SKP RCV NOP JSB PRTY READY DATA OUT JSB SEND SEND DATA OUT AND JSB LIACH RETURN IT HERE STA TEMPA AND A0377 CPA WD1 DATA COMPARE OK? JMP CHSTT YES STA SAVE NO, REPORT ERROR LDB MG53D WORD RECEIVED JSB DATAI,I LDA WD1 STA SAVD ÊO<ÿÿ ÿýet ÿ12621-18002 1532 S 0122 REC SYNC DATA SET              H0101 Tþú LDB MG53C WORD SENT JSB DATAI,I LDA CHCNT STA SAVB IOR AC ASCII STA MG53B,I NO. OF BITS IN WORD LDA PAR STA SAVA LDB MG53A STUFF PROPER PARITY MODE INTO JSB PARTY MESSAGE LDA E54 JSB BRCI,I RTN *+2 IF NO TTP SELECTED E53 JSB ERROR,I * ERROR * CHSTT LDA TEMPA CHECK STATUS AND BT158 100400 CPA BT15 15 SHOULD BE 1, BIT 8 = 0 JMP CH37 (STATUS OK) STA SAVA REPORT STATUS ERROR LDB MG61 JSB DATAI,I LDA BT15 STA SAVB LDA E62 JSB BRAI,I RTN *+2 IF NO TTP SELECTED E61 JSB ERROR,I * STATUS ERROR CH37 SFS CH CHECK FLAG E67 JSB ERROR,I * FLAG NOT SET - ERROR ISZ CNR INCREMENT PATTERN LDA PTNC,I PATTERN COUNT ADA CNR SZA FINISHED WITH ALL PATTERNS? JMP RCV+1 NO, REPEAT JMP RCV,I YES, EXIT SKP PRTY NOP SET PARITY BIT INTO DATA LDA CNR STA WD1 LDA CHCNT CMA,INA STA CHC STA CHD LDA PAR 0 = NO, 1 = ODD, 2 = EVEN PARITY SZA,RSS JMP PRTY,I NO PARITY, EXIT CPA A0002 JMP EVN EVEN PARITY JSB PADD ODD PARITY CMA EVEN AND BT0 ALR ISZ CHD JMP *-2 IOR WD1 INCLUDE APPROPRIATE PARITY BIT STA WD1 JMP PRTY,I EVN JSB PADD JMP EVEN SPC 2 PADD NOP LDB WD1 DATA TO B CLA ADA B BRS ISZ CHC JMP *-3 JMP PADD,I PARITY BIT IN A0 CHC NOP CHD NOP SKP SEND NOP SEND BITS TO INTERFACE (RETRIEVE LDA BTNM LATER) IOR P7770 STA CHE NO. OF BITS BEFORE FINAL SET LDA BTNM CMA,INA STA CHF NO. OF BITS IN FINAL SET AND A0007 IF 8 BIT MODE SELECTED, OMIT LDB WD1 CÛþú SEND FIRST SET SZA,RSS FIRST PART AND SEND ONLY FINAL JMP CLCC CLC 0 HERE1 JSB SENDC BRS ISZ CHE JMP HERE1 CLCC CLC 0 HERE2 JSB SENDC SEND FINAL SET BRS ISZ CHF JMP HERE2 JMP SEND,I CHE NOP CHF NOP SPC 2 SENDC NOP CHARACTER IN B JSB DEL10 CH35 CLF CH LDA TRW SLB,RSS IOR BT6 DATA BIT IOR BT5 WITH CLOCK = 1 JSB OTACH AND NBT5 DATA BIT WITH CLOCK = 0 JSB OTACH JSB DEL10 JMP SENDC,I SKP INP NOP NO PARITY INITIALIZATION STA CWX CLA,INA STA CHCNT CHARACTER SIZE, START WITH 1 BIT STA BTNM BITS PLUS PARITY CLA STA PAR 0 = NO PARITY STA CNR PATTERN COUNTER = 0 LDA TABL MAX COUNT OF PATTERNS REQUIRED STA PTNC FOR DIFFERENT CHAR. SIZES LDA CHCNT CMA,INA AND A0017 IOR CWX BASIC CONTROL WORD STA TRW JMP INP,I SPC 2 IOP NOP ODD PARITY INITIALIZATION STA CWX CLA STA CNR CLA,INA STA CHCNT STA PAR 1 = ODD PARITY LDA TABL STA PTNC LDA CHCNT CMA AND A0017 IOR CWX STA TRW LDA A0002 STA BTNM JMP IOP,I SPC 2 IEP NOP EVEN PARITY INITIALIZATION JSB IOP ISZ PAR JMP IEP,I SKP SETNP NOP SET NO PARITY TABLES ISZ CHCNT ISZ PTNC CLA STA CNR LDA CHCNT CMA,INA AND A0017 IOR CWX STA TRW LDA CHCNT STA BTNM JMP SETNP,I SPC 2 SETOP EQU * SETEP NOP SET EVEN PARITY TABLES ISZ CHCNT ISZ PTNC CLA STA CNR LDA CHCNT CMA AND A0017 IOR CWX STA TRW LDA CHCNT ‹þú INA STA BTNM JMP SETEP,I SKP DEL10 NOP DELAY AT LEAST 10 MICROSECONDS NOP NOP NOP NOP NOP NOP JMP DEL10,I HED SPCHR - SPECIAL CHARACTER - RECEIVE INTERFACE DIAGNOSTIC SPCHR NOP LDA CW9 140220 - SPECIAL CHAR FLG ENABLD JSB INP SPNP JSB SPRN NO PARITY MODE JSB SETNP LDA MN9 ADA CHCNT REPEAT 8 TIMES SZA JMP SPNP SPC 2 LDA CW10 146220 - SPECIAL CHAR FLG ENABLD JSB IOP SPOP JSB SPRN ODD PARITY MODE JSB SETOP LDA MN8 ADA CHCNT REPEAT 7 TIMES SZA JMP SPOP SPC 2 LDA CW11 144220 - SPECIAL CHAR FLG ENABLD JSB IEP SPEP JSB SPRN JSB SETEP LDA MN8 ADA CHCNT REPEAT 7 TIMES SZA JMP SPEP SPC 2 LDA CW9 SET SPECIAL CHARACTER BUT SEND JSB INP DIFFERENT DATA JSB PRTY LDA WD1 JSB OTACH SET SP CHAR CMA STA WD1 JSB SEND SEND DATA JSB LIACH INPUT STATUS AND BT9 CPA BT9 IS SPECIAL CHARACTER BIT SET? E107 JSB ERROR,I * YES, REPORT ERROR * JSB SWAI,I CONTINUE AUTO? JMP SPF YES JSB TTSKI,I NO LDA LM110 LDB MI110 JSB TTY.O,I LIST H110 OCT 103010 HLT - END SPCHR SPF JSB SWBI,I RECYCLE TEST? JMP SPCHR YES JMP SYNCH NO SKP SPRN NOP JSB PRTY READY DATA LDA WD1 JSB OTACH SET DATA TO SPECIAL CHARACTER JSB SEND SEND DATA TO INTERFACE JSB LIACH RETURN DATA HERE STA TEMPA AND BP2 CPA BP2 BIT 15,9 = 1? JMP CH38 YES, CHECK FLAG STA SAVE NO, REPORT ERROR LDB MG00D JSB DATAI,I STATUS INTO MSG LDA PAR STA SAVA LDB MG00A STUFF PROPER PARITY MODE IÖ=þúNTO JSB PARTY MESSAGE LDA CHCNT NO. OF BITS STA SAVB IOR AC STA MG00B,I LDA WD1 DATA WORD STA SAVD LDB MG00C JSB DATAI,I LDA E101 JSB BRCI,I RTN *+2 IF NO TTP SELECTED E100 JSB ERROR,I * STATUS ERROR CH38 SFS CH CHECK FLAG E106 JSB ERROR,I * FLAG NOT SET ISZ CNR INCREMENT PATTERN LDA PTNC,I PATTERN COUNT ADA CNR SZA FINISHED WITH ALL PATTERNS? JMP SPRN+1 NO, REPEAT JMP SPRN,I YES, EXIT HED SYNCH - SYNC CHARACTER - RECEIVE INTERFACE DIAGNOSTIC SYNCH NOP LDA CW12 140020 - SYNC CODE FLAG ENABLED JSB INP SYNP JSB SYRN NO PARITY MODE JSB SETNP LDA MN9 ADA CHCNT REPEAT 8 TIMES SZA JMP SYNP SPC 2 LDA CW13 146020 JSB IOP SYOP JSB SYRN ODD PARITY MODE JSB SETOP LDA MN8 ADA CHCNT REPEAT 7 TIMES SZA JMP SYOP SPC 2 LDA CW14 144020 JSB IEP SYEP JSB SYRN EVEN PARITY MODE JSB SETEP LDA MN8 ADA CHCNT REPEAT 7 TIMES SZA JMP SYEP JSB SWAI,I CONTINUE AUTO? JMP SPY YES JSB TTSKI,I NO LDA LM145 LDB MI145 JSB TTY.O,I LIST H145 OCT 103045 HLT - END SYNCH SPY JSB SWBI,I RECYCLE TEST? JMP SYNCH YES JMP LOCKN NO SKP SYRN NOP JSB PRTY READY DATA LDA WD1 IOR BT14 CONTROL WORD JSB OTACH SET DATA TO SYNC CODE JSB SEND SEND DATA TO INTERFACE JSB LIACH RETURN DATA HERE SSA BIT 15 SET? JMP CH39 YES, CHECK FLAG LDA PAR NO, REPORT ERROR STA SAVA LDB MG25A STUFF PROPER PARITY MODE INTO JSB PARTY MESSAGE LDA CHCNT NO. OF BITS STA SAVB IOR AC STA MG›þú25B,I LDA WD1 DATA WORD STA SAVD LDB MG25C JSB DATAI,I LDA E126 JSB BRBI,I RTN *+2 IF NO TTP SELECTED E125 JSB ERROR,I * STATUS ERROR, BIT 15 NOT SET CH39 SFS CH CHECK FLAG E134 JSB ERROR,I * FLAG NOT SET LDA TRW AND NB4 REMOVE BIT 4 FROM CONTROL WORD STA TRW JSB SEND SEND DATA AGAIN JSB LIACH SSA,RSS IS BIT 15 SET? JMP E137+1 NO LDA PAR YES, REPORT ERROR STA SAVA LDB MG37A STUFF PROPER PARITY MODE INTO JSB PARTY MESSAGE LDA CHCNT NO. OF BITS STA SAVB IOR AC STA MG37B,I LDA WD1 DATA WORD STA SAVD LDB MG37C JSB DATAI,I LDA E140 JSB BRBI,I RTN *+2 IF NO TTP SELECTED E137 JSB ERROR,I * STATUS ERROR, BIT 15 SET. LDA TRW IOR BT4 ADD BIT 4 TO CONTROL WORD STA TRW ISZ CNR INCREMENT PATTERN LDA PTNC,I PATTERN COUNT ADA CNR SZA FINISHED WITH ALL PATTERNS? JMP SYRN+1 NO, REPEAT JMP SYRN,I YES, EXIT HED LOCKN - LOCK-ON DATA TEST - RECEIVE INTERFACE DIAGNOSTIC LOCKN NOP LDA CW15 040001 JSB OTACH SET SYNC PATTERN IN INTERFACE LDA MN8 STA CHE LDA CW16 141010 STA TRW LDB NSYNC SEND NON-SYNC PATTERN CLC 0 RPT1 JSB SENDC BRS ISZ CHE JMP RPT1 JSB LIACH GET STATUS AND BT14 CPA BT14 RSS E150 JSB ERROR,I * BIT 14 NOT SET CH41 SFC CH E151 JSB ERROR,I * FLAG SET AND SHOULD BE CLEAR CLE TRP LDA MN8 STA CHE LDB SYNC SEND 1ST SYNC PATTERN CLC 0 RPT2 JSB SENDC BRS ISZ CHE JMP RPT2 CME SEZ JMP TRP SEND 2ND SYNC PATTERN JSB LIACH INPUT STATUS AND BT14 SZA E152 JSB ERROR,I sþú * BIT 14 SET AND SHOULD BE 0 CH43 SFC CH E153 JSB ERROR,I * FLAG SET AND SHOULD BE CLEAR JSB SWAI,I CONTINUE AUTO? JMP LOC YES JSB TTSKI,I NO LDA LM154 LDB MI154 JSB TTY.O,I H154 OCT 103054 HLT - END LOCKN LOC JSB SWBI,I RECYCLE TEST? JMP LOCKN YES JMP ERRFF NO HED ERRFF - ERROR FLIP-FLOP - RECEIVE INTERFACE DIAGNOSTIC ERRFF NOP LDA CW8 EVEN PARITY RECEIVE CONTROL WORD JSB IOP ODD PARITY SETUP JSB PRTY JSB SEND SEND INCORRECT PARITY DATA TO JSB LIACH FORCE ERROR FLIP-FLOP TO SET AND BT8 SZA,RSS ERROR BIT SET? E160 JSB ERROR,I * NO, ERROR BIT NOT SET SPC 2 LDA CW7 ODD PARITY RECEIVE CONTROL WORD JSB IEP EVEN PARITY SETUP JSB PRTY JSB SEND JSB LIACH AND BT8 SZA,RSS ERROR BIT SET? E161 JSB ERROR,I * NO, REPORT ERROR IN ERROR BIT SPC 2 LDA CW17 NO PARITY, ONE BIT CHARACTER STA TRW SIZE CONTROL WORD CLC 0 JSB SENDC SEND ANY CHARACTER TWICE WITHOUT LDA TRW A CLF - THIS SHOULD FORCE THE SLB,RSS ERROR FLIP-FLOP TO SET IOR BT6 DATA BIT IOR BT5 WITH CLOCK = 1 JSB OTACH AND NBT5 DATA BIT WITH CLOCK = 0 JSB OTACH JSB DEL10 JSB LIACH GET STATUS AND BT8 SZA,RSS ERROR BIT SET? E162 JSB ERROR,I * NO, REPORT ERROR JSB SWAI,I CONTINUE AUTO? JMP ERSD YES JSB TTSKI,I NO LDA LM163 LDB MI163 JSB TTY.O,I LIST H163 OCT 103063 HLT - END ERRFF ERSD JSB SWBI,I RECYCLE TEST? JMP ERRFF YES JMP END NO, EXIT HED END - COMMON SUBROUTINES - RECEIVE INTERFACE DIAGNOSTIC END NOP JSB SW09I,I OMIT STOP MESSAGE? RSS NO JMP RETR-1 JSB TTSKI,I ã§þú LDA LM77 LDB MI77 JSB TTY.O,I TELL OPERATOR TEST IS FINISHED JMP EXRTN,I RETR JSB SWRPI,I REPEAT TEST AUTO? H77 HLT 77B NO JMP STR,I SPC 2 *** SUBROUTINES *** SPC 2 DATA 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 A0002 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 P0000 ALF JSB B2ASC CHANGE TWO MOST SIG CH TO ASCII STA DADD,I STORE FINAL TWO CHARACTERS JMP DATA,I EXIT DX BSS 1 DATA TO BE CONVERTED DADD BSS 1 ADDRESS WHERE ASCII CH MUST GO SPC 2 DELY NOP DELAYS A FEW HUNDRED MSEC CLA INA,SZA JMP *-1 JMP DELY,I SPC 2 SWEH NOP CHECK SW REG BIT 14 FOR HALT LDB SWEH ON ERRORS INB JSB SWR LDA WITH INTERNAL OR EXT SW REG AND BT14 SZA JMP B,I NO HALT - RETURN *+2 JMP SWEH,I HLT ON ERRORS - RETURN *+1 SPC 1 SWTP NOP CHECK SW REG BIT 11 FOR TTP LDB SWTP SUPPRESSED INB JSB SWR LDA WITH INTERNAL OR EXT SW REG AND BT11 SZA JMP SWTP,I TTP IS SUPPRESSED - RTN *+1 LDA NOTTP SZA JMP SWTP,I TTP NOT AVAILABLE, RTN *+1 JMP B,I NOT SUPPRESSED - RETURN *+2 SPC 1 SWRC NOP CHECK SW REG BIT 13 FOR RECYCLE LDB SWRC LAST TEST INB JSB SWR LDA WITH INTERNAL OR EXT SW REG AND BT13 SZA JMP SWRC,I RECYCLE LAST TEST - RETURN *+1 JMP B,I NO RECYCLE RETURN *+2 SP—þúC 1 SWSA NOP CHECK SW REG BIT 15 FOR HALT AT LDB SWSA END OF TEST INB JSB SWR LDA WITH INTERNAL OR EXT SW REG SSA JMP B,I RUN SEMI-AUTO - RETURN *+2 JMP SWSA,I CONTINUE AUTO - RETURN *+1 SPC 1 SWRPT NOP CHECK SW REG BIT 12 FOR HALT AT LDB SWRPT END OF DIAGNOSTIC INB JSB SWR LDA WITH INTERNAL OR EXT SW REG AND BT12 SZA,RSS JMP SWRPT,I BIT SET - RETURN *+1 AND HALT JMP B,I REPEAT TEST - RETURN *+2 SPC 2 SW09 NOP CHECK TO OMIT START AND STOP LDB SW09 MESSAGES INB JSB SWR LDA WITH INTERNAL OR EXT SW REG AND BT9 SZA,RSS OMIT MESSAGE? JMP SW09,I NO JMP B,I YES SPC 2 SW10 NOP CHECK TO OMIT PRESET AND CKFRQ LDB SW10 TESTS INB JSB SWR LDA WITH INTERNAL OR EXT SW REG AND BT10 SZA OMIT TEST? JMP SW10,I NO JMP B,I YES SPC 2 * TWO ERRORS PLUS SW REG SPC 2 BRP1 NOP ** REPORT ERROR VIA SW REG JSB INR AND A REG JMP BRP1,I RTN *+1 LDA SAVA JSB EY4R LDA SAVB JSB EY4R LDA SAVC JSB EY4R ISZ BRP1 JMP BRP1,I RETURN *+2 SPC 2 * THREE ERRORS PLUS SW REG SPC 2 BRP2 NOP ** REPORT ERROR VIA SW REG JSB INR AND A REG JMP BRP2,I RTN *+1 LDA SAVA JSB EY4R LDA SAVB JSB EY4R LDA SAVD JSB EY4R LDA SAVC JSB EY4R ISZ BRP2 JMP BRP2,I RETURN *+2 SPC 2 * FOUR ERRORS PLUS SW REG SPC 2 BRP3 NOP ** REPORT ERROR VIA SW REG JSB INR AND A REG JMP BRP3,I RTN *+1 LDA SAVA JSB EY4R LDA SAVB JSB EY4R LDA SAVD JSB EY4R LDA SAÿþúVE JSB EY4R LDA SAVC RESTORE SW REG JSB EY4R ISZ BRP3 JMP BRP3,I RETURN *+2 SPC 2 INR NOP ** RETURN *+2 IF NO STA EY4 TTP SELECTED LDA NOTTP SZA,RSS JMP INR,I RTN *+1 LIA 1 STA SAVC SAVE SW REG ISZ INR JMP INR,I RTN *+2 SPC 2 EY4R NOP ** OUTPUT TO SWITCH REGISTER OTA 1 LDB SAVC RBL SSB,RSS HALT SELECTED? EY4 HLT 0 YES ISZ EY4 JMP EY4R,I SPC 2 ERR NOP ERROR REPORTING ROUTINE CLF 0 DISABLE INTERRUPTS CCB ADB ERR LDA FER FIND ERROR NUMBER BASED ON RETRN CPB A,I ADDRESS AND TABLE JMP *+5 FOUND IT INA CPA LER END OF TABLE? JMP ERR,I YES, EXIT ERROR ROUTINE JMP *-5 CONTINUE SEARCH ADA FERC NORMALIZE NUMBER STA SETXX JSB SWTP TTP SUPPRESSED? JMP NOH YES LDA SETXX NO LDB FMI MESSAGE ADDRESS TABLE ADB A LDB B,I MESSAGE ADDRESS INTO B ADA FML LDA A,I MESSAGE LENGTH INTO A JSB TTY.O,I TYPE MESSAGE NOH ISZ CNT2 COUNT ALL ERRORS RSS ISZ CNT1 NOP LDB CHLT CODED HALT TABLE ADB SETXX LDB B,I CODED HALT IN B STB EXX JSB SWEH ERROR HALT? EXX HLT 0 YES, SO HALT JMP ERR,I SPC 2 TTSK NOP CHECKS FOR PRINTOUT SELECTION CLF 0 DISABLE INTERRUPTS LDB TTSK ADB A0003 MODIFY RETURN ADDRESS STB SWB JSB SWTP TTP SUPPRESSED? JMP SWB,I YES, SKIP PRINTOUT JMP TTSK,I NO, EXIT AND PRINT SPC 2 *** MESSAGES *** SPC 2 SUP AS0 ASC 2, NO AS1 ASC 2, ODD AS2 ASC 2,EVEN M1 ASC 17,E1. CLF DID NOT CLEAR FLAG, OR SF^þúS ASC 14, CAUSED SKIP WITH FLAG CLEAR L1 EQU *+*-M1-M1 M2 ASC 18,E2. SFC DID NOT SKIP WITH FLAG CLEAR L2 EQU *+*-M2-M2 M3 ASC 20,E3. STF DID NOT SET FLAG, OR SFC CAUSED ASC 9,SKIP WITH FLAG SET L3 EQU *+*-M3-M3 M4 ASC 17,E4. SFS DID NOT SKIP WITH FLAG SET L4 EQU *+*-M4-M4 M5 ASC 11,E5. DID NOT INTERRUPT L5 EQU *+*-M5-M5 M6 ASC 19,E6. THE RETURN ADDRESS IS NOT CORRECT L6 EQU *+*-M6-M6 M7 ASC 20,H7. PRESS INTERNAL AND EXTERNAL PRESET, ASC 07,THEN PRESS RUN L7 EQU *+*-M7-M7 M10 ASC 18,E10. EXTERNAL PRESET DID NOT SET THE ASC 03, FLAG L10 EQU *+*-M10-M10 M11 ASC 7,H11. END BI/O L11 EQU *+*-M11-M11 M12 ASC 18,E12. INTERNAL PRESET DID NOT DISABLE ASC 06, INTERRUPTS L12 EQU *+*-M12-M12 M13 ASC 19,E13. EXTERNAL PRESET DID NOT SET FLAG OCT 6412 ASC 18,AND INTERNAL PRESET DID NOT DISABLE ASC 05,INTERRUPTS L13 EQU *+*-M13-M13 M14 ASC 17,E14. INTERRUPT ACKNOWLEDGE DID NOT ASC 10, WORK. TEST ABORTED. L14 EQU *+*-M14-M14 M15 ASC 16,E15. CLC 0 DID NOT CLEAR CONTROL ASC 5, FLIP-FLOP L15 EQU *+*-M15-M15 M16 ASC 17,E16. EXTERNAL PRESET DID NOT CLEAR ASC 04, CONTROL L16 EQU *+*-M16-M16 M21 ASC 16,E21. STF 0 OR SFC 0 DID NOT WORK L21 EQU *+*-M21-M21 M22 ASC 16,E22. STF 0 OR SFS 0 DID NOT WORK L22 EQU *+*-M22-M22 M23 ASC 17,E23. CLC ON CHANNEL DID NOT CLEAR ASC 4,CONTROL L23 EQU *+*-M23-M23 M24 ASC 20,E24. CLC CH,C DID NOT CLEAR FLAG OR SFC ASC 14,DID NOT SKIP WITH FLAG CLEAR L24 EQU *+*-M24-M24 M25 ASC 11,E25. STATUS BITS ARE G25 ASC 14,XXXXXX AND SHOULD BE 000000 L25 EQU *+*-M25-M25 M31 ASC 19,E31. INCORRECT STATUS. BIT 11 NOT SET L31 EQU *+*-M31-M31 M32 ASC 9,E32. FLAG NOT SET L32 EQU *+*-M32-M32 M33 ASC 17,E33. INCORRECT STATUS. BIT 11 SET L33 EQU *+*-M33-M33 M34 ASC 17,E34. FLAG SET AND SHOULD BE CLEAR L34 EQU *+*-M34-M34 M35 ASC 11,E35. STj>þúATUS BITS ARE G35 ASC 14,XXXXXX AND SHOULD BE 012000 L35 EQU *+*-M35-M35 M41 ASC 9,E41. FLAG NOT SET L41 EQU *+*-M41-M41 M42 ASC 19,E42. INCORRECT STATUS. BIT 13 NOT SET L42 EQU *+*-M42-M42 M43 ASC 17,E43. FLAG SET AND SHOULD BE CLEAR L43 EQU *+*-M43-M43 M44 ASC 11,E44. STATUS BITS ARE G44 ASC 14,XXXXXX AND SHOULD BE 020000 L44 EQU *+*-M44-M44 M50 ASC 9,E50. FLAG NOT SET L50 EQU *+*-M50-M50 M51 ASC 17,E51. FLAG SET AND SHOULD BE CLEAR L51 EQU *+*-M51-M51 M52 ASC 7,H52. END FCTST L52 EQU *+*-M52-M52 M53 ASC 18,E53. ERROR IN RECEIVE PATTERN TEST. G53A ASC 13,XXXX PARITY MODE SELECTED, OCT 6412 ASC 9,CHARACTER SIZE IS G53B ASC 14,XX BITS, WORD RECEIVED WAS G53D ASC 11,XXXXXX AND SHOULD BE OCT 6412 G53C ASC 3,XXXXXX L53 EQU *+*-M53-M53 M61 ASC 17,E61. STATUS ERROR IN RECEIVE TEST. ASC 5, STATUS IS OCT 6412 G61 ASC 14,XXXXXX AND SHOULD BE 100000 L61 EQU *+*-M61-M61 M67 ASC 19,E67. FLAG NOT SET AFTER RECEIVE CYCLE L67 EQU *+*-M67-M67 M70 ASC 7,H70. END RECVP L70 EQU *+*-M70-M70 M77 ASC 17,H77. DIAGNOSTIC HAS BEEN COMPLETED L77 EQU *+*-M77-M77 SM ASC 12,H8. START RECEIVE (ONLY) ASC 11, INTERFACE DIAGNOSTIC SL EQU *+*-SM-SM M100 ASC 20,E100. ERROR IN SPECIAL CHARACTER TEST. G00A ASC 13,XXXX PARITY MODE SELECTED, OCT 6412 ASC 9,CHARACTER SIZE IS G00B ASC 11,XX BITS, DATA WORD IS G00C ASC 13,XXXXXX. STATUS RECEIVED IS OCT 6412 G00D ASC 14,XXXXXX AND SHOULD BE 101000 L100 EQU *+*-M100-M100 M106 ASC 16,E106. FLAG NOT SET AFTER SPECIAL ASC 8, CHARACTER TEST L106 EQU *+*-M106-M106 M107 ASC 17,E107. SPECIAL CHARACTER BIT IS SET L107 EQU *+*-M107-M107 M110 ASC 8,H110. END SPCHR L110 EQU *+*-M110-M110 M125 ASC 19,E125. ERROR IN SYNC CODE TEST. BIT 15 ASC 6,IS NOT SET. G25A ASC 8,XXXX PARITY MODE OCT 6412 ASC 14,SELECTED, CHARACTER SIZE IS G25B ASC 11,XX BITS, DATA WORD LHFBIS G25C ASC 4,XXXXXX. L125 EQU *+*-M125-M125 M134 ASC 20,E134. FLAG NOT SET AFTER SYNC CODE TEST L134 EQU *+*-M134-M134 M137 ASC 19,E137. ERROR IN SYNC CODE TEST. BIT 15 ASC 4,IS SET. G37A ASC 13,XXXX PARITY MODE SELECTED, OCT 6412 ASC 9,CHARACTER SIZE IS G37B ASC 11,XX BITS, DATA WORD IS G37C ASC 4,XXXXXX. L137 EQU *+*-M137-M137 M145 ASC 8,H145. END SYNCH L145 EQU *+*-M145-M145 M150 ASC 10,E150. BIT 14 NOT SET L150 EQU *+*-M150-M150 M151 ASC 17,E151. FLAG SET AND SHOULD BE CLEAR L151 EQU *+*-M151-M151 M152 ASC 18,E152. BIT 14 SET AND SHOULD BE CLEAR L152 EQU *+*-M152-M152 M153 ASC 17,E153. FLAG SET AND SHOULD BE CLEAR L153 EQU *+*-M153-M153 M154 ASC 8,H154. END LOCKN L154 EQU *+*-M154-M154 M160 ASC 18,E160. ERROR BIT 8 NOT SET WITH EVEN OCT 6412 ASC 20,PARITY CONTROL WORD AND ODD PARITY DATA L160 EQU *+*-M160-M160 M161 ASC 17,E161. ERROR BIT 8 NOT SET WITH ODD ASC 10, PARITY CONTROL WORD OCT 6412 ASC 10,AND EVEN PARITY DATA L161 EQU *+*-M161-M161 M162 ASC 20,E162. ERROR BIT 8 NOT SET WITH TWO DATA OCT 6412 ASC 17,TRANSFERS WITHOUT A CLF ON CHANNEL L162 EQU *+*-M162-M162 M163 ASC 8,H163. END ERRFF L163 EQU *+*-M163-M163 FWAM EQU * FIRST WORD AVAILABLE MEMORY END õHÿÿ ÿýfw ÿ12622-18001 1532 S 0122 SEND SYNC DATA SET              H0101 /UþúASMB,A,B,L,C HED SEND (ONLY) INTERFACE DIAGNOSTIC ORG 100B JMP CFGR GO TO CONFIGURATION TTY.I BSS 1 TAPE INPUT TTY.O BSS 1 LIST OUTPUT TTY.P BSS 1 PUNCH OUTPUT TTY.K BSS 1 KEYBOARD INPUT DEF FWAM FIRST WORD AVAILABLE MEMORY ORG 126B OCT 103013 DSN BSS 1 EXRTN DEF H77-1 SKP A EQU 0 B EQU 1 CH EQU 10B FERC ABS -FER FER DEF *+1 ERROR NUMBER TABLE DEF E0 DEF E1 DEF E2 DEF E3 DEF E4 DEF E5 DEF E6 DEF E10 DEF E12 DEF E13 DEF E14 DEF E15 DEF E16 DEF E21 DEF E22 DEF E23 DEF E24 DEF E30 DEF E31 DEF E32 DEF E33 DEF E34 DEF E40 DEF E41 DEF E43 DEF E44 DEF E53 DEF E61 DEF E70 DEF E120 DEF E167 DEF E200 DEF E201 DEF E202 DEF E203 DEF E204 DEF E205 DEF E206 DEF E207 DEF E210 DEF E211 DEF E212 DEF E213 DEF E214 DEF E215 DEF E216 DEF E217 DEF E220 DEF E221 DEF E222 DEF E223 DEF E224 DEF E225 DEF E226 DEF E227 DEF E230 DEF E231 DEF E232 DEF E233 LER DEF * SKP CHLT DEF * CODED HALT TABLE HLT 0 HLT 1 HLT 2 HLT 3 HLT 4 HLT 5 HLT 6 HLT 10B HLT 12B HLT 13B HLT 14B HLT 15B HLT 16B HLT 21B HLT 22B HLT 23B HLT 24B HLT 30B HLT 31B HLT 32B HLT 33B HLT 34B HLT 40B HLT 41B HLT 43B HLT 44B HLT 53B HLT 61B HLT 70B OCT 107020 OCT 107067 OCT 103000 OCT 103001 OCT 103002 OCT 103003 SLþú OCT 103004 OCT 103005 OCT 103006 OCT 103007 OCT 103010 OCT 103011 OCT 103012 OCT 103013 OCT 103014 OCT 103015 OCT 103016 OCT 103017 OCT 103020 OCT 103021 OCT 103022 OCT 103023 OCT 103024 OCT 103025 OCT 103026 OCT 103027 OCT 103030 OCT 103031 OCT 103032 OCT 103033 SKP FMI DEF * MESSAGE ADDRESS TABLE DEF M0 DEF M1 DEF M2 DEF M3 DEF M4 DEF M5 DEF M6 DEF M10 DEF M12 DEF M13 DEF M14 DEF M15 DEF M16 DEF M21 DEF M22 DEF M23 DEF M24 DEF M30 DEF M31 DEF M32 DEF M33 DEF M34 DEF M40 DEF M41 DEF M43 DEF M44 DEF M53 DEF M61 DEF M70 DEF M120 DEF M167 DEF M200 DEF M201 DEF M202 DEF M203 DEF M204 DEF M205 DEF M206 DEF M207 DEF M210 DEF M211 DEF M212 DEF M213 DEF M214 DEF M215 DEF M216 DEF M217 DEF M220 DEF M221 DEF M222 DEF M223 DEF M224 DEF M225 DEF M226 DEF M227 DEF M230 DEF M231 DEF M232 DEF M233 SKP FML DEF * MESSAGE LENGTH TABLE DEF L0 DEF L1 DEF L2 DEF L3 DEF L4 DEF L5 DEF L6 DEF L10 DEF L12 DEF L13 DEF L14 DEF L15 DEF L16 DEF L21 DEF L22 DEF L23 DEF L24 DEF L30 DEF L31 DEF L32 DEF L33 DEF L34 DEF L40 DEF L41 DEF L43 DEF L44 DEF L53 DEF L61 DEF L70 DEF L120 DEF L167 DEF L200 DEF L201 DEF L202 DEF L203 DEF L204 DEF ´aþúL205 DEF L206 DEF L207 DEF L210 DEF L211 DEF L212 DEF L213 DEF L214 DEF L215 DEF L216 DEF L217 DEF L220 DEF L221 DEF L222 DEF L223 DEF L224 DEF L225 DEF L226 DEF L227 DEF L230 DEF L231 DEF L232 DEF L233 SKP FIRST DEF *+1 TABLE OF SELECT CODES TO BE DEF CH0 DEF CH1 MODIFIED DEF CH2 DEF CH3 DEF CH4 DEF CH5 DEF CH6 DEF CH7 DEF CH8 DEF CH9 DEF CH10 DEF CH11 DEF CH12 DEF CH13 DEF CH14 DEF CH15 DEF CH16 DEF CH17 DEF CH18 DEF CH19 DEF CH20 DEF CH21 DEF CH22 DEF CH23 DEF CH24 DEF CH25 DEF CH26 DEF CH27 DEF CH28 DEF CH29 DEF CH30 DEF CH31 DEF CH33 DEF CH34 DEF HLTC DEF DCH LAST DEF *-1 SKP A0077 OCT 77 COMMON CONSTANTS AND SYMBOLS A0002 OCT 2 A0003 OCT 3 A0100 OCT 100 THLT OCT 106002 TRAPCELL HALT P0000 OCT 170000 P7700 OCT 177700 NOTTY NOP SAVA NOP SAVB NOP SAVC NOP SAVD NOP SAVE NOP HLTA OCT 106000 A REG TRAP CELL HALT HLTB OCT 106001 B REG HLTC OCT 106000 SELECTED CHANNEL DCH NOP IO NOP SRP NOP CNT1 NOP * ERROR CNT2 NOP * COUNTERS SETXX NOP SWB NOP CRL OCT 2 CRI DEF *+1 OCT 6400 CARRIAGE RETURN DIN NOP SNA NOP SNB NOP P7760 OCT 177760 MSK1 OCT 140000 MN11 DEC -11 TABL DEF *+1 DEC -2 DEC -4 DEC -8 DEC -16 DEC -32 DEC -64 DEC -128 DEC -256 AC OCT 20060 PTNC NOP WD1 NOP CHCNT NOP PAR NOP CNR NOP TRW NOP BTNM NOP A0017 OCT 17 MN8 DEC -8 SKP BT0 OCT 1 BT1 OCT 2 BT2 OCT 4 BT3 OCT 10 BT4 OCT 20 BT5 OCT 40 BT6 OCT 100 .-þú BT7 OCT 200 BT8 OCT 400 BT9 OCT 1000 BT10 OCT 2000 BT11 OCT 4000 BT12 OCT 10000 BT13 OCT 20000 BT14 OCT 40000 BT15 OCT 100000 NBT7 OCT 177577 MSK2 OCT 66001 MSK3 OCT 46000 MSK4 OCT 14001 MSK5 OCT 1017 MSK6 OCT 60000 SYNCH OCT 040001 CW1 OCT 160010 CW2 OCT 150610 CW3 OCT 150017 CW4 OCT 150410 CW5 OCT 156016 CW6 OCT 150010 CW7 OCT 154016 CW8 OCT 151017 CW9 OCT 157016 CW10 OCT 155016 CW11 OCT 150014 SEND, AUTO ON CW12 OCT 140014 RCVE, AUTO ON CW13 OCT 151014 SEND, AUTO OFF CW14 OCT 141014 RCVE, AUTO OFF CW15 OCT 140610 CWX NOP CWXX NOP SKP TSNC1 OCT 14 TSNC2 OCT 17 TSNC3 OCT 0 TSYNC OCT 040014 TDATA OCT 3 SNBB NOP P7774 OCT 177774 P7776 OCT -2 DFLAG NOP ASDT DEF ASDTA MG0A DEF M0A MG0B DEF M0B JSB1 JSB R1,I INTERRUPT ROUTINE R1 DEF RETRN ADDRS DEF INTPT+1 STR DEF START SML DEF SL SMI DEF SM J1 JSB *+1,I DEF IJ1 J2 JSB *+1,I DEF IJ2 J3 JSB *+1,I DEF IJ3 J4 JSB *+1,I DEF IJ4 J5 JSB *+1,I DEF IJ5 E25 HLT 25B E35 HLT 35B E45 HLT 45B E54 HLT 54B E62 HLT 62B E121 OCT 107021 E170 OCT 107070 SKP AS0M DEF AS0 AS1M DEF AS1 AS2M DEF AS2 MI7 DEF M7 LM7 DEF L7 MI11 DEF M11 LM11 DEF L11 MG44A DEF G44A MG44B DEF G44B MG53A DEF G53A MG53B DEF G53B MG53C DEF G53C MG53D DEF G53D MI52 DEF M52 LM52 DEF L52 MI65 DEF M65 LM65 DEF L65 MG67A DEF G67A MG67B DEF G67B MG67C DEF G67C MG67D DEF G67D MI77 DEF M77 LM77 DEF L77 MG20A DEF G20A MG20B DEF G20B MG20C DEF G20C MG20D DEF G20D MG33A DEF G33A MG33B DEF G33B MG61A DEF G61A MG61B DEF G61B MI140 DEF M140 LM140 DEF L140 MI176 DEF M176 LM176 DEF L176 LM270 DEF L270 MI270 DEF M270 SKP *** SUBROUTINES *** SPC 2 DATA NOP CHANGE DATA IN A TO ASCII AND STA DX STORE IN LOCATION IN B STB DADD JSB B2ASC CH'‘þúANGE TWO LEAST SIG CH TO ASCII LDB DADD ADB A0002 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 P0000 ALF JSB B2ASC CHANGE TWO MOST SIG CH TO ASCII STA DADD,I STORE FINAL TWO CHARACTERS JMP DATA,I EXIT DX BSS 1 DATA TO BE CONVERTED DADD BSS 1 ADDRESS WHERE ASCII CH MUST GO SPC 2 B2ASC NOP CONVERT 2 LEASE SIGNIFICANT AND A0077 DIGITS (IN A) TO ASCII AND LDB A RETURN WITH OCTAL ASCII'S IN A BRS,BRS BRS BLF,BLF AND A0007 IOR B IOR D0060 JMP B2ASC,I A0007 OCT 7 D0060 OCT 30060 ASCII PREFIXES SPC 2 STN NOP * STN CONTAINS LAST TEST START JMP STN,I ADDRESS SPC 2 DELAY NOP DELAYS A FEW HUNDRED MSEC CLA INA,SZA JMP *-1 JMP DELAY,I SPC 2 OTACH NOP CH15 OTA CH JMP OTACH,I SPC 1 LIACH NOP CH16 LIA CH JMP LIACH,I SPC 1 SW13 NOP CHECK SW REG BIT 13 FOR RECYCLE JSB SWR LAST PROGRAM AND BT13 SZA,RSS REPEAT PROGRAM? ISZ SW13 NO JMP SW13,I YES SPC 2 SW15 NOP CHECK SW REG BIT 15 FOR HALTING JSB SWR AT END OF PROGRAM OR CONTINUE SSA AUTOMATICALLY TO NEXT PROGRAM ISZ SW15 NO JMP SW15,I YES SPC 2 SW09 NOP CHECK TO OMIT START AND STOP JSB SWR MESSAGES AND BT9 SZA OMIT MESSAGE? ISZ SW09 YES JMP SW09,I NO SPC 2 SW10 NOP CHECK BIT 10 TO OMIT PRESET JSB SWR TEST AND BT10 SZA,RSS OMIT TEST? ISZ SW10ghþú YES JMP SW10,I NO SPC 2 SW11 NOP CHECK SW REG BIT 11 FOR TTY JSB SWR LDA WITH INTERNAL OR EXT SW REG AND BT11 SZA JMP SW11,I TTY IS SUPPRESSED - RTN *+1 LDA NOTTY SZA,RSS TTY AVAILABLE? ISZ SW11 YES JMP SW11,I NO SKP SW12 NOP CHECK SW REG BIT 12 FOR HALT AT JSB SWR END OF DIAGNOSTIC AND BT12 SZA HALT? ISZ SW12 NO JMP SW12,I YES SPC 1 SW7 NOP CHECK SW REG BIT 7 FOR RECYCLE JSB SWR LAST TEST - LDA WITH INTERNAL AND BT7 SZA BIT 7 JMP STN,I RECYCLE LAST TEST JMP SW7,I NO RECYCLE, RETURN *+1 SKP SW14 NOP CHECK SW REG BIT 14 FOR HALT JSB SWR ON ERRORS AND BT14 SZA ISZ SW14 NO HALT - RETURN *+2 JMP SW14,I HALT ON ERRORS, RETURN *+1 SPC 1 SW8 NOP CHECK SW REG BIT 8 FOR HALT AT JSB SWR END OF TEST AND BT8 TEST BIT 8 SZA,RSS JMP SW8,I EXIT *+1 LDB P7776 ADB SW8 LDA FER FIND CODED HALT T3 CPB A,I JMP T4 FOUND IT INA CPA LER JMP SW8,I EXIT *+1 JMP T3 T4 ADA FERC ADA CHLT LDA A,I STA *+1 NOP HALT JMP SW8,I EXIT *+1 SKP * TWO ERRORS PLUS SW REG SPC 2 MHLT3 NOP ** REPORT ERROR VIA SW REG JSB INR AND A REG JMP MHLT3,I RETURN *+1 LDA SAVA JSB EY4R LDA SAVB JSB EY4R LDA SAVC JSB EY4R ISZ MHLT3 JMP MHLT3,I RETURN *+2 SPC 2 * THREE ERRORS PLUS SW REG SPC 2 MHLT4 NOP ** REPORT ERROR VIA SW REG JSB INR AND A REG JMP MHLT4,I RETURN *+1 LDA SAVA JSB EY4R LDA SAVB JSB +DþúEY4R LDA SAVD JSB EY4R LDA SAVC JSB EY4R ISZ MHLT4 JMP MHLT4,I RETURN *+2 SPC 2 * FOUR ERRORS PLUS SW REG SPC 2 MHLT5 NOP ** REPORT ERROR VIA SW REG JSB INR AND A REG JMP MHLT5,I RETURN *+1 LDA SAVA JSB EY4R LDA SAVB JSB EY4R LDA SAVD JSB EY4R LDA SAVE JSB EY4R LDA SAVC RESTORE SW REG JSB EY4R ISZ MHLT5 JMP MHLT5,I RETURN *+2 SKP INR NOP ** RETURN *+2 IF NO STA EY4 TTY SELECTED LDA NOTTY SZA,RSS JMP INR,I RTN *+1 LIA 1 STA SAVC SAVE SW REG ISZ INR JMP INR,I RTN *+2 SPC 2 EY4R NOP ** OUTPUT TO SWITCH REGISTER OTA 1 LDB SAVC RBL SSB,RSS HALT SELECTED? EY4 HLT 0 YES ISZ EY4 JMP EY4R,I SPC 2 ERROR NOP ERROR REPORTING ROUTINE CLF 0 DISABLE INTERRUPTS CCB ADB ERROR LDA FER FIND ERROR NUMBER BASED ON RETRN T1 CPB A,I ADDRESS AND TABLE JMP T2 FOUND IT INA CPA LER END OF TABLE? JMP ERROR,I YES, EXIT ERROR ROUTINE JMP T1 CONTINUE SEARCH T2 ADA FERC NORMALIZE NUMBER STA SETXX JSB SW11 TTY SUPPRESSED? JMP NOH YES LDA SETXX NO LDB FMI MESSAGE ADDRESS TABLE ADB A LDB B,I MESSAGE ADDRESS INTO B ADA FML LDA A,I MESSAGE LENGTH INTO A JSB TTY.O,I TYPE MESSAGE NOH ISZ CNT2 COUNT ERRORS. LEAST SIG IN RSS CNT2 AND MOST SIG IN CNT1 ISZ CNT1 NOP LDB CHLT CODED HALT TABLE ADB SETXX LDB B,I CODED HALT IN B STB EXX JSB SW14 ERROR HALT? EXX HLT 0 YES, SO HALT JMP ERROR,I EXIT ERROR ROUTINE :ã0.* SKP TTSK NOP CHECKS FOR PRINTOUT SELECTION CLF 0 DISABLE INTERRUPTS LDB TTSK ADB A0003 MODIFY RETURN ADDRESS STB SWB JSB SW11 TTY SUPPRESSED? JMP SWB,I YES, SKIP PRINTOUT JMP TTSK,I NO, EXIT AND PRINT SPC 2 PARTY NOP STUFF PARITY MODE INTO MESSAGE STB ADRS PAR IN A, ADDRESS IN B LDB AS0M SZA JMP YE LDA B,I NO PARITY YA STA ADRS,I INB LDA B,I ISZ ADRS STA ADRS,I JMP PARTY,I EXIT YE CPA A0002 JMP YO LDB AS1M EVEN PARITY LDA B,I JMP YA YO LDB AS2M ODD PARITY LDA B,I JMP YA ADRS NOP SPC 2  0ÿÿ ÿýg t ÿ12622-18002 1532 S 0122 SEND SYNC DATA SET              H0101 0UþúSWR NOP LIA 1 JMP SWR,I YES SPC 2 MCLR NOP ENTER MCLR WITH CONTROL WORD IN CLC 0 A REGISTER STA CWXX IOR MSK5 001017 - BYTE SIZE 1, SYNC OFF JSB OTACH ALL ONE'S TO BIT COUNTER JSB TOGLE OUTPUT ZERO LDA SYNCH JSB OTACH LOAD SYNC REGISTER LDA CWXX JSB OTACH JSB TOGLE OUTPUT ZERO CLA JSB OTACH DATA ALL ZERO JMP MCLR,I SKP TOGLE NOP ENTER TOGLE WITH CONTROL WORD IN STA B A REGISTER IOR BT7 TEST = 1 JSB OTACH AND NBT7 TEST = 0 JSB OTACH LDA B REINSTATE TEST BIT JSB OTACH JMP TOGLE,I SPC 2 SENDC NOP SEND SYNC CHARACTER LDA BTNM NO. OF BITS (WITH PARITY) CMA,INA STA SNA LDA TRW CONTROL WORD JSB TOGLE OUTPUT ONE BIT ISZ SNA JMP *-2 JMP SENDC,I SPC 2 SENDD NOP SEND CHARACTER AND RETURN CLA WITH CHAR RECEIVED IN DIN STA DIN LDA BTNM NO. OF BITS (INCLUDING PARITY) CMA,INA STA SNB SLOOP ISZ SNB NEXT TO LAST BIT? JMP PZ NO, CONTINUE LDA CNR YES, SEND JSB OTACH OTA OF DATA PZ LDA TRW CONTROL WORD JSB TOGLE OUTPUT ONE BIT JSB LIACH IOBI IN A NOP (EXTRA INSTRUCTION) CMA AND BT11 RETURN THE BIT IOR DIN RAR STA DIN STACK BITS NOP (EXTRA INSTRUCTION) LDB SNB SZB FINISHED? JMP SLOOP NO, SEND MORE BITS LDB BTNM YES, RIGHT JUSTIFY THE DATA ADB MN11 RAR DATA STILL IN A ISZ B JMP *-2 STA DIN RT JUSTIFIED AND STORED IN DIN JMP SENDD,I SKP PRTY NOP SET PARITY BIT INTO DATA - DATA Ìþú STB CHE IN B-REG LDA CHCNT CMA,INA STA CHC STA CHD LDA PAR 0 = NO, 1 = ODD, 2 = EVEN PARITY SZA,RSS JMP PRTY,I NO PARITY, EXIT CPA A0002 JMP EVN EVEN PARITY JSB PADD ODD PARITY CMA EVEN AND BT0 ALR ISZ CHD JMP *-2 IOR CHE INSERT PARITY STA B REPLACE WITH PARITY IN WORD JMP PRTY,I EVN JSB PADD JMP EVEN PADD NOP CLA ADA B BRS ISZ CHC JMP *-3 JMP PADD,I PARITY BIT IN A0 CHC NOP CHD NOP CHE NOP SKP INP NOP NO PARITY INITIALIZATION STA TRW AND P7760 STA CWX CLA,INA STA CHCNT CHARACTER SIZE, START WITH 1 BIT STA BTNM BITS PLUS PARITY CLA STA PAR 0 = NO PARITY STA CNR PATTERN COUNTER = 0 LDA TABL MAX COUNT OF PATTERNS REQUIRED STA PTNC FOR DIFFERENT CHAR. SIZES JMP INP,I SPC 2 IOP NOP ODD PARITY INITIALIZATION STA TRW AND P7760 STA CWX CLA STA CNR CLA,INA STA CHCNT STA PAR 1 = ODD PARITY LDA TABL STA PTNC LDA A0002 STA BTNM JMP IOP,I SPC 2 IEP NOP EVEN PARITY INITIALIZATION JSB IOP ISZ PAR 2= EVEN PARITY JMP IEP,I SKP SETNP NOP SET NO PARITY TABLES ISZ CHCNT ISZ PTNC CLA STA CNR LDA CHCNT CMA,INA AND A0017 IOR CWX STA TRW LDA CHCNT STA BTNM JMP SETNP,I SPC 2 SETOP EQU * SETEP NOP SET EVEN PARITY TABLES ISZ CHCNT ISZ PTNC CLA STA CNR LDA CHCNT CMA AND A0017 IOR CWX STA TRW LDA CHCNT INA STA BTNM JMP SETEP,I Ó²þúSKP SDTA NOP OUTPUT DATA WD TO BUFFER LDB CNR JSB PRTY RETURN WITH DATA IN B AND STB WD1 PARITY ADDED LDA CNR JSB OTACH JMP SDTA,I SPC 2 SC3 NOP LDA SYNCH JSB OTACH OUTPUT SYNC WORD TO BUFFER JSB SENDC SEND 1ST SYNC CHARACTER JSB SENDC SEND 2ND JSB SDTA OUTPUT DATA WD TO BUFFER JSB SENDC SEND 3RD JMP SC3,I SPC 2 SN NOP OUTPUT SYNC CHARACTER TO BUFFER LDB CNR JSB PRTY STB WD1 STORE FOR DATA COMPARE LDA CNR ADA BT14 JSB OTACH JMP SN,I SPC 2 SENCC NOP SEND SYNC AND RETURN WITH CLA CHAR RECEIVED IN DIN STA DIN LDA BTNM NO. OF BITS (INCLUDING PARITY) CMA,INA STA SNB CLOOP LDA TRW JSB TOGLE OUTPUT ONE BIT JSB LIACH CMA AND BT11 RETURN THE BIT IOR DIN RAR STA DIN STACK BITS ISZ SNB FINISHED? JMP CLOOP NO LDB BTNM YES, RIGHT JUSTIFY DATA ADB MN11 RAR DATA STILL IN A ISZ B JMP *-2 STA DIN JMP SENCC,I SUP M7 ASC 18,H7. PRESS PRESET (INT/EXT) THEN RUN L7 EQU *+*-M7-M7 UNS HED CONFIGURATION PROGRAM - SEND INTERFACE DIAGNOSTIC ORG 1745B CFGR LIA 1 SWR AND A0077 ADA MN8 SSA,RSS SC > 7 ? JMP *+3 H73 HLT 73B *SELECT CODE INPUT ERROR JMP CFGR LIA 1 AND A0077 STA IO LDB FIRST MODIFY I/O INSTRUCTIONS STB SRP L LDB SRP,I LDA B,I AND P7700 IOR IO STA B,I CPB LAST,I FINISHED? JMP *+3 YES ISZ SRP JMP L CLA LDB 112B SZB,RSS CCA STA NOTTY TELETYPE AVAILABLE BIT H74 HLT 74B **END OF CONFIGU¿-þúRATION** HED INITIALIZATION PROGRAM - SEND INTERFACE DIAGNOSTIC START CLC 0,C TURN EVERYTHING OFF LDB A0002 TRAP CELL LOCATION LDA THLT TRAP CELL HALT STA B,I INB INA CPB A0100 TRAP CELL HALTS COMPLETE? RSS YES JMP *-5 NO, REPEAT JSB SW09 OMIT START MESSAGE? RSS NO JMP EXECX YES JSB TTSK LDA CRL LDB CRI JSB TTY.O,I OUTPUT CR, LF JSB TTSK LDA SML LDB SMI JSB TTY.O,I START DATA SET DIAGNOSTIC HED EXECX - EXECUTIVE PROGRAM - SEND INTERFACE DIAGNOSTIC EXECX NOP ONE JSB SWR CALL BI/O? AND BT1 (SWITCH 1) SZA JMP TWO NO JSB BI/O YES, EXECUTE BI/O JSB SW15 CONTINUE AUTO? JMP ONE2 YES JSB TTSK NO, PRINT MSG? LDA LM11 YES, OTHERWISE HALT AT H11 LDB MI11 JSB TTY.O,I PRINT END BI/O H11 HLT 11B SELECT OPTIONS AND PRESS RUN ONE2 JSB SW13 REPEAT BI/O? JMP ONE YES (IF NO, JUMP TO TWO) SPC 2 TWO JSB SWR CALL FCTST? AND BT2 (SWITCH 2) SZA JMP THREE NO JSB FCTST YES JSB SW15 CONTINUE AUTO? JMP TWO2 YES JSB TTSK NO, PRINT MSG? LDA LM52 YES LDB MI52 JSB TTY.O,I PRINT END FCTST H52 HLT 52B SELECT OPTIONS AND PRESS RUN TWO2 JSB SW13 REPEAT FCTST? JMP TWO YES (IF NO, JUMP TO THREE) SPC 2 THREE JSB SWR CALL TNS? AND BT3 (SWITCH 3) SZA JMP FOUR NO JSB TNS YES JSB SW15 CONTINUE AUTO? JMP THRE2 YES JSB TTSK NO, PRINT MSG? LDA LM270 LDB MI270 JSB TTY.O,I PRINT END TNS H270 OCT 103070 THRE2 JSB SW13 REPEAT TNS? JMP THREE YES (IF NO, JUMP TO FOUR) SPC 2 FOUR›¾þú JSB SWR CALL ASON? AND BT4 (SWITCH 4) SZA JMP FIVE NO JSB ASON YES JSB SW15 CONTINUE AUTO? JMP FOUR2 YES JSB TTSK NO, PRINT MSG? LDA LM65 YES LDB MI65 JSB TTY.O,I PRINT END ASON H65 HLT 65B SELECT OPTIONS AND PRESS RUN FOUR2 JSB SW13 REPEAT ASON? JMP FOUR YES (IF NO, JUMP TO FIVE) SPC 2 FIVE JSB SWR CALL ASOFF? AND BT5 (SWITCH 5) SZA JMP SIX NO JSB ASOFF YES JSB SW15 CONTINUE AUTO? JMP FIVE2 YES JSB TTSK NO, PRINT MSG? LDA LM176 YES LDB MI176 JSB TTY.O,I PRINT END ASOFF H176 OCT 107076 SELECT OPTIONS AND PRESS RUN FIVE2 JSB SW13 REPEAT A JMP FIVE YES (IF NO, JUMP TO SIX) SPC 2 SIX JSB SWR CALL ASDTA? AND BT6 (SWITCH 6) SZA JMP END NO JSB ASDT,I YES JSB SW15 CONTINUE AUTO? JMP SIX2 YES JSB TTSK NO, PRINT MSG? LDA LM140 YES LDB MI140 JSB TTY.O,I PRINT END ASDTA H140 OCT 107040 SELECT OPTIONS AND PRESS RUN SIX2 JSB SW13 REPEAT ASDTA? JMP SIX YES (IF NO, PROCEED TO END) HED END - END OF TEST - SEND INTERFACE DIAGNOSTIC END NOP JSB SW09 OMIT STOP MESSAGE? RSS NO JMP H77-2 YES JSB TTSK LDA LM77 LDB MI77 JSB TTY.O,I TELL OPERATOR TEST IS FINISHED JMP EXRTN,I JSB SW12 REPEAT TEST AUTO? H77 HLT 77B JMP STR,I YES HED BI/O - BASIC I/O PROGRAM - SEND INTERFACE DIAGNOSTIC * TEST ABILITY TO SET AND CLEAR THE CHANNEL FLAG SPC 2 BI/O NOP CLC 0,C LDA CW6 150010 JSB MCLR MASTER CLEAR THE INTERFACE NOP (EXTRA INSTRUCTION) JSB STN SET TEST NUMBER FOR SW7 LOOP ‚þúLDA HLTA TRAP CELL HALTS LDB HLTB CH0 STF CH CH1 CLF CH CLEAR CHANNEL FLAG CH2 SFS CH RSS ** CLF DID NOT CLEAR FLAG OR SFS E1 JSB ERROR CAUSED SKIP WITH FLAG CLEAR JSB SW8 HALT AT END OF TEST (BIT 8) JSB SW7 LOOP ON LAST TEST (BIT 7) NOP (EXTRA INSTRUCTION) JSB STN SET TEST NUMBER FOR SW7 LOOP CH7 CLF CH CH3 SFC CH E2 JSB ERROR * SFC NO SKIP WITH FLAG CLEAR JSB SW8 HALT AT END OF TEST (BIT 8) JSB SW7 LOOP ON LAST TEST (BIT 7) NOP (EXTRA INSTRUCTION) JSB STN SET TEST NUMBER FOR SW7 LOOP CH4 STF CH CH5 SFC CH RSS ** STF DID NOT SET FLAG OR SFC E3 JSB ERROR CAUSED SKIP WITH FLAG SET JSB SW8 HALT AT END OF TEST (BIT 8) JSB SW7 LOOP ON LAST TEST (BIT 7) NOP (EXTRA INSTRUCTION) JSB STN SET TEST NUMBER FOR SW7 LOOP CH10 STF CH CH6 SFS CH E4 JSB ERROR * SFS NO SKIP WITH FLAG SET JSB SW8 HALT AT END OF TEST (BIT 8) JSB SW7 LOOP ON LAST TEST (BIT 7) NOP (EXTRA INSTRUCTION) JSB STN SET TEST NUMBER FOR SW7 LOOP CH18 STF CH CH19 CLC CH,C CH20 SFC CH * ERROR = CLC CH,C DID NOT CLEAR E24 JSB ERROR * FLAG OR SFC DID NOT SKIP JSB SW8 HALT AT END OF TEST (BIT 8) JSB SW7 LOOP ON LAST TEST (BIT 7) SPC 2 * TEST ABILITY TO ENABLE AND DISABLE INTERRUPT SYSTEM SPC 2 NOP (EXTRA INSTRUCTION) JSB STN SET TEST NUMBER FOR SW7 LOOP CH29 CLF CH STF 0 ENABLE INTS CLF 0 DISABLE INTS SFS 0 IS INTERRUPT SYSTEM ON? JMP E17+1 NO JSB SW14 SUPPRESS HALT SWITCH 14 E17 HLT 17B * CLF 0 OR SFS 0 ERROR JSB SW7 LOOP ON LAST TEST (BIT 7) NOP (EXTRA INSTRUCTION) JSB STN SET TEST NUMBER FOR SW7 LOOP À þú CLF 0 SFC 0 IS INT SYSTEM ON? RSS YES JMP E20+1 NO JSB SW14 SUPPRESS HALT SWITCH 14 E20 HLT 20B * CLF 0 OR SFC 0 ERROR JSB SW7 LOOP ON LAST TEST (BIT 7) NOP (EXTRA INSTRUCTION) JSB STN SET TEST NUMBER FOR SW7 LOOP STF 0 SFC 0 IS INT SYSTEM ON? RSS YES E21 JSB ERROR * STF 0 OR SFC 0 ERROR JSB SW8 HALT AT END OF TEST (BIT 8) JSB SW7 LOOP ON LAST TEST (BIT 7) NOP (EXTRA INSTRUCTION) JSB STN SET TEST NUMBER FOR SW7 LOOP STF 0 SFS 0 IS INT SYSTEM ON? E22 JSB ERROR * STF 0 OR SFS 0 ERROR JSB SW8 HALT AT END OF TEST (BIT 8) CLF 0 JSB SW7 LOOP ON LAST TEST (BIT 7) SKP * TEST INTERRUPT CAPABILITY SPC 2 NOP (EXTRA INSTRUCTION) JSB STN SET TEST NUMBER FOR SW7 LOOP LDA JSB1 SET INTERRUPT TRAP CELL STA DCH,I LDA HLTA TRAP CELL HALTS LDB HLTB CH8 STC CH SET CHANNEL TO REQUEST CH9 STF CH AN INTERRUPT STF 0 ENABLE INTERRUPTS STC 1 * INTERRUPTS STF 1 SHOULD CLC 1 BE CLF 1 DELAYED JMP *+1,I UNTIL DEF *+1 . JSB *+1,I . DEF *+1 . NOP . INTPT NOP * HERE E5 JSB ERROR * DID NOT INTERRUPT JSB SW8 HALT AT END OF TEST (BIT 8) JSB SW7 LOOP ON LAST TEST (BIT 7) JMP TCR SPC 1 RETRN NOP INTERRUPT SUBROUTINE CLF 0 DISABLE INTERRUPTS LDA J1 IJ1 INTERRUPT ROUTINE STA DCH,I STF 0 TEST INTERRUPT ACKNOWLEDGE NOP * SHOULD NOT NOP INTERRUPT HERE CLF 0 DISABLE INT LDA RETRN DID INTERRUPT OCCUR AT†^þú THE CPA ADDRS CORRECT MEM LOCATION? RSS E6 JSB ERROR * RETURN ADDRESS IS INCORRECT JSB SW8 HALT AT END OF TEST (BIT 8) STB RETRN CHANGE RETRN JSB SW7 LOOP ON LAST TEST (BIT 7) JMP TCR SPC 1 IJ1 NOP CLF 0 E14 JSB ERROR * NO INTERRUPT ACKNOWLEDGE JSB SW8 HALT AT END OF TEST (BIT 8) JSB SW7 LOOP ON LAST TEST (BIT 7) JMP EB SKP * TEST CONTROL RESET SPC 2 TCR NOP (EXTRA INSTRUCTION) JSB STN SET TEST NUMBER FOR SW7 LOOP LDA J2 IJ2 INTERRUPT ROUTINE STA DCH,I LDA HLTA LDB HLTB CH11 STC CH SET CONTROL CH12 STF CH CLC 0 SHOULD CLEAR ALL CNTL FLIP-FLOPS STF 0 ENABLE NOP ** SHOULD NOT NOP INTERRUPT HERE CLF 0 DISABLE INTS TCR2 LDA J4 STA DCH,I IJ4 INTERRUPT ROUTINE LDA HLTA LDB HLTB CH33 STC CH CH34 STF CH CH17 CLC CH CLEAR CHANNEL CONTROL FLIP-FLOP STF 0 ENABLE INTS NOP ** SHOULD NOT NOP INTERRUPT HERE CLF 0 JSB SW8 HALT AT END OF TEST (BIT 8) JSB SW7 LOOP ON LAST TEST (BIT 7) JMP PRSET SPC 1 IJ2 NOP CLF 0 E15 JSB ERROR * CLC 0 DID NOT CLEAR CONTROL JSB SW8 HALT AT END OF TEST (BIT 8) JSB SW7 LOOP ON LAST TEST (BIT 7) JMP TCR2 IJ4 NOP CLF 0 E23 JSB ERROR * CLC ON CH DID NOT CLEAR CONTRL JSB SW8 HALT AT END OF TEST (BIT 8) JSB SW7 LOOP ON LAST TEST (BIT 7) SKP * PRESET TEST SPC 2 PRSET NOP (EXTRA INSTRUCTION) JSB STN SET TEST NUMBER FOR SW7 LOOP LDA J5 STA DCH,I JSB SW10 OMIT TEST? RSS NO JMP EB YES JSB TTSK LDA LM7 LDB MI7 JSB TTY.O,I !þúLDA HLTA LDB HLTB CH13 STC CH,C SET CONTROL, CLEAR FLAG STF 0 ENABLE INTS H7 HLT 7 ** PRESS PRESETS, THEN PRESS RUN CH14 SFS CH IS FLAG SET? JMP TZ NO SFC 0 YES, IS INT SYSTEM DISABLED? E12 JSB ERROR * PRESET DID NOT DISABLE INTS JSB SW8 HALT AT END OF TEST (BIT 8) JSB SW7 LOOP ON LAST TEST (BIT 7) JMP CL YES TZ SFC 0 JMP E13 E10 JSB ERROR * PRESET DID NOT SET FLAG JSB SW8 HALT AT END OF TEST (BIT 8) JSB SW7 LOOP ON LAST TEST (BIT 7) JMP EB E13 JSB ERROR * FLG NOT SET, INTS NOT DISABLED JSB SW8 HALT AT END OF TEST (BIT 8) JSB SW7 LOOP ON LAST TEST (BIT 7) JMP EB CL JSB LIACH STATUS TO A-REG AND MSK1 CPA BT15 STATUS CORRECT? JMP Z YES STA SAVA NO, REPORT ERROR LDB MG0A JSB DATA LDA BT15 STA SAVB LDB MG0B JSB DATA LDA E25 JSB MHLT3 E0 JSB ERROR * STATUS AFTER PRESET ERROR Z JSB SW8 JSB SW7 LOOP ON LAST TEST (BIT 7) LDA J3 IJ3 INTERRUPT ROUTINE STA DCH,I CHECK FOR A CLC 0 BY PRESET LDA HLTA LDB HLTB STF 0 ENABLE INTS NOP SHOULD NOT INTERRUPT HERE NOP CLF 0 JSB SW8 HALT AT END OF TEST (BIT 8) JSB SW7 LOOP ON LAST TEST (BIT 7) JMP EB SPC 2 IJ5 NOP CLF 0 E70 JSB ERROR * PRESET FAILED - ABORT BI/O JSB SW8 JSB SW7 JMP EB SPC 1 IJ3 NOP CLF 0 E16 JSB ERROR * PRESET DID NOT CLEAR CONTROL JSB SW8 HALT AT END OF TEST (BIT 8) JSB SW7 LOOP ON LAST TEST (BIT 7) SPC 1 EB CLC 0,C TURN EVERYTHING OFF LDA HLTC STA DCH,I RESET TRAP CELL HALT JMP BI/O,I EXIT ***** HED FCTST - FUNCTION-STATUS - SEND INTER þúFACE DIAGNOSTIC FCTST NOP TST1 NOP (EXTRA INSTRUCTION) JSB STN LDA CW4 150410 JSB MCLR MASTER CLEAR THE INTERFACE JSB LIACH SSA TEST READY E30 JSB ERROR * READY NOT RESET BY DATA OUTPUT JSB SW8 JSB SW7 SPC 2 TST2 NOP (EXTRA INSTRUCTION) JSB STN LDA CW1 160010 SET CD JSB OTACH JSB DELAY JSB LIACH AND BT12 CD,CE = 1? SZA,RSS E31 JSB ERROR * CD,CE NOT 1 JSB SW8 JSB SW7 CH21 CLF CH CH22 SFS CH FLAG SHOULD BE SET (AGAIN) BY CE E32 JSB ERROR * FLAG NOT SET JSB SW8 JSB SW7 SPC 2 TST3 NOP (EXTRA INSTRUCTION) JSB STN LDA CW2 150610 CLEAR CD JSB OTACH JSB DELAY JSB LIACH AND MSK4 14001 CPA BT0 00001 JMP E33+1 STATUS OK STA SAVA REPORT ERROR LDB MG33A JSB DATA LDA BT0 STA SAVB LDB MG33B JSB DATA LDA E35 JSB MHLT3 E33 JSB ERROR * STATUS ERROR JSB SW8 JSB SW7 CH23 CLF CH CH24 SFS CH FLAG SHOULD BE SET (AGAIN) BY SB E34 JSB ERROR * FLAG NOT SET JSB SW8 JSB SW7 SPC 2 TST4 NOP (EXTRA INSTRUCTION) JSB STN LDA CW4 150410 JSB MCLR JSB DELAY JSB LIACH AND MSK2 66001 CPA MSK3 46000 JMP E44+1 STATUS OK STA SAVA REPORT ERROR LDB MG44A JSB DATA LDA MSK3 STA SAVB LDB MG44B JSB DATA LDA E45 JSB MHLT3 E44 JSB ERROR * STATUS ERROR JSB SW8 JSB SW7 CH25 CLF CH FLAG SHOULD BE SET (AGAIN) BY CC CH26 SFS CH E40 JSB ERROR * FLAG NOT SET JSB SW8 JSB SW7 SPC 2 TST5 NOP (EXTRA INSTRUCTION) JSB STN LDA CW15 ‚B@<140610 JSB MCLR JSB DELAY JSB LIACH AND MSK6 60000 CPA BT13 20000 JMP E61+1 STATUS OK STA SAVA REPORT ERROR LDB MG61A JSB DATA LDA BT13 STA SAVB LDB MG61B JSB DATA LDA E62 JSB MHLT3 E61 JSB ERROR * STATUS ERROR JSB SW8 JSB SW7 CH27 CLF CH CH28 SFS CH FLAG SHOULD BE SET AGAIN BY CB E43 JSB ERROR * FLAG NOT SET JSB SW8 JSB SW7 LDA CW3 150017 JSB OTACH JSB DELAY LDA CW3 JSB MCLR CH30 CLF CH CH31 SFC CH E41 JSB ERROR * FLAG NOT CLEAR JSB SW8 JSB SW7 JMP FCTST,I EXIT ***** HED TNS - TEST SYNC/NON-SYNC OPERATIONS - SEND INT. DIAG þBÿÿ ÿýhx ÿ12622-18003 1532 S 0122 SEND SYNC DATA SET              H0101 1UþúTNS NOP SPC 2 * CHECK FOR THREE SYNC PATTERNS FOLLOWED BY A DATA PATTERN WITH * AUTO-SYNC ON. SPC 2 NOP (EXTRA INSTRUCTION) JSB STN CLA STA DFLAG (OUTPUT DATA FLAG IN SYNC CHAR) LDA CW11 JSB OTACH JSB DELAY LDA CW11 SEND, AUTO ON 150014 STA CWX JSB MCLR LDA TDATA JSB OTACH OUTPUT DATA TO BUFFER LDA TSYNC JSB OTACH OUTPUT SYNC TO BUFFER JSB SSNCH SEND 1ST SYNC PATTERN E200 JSB ERROR 1ST SYNC INCORRECT JSB SW8 (HALT SELECTION) JSB SW7 (LOOP) JSB SSNCH SEND 2ND SYNC PATTERN E201 JSB ERROR 2ND SYNC INCORRECT JSB SW8 (HALT) JSB SW7 (LOOP) CLA,INA STA DFLAG OTA DATA BEFORE LAST BIT TOGGLE JSB SSNCH SEND 3RD SYNC PATTERN E202 JSB ERROR 3RD SYNC INCORRECT JSB SW8 JSB SW7 CLA STA DFLAG JSB SSDTA SEND DATA E203 JSB ERROR DATA INCORRECT JSB SW8 JSB SW7 SKP * CHECK FOR THREE SYNC PATTERNS FOLLOWED BY FOUR * MORE SYNC PATTERNS FOLLOWED BY A DATA PATTERN * WITH AUTO-SYNC ON. SPC 2 NOP (EXTRA INSTRUCTION) JSB STN CLA STA DFLAG LDA CW11 JSB OTACH JSB DELAY LDA CW11 SEND,AUTO ON 150014 STA CWX JSB MCLR CLC 0 LDA TSYNC JSB OTACH JSB SSNCH E204 JSB ERROR 1ST SYNC INCORRECT JSB SW8 JSB SW7 JSB SSNCH E205 JSB ERROR 2ND SYNC INCORRECT JSB SW8 JSB SW7 JSB SSNCH E206 JSB ERROR 3RD SYNC INCORRECT JSB SW8 JSB SW7 JSB SSNCH E207 JSB ERROR 4TH SYNC INCORRECT JSB SW8 JSB SW7 JSB SSNCH E210 JSB ERROR 5TH SYNC INCORRECT JSB SW8 JSB SW7 JSB SSNCH E211 JSB ERROR 6TH SYNC INCORRE:ÙþúCT JSB SW8 JSB SW7 CLA,INA STA DFLAG JSB SSNCH E212 JSB ERROR 7TH SYNC INCORRECT JSB SW8 JSB SW7 CLA STA DFLAG JSB SSDTA E213 JSB ERROR DATA INCORRECT JSB SW8 JSB SW7 SKP * CHECK FOR DATA SEND TWICE FOLLOWED BY A * RECEIVE MODE CONTROL WORD FOLLOWED BY THREE * SYNCS. THE BOARD SHOULD NOT SEND BUT FORCING * A TOGGLE SHOULD RETURN ALL ONE'S. TEST WITH * AUTO-SYNC ON. SPC 2 NOP (EXTRA INSTRUCTION) JSB STN LDA CW11 JSB OTACH JSB DELAY LDA CW11 SEND, AUTO ON 150014 STA CWX JSB MCLR LDA TSYNC JSB OTACH JSB SEND3 SEND 3 SYNCS WITH DATA CLA,INA STA DFLAG JSB SSDTA E214 JSB ERROR 1ST DATA INCORRECT JSB SW8 JSB SW7 CLA STA DFLAG JSB SSDTA E215 JSB ERROR 2ND DATA INCORRECT JSB SW8 JSB SW7 LDA CW12 RECEIVE MODE, AUTO-SYNC ON STA CWX JSB OTACH CLA STA DFLAG JSB SSNCH E216 JSB ERROR 1ST SYNC ERROR JSB SW8 JSB SW7 JSB SSNCH E217 JSB ERROR 2ND SYNC ERROR JSB SW8 JSB SW7 JSB SSNCH E220 JSB ERROR 3RD SYNC ERROR JSB SW8 JSB SW7 JSB SCHAR LDA DIN CPA TSNC2 ALL 1'S? RSS YES E221 JSB ERROR INPUT SHOULD BE 1'S JSB SW8 JSB SW7 SKP * CHECK FOR DATA SEND TWICE FOLLOWED BY FOUR * SYNCS WITH AUTO-SYNC ON. SPC 2 NOP (EXTRA INSTRUCTION) JSB STN LDA CW11 JSB OTACH JSB DELAY LDA CW11 SEND, AUTO ON 150014 STA CWX JSB MCLR LDA TSYNC JSB OTACH JSB SEND3 SEND 3 SYNCS WITH DATA CLA,INA STA DFLAG JSB SSDTA E222 JSB ERROR 1ST DATA INCORRECT åÓþú JSB SW8 JSB SW7 CLA STA DFLAG JSB SSDTA E223 JSB ERROR 2ND DATA INCORRECT JSB SW8 JSB SW7 CLA STA DFLAG JSB SSNCH E224 JSB ERROR 1ST SYNC INCORRECT JSB SW8 JSB SW7 JSB SSNCH E225 JSB ERROR 2ND SYNC INCORRECT JSB SW8 JSB SW7 JSB SSNCH E226 JSB ERROR 3RD SYNC INCORRECT JSB SW8 JSB SW7 JSB SSNCH E227 JSB ERROR 4TH SYNC INCORRECT JSB SW8 JSB SW7 SKP * CHECK FOR NO SYNC SENT WHEN AUTO-SYNC OFF. A * FORCED TOGGLE SHOULD TRANSFER 0'S. SPC 2 NOP (EXTRA INSTRUCTION) JSB STN LDA CW13 JSB OTACH JSB DELAY LDA CW13 SEND, AUTO OFF STA CWX JSB MCLR LDA TSYNC JSB OTACH CLA STA DFLAG JSB SCHAR LDA DIN CPA TSNC3 ALL 0'S? RSS YES E230 JSB ERROR INPUT SHOULD BE 0'S JSB SW8 JSB SW7 SKP * CHECK FOR DATA SENT, DATA REPEAT. THEN SEND A * RECEIVE MODE CONTROL WORD AND CHECK FOR ALL * ONE,S BY FORCING A TOGGLE. TEST WITH AUTO-SYNC * OFF. SPC 2 NOP (EXTRA INSTRUCTION) JSB STN LDA CW13 JSB OTACH JSB DELAY LDA CW13 SEND, AUTO OFF STA CWX JSB MCLR CLC 0 LDA TSYNC JSB OTACH LDA TDATA JSB OTACH CLA STA DFLAG JSB SSDTA SEND DATA (ONCE ONLY) E231 JSB ERROR DATA ERROR JSB SW8 JSB SW7 CLA STA DFLAG JSB SSDTA SEND SYNC (SHOULD = DATA) E232 JSB ERROR SYNC CHAR NOT EQUAL TO DATA JSB SW8 JSB SW7 LDA CW14 RECEIVE MODE, AUTO-SYNC OFF STA CWX JSB OTACH JSB SCHAR LDA DIN CPA TSNC2 ALL 1'S? RSS YES E233 JSB ERROR INPUT SHOULD BE 1'S |þú JSB SW8 JSB SW7 JMP TNS,I EXIT ***** SKP SSNCH NOP SEND SYNC JSB SCHAR LDA DIN CPA TSNC1 SYNC OK? ISZ SSNCH YES JMP SSNCH,I SPC 2 SSDTA NOP SEND DATA JSB SCHAR LDA DIN CPA TDATA DATA OK? ISZ SSDTA YES JMP SSDTA,I SPC 2 SCHAR NOP SEND CHARACTER CLA STA DIN RESET DATA IN LDA P7774 STA SNBB FLOP ISZ SNBB NEXT TO LAST BIT? JMP FLP NO LDA DFLAG YES SZA,RSS OUTPUT DATA? JMP FLP NO LDA TDATA YES JSB OTACH FLP LDA CWX CONTROL WD JSB TOGLE OUTPUT ONE BIT JSB LIACH RETURN CMA AND BT11 THE BIT IOR DIN RAR STA DIN STACK BITS LDB SNBB SZB FINISHED? JMP FLOP NO ALF,ALF YES, NORMALIZE BITS RAL (RT JUSTIFIED) STA DIN JMP SCHAR,I EXIT SPC 2 SEND3 NOP SEND 3 SYNCS WITH A DATA OTA CLA BEFORE LAST BIT STA DFLAG JSB SCHAR JSB SCHAR CLA,INA STA DFLAG JSB SCHAR JMP SEND3,I HED ASON - SEND (AUTO-ON) - SEND INTERFACE DIAGNOSTIC ASON NOP NOP (EXTRA INSTRUCTION) JSB STN LDA CW3 JSB OTACH JSB DELAY LDA CW3 150017 CNTL WD - NO PARITY, AUTO JSB MCLR MASTER CLEAR INTERFACE LDA CW3 JSB INP INITIALIZE PROGRAM NTST JSB TEST SEND ALL PATTERNS LDA MN8 ADA CHCNT SZA,RSS FINISHED WITH ALL CHAR SIZES? JMP OTST YES - GO TO NEXT TEST NOP (EXTRA INSTRUCTION) JSB SETNP NO - INITIALIZE NEXT CHARACTER JMP NTST SIZE AND REPEAT THE TEST SPC 2 OTST NOP (EXTRA INSTRUCTION) JSB ST5JþúN LDA CW5 JSB OTACH JSB DELAY LDA CW5 156016 CNTL WD - ODD PARITY,AUTO JSB MCLR MASTER CLEAR INTERFACE LDA CW5 JSB IOP INITIALIZE PROGRAM OTSOT JSB TEST SEND ALL PATTERNS LDA MN8 ADA CHCNT SZA,RSS FINISHED WITH ALL CHAR SIZES? JMP ETST YES - GO TO NEXT TEST NOP (EXTRA INSTRUCTION) JSB SETOP NO - INITIALIZE NEXT CHARACTER JMP OTSOT SIZE AND REPEAT TEST SPC 2 ETST NOP (EXTRA INSTRUCTION) JSB STN LDA CW7 JSB OTACH JSB DELAY LDA CW7 154016 CNTL WD, EVEN PARITY,AUTO JSB MCLR MASTER CLEAR INTERFACE LDA CW7 JSB IEP INITIALIZE PROGRAM ETSET JSB TEST SEND ALL PATTERNS LDA MN8 ADA CHCNT SZA,RSS FINISHED WITH ALL CHAR SIZES? JMP ASON,I YES - EXIT PROGRAM ******** NOP (EXTRA INSTRUCTION) JSB SETEP NO - INITIALIZE NEXT CHARACTER JMP ETSET SIZE AND REPEAT TEST SPC 2 TEST NOP NOP (EXTRA INSTRUCTION) LDA TRW JSB MCLR JSB SC3 TLOOP JSB SDTA JSB SENDD SEND DATA CHARACTER LDA DIN DATA IN FROM INTERFACE CPA WD1 DATA COMPARE OK? JMP CHST YES STA SAVE NO, REPORT ERROR LDB MG53D WORD RECEIVED JSB DATA LDA WD1 STA SAVD LDB MG53C WORD SENT JSB DATA LDA CHCNT STA SAVB IOR AC ASCII STA MG53B,I NO. OF BITS IN WORD LDA PAR STA SAVA LDB MG53A STUFF PROPER PARITY MODE INTO JSB PARTY MESSAGE LDA E54 JSB MHLT5 RTN *+2 IF NO TTY SELECTED E53 JSB ERROR * DATA ERROR CHST JSB SW8 HALT AT END OF TEST (BIT 8) JSB SW7 LOOP ON LAST TEST (BIT 7) NOP (EXTRA INSTRUCTION) ISZ CNR INCREMBþúENT DATA PATTERN LDA PTNC,I ADA CNR SZA FINISHED? JMP TLOOP NO, SEND NEXT CHARACTER JMP TEST,I YES, EXIT HED ASOFF - SEND (AUTO-OFF) - SEND INTERFACE DIAGNOSTIC ASOFF NOP NOP (EXTRA INSTRUCTION) JSB STN LDA CW8 JSB OTACH JSB DELAY LDA CW8 151017 CNTL WD - NO PARITY MODE, JSB MCLR AUTO OFF LDA CW8 JSB INP INITIALIZE PROGRAM FTST JSB FTEST SEND ALL PATTERNS LDA MN8 ADA CHCNT SZA,RSS FINISHED WITH ALL CHAR SIZES? JMP FOTST YES, GO TO NEXT TEST NOP (EXTRA INSTRUCTION) JSB SETNP NO, INITIALIZE NEXT CHARACTER JMP FTST SIZE AND REPEAT THE TEST SPC 2 FOTST NOP (EXTRA INSTRUCTION) JSB STN LDA CW9 JSB OTACH JSB DELAY LDA CW9 157016 CONTROL WORD - ODD PARITY JSB MCLR MODE, AUTO OFF LDA CW9 JSB IOP INITIALIZE PROGRAM FOT JSB FTEST SEND ALL PATTERNS LDA MN8 ADA CHCNT SZA,RSS FINISHED WITH ALL CHAR SIZES? JMP FETST YES, GO TO NEXT TEST NOP (EXTRA INSTRUCTION) JSB SETOP NO, INITIALIZE NEXT CHARACTER JMP FOT SIZE AND REPEAT TEST SPC 2 FETST NOP (EXTRA INSTRUCTION) JSB STN LDA CW10 JSB OTACH JSB DELAY LDA CW10 155016 CONTROL WORD, EVEN PARITY JSB MCLR MODE, AUTO OFF LDA CW10 JSB IEP INITIALIZE PROGRAM FET JSB FTEST SEND ALL PATTERNS LDA MN8 ADA CHCNT SZA,RSS FINISHED WITH ALL CHAR SIZES? JMP ASOFF,I YES, EXIT PROGRAM ******* NOP (EXTRA INSTRUCTION) JSB SETEP NO, INITIALIZE NEXT CHARACTER JMP FET SIZE AND REPEAT TEST SPC 2 FTEST NOP NOP (EXTRA INSTRUCTION) LDA TRˆ‹þúW JSB MCLR LDA SYNCH JSB OTACH OUTPUT SYNC WORD TO BUFFER FLOOP JSB SDTA OUTPUT DATA WD TO BUFFER JSB SENDD SEND DATA CHARACTER LDA DIN DATA IN FROM INTERFACE CPA WD1 DATA COMPARE OK? JMP CHSF YES STA SAVE NO, REPORT ERROR LDB MG67D WORD RECEIVED JSB DATA LDA WD1 STA SAVD LDB MG67C WORD SENT JSB DATA LDA CHCNT STA SAVB IOR AC ASCII STA MG67B,I NO. OF BITS IN WORD LDA PAR STA SAVA LDB MG67A STUFF PARITY MODE INTO MESSAGE JSB PARTY LDA E170 JSB MHLT5 RTN *+2 IF NO TTY SELECTED E167 JSB ERROR * DATA ERROR CHSF JSB SW8 HALT AT END OF TEST (BIT 8) JSB SW7 LOOP ON LAST TEST (BIT 7) NOP (EXTRA INSTRUCTION) ISZ CNR INCREMENT DATA PATTERN LDA PTNC,I ADA CNR SZA FINISHED? JMP FLOOP NO, SEND NEXT CHARACTER JMP FTEST,I YES, EXIT SPC 2 SUP M10 ASC 18,E10. EXTERNAL PRESET DID NOT SET THE ASC 03, FLAG L10 EQU *+*-M10-M10 UNS HED ASDTA - SYNC PATTERNS - SEND INTERFACE DIAGNOSTIC ORG 4000B ASDTA NOP NOP (EXTRA INSTRUCTION) JSB STN LDA CW3 JSB OTACH JSB DELAY LDA CW3 150017 CNTL WD - NO PARITY, AUTO JSB MCLR MASTER CLEAR INTERFACE LDA CW3 JSB INP INITIALIZE PROGRAM ATEST JSB ASTST SEND ALL SYNC PATTERNS LDA MN8 ADA CHCNT SZA,RSS FINISHED? JMP OST YES NOP (EXTRA INSTRUCTION) JSB SETNP NO - INITIALIZE JMP ATEST AND REPEAT SPC 2 OST NOP (EXTRA INSTRUCTION) JSB STN LDA CW5 JSB OTACH JSB DELAY LDA CW5 156016 CNTL WD - ODD PARITY,AUTO JSB MCLR MASTER CLEAR INTERFACE _™þú LDA CW5 JSB IOP INITIALIZE PROGRAM OSTO JSB ASTST SEND ALL SYNC PATTERNS LDA MN8 ADA CHCNT SZA,RSS FINI? JMP EST YES NOP (EXTRA INSTRUCTION) JSB SETOP NO - INITIALIZE JMP OSTO AND REPEAT SPC 2 EST NOP (EXTRA INSTRUCTION) JSB STN LDA CW7 JSB OTACH JSB DELAY LDA CW7 154016 CNTL WD, EVEN PARITY,AUTO JSB MCLR MASTER CLEAR INTERFACE LDA CW7 JSB IEP INITIALIZE PROGRAM ESTE JSB ASTST SEND ALL SYNC PATTERNS LDA MN8 ADA CHCNT SZA,RSS FINI? JMP ASDTA,I YES - EXIT ***** NOP (EXTRA INSTRUCTION) JSB SETEP NO - INITIALIZE JMP ESTE AND REPEAT SPC 2 ASTST NOP NOP (EXTRA INSTRUCTION) LDA TRW JSB MCLR CLC 0 ALOOP JSB SN OUTPUT SYNC CHARACTER TO BUFFER JSB SENCC SEND SYNC CHARACTER LDA DIN SYNC IN FROM INTERFACE CPA WD1 SYNC OK? JMP AK YES STA SAVE NO, REPORT ERROR LDB MG20D WORD RECEIVED JSB DATA LDA WD1 STA SAVD LDB MG20C WORD SENT JSB DATA LDA CHCNT STA SAVB IOR AC ASCII STA MG20B,I NO. OF BITS IN WORD LDA PAR STA SAVA LDB MG20A STUFF PARITY MODE INTO MSG JSB PARTY LDA E121 JSB MHLT5 RTN *+2 IF NO TTY SELECTED E120 JSB ERROR * SYNC ERROR AK JSB SW8 HALT AT END OF TEST (BIT 8) JSB SW7 LOOP ON LAST TEST (BIT 7) NOP (EXTRA INSTRUCTION) ISZ CNR INCREMENT DATA PATTERN LDA PTNC,I ADA CNR SZA FINISHED? JMP ALOOP NO, SEND NEXT CHARACTER JMP ASTST,I YES, EXIT HED MESSAGES - SEND INTERFACE DIAGNOSTIC SUP AS0 ASC 2, NO AS1 ASC 2, ODD AS2 ͬþú ASC 2,EVEN M0 ASC 18,E0. PRESET STATUS ERROR. STATUS IS M0A ASC 11,XXXXXX AND SHOULD BE M0B ASC 3,XXXXXX L0 EQU *+*-M0-M0 M1 ASC 17,E1. CLF DID NOT CLEAR FLAG, OR SFS ASC 14, CAUSED SKIP WITH FLAG CLEAR L1 EQU *+*-M1-M1 M2 ASC 18,E2. SFC DID NOT SKIP WITH FLAG CLEAR L2 EQU *+*-M2-M2 M3 ASC 20,E3. STF DID NOT SET FLAG, OR SFC CAUSED ASC 9,SKIP WITH FLAG SET L3 EQU *+*-M3-M3 M4 ASC 17,E4. SFS DID NOT SKIP WITH FLAG SET L4 EQU *+*-M4-M4 M5 ASC 11,E5. DID NOT INTERRUPT L5 EQU *+*-M5-M5 M6 ASC 19,E6. THE RETURN ADDRESS IS NOT CORRECT L6 EQU *+*-M6-M6 M11 ASC 7,H11. END BI/O L11 EQU *+*-M11-M11 M12 ASC 18,E12. INTERNAL PRESET DID NOT DISABLE ASC 06, INTERRUPTS L12 EQU *+*-M12-M12 M13 ASC 19,E13. EXTERNAL PRESET DID NOT SET FLAG OCT 6412 ASC 18,AND INTERNAL PRESET DID NOT DISABLE ASC 05,INTERRUPTS L13 EQU *+*-M13-M13 M14 ASC 17,E14. INTERRUPT ACKNOWLEDGE DID NOT ASC 9, WORK. ABORT BI/O L14 EQU *+*-M14-M14 M15 ASC 16,E15. CLC 0 DID NOT CLEAR CONTROL L15 EQU *+*-M15-M15 M16 ASC 17,E16. EXTERNAL PRESET DID NOT CLEAR ASC 04, CONTROL L16 EQU *+*-M16-M16 M21 ASC 16,E21. STF 0 OR SFC 0 DID NOT WORK L21 EQU *+*-M21-M21 M22 ASC 16,E22. STF 0 OR SFS 0 DID NOT WORK L22 EQU *+*-M22-M22 M23 ASC 17,E23. CLC ON CHANNEL DID NOT CLEAR ASC 4,CONTROL L23 EQU *+*-M23-M23 M24 ASC 20,E24. CLC CH,C DID NOT CLEAR FLAG OR SFC ASC 14,DID NOT SKIP WITH FLAG CLEAR L24 EQU *+*-M24-M24 M30 ASC 18,E30. READY NOT RESET BY DATA OUTPUT L30 EQU *+*-M30-M30 M31 ASC 17,E31. STATUS ERROR - BIT 12 NOT = 1 L31 EQU *+*-M31-M31 M32 ASC 9,E32. FLAG NOT SET L32 EQU *+*-M32-M32 M33 ASC 14,E33. STATUS ERROR - DATA IS G33A ASC 11,XXXXXX AND SHOULD BE G33B ASC 3,XXXXXX L33 EQU *+*-M33-M33 M34 ASC 9,E34. FLAG NOT SET L34 EQU *+*-M34-M34 M40 ASC 9,E40. FLAG NOT SET L40 EQU *+*-M40-M40 M4:Hþú1 ASC 10,E41. FLAG NOT CLEAR L41 EQU *+*-M41-M41 M43 ASC 9,E43. FLAG NOT SET L43 EQU *+*-M43-M43 M44 ASC 14,E44. STATUS ERROR - DATA IS G44A ASC 11,XXXXXX AND SHOULD BE G44B ASC 3,XXXXXX L44 EQU *+*-M44-M44 M52 ASC 7,H52. END FCTST L52 EQU *+*-M52-M52 M53 ASC 18,E53. ERROR IN SEND DATA PATTERN TEST ASC 10, WITH AUTO-SYNC ON. OCT 6412 G53A ASC 13,XXXX PARITY MODE SELECTED, ASC 9, CHARACTER SIZE IS OCT 6412 G53B ASC 14,XX BITS, WORD RECEIVED WAS G53D ASC 11,XXXXXX AND SHOULD BE G53C ASC 3,XXXXXX L53 EQU *+*-M53-M53 M61 ASC 14,E61. STATUS ERROR - DATA IS G61A ASC 11,XXXXXX AND SHOULD BE G61B ASC 3,XXXXXX L61 EQU *+*-M61-M61 M65 ASC 07,H65. END ASON L65 EQU *+*-M65-M65 M70 ASC 15,E70. PRESET FAILED, ABORT BI/O L70 EQU *+*-M70-M70 M77 ASC 12,H77. DIAGNOSTIC COMPLETE L77 EQU *+*-M77-M77 M120 ASC 17,E120. ERROR IN SYNC PATTERN TEST. G20A ASC 13,XXXX PARITY MODE SELECTED, OCT 6412 ASC 9,CHARACTER SIZE IS G20B ASC 14,XX BITS, WORD RECEIVED WAS G20D ASC 11,XXXXXX AND SHOULD BE OCT 6412 G20C ASC 3,XXXXXX L120 EQU *+*-M120-M120 M140 ASC 8,H140. END ASDTA L140 EQU *+*-M140-M140 M167 ASC 19,E167. ERROR IN SEND DATA PATTERN TEST ASC 10,WITH AUTO-SYNC OFF. OCT 6412 G67A ASC 13,XXXX PARITY MODE SELECTED, ASC 9, CHARACTER SIZE IS OCT 6412 G67B ASC 14,XX BITS, WORD RECEIVED WAS G67D ASC 11,XXXXXX AND SHOULD BE G67C ASC 3,XXXXXX L167 EQU *+*-M167-M167 M176 ASC 08,H176. END ASOFF L176 EQU *+*-M176-M176 M200 ASC 12,E200. 1ST SYNC INCORRECT L200 EQU *+*-M200-M200 M201 ASC 12,E201. 2ND SYNC INCORRECT L201 EQU *+*-M201-M201 M202 ASC 12,E202. 3RD SYNC INCORRECT L202 EQU *+*-M202-M202 M203 ASC 10,E203. DATA INCORRECT L203 EQU *+*-M203-M203 M204 ASC 12,E204. 1ST SYNC INCORRECT L204 EQU *+*-M204-M204 M205 ASC 12,E205. 2ND SYNC INCORRECT L205 EQU *+*-M205-M205 M206 ASC 12,E206. 3RD SYNC INCORRECöFB@66 IS MADE. ONLY * * EVEN SECTORS ARE ALLOWED TO BE COMPATIBLE WITH THE RTE II * * FMGR. * * * * CONWD * * BITS 0-5 = LOGICAL UNIT NUMBER OF FLOPPY DRIVE * * BITS 6-10 * * 30 = READ WITH CLOSE TOLERANCE. THIS MODE MAY BE * * USED FOR READ AFTER WRITE (USER PROGRAMMED) * * WHERE THE FUTURE RECOVERY OF DATA IS VERY * * IMPORTANT. THIS MODE WILL CAUSE THE FLOPPY * * CONTROLLER TO PERFORM ADDITIONAL CHECKS IN * * THE READ FUNCTION. * * 23 = DSECT CONTAINS INFORMATION FOR FORMATTING DISC. * * THIS IS A "HOOK" PUT INT‘ÊþúO THE DRIVER FOR USE BY * * A DISC FORMAT PROGRAM "DSKET". IT IS NOT * * --- * * INTENDED THE BELOW SPECIAL CALLS BE DOCUMENTED * * FOR USER OPERATION BECAUSE OF THE POSSIBILITY * * OF DAMAGING THE HARDWARE AND/OR ACCIDENTALLY * * "WIPING OUT" INFORMATION OF THE DISKETTE. * * DSECT FUNCTION * * 7630 STEP TRACK IN * * 7640 WRITE ALL ZEROS (FOR DEFECTIVE TRACK) * * * * * * 0 FORMAT TRACK CONTAINED IN DTRACK * * * * DVR33 IS INTIALLY ENTERED THROUGH I.33. THE RETURN CONDITION * * IS INDICATED BY THE A REGISTER: * * * * A=0=OPERAYTION INITIATED * * 1=ILLEGAL READ/WRITE * * * * AN A=1 EXIT WILL OCCUR IN THE BELOW CONDITIONS: * * * * 1. SPECIFY NEGATIVE TRACK NUMBER * * 2. SPECIFY ODD OR NEGATIVE SECTOR * * 3. SPECIFY SECTOR > 58 * * 4. SPECIFY NON-EXISTENT TRACK N(066 * * WILL RETURN THE NUMBER OF TRACKS IN THE B * * REGISTER. THEREFORE MAXIMUM TRACK NUMBER IS * * (B REGISTER-1). * * 5. WRITE TO TRACK 0, SECTOR 0. THIS ADDRESS IS * * RESERVED FOR USE BY DVR33. * * WORD 1 = NO. OF AVAILABLE TRACKS (1-67) * * WORD 2 = NO. OF REVOLUTIONS TO READ ONE TRACK. * * 6. ATTEMPT TO WRITE MORE SECTORS THAN ARE AVAILABLE ON THE * * DISKETTE. FOR EXAMPLE, IF THERE ARE ONLY 2 SECTORS LEFT * * ON THE LAST TRACK AND THE CURRENT REQUEST IN TO WRITE * * 512 WORDS (4 SECTORS). * * * * A=2=ILLEGAL CONTROL. ONLY VALID CONTROL REQUEST IS DYNAMIC STAT * * AND RESET (0) * * A=3=EQUIPMENT MALFUNC¤tþúTION OR NOT READY. CHECK FOR POWER ON. * * * * SUBSEQUENT INTERRUPTS CAUSE AN ENTRY AT C.33. IF THE OPERATIO * * IS NOT COMPLETED EXIT IS THROUGH CONTINUATION P+2. THE * * REGISTERS ARE NOT SIGNIFICANT. IF THE OPERATION IS COMPLETED, * * EXIT IS THROUGH CONTINUATION P+1 WITH RETURN CONDITION IN THE * * A AND B REGISTERS. * * * * A=0=SUCCESSFUL COMPLETION * * 1=DEVICE MALFUNCTION. THIS EXIT IS FOR SPURIOUS INTERRUPTS * * (UNEXPECTED INTERRUPTS WITH NO REQUEST IN PROCESS). * * THIS EXIT IS ALSO USED FOR CONTROLLER/DRIVE ERRORS. * * SEE STATUS WORD FOR CAUSE. * * 3=TRANSMISSION ERROR. THIS EXIT IS FOR THE BELOW ERRORS: * * 1. RECORD NOT FOUND * * 2. TRACK NOT FOUND * * 3. DATA CHECKWORD ERROR * * 4. DATA OVERRUN * * 5. TRANSFER INCOMPLETE * * FOR NORMAL READS 10 TRIES ARE MADE BEFORE TRANSMISSION * * ERROR EXIT IS TAKEN. FOR READ WITH CLOSE TOLERANCE * * (CONWD=30) 1 TRY IS MADE. * * 4=TIME OUT. THIS EXIT IS TAKEN IF AN EXPECTED INTERRUPT * * DOES NOT OCCUR WITHIN 5 SECONDS. PRIOR TO TAKING THIS * * EXIT, DVR33 RESETS (HEADS GO TO TRACK 0) THE 9885M/9885S. * * B=# OF WORDS OR CHARACTERS TRANSMITTED (DEPENDING ON USER * * REQUEST) * * *.* STATUS REQUEST * * * * CALLING SEQUENCE: * * * * JSB EXEC * * DEF RTRN * * DEF RCODE * * DEF LUN * * DEF STAT1 * * DEF STAT2 * * * * RTRN . (RETURN POINT) * * . * * . * * RCODE DEC13 (REQUEST CODE FOR STATUS) * * LUN DEC N (DECIMAL LOGICAL UNIT # OF DISC) * * STAT1 BSS 1 (STORAGE FOR STATUS WORD EQT5) * * STAT2 BSS 1 (STORAGE FOR EQT WORD 4)(OPTIONAL) * * * * THIS CALL RETURNS THE LAST ACCESSED DRIVE'S STATUS WORD (WORD * * OF THE EQUIPMENT TABLE) IN STAT1. * * * * BITS 8-15 ARE AS DESCRIBED IN THE RTE MANUAL. BITS 0-7 CONTAI * * Tî¬þúHE HARDWARE STATUS. SEE TABLE 1. * * * * WORD 4 OF THE EQT (AS DEFINED IN THE RTE MANUAL) IN STAT2 IF * * IT IS CODED. * * * * TABLE 1 * * I/O STATUS WORD BITS * * --------------------- * * * STATUS IS RETURNED PER BELOW: * * * * BITS 0-6 MEANING OCTAL VALUE * * 0000000 NO ERROR 0 * * 0000011 NO DRIVE POWER 3 * * 0000101 DOOR OPEN 5 * * 0000111 NO DISC 7 * * 0001011 RECORD NOT FOUND 13 * * 0001101 TRACK NOT FOUND 15 * * 0001111 DATA CHECKWORD ERROR 17 * * 0010001 DATA OVERRUN 21 * * 0010011 READ CLOSE TOL. ERROR 23 * * 0011111 TRANSFER INCOMPLETE 37 * * * * BITS 0-7 * * 00100000 END OF TRACK 40 * * 01000000 DISC CHANGE 100 * * 10000000 DISC WRITE PROTECTED 200 * RETURNS OF 3, 5, AND 7 CAUSE A NOT READY (A=1) EXIT. * * * 13, 15, 17, 21, 37 CAUSE A PARITY ERROR (A=3) EXIT AFTER 10 TR * TRACK NO. IS IN B REGISTER. * 13, 15, 17 INDICATE A MEDIA PROBLEM (I.E., SCRATCHED SURFACE), * POSSIBLE HARDWARE MALFUNCTION. ERRORS 21 AND 37 INDICATE A HARDWA * MALFUNCTION * * * 23 CAUSES A SUCCESSFUL EXIT (A=0) AFTER 1 TRY.. TRACK NO. IS * B REGISTER. THEREFORE WHEN USING A READ WITH CLOSE TOLERANCE, IT * IMPORTANT THE STATUS AFTER EACH READ BE CHECKED FOR 23 IN EQT 5. * IF THIS OCCURS, THE DATA MAY STILL BE RECOVERABLE WITH A STANDARD * READ REQUEST. * * * (OCTAL 40) IS SET WHEN AN ATTEMPT IS MADE TO READ/WRITE * A TRACK >66. THE NUMBER OF TRACKS IS RETURNED IN THE B * WITH A REG. = 0. * (OCTAL100) IS SET WHEN A NEW DISC HAS BEEN INSERTED OR * POWER TURNED ON SINCE THE LAST REQUEST O¨ÝþúR RESET JUST PERFORMED. * * * (OCTAL 200) IS SET IF THE WRITE PROTECTED NOTCH ON THE * DISK IS NOT COVERED. * * *.* CONTROL REQUEST * * * * CALLING SEQUENCE: * * * * JSB EXEC * * DEF RTRN * * DEF RCODE * * DEF CONWD * * * * RTRN (RETURN POINT) * * RCODE DEC3 (REQUEST CODE FOR CONTROL) * * CONWD * * BITS 0-5=LOGICAL UNIT NUMBER OF FLOPPY DRIVE * * BITS 6-10 * * 0=RESET CONTROLLER. ALL DRIVES ARE RESET WITH * * HEADS MOVING TO TRACK 0. RESET IS ALSO DONE AT POWE * * 6=DYNAMIC STATUS. CURRENT STATUS OF SELECTED LU * * RETURNED IN EQT5. * * * * * * * * * * * * *.* OPERATING SPECIFICATIONS * * *.* HARDWARE * * * * MINIMUM RTE SYSTEM WITH DCPC * * HP 12732A FLOPPY DISC DRIVE SUBSYSTEM (MASTER) * * HP 12735-60001 MICROCIRCUIT CARD (CONTROL) INTERFACE 1 * * HP 12735-60002 MICROCIRCUIT CARD (DATA) INTERFACE 2 * * INTERFACE CABLE (DUAL HOOD, LENGTH 15') HP 12735-60003 * * * * OPTIONAL: * * * * HP 12733A FLOPPY DISC DRIVE SUBSYSTEM (SLAVE) * * (3 SLAVES MAY BE CONNECTED TO ONE MASTER) * * SLAVE CABLE IS 6'. * * *.* SOFTWARE INSTALLATION * * *.* PROGRAM INPUT PHASE * * * * DRIVER DVR33 MUST BE LOADED DURING THIS PHASE * * *.* TABLE GENERATION PHASE * * * * *EQUIPMENT TABLE ENTRY * * * * A. EQUIPMENT TABLE ENTRY (EQT) FOR THE FLOPPY DISC CONTROLLER * * SC1,DVR33,D, * * WHERE SC1 IS THE SELECT CODE OF THE CONTROL CARD (HIGHER * * PRIORITY), AND "D" INDICATES DMA REQUIRED. * * * * B. DEVICE TABLE ENTRY * * * * *DEVICE REFERENCE TABLE * * LU=EQT,M,SUB * * WHERE LU IS THE LOGICAL UNIT NUMBER OF DRIVE, M IS THE EQT * * NUMBER, AND SUB IS THE DRIVE SUBCHANNEL NUMBER (0-3). * * THIS SAME NUMBER IS SET AS THE DRIVE NUMBER ON THE REAR OF * * 9885M/S. * * * * ƒ˜þú C. INTERRUPT TABLE ENTRY FOR THE FLOPPY DISC * * * * *INTERRUPT TABLE * * * * SC1,EQT,M * * SC2,EQT,M * * * * WHERE SC2 IS THE SELECT CODE OF THE DATA CARD (LOWER PRIOR *.* REFERENCES * * * * RTE II SOFTWARE SYSTEM P.N. 92001-93001 * * ------ ---------------- * * * * HP 12732 FLOPPY DISKETTE SUBSYSTEM P.N. 12732-90003 * * * * *.* FLOPPY DISKETTE FORMAT PROGRAM DSKET * * * * PRIOR TO USING A NEW DISC, IT IS NECESSARY TO FORMAT IT BY * * WRITING TRACK AND SECTOR ADDRESSES ON THE DISC. THIS IS * * DONE BY THE PROGRAM DSKET. * * * * ANOTHER FUNCTION OF DSKET IS TO IDENTIFY BAD TRACKS AND * * "MARK" THEM AS SUCH. DSKET IS A RELOCATABLE PROGRAM WHICH * * USES DVR33 FOR DISC COMMUNICATION. * * * * TO RUN DSKET PROCEED PER BELOW: * * * * 1. LOAD DSKET * * * * 2. TYPE RU,DSKET,X * * WHERE X=LU OF TERMINAL DSKET IS CONTROLLED FROM * * 3. DSKET RESPONDS: * * ENTER DRIVE LU? * * TYPE IN THE DISKETTE DRIVE LU * * 4. DSKET RESPONDS: * * DO YOU REALLY WANT TO FORMAT THIS DISKETTE? * * * * THIS QUESTION IS ASKED TO PREVENT ACCIDENTAL ERASURE * * OF VALUABLE INFORMATION. FORMATTING A DISKETTE ERASES AL * * DATA. * * * * IF THE OPERATOR RESPONDS YES THEN DSKET CONTINUES. FOR * * ANY OTHER RESPONSE DSKET ENDS. * * * * AFTER RESPONDING WITH YES, DSKET ASKS: * * * * STANDARD FORMAT? * * * * THIS QUESTION REFERS TO THE NUMBER OF REVOLUTIONS IT * * WILL TAKE TO READ AN ENTIRE TRACK. IF YES THEN FIVE * * REVOLUTIONS (1 SEC) MINIMUM IS REQUIRED TO READ A TRACK. * * * * BETWEEN CONSECUTIVE SECTORS THERE ARE 4 "FILL" SECTORS. * * THE "FILL" SECTORS GIVE THE SYSTEM PROCESS TIME BEFORE * * THE NEXT REQUEST. THIS TIME IS NEEDED BECAUSE MOST * * REQUESTS ARE ON A SECTOR (128 WORD RECORD) BASIS. FOUR i›þú* * * * FOUR "FILL" SECTORS GIVE 4 X (1/6) X (1/30)=22 MSEC * * MAXIMUM AFTER THE LAST REQUEST IS COMPLETED AND THE * * NEXT ONE IS STARTED. IF THIS TIME IS EXCEEDED, THEN * * THE DISKETTE MUST ROTATE A COMPLETE REVOLUTION * * (167 MSEC) BEFORE THAT SECTOR CAN BE READ. * * * * THESE CALCULATIONS ASSUME: * * * * 6 REVOLUTIONS/SECOND * * 30 SECTORS/TRACK * * 4 FILL SECTORS * * * * TRACK 0 WOULD BE FORMATTED PER BELOW: * * SECTOR: 0,6,12,18,24,1,7,13,19,25,2,8 * * 14,20,26,3,9,15,21,27,4,10,16,22 * * 28,5,11,17,23,29 * * * * EACH SUCCEEDING TRACK WILL BE IN THE SAME ORDER AS * * ABOVE BUT THE STARTING TRACK CHOSEN TO ALLOW A TRACK * * SWITCHING TIME OF 4 "FILL" SECTORS. THAT IS * * TRACK 1 WILL PHYSICALLY START WITH SECTOR 11 SUCH THAT * * BY THE TIME THE HEAD IS SETTLED ON TRACK 1, SECTOR 0 * * WILL BE READY TO READ. * * * * IF THE OPERATOR ANSWERS NO TO THE STANDARD FORMAT? * * -------- ------- * * QUESTION THEN ALL TRACKS WILL BE FORMATTED WITH * * SERIAL SECTORS (0,1,2, ETC.) ALLOWING 4 "FILL" SECTORS * * BETWEEN TRACKS FOR TRACK SWITCHING SETTLING TIME. * * * * IT IS ANTICIPATED MOST DISKETTES WILL BE FORMATTED * * WITH THE "STANDARD FORMAT". THIS WILL OPTIMIZE * * THROUGHPUT USING SINGLE RECORD TRANSFERS. * * * * WE ARE ALLOWING THE SERIAL FORMAT FOR THE SITUATION * * WHERE THE USER HAS A LARGE BUFFER SPACE TO MAKE * * MULTIPLE SECTOR READ/WRITE REQUESTS AND THROUGHPUT * * IS IMPORTANT (I.E., STORAGE FOR HIGH SPEED ANALOG * * TO DIGITAL CONVERTER MEASUREMENTS). BOTH FORMATS * * ARE INTERECHANGEABLE FOR READING AND WRITING. THE * * ONLY NOTICEABLE DIFFERENCE WILL BE DATA THROUGHPUT æ½þú * * SPEED. * * * * DATA FOR EACH READ/WRITE REQUEST IS TRANSFERRED VIA DMA * * AT 30 KHZ. * * IF NEITHER YES OR NO IS ENTERED TO THE QUESTION, * * STANDARD FORMAT?, THEN DSKET ENDS. * * -------- ------- * * * * IF YES OR NO WAS ENTERED THEN THE DISKETTE IS * * FORMATTED. UPON COMPLETION, THE NUMBER OF GOOD TRACKS * * IS WRITTEN IN SECTOR 0, TRACK 0, WORD 1 AND THE TYPE * * OF FORMAT (STANDARD = 5, SERIAL = 1) WRITTEN IN * * WORD 2. * * * * THE INFORMATION IN WORD 1 IS NEEDED TO TELL THE FILE * * MANAGER THE LAST TRACK AS WELL AS PREVENTING THE HEAD * * FROM BANGING AGAINST THE HEAD STOP ON MULTIPLE SECTOR * * READ/WRITE. THIS COULD OCCUR IF THE DRIVER DID NOT * * KNOW THE LAST LOGICAL TRACK. * * * * THE INFORMATION IN WORD 2 CAN BE USED TO READ THE * * FORMAT TYPE. * * * * COMPLETION OF FORMATTING IS INDICATED BY THE MESSAGE: * * * * THE NUMBER OF GOOD TRACKS IS N * * - * * WHERE N=NUMBER OF GOOD TRACKS (0-67). * * * * ALL TRACKS ARE NUMBERED SERIALLY AND THE USER NEED NOT * * CONCERN HIMSELF WITH BAD TRACKS OTHER THAN TO REALIZE * * THEIR EXISTENCE LIMITS THE STORAGE CAPACITY OF THE * * DISKETTE. * * STORAGE CAPACITY = NUMBER OF GOOD TRACKS X 3840 WORDS. * * REV. 1650 ORIGINAL * REV. 1723 FIXED PRIVELEGED PROBLEM * REV. 1805 FIXED MOUNT WITH NO DISK PROBLEM * AND PRIV. WITH DMA PROBLEM * * NAM DVR33 12732-16001 REV 1805 10-20-77 ENT I.33,C.33 * I.33 NOP STA COMAD SAVE SELECT CODE JSB SETIO CONFIGURE IO * CLA CLR COMMAND CHANNEL STA TEMP6 JSB OUTAC * * LDA B.12 SET RETRY COUNTER OF 10 FOR NORMAL READ STA EQT12,I * LDx‹<:6A EQT4,I IOR BN11 SET TO HANDLE TIMEOUT STA EQT4,I * * CLA SET FOR INITIATION ENTRY STA TEMP4 RESRT LDA EQT6,I GET CONTROL WORD AND B2303 IS THIS A REQUEST FOR A FORMAT CPA B2302 INITIALIZATION ROUTINES? JMP FIP YES! GO PROCESS * LDA EQT6,I RAR SSA,SLA IF A CONTROL REQUEST JMP CONTL THEN GO TO CONTL ** LDA EQT6,I CHECK FOR READ MAX TRACK AND B2303 CPA B2301 JMP RMXTK YES! READ MAX TRACK ** LDA EQT9,I GET TRACK NO. SSA IF NEG. THEN REJECT JMP IREJ1 REJECT WITH A =1 (ILL. R\W) ADA D.67 IF >66 THEN READ NO. OF TRACKS SSA,RSS JMP RMXTK * LDB EQT6,I REJECT IF WRITE TO TRACK 0,SECTOR 0. LDA EQT9,I THIS IS RESERVED: ADA EQT10,I WORD 1 = NO. OF TRACKS SZA,RSS WORD 2 = NO. OF REV. TO READ (FORMAT TYPE) SLB JMP ON1 JMP IREJ1 * ON1 LDA EQT10,I GET SECTOR NO. SLA IF ODD OR >58 JMP IREJ1 REJECT REQUEST (A=1 FOR ILL. R W) SSA IF NEG. THEN REJECT JMP IREJ1 ADA D.59 SSA,RSS JMP IREJ1 NEG. SECTOR LDA EQT9,I GET TRACK LDB NUTRK GET NO. OF TRACKS FOR DISKETTE CMB,INB "NUTRK" IS LAST TRACK +1 ADA B IS REQUEST WITHIN NO. OF SSA GOOD TRACKS? JMP ISTR1 IT IS OK! JMP IREJ1 OUT OF RANGE A=1 (ILLEGAL R W) * 6‹<ÿÿþú*^^^^^^^FIRST LINE OF SECOND TAPE^^^^^^^ * * D.XX IS MINUS DECIMAL XX * DXX IS PLUS DECIMAL XX * B.XX IS MINUS OCTAL XX * BXX IS PLUS OCTAL XX * BNXX IS SOME OCTAL NUMBER * D30 DEC 30 D.59 DEC -59 D.67 DEC -67 D128 DEC 128 D.5 DEC -5 B.12 OCT -12 B2302 OCT 2302 B2301 OCT 2301 B2303 OCT 2303 B2 OCT 2 BN13 OCT 177000 BN11 OCT 10000 RDCLS NOP =4000 IF READ WITH CLOSE TOL. TEMP6 NOP NUTRK NOP # OF TRACKS ON DISK MWORD NOP -# OF WORDS TO TRANSFER TEMP2 NOP SECTOR # DRIVE NOP DRIVE # SEEK OCT 140000 FIPCD NOP FORMAT COMMAND STORAGE DMAIN OCT 100000 DMAW1 NOP DMA WORD 1 COMAD NOP COMMAND CHANNEL DMACH NOP DMA CHANNEL * DATA DEC 67 STORE DEF DATA * * IF TRACK NO. > 66 RMXTK IS CALLED TO * READ MAXIMUM TRACK NO. STORED ON TRACK 0 SECTOR 0 * RMXTK CLA STA EQT9,I SET FOR TRACK 0 STA EQT10,I AND SECTOR 0 INA STA EQT8,I READ ONE WORD LDA STORE "STORE" HAS ADDRESS OF DATA STA EQT7,I SET BUFFER ADD. TO "DATA" LDA EQT6,I SET FOR READ AND BN13 IOR B2301 SET SPECIAL CODE FOR RMXTK STA EQT6,I * * * * BEGIN R\W OPERATION * ISTR1 LDA EQT8,I GET BUFFER LENGTH SSA,RSS CONVERT TO -WORDS CMA,INA,RSS ARS STA MWORD CMA,INA STA B SW1 NOP FORMAT SWITCH =NOP JMP OVER2 IF FORMAT COMMAND THAN GOTO OVER2 * SZB,RSS IS ZERO LENGTH? JMP IREJ4 YES, IMMEDIATE COMPLETION CLB DIV D128 DIVIDE WORDS BY SECTOR SIZE SZB,RSS A=QUOTIENT B=REMAINDER JMP OVER8 WHOLE SECTOR READ ISZ TEMP6 SET TEMP6 FOR PARTIAL SECTOR INA OVER8 STA TEMP2 TEMP2 =NO. SECTORS * * BELOW CODE DETERMINES NO. OF SECTORS LEFT FROM * REQUEST ADDRESS TO END OF DISK. IT THEN COMPARES * THIS TO THE NO. SECTORS REn®þúQUIRED TO COMPLETE * THE REQUEST. IF THERE ARE NOT ENOUGH THE REQUEST * IS REJECTED. * THE ABOVE CHECK IS IMPORTANT IN THAT IT KEEPS * THE HEAD FROM FLYING REPEATEDLY INTO THE * CAST IRON STOP. * * LDA NUTRK GET NO. OF TRACKS LDB EQT9,I GET TRACK ADDRESS CMB,INB ADA B SUBTRACT FROM NO. OF TRACKS MPY D30 MULIPLY BY NO. OF SECTORS PER TRACK * LDB EQT10,I GET STARTING SECTOR BRS CHANGE TO PHYSICAL SECTOR CMB,INB ADA B SUBTRACT FROM SECTORS AVAILABLE * * A REG. NOW HAS NO. OF SECTORS AVAILABLE * LDB TEMP2 GET NUMBER OF SECTORS REQUIRED CMB,INB MAKE NEG. ADA B SUBTRACT FROM SECTORS AVAILABLE SSA IT SHOULD NOT BE NEG. JMP IREJ1 TOO MANY SECTORS REQUIRED. JSB PWORD SEND PASSWORD * LDA TEMP6 SZA,RSS CHECK FOR PARTIAL SECTOR READ JMP OVER9 LDA B2 SET FOR PARTIAL SECTOR JSB OUTAC OVER9 LDA EQT9,I GET STARTING TRACK ALF,RAL MOVE TO POSITION 5-11 LDB EQT10,I GET LOGICAL SECTOR BRS CHANGE TO PHYSICAL SECTOR BITS 0-4 IOR B ADD TRACK (BITS 5-11) IOR DRIVE ADD DRIVE (BITS 12-13) IOR SEEK COMPLETE SEEK COMMAND (14XXXX) * JSB OUTA SEND SEEK OVER2 JSB PWORD SEND PWORD FOR R\W * LDA EQT6,I GET CONTROL WORD RAR,CLE,ELA E=IN\OUT =1\0 * LDB EQT7,I GET STARTING ADDRESS SEZ SET DMA DIRECTION BIT ADB DMAIN IN/OUT = 1/0 LDA DMAW1 GET DMA WORD ONE OCT 1000SC DMASW NOP NOP/RSS= CHAN6/CHAN7 JMP CHAN6 OTA 7 SEND WORD 1 (CONTROL WORD) CLC 3 CONTROL IS 1000SC OTB 3 SEND WORD2(BUFFER ADDRESS) BIT 15 =1 FOR IN LDA MWORD GET MINUS NO. WORDS STC 3 OTA 3 SEND WORD3(WORD COUNT) * * DMA STARTS WITH FIRS­0þúT FLAG. FOR READ DVR33 HAS SENT * FIRST STC. FOR WRITE NO STC IS SENT(DMA WILL SUPPLY) * JMP ON3 * * SAME AS ABOVE BUT FOR CHANNEL 6 * CHAN6 OTA 6 CLC 2 OTB 2 LDA MWORD STC 2 OTA 2 * ON3 LDA FIPCD GET "FORMAT" COMMAND ** CLF 0 DISABLE INTERRUPTS FOR PRIVELEGE TIMING PROBLEM ** SW2 NOP "FIP" SWITCH =NOP FOR "FORMAT" JMP OTA03 CLA,CME BITS 15-14 = R/W 00/10 ERA IOR DRIVE ADD DRIVE BITS 12-13 IOR RDCLS ADD READ CLOSE TOLERANCE IOR TEMP2 ADD RECORD COUNT BITS 0-11 SSA IF WRITE THEN SEND COMD. AT OTA03 JMP OTA03 OTA04 OTA DATCH SEND READ COMD. HERE STC04 STC DATCH CLA CLR. BI DIRECTIONAL BUS SFS02 SFS DATCH RACE CONDITION HERE BETWEEN STC04 JMP *-1 AND STC06 (12 USEC. MAX) OTA03 OTA DATCH R\W =0XXXXX\1XXXXX STC06 STC DATCH * * BELOW CODE NECESSARY TO ALLOW RTE TO * RECOGNIZE AND PROCESS THE DMA INTERRUPT * USED TO DETERMINE WHEN THE SECTOR HAS * BEEN TRANSMITTED. * STCDM STC CMDCH,C INITIATE DMA CLA CPA DUMMY BYPASS BELOW CODE IF NO PRIVILIGED JMP OUT INTERRUPT REQUIRED * CLCD1 CLC CMDCH INHIBIT DMA INTERRUPT LDB INTBA GET EQT ASSIGNED TO DMA CHANNEL LDA DMACH GET CURRENT DMA CHANNEL CPA B7 IS IT 7? INB YES LDA B,I SET BIT 15 OF ENTRY EQUAL IOR DMAIN TO 1 STA B,I STF 0 ENABLE INTERRUPT SYSTEM * OUT JSB EXIT1 JMP CLCD2 * * * EXIT1 NOP STC10 STC CMDCH ENABLE ERROR INTERRUPT LDA BN10 SET 5 SEC. TIMEOUT STA EQT15,I CLA SET FOR GOOD RETURN LDB TEMP4 FIND OUT WHICH EXIT WE SZB,RSS SHOULD JMP I.33,I TAKE. ISZ C.33 TEMP2=0/1 = I.33/C.33+2 JMP C.33,I * * IS CONTINUATION INTERRUPT * C.33 NOP ¥þú STA TEMP1 ISZ TEMP4 SET FOR CONTINUATION ENTRY * LDB EQT4,I CHECK FOR TIME OUT ENTRY BLF SSB JMP TIMOT WE HAVE TIMED OUT LDA TEMP1 GET INTERRUPT S.C. CPA DMACH IS THIS A DMA INTERRUPT? JMP STATW YES? * CPA COMAD IS THIS AN ERROR INTERRUPT? RSS JMP ON2 NO ERROR INTERRUPT CLCD2 CLC CMDCH TURN OFF DMA INTERRUPT FOR ERROR STFDM STF CMDCH STOP DMA HANDSHAKE CLFDM CLF CMDCH CLEAR FLAG TO KILL INT. * JMP STATU * * B4 OCT 4 B3 OCT 3 B17 OCT 17 B11 OCT 11 B7 OCT 7 BN9 OCT 10017 BN10 OCT 177000 BN12 OCT 50017 BN8 OCT 177400 BN2 OCT 177600 BN7 OCT 40000 BN20 OCT 77777 * BREGX NOP AREGX NOP STATS NOP STATUS STORAGE TEMP4 NOP 0\1 = I.33\C.33 TEMP1 NOP TEMP STORAGE PASS OCT 127207 PASSWORD * * ON2 LDA EQT1,I GET QUE WORD SZA,RSS JMP CREJ1 SPURIOUS INTERRUPT * JMP EXIT1,I CONTINUE AT ADDRESS STORED HERE * * RESETS CONTROLLER AND TAKES TIMEOUT EXIT * TIMOT JSB PRESA RESET CONTROLLER JMP CREJ4 TIMEOUT EXIT * * * ** STATW CLA CPA DUMMY CHECK FOR PRIV. CARD JMP STATX LDB INTBA GET MY EQT LDA DMACH GET MY DMA CPA B7 MUST CLEAR SIGN BIT ON INTBA INB OR SYSTEM WILL ISSUE ANOTHER LDA B,I "STC" WHICH WILL CAUSE FLOPPY AND BN20 TO START HANDSHAKING AGAIN STA B,I AND CLEAR CORE ** STATX LDA EQT6,I IF DMA INT. AND WRITE THEN SLA,RSS CHECK DATA FLAG JSB SKPFG * * GETS CONTROLLER STATUS * STATU CLA JSB OUTA LIA02 LIA DATCH GET STATUS STC02 STC DATCH JSB SKPFG TELL CONTROLLER WE GOT STATUS ALF,ALF STA STATS * LDB EQT7,I IF "FPCON" REQUEST THEN GOTO CPB BN10 OVER5. DO NOT CHECK XFER COMPLETE. JMP OVERÊÊþú5 * AND BN12 CHECK XFER COMPLETE(BIT 14) AND NO ERROR. CPA BN7 BN12=50017,BN7=40000 . JMP ERR0 NO ERROR SZA,RSS IF ONLY XFER COMP. NOT SET (BIT 14) THEN STA TEMP1 TEMP1 =0. (NO OTHER ERRORS) LDA STATS JMP ERR1 * * * "STATS" LOOKS LIKE THIS * * BITS 0-3 MEANING * 0 NO ERROR * 1 NO POWER * 2 DOOR OPEN * * 3 NO DISK IN DRIVE * 4 INVALID CMD. * 5 RECORD NOT FOUND * 6 TRACK NOT FOUND * 7 DATA CHECKWORD ERROR * 10 DATA OVER RUN * 11 VERIFY ERROR * * BITS 8-9 DRIVE NO. * 10 DISK CHANGE (2000) * 11 WRITE PROTECT (4000) * 12 NOT READY (10000) * 13 SEEK COMPLETE (20000) * 14 XFER COMPLETE (40000) * OVER5 AND BN9 CHECK FOR NR AND BITS 0-3 SZA ANY ERROR JMP ERR1 YES! EXAMINE STATUS * ERR0 LDB EQT8,I CALCULATE NO. WORDS SSB OR CHAR. CMB,INB IF CHAR. MAKE POS. STB BREGX SET TRANSMISSION LOG OK1 CLA SET A REG FOR SUCCESSFUL STA AREGX COMPLETION JMP EOOP1 EXIT * ERR1 LDB EQT10,I IF STATUS REQUEST DO NOT DOWN. CPB B7740 JMP OK1 STATUS REQUEST. * AND B11 IF VERIFY ERROR DO NOT RETRY CPA B11 JMP ERR0 VERIFY ERROR THEREFORE EXIT LDA STATS AND B17 ADA D.5 IF GREATER THAN 4 WE SSA,RSS WILL RETRY FOR TRANS. JMP RETRY ERROR LDA TEMP1 CHECK FOR TRANS. INCOMPLETE SZA,RSS JMP RETRY CREJ1 CLA,INA SET FOR MALFUNCTION STA AREGX CLA STA BREGX JMP EOOP1 * * ADDRESS,CHECKWORD,OVER RUN AND VERIFY ERROR * MAY BE RECOVERABLE * * RETRY ISZ EQT12,I INCR8þúEMENT COUNTER JMP RESRT HAVE WE RETRIED 10 TIMES JMP CREJ3 YES! RECOVERY NO POSSIBLE * IREJ1 CLA,INA SET FOR ILLEGAL R/W RSS * IREJ2 LDA B2 SET FOR ILLEGAL CONTROL JMP I.33,I * IREJ3 LDB B3 SET FOR NOT READY LDA EQT5,I AND BN8 IOR B SET FOR NOT READY STA EQT5,I LDA B3 RSS RSS IREJ4 LDA B4 SET FOR IMMEDIATE COMPLETION JMP I.33,I * * TRANSMISSION ERROR EXIT * CREJ3 LDB EQT9,I GET TRACK IN B REG. STB BREGX LDA B3 STA AREGX JMP EOOP1 * * SENDS PASSWORD TO CONTROLLER * PWORD NOP JSB PSTS CHECK FOR POWER ON JSB FIRST CHECK FOR FIRST ENTRY LDB PASS GET PASSWORD 127207 OTB02 OTB DATCH STC03 STC DATCH,C SEND IT JSB SKPFG JMP PWORD,I RETURN * * CHECKS FOR POWER STATUS. IF OFF THEN * A "PRESET" IS DONE TO CLEAR CONTROLLER AND * IT IS CHECKED AGAIN. * PSTS NOP LIA01 LIA CMDCH SSA IF SIGN SET THEN OK JMP PSTS,I JSB PRESA RESET CONTROLLER LIA03 LIA CMDCH CHECK IT AGAIN SSA JMP PSTS,I IT IS OK NOW LDB TEMP4 CHECK FOR ENTRY SZB,RSS I.33\C.33 =0\1 JMP IREJ3 I.33 NOT READY EXIT CLB,INB STB AREGX SET FOR C.33 NOT READY LDB B3 JMP OVER6 FIRST NOP LDA EQT11,I SZA IF EQT11 =0 THEN FIRST ENTRY JMP FIRST,I ISZ EQT11,I JSB PREST RESET CONTROLLER JMP FIRST,I * * OUTPUTS CONTENTS OF A REG. TO DATA CH. AND WAITS * FOR FLAG * OUTA NOP OTA01 OTA DATCH,C STC01 STC DATCH,C JSB SKPFG WAIT FOR FLAG JMP OUTA,I * * GIVES TIMED INTERRUPT RESPONSE * SKPFG NOP Èþú STC09 STC CMDCH ENABLE INTERRUPT LDB BN2 SETUP TIMER FOR 200 USEC. ISZ B IF FLAG NOT SET EXIT JMP *-1 DRIVER AND CONTINUE TO SFS01 SFS DATCH WAIT FOR INTERRUPT. JSB EXIT1 CLF01 CLF DATCH JMP SKPFG,I * CNTL0 JSB PREST LDA B4 LDB TEMP4 CHECK FOR I.33\C.33 EXIT SZB,RSS JMP IREJ4 CLA JMP C.33,I * * CONTL LSR 5 GET CONTROL WORD IN LOWER BITS AND B37 SZA,RSS IF CODE 0 THEN ABORT AND RESET JMP CNTL0 CPA B6 ONLY VALID COMMAND IS 6 RSS JMP IREJ2 LDA B7740 LOAD STATUS COMD STA EQT10,I * * * DOES THE PROCESSING OF SPECIAL COMMANDS USED * IN THE FORMATTING OF A DISK. IT IS ONLY CALLED * IF BITS 6-10 OF CONWD=23. EQT10 (DSECT) CONTAINS * COMMAND TO BE PROCESSED. * * * DSECT COMMAND * 0 FORMAT * 7600 STEP TRACK IN * 7630 WRITE TRACK 0 AND SECTOR 0 * 7640 WRITE DEFECTIVE TRACK * 7740 STATUS * * FIP LDA EQT10,I GET COMMAND SZA,RSS JMP FMTRK FOR FORMAT TRACK CPA B7600 JMP FPCON STEP HEAD IN CPA B7630 JMP WRMAX FOR WRITING TRACK 0, SECTOR 0 CPA B7640 JMP FPCON WRITE DEFECTIVE TRACK CPA B7740 GET STATUS JMP FPCON JMP IREJ1 ILLEGAL R\W * * * USED FOR FORMATTING DISK * FMTRK LDA EQT9,I GET TRACK TO FORMAT ALF,ALS POSITION IN BITS 5-11 IOR DRIVE ADD DRIVE IN BITS 12-13 IOR FMTCD ADD FORMAT COMMAND (140036) STA FIPCD * * USED FOR "STEP TRACK","WRITE DEF. TRK." * AND "STATUS" * * JMP ISTR1 * * FPCON JSB PWORD SEND PASSWORD LDA EQT10,I GET COMMAND LDB BN10 SET FPCON FLAG STB EQT7,I IOR DRIVE ADD DRIVE IOR STPCD ADD OCT 140037 JSB Ê‹þúOUTA JMP STATU * * WRMAX CLA SET FOR SECTOR 0 STA EQT10,I STA EQT9,I SET FOR TRACK 0 JMP ISTR1 * * * DOES NOT WAIT FOR FLAG ON RESET * THIS IS USED BY AND * PRESA NOP CLB JMP OVER1 * SETS 9885 TO POWER ON CONDITION * AND WAITS FOR FLAG * PREST NOP CLB,INB OVER1 CLA,INA DRIVE IS PRESET BY TOGGLING BIT 0 JSB OUTAC CLA JSB OUTAC SZB,RSS CHECK FOR PRESA ENTRY JMP PRESA,I JSB OUTA WAIT FOR CONTROLLER TO PROCESS PRESET JMP PREST,I * BN3 OCT 170001 BN6 OCT 103700 BN5 OCT 100077 BN4 OCT 102300 B5600 OCT 5600 B5000 OCT 5000 B4000 OCT 4000 B.1 OCT -1 B.4 OCT -4 B200 OCT 200 B1400 OCT 1400 B40 OCT 40 B300 OCT 300 B100 OCT 100 B6 OCT 6 B1000 OCT 1000 B37 OCT 37 B400 OCT 400 B7740 OCT 7740 B7600 OCT 7600 B7630 OCT 7630 B7640 OCT 7640 B2000 OCT 2000 * FMTCD OCT 140036 STPCD OCT 140037 * * IS TIMEOUT EXIT * CREJ4 LDA B4 STA AREGX * * IS PRIMARY DRIVER EXIT * * EOOP1 LDB B37 IF TRANSMISSION INCOMPLETE ERROR LDA TEMP1 ONLY,THE SET FOR ERROR 37 SZA,RSS JMP OVER6 * LDA STATS GET STATUS WORD ALS SHIFT 1 AND B37 ISOLATE BITS (0-4) SZA IF NO ERROR SKIP INA ERROR,SET BIT 0 STA B LDA STATS POSITION DISK CHANGE TO ALF,ALF BIT 6 AND WRITE PROTECT ALF TO BIT 7 AND B300 ISOLATE AND IOR B OR WITH ERROR BITS STA B AND STORE OVER6 LDA EQT5,I GET OLD STATUS AND BN8 IOR B MERGE NEW STATUS STA EQT5,I AND REPLACE ** LDA EQT6,I CHECK FOR RMXTK EXIT AND B2303 CPA B2301 JMP MXTEK THIS IS A MAX TRACK EXIT ** LDB BREGX GET TRANS. LOG JMP EOOP2 REœTþúQUEST COMPLETE * * STATUS IN EQT5 IS RETURNED PER BELOW: * BITS 0-6 MEANING * 0000000 NO ERROR * 0000011 NO DRIVE POWER * 0000101 DOOR OPEN * 0000111 NO DISK * 0001001 INVALID COMMAND * 0001011 RECORD NOT FOUND * 0001101 TRACK NOT FOUND * 0001111 DATA CHECKWORD ERROR * 0010011 READ CLOSE TOL. ERROR * 0011111 TRANSMISSION INCOMPLETE * 0100001 END OF TRACK. DATA BLOCK TOO LONG * 0010001 DATA OVER RUN * * * * BITS 0-7 * 00100000 END OF TRACK. ACCESS TRACK>66 * 01000000 DISK CHANGE * 10000000 DISK WRITE PROTECTED * * * USED FOR "FIP" EXITS * MXTEK LDB DATA GET NO. OF TRACKS ON DISK LDA DRIVE ALF GET DRIVE NO. ADA ADDR FIND STORAGE ADDRESS STB A,I STORE IT FOR FUTURE USE LDA AREGX SLA IF NO ERROR RETURN SET EOT BIT 5 JMP C.33,I LDA B40 IOR EQT5,I STA EQT5,I EOOP2 LDA AREGX CHECK FOR ERROR (A NOT 0) SLA,RSS JMP C.33,I CLA JSB OUTA ERROR, SO HANDSHAKE TO AVOID ANY EXTRA LDA AREGX INTERRUPTS ON DATA CHANNEL LDB BREGX JMP C.33,I RETURN * * * * SETIO NOP INA SET FOR CONFIG. DATA CHANNEL IOR BN4 STA SFS01 SFS IS 1023XX STA SFS02 IOR B1400 STC ID 1037XX STA STC01 STA STC02 STA STC03 STA STC04 STA STC06 ADA B.1 COFIG. COMMD. CHANNEL STA STC09 CMD CH. STA STC10 STA STC11 XOR B200 LIA IS 1025XX STA LIA01 CMD CH. STA LIA03 INA STA LIA02 DATA CH. STA LIA02 XOR B400 STA CLF01 * * LDA DMA STA DMACH * * LDA STC01 OTA IS 1026XX XOR B100 STA OTA01 STA OTA0`{þú3 STA OTA04 ADA B.1 STA OTA05 CMD CH. XOR B4000 INA STA OTB02 DATA CH. AND BN5 STA DMAW1 CONFIGURE DMA WORD 1 LDA BN6 IOR DMACH STA STCDM STC,C DMACH * IOR B5000 STA CLCD1 CLC IS 1077XX STA CLCD2 * XOR B5600 STF IS 1021XX STA STFDM THIS IS STF ON DMA IOR B1000 STA CLFDM THIS IS A 1031XX(CLF) ON DMA * * LDA EQT4,I CONFIGURE DRIVE # FROM SUBCHANNEL ALF ALS,ALS AND BN3 DRIVE IN BITS 12-13 (0-3) STA DRIVE ALF ADA B.4 CHECK FOR LEGAL SUBCHANNEL SSA,RSS LEGAL IS 0-3 JMP IREJ3 NOT READY ADA B4 ADA ADDR FIND NO OF TRACKS FOR THIS DRIVE LDA A,I STA NUTRK STORE IT AT NUTRK * * CLB LDA EQT6,I IS THIS READ CLOSE TOLERANCE SLA,RSS JMP OVER4 NOT A READ AND B2000 CPA B2000 LDB BN7 OVER4 STB RDCLS 40000B LDA RSS LDB DMACH GET ASSIGNED DMA CH. SLB,RSS CH7\CH6 = RSS\0 FOR DMASW CLA STA DMASW * LDB RSS LDA EQT6,I GET CONWD AND B2302 IF "FIP" COMMAND CPA B2302 THEN SEE IF "FORMAT" RSS JMP OVER7 LDA EQT10,I SZA,RSS CLB OVER7 STB SW1 SET A "RSS" IN ALL SWITCHES FOR STB SW2 NON "FORMAT" COMMAND JMP SETIO,I * * * STORAGE FOR NO. OF TRACKS * INITIALIZED FOR 67 * MAX1 DEC 67 DEC 67 DEC 67 DEC 67 ADDR DEF MAX1 * EQU'S FOR VARIOUS ENTRIES * A EQU 0 B EQU 1 CMDCH EQU 20 DATCH EQU 21 * * SYSTEM BASE PAGE COMMUNICATION AREA * . EQU 1650B ESTABLISH ORIGIN OF EQT'S EQT1 EQU .+8 LIST POINTER EQT2 EQU .+9 I.33 ADDRESS EQT3 EQU .+10 C.33 ADDRESS EQT4 EQU .+11 SUBCHANNEL(6-10) EQT5 EQU .+12 STATUS(0-7aB@<) EQT6 EQU .+13 CONWD EQT7 EQU .+14 BUFFER ADD. EQT8 EQU .+15 BUFFER LENGTH EQT9 EQU .+16 TRACK NO. EQT10 EQU .+17 SECTOR NO.(EXCEPT IF CONWD=33) EQT11 EQU .+18 FIRST ENTRY FLAG EQT12 EQU .+81 RETRY COUNTER EQT13 EQU .+82 EXIT1 RETURN EQT14 EQU .+83 TIME OUT CLOCK EQT15 EQU .+84 TIME OUT VALUE * DMA EQU .+19 CURRENT DMA CHANNEL INTBA EQU .+4 FWA OF INTERRUPT TABLE DUMMY EQU .+55 ADDRESS OF PRIVILEGED IO CARD * * ORG * END g‡Bÿÿ ÿýk† ÿ12732-18002 1709 S C0122 &DSKET FORMAT UTILITY             H0101 ‚ßþúFTN4,L PROGRAM DSKET EXTERNAL EXEC,ABREG DIMENSION IBUF1(384) ,IPRAM(5),IBUF2(30),I(3) C C************************************************************** C (C) COPYRIGHT HEWLETT-PACKARD COMPANY 1976. ALL RIGHTS * C RESERVED. NO PART OF THIS PROGRAM MAY BE PHOTOCOPIED, * C REPRODUCED OR TRANSLATED TO ANOTHER PROGRAM LANGUAGE WITHOUT* C THE PRIOR WRITTEN CONSENT OF HEWLETT-PACKARD COMPANY. * C************************************************************** C DATE CODE 3- 15-77 REV. 1709 C C THIS PROGRAM IS A DISKETTE FORMAT PROGRAM WHICH C OPERATE WITH RTE DRIVER DVR33. C ***** W-A-R-N-I-N-G***** C FORMATING A TRACK(S) WILL DESTROY C ANY DATA ON THE TRACK C ************************ C C C PICK TERMINAL LU C CALL RMPAR(IPRAM) C IF (IPRAM)5,5,10 5 L=1 GOTO 20 10 L=IPRAM  20 WRITE(L,35) 35 FORMAT("ENTER DRIVE LU?_") C C READ(L,*)I1 75 WRITE(L,80) 80 FORMAT("DO YOU REALLY WANT TO FORMAT THIS DISC?_") C READ(L,85)J3 85 FORMAT(A2) IF(J3-54505B)940,90,940 C C DETERMINE FORMAT TYPE C 1.STANDARD (4 FILL SECTORS) C 2.SERIAL (NO FILL SECTORS) C C 90 WRITE(L,92) 92 FORMAT("STANDARD FORMAT?_") READ(L,94)J3 94 FORMAT(A2) IF(J3-47117B)98,97,98 97 K1=1 GOTO 102 C Cu 98 IF(J3-54505B)940,100,940 100 K1=5 C C RESET CONTROLLER C 102 CALL EXEC(3,I1) C C C C ICOUN IS PHYSICAL TRACK C M1 IS LOGICAL TRACK C C C C Cu C CALC. FORMAT ARRAY FOR TRACK ZERO C Cu GOTO 500 C C M1 IS LOGICAL TRACK C ICOUN IS PHYSICAL TRACK C 110 M1=0 ICOUN=0 C C FOR TRACK 0 IBUF1 IS THE SAME AS IBUF2 C uu 114 DO 115 N=1,30 115 IBUF1(N)=IBUF2(N) GOTO 2000Ñ C C uu C CALCULATE TRACK OFFSET (J1) FOR TRACK M1 C C CALC NO. OF FILL SECTORS (NO. REV.-1) C 116 J1=K1-1 éQþú C C MUST HAVE 4 MIN. FILL SECTORS C IF(J1-4)120,122 120 J1=4 122 N2=1 C C N2 IS IBUF1 POINTER (CURRENT TRACK BUFFER) C J2 IS IBUF2 POINTER (TRACK 0 BUFFER) C 125 J2=30-J1*M1 C C ARRAY POINTER MUST BE >0 C IF(J2-1)130,135 130 J2=30+J2 IF(J2-1)130,135 135 IBUF1(N2)=IBUF2(J2) N2=N2+1 J2=J2+1 IF(N2-31)140,200 140 IF(J2-31)135,145 145 J2=1 GOTO 135 C 300 IF(M2)310,305 C C DO NOT INCREMENT LOGICAL TRACK POINTER IF C TRACK DEFECTIVE (M2 IS NEG.) C uu 305 M1=M1+1 C 310 ICOUN=ICOUN+1 IF(ICOUN-67)320,330 C C C MOVE HEAD IN C C 320 CALL EXEC(2,2300B+I1,IBUF1(1),1,0,7600B) C Cu GOTO 116 C C REPORT TOTAL NO. OF BAD TRACKS C C C WRITE (NUMBER GOOD TRACKS ) IN WORD 1 C OF TRACK 0 SECTOR 0 C Cu C WRITE NO. OF REV. IN WORD 2 C C 330 IBUF1(1)=M1 IBUF1(2)=K1 CALL EXEC(2,2300B+I1,IBUF1(1),2,0,7630B) C C FILL BUFFER WITH ZEROS C M1=M1-1 DO 410 N=1,384 410 IBUF1(N)=0 DO 415 J=0,58,6 415 CALL EXEC(2,I1,IBUF1(1),384,M1,J) C C CREATE FILE DIRECTORY FOR CARTRIDEGE C "FORMAT" C IBUF1(1)=143117B IBUF1(2)=51115B IBUF1(3)=40524B IBUF1(4)=32760 IBUF1(6)=2 IBUF1(7)=60 IBUF1(8)=M1 IBUF1(9)=-1 C Cu C CREATE ENTRY FOR FILE "FLOPLK" C IBUF1(17)=43114B IBUF1(18)=47520B IBUF1(19)=46113B C IBUF1(20)=1 IBUF1(23)=2 IBUF1(25)=-32767 CALL EXEC(2,I1,IBUF1(1),128,M1,0) C M1=M1+1 WRITE(L,335)M1 335 FORMAT("THE NO. OF GOOD TRACKS IS" I6) GO TO 950 C C FORMAT TRACK M1 C 200 CALL EXEC(2,2300B+I1,IBUF1(1),30,M1,0) C C SET DATA PATTERNS C I(1)=033066B I(2)=155555B M2=0 DO 230 M=1,2 C C FILL DATA BUFFER WITH TEST PATTERN C DO 210 N=1,384 210 IBUF1(N)=I(M) DO 220 J=0,58,6 C C WRt ITE DATA ON TRACK M1 SECTOR J C C IF TRACK 0,SECTOR 0 USE SPECIAL WRITE C IF((M1+J)-1)215,219 215 CALL EXEC(100002B,2300B+I1,IBUF1(1),384,M1,7630B) GOTO 751 217 M123=1= GOTO 220 219 CALL EXEC(100002B,I1,IBUF1(1),384,M1,J) GOTO 752 220 CONTINUE C C READ DATA BACK C DO 230 J=0,58,6 218 M123=1 225 ITRY=1 226 CALL EXEC(100001B,3000B+I1,IBUF1(1),384,M1,J) GO TO 750 247 CALL ABREG(IA,IB) C C CHECK STATUS IN A REG. C RETRY ONCE IF ERROR C IF(15400B-IA)233,228,233 233 IF(ITRY-2)227,250 227 ITRY=ITRY+1 GOTO 226 C CHECK DATA HERE C 228 DO 230 N=1,384 IF(IBUF1(N)-I(M))250,230,250 230 CONTINUE C Cu C GOTO 300 C C WRITE A DEFECTIVE TRACK C 250 CALL EXEC(2,2300B+I1,IBUF1(1),1,M1,7640B) WRITE(L,255)ICOUN 255 FORMAT("TRACK",I3," IS DEFECTIVE") M2=-1 GO TO 300 C C CALCULATE SECTOR ARRAY IBUF2 C 500 K3=30/K1 IBUF2(1)=0 K4=1 K2=2 510 K5=IBUF2(K2-1)+K3 IF(29-K5)520,540 520 IBUF2(K2)=K4 K4=K4+1  GOTO 550 540 IBUF2(K2)=K5 550 K2=K2+1 IF(K2-31)510,570 570 GOTO 110 750 GOTO 247 751 GOTO 220 752 GOTO 220ÍÍ C 940 WRITE(L,941) 941 FORMAT("DSKET END") 950 END END$ ±Úÿÿ ÿýlt ÿ12732-18003 1708 S C1022 &MFLX0 12732 FLEXIBLE DISC DIAG.             H0110 áþúASMB,A,B 770223 REV.1708 DSN 111104 HED 12732A/12733A FLEXIBLE DISC DIAGNOSTIC * ORG 0 * * NAME : MFLEX * SOURCE: 12732-18003 * BINARY: 12732-16003 * PROGMR: H.L.CLAWSON * * **************************************************************** * * (C) COPYRIGHT HEWLETT-PACKARD COMPANY 1976. ALL RIGHTS * * * RESERVED. NO PART OF THIS PROGRAM MAY BE PHOTOCOPIED, * * * REPRODUCED OR TRANSLATED TO ANOTHER PROGRAM LANGUAGE WITHOUT * * * THE PRIOR WRITTEN CONSENT OF HEWLETT-PACKARD COMPANY. * * **************************************************************** * * SKP ORG 0 SUP * GENERAL OPERATING PROCEDURE * * A. LOAD DIAGNOSTIC CONFIGURATOR. * B. (HALT 102077) CONFIGURE PROGRAM INPUT DEVICE, * CONSOLE DEVICE, & LINE PRINTER (IF AVAILABLE). * LOAD DIAGNOSTIC PROGRAM WITH CONFIGURATOR LOADER. * C. (HALT 102077) SET P-REG = 100B. * SET S-REG BITS 5-0 = SC OF DISKETTE (CONTROL CHANNEL). * PRESS RUN. * D. (HALT 102074) LOAD S-REG WITH OPTIONS. PRESS RUN. * ***** S-REGISTER OPTIONS ***** * * 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 = SUPRESS ERROR MESSAGES * 10 = SUPRESS NON-ERROR MESSAGES * 9 = GO TO USER CONTROL SECTION * (ABORT CURRENT OPERATION) * 8 = SUPPRESS OPERATOR INTERVENTION TESTS * 7 = ECHO CONSOLE I/O ON LINE PRINTER * 6 = SPARE * 5 = ENABLE FORMAT & MARK COMMANDS * 4 = ENABLE FORMAT & MARK COMMANDS * 3 = GO TO OPDSN INPUT SECTION * (ABORT CURRENe´þúT OPERATION) * 2 = ALTER PATTERNS IN 'TRAK' * 1 = ENABLE FORMAT & MARK COMMANDS * 0 = ENABLE FORMAT & MARK COMMANDS * NOTE: STANDARD RUN SHOULD BE WITH S-REG = 0 * * TO RESTART WITHOUT RECONFIGURATING, SET P-REG = 2000B, * THEN GO TO D. * TO RECONFIGURE GO TO 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 * * CONTROL PROGRAM HALT MESSAGES * * 102077 END OF DIAG (A = PASS COUNT) * 102076 END OF TEST (A = TEST XXXXXX) * 102075 USER SELECTION REQUEST * 102074 SELECT CODE INPUT COMPLETE * 102073 USER SELECT CODE ERROR * 106077 TRAP CELL HALT * * * * USER CONTROL SECTION * * SWITCH REGISTER BIT 9 IS SENSED AT THE END OF EACH TEST. * IF SET THE COMPUTER HALTS 102075. THE USER MAY THEN * SELECT A TEST SEQUENCE BY ENTERING BITS IN THE * A REGISTER. EACH BIT SET WILL CAUSE ONE TEST TO EXECUTE. * BITS 0-15 OF A CORRESPOND TO TESTS 0-15. * CLEAR A TO RUN STANDARD SEQUENCE OF TESTS. * HED PROGRAM ORGANIZATION CHART * ******************************************* * * CONFIGURATOR 100B * * * LINKAGE TABLE * * * CONTROL LINKAGE * * * DATA STORAGE 1777B * * ******************************************* * * EXECUTIVE CONTROL 2000B * * * TABLE OF I/O INSTRUCTIONS * * * STANDARD DIAGNOSTICS 3777B * * ******************************************* * * OPERATOR DESIGN 4000B * * * GENERAL ROUTINES 5777B * * ****************************************ðþú*** * * OPDSN SYNTAX CHECK 6000B * * * DISKETTE ROUTINES 11577B * * ******************************************* * * OPDSN USER PROGRAM 11600B * * * 12077B * * ******************************************* * * I/O BUFFERS 12100B * * * N6477B * * ******************************************* * * DIAGNOSTIC N6500B * * * CONFIGURATOR N7777B * * ******************************************* * * * * N = 1 FOR 8K MEMORY * 3 FOR 16K MEMORY * 5 FOR 24K MEMORY * 7 FOR 32K MEMORY * HED 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 DMAH EQU 6 DMA HIGH CHANNEL DMAL EQU 2 DMA LOW CHANNEL DMA6 EQU 6 DMA CHANNEL 6 DMA7 EQU 7 DMA CHANNEL 7 CC EQU 10B DISKETTE COMMAND CHANNEL DC EQU 11B DISKETTE DATA CHANNEL CH EQU 10B INTERFACE TEST CHANNEL * * ORG 2 HLT 77B DISKETTE LOADER ROM JUMPS HERE JMP CFIG,I GO TO CONFIGURATION SECTION * * ORG 100B * JMP CFIG,I GO TO CONFIGURATION SECTION FAINL BSS 1 FAST INPUT (PHOTO READER) SLOPL BSS 1 SLOW OUTPUT (LIST) FAOPL BSS 1 FAST OUTPUT (DUMP OR PUNCH) SLINL BSS 1 SLOW INPUT (KEYBOARD) FWAM DEF ZZZZZ 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 SCFI BSS 1 SELECT CODE OF FAST INPUT DEVICE SCSO BSS 1 SELECT CODE OF SLOW OUTPUT DEVICE SCFO BSS 1 SELECT CODE OF FAS þúT OUTPUT DEVICE SCSI BSS 1 SELECT CODE OF SLOW INPUT DEVICE CPTO BSS 1 COMPUTER TYPE/OPTIONS USSC BSS 1 USER CARD TYPE AND SELECT CODE MEMO BSS 1 MEMORY SIZE AND TYPE BSS 1 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 DSNL OCT 111104 DIAGNOSTIC SERIAL NUMBER FMTRL BSS 1 FORMATTER * * * CFIG DEF ZCONF CONFIGURATION SECTION MSGC DEF ZMSGC MESSAGE WITH NO HALT MSGH DEF ZMSGH MESSAGE WITH HALT ERMS DEF ZERMS ERROR MESSAGE SWRT DEF ZSWRT SWITCH REGISTER CHECK ROUTINE TSTN OCT 0 CURRENT TEST NUMBER EXRT DEF ZEXRT RETURN TO CONTROL PROGRAM NOP RESERVED * * DBD EQU FWAM START OF OUTPUT BUFFER DBDI NOP START OF INPUT BUFFER DBCO NOP BUFFER SIZE ERLIM DEC 10 MAX NO. OF ERRORS OUTPUT BY 'COMPARE' COMCH OCT 10 DISKETTE COMMAND CHANNEL DATCH OCT 11 DISKETTE DATA CHANNEL CHAN OCT 6 CURRENT DMA CHANNEL TRACK DEC 67 NO. OF GOOD TRACKS ZEOLC NOP PASS COUNT RETRY NOP NUMBER OF RETRIES PERMITTED COP NOP CURRENT DISKETTE OPERATION STATW NOP LAST STATUS RETURNED STEXP NOP EXPECTED STATUS MASK NOP STATUS MASK CSEC NOP CURRENT SECTOR(TRACK X 30 + SECTOR) DRIV. NOP CURRENT DRIVE CMOD. NOP DMA/NON-DMA FLAG (104B=DMA) PATRN EQU * OCT 033066 OCT 033066 OCT 125252 OCT 052525 OCT 106615 OCT 106615 OCT 155555 OCT 155555 OCT 133333 OCT 133333 OCT 143306 OCT 143306 RN1 NOP RANDOM OCTAL PATTERN RN2 NOP PATNE DEF * * HED DISKETTE COMMAND CODES * * DISKETTE COMMAND CODES * READ OCT 000000 READ A BLOCK OF SECTORS WRÃ8þúT OCT 100000 WRITE A BLOCK OF SECTORS VRF OCT 040000 VERIFY A BLOCK OF SECTORS SEK OCT 140000 SEEK A TRACK AND SECTOR FMT OCT 140036 FORMAT A TRACK STEPT OCT 147637 STEP IN ONE TRACK BAD OCT 147677 MARK A TRACK DEFECTIVE DUMPS OCT 147737 DUMP A SECTOR STSRQ OCT 147777 REQUEST STATUS UNDF OCT 140037 UNDEFINED COMMAND * PASSW OCT 127207 DISKETTE CONTROLLER PASSWORD * SKP * * * * DISKETTE STATUS WORD * * P 0 0 0 EEEE 0 T S R W C DD * * * P: POWER OFF OR DRIVE NOT READY 100000 B * * EEEE: * 0000 NO ERROR 000000 B * 0001 NO DRIVE POWER 000400 B * 0010 DOOR OPEN 001000 B * 0011 NO DISC IN DRIVE 001400 B * 0100 INVALID COMMAND 002000 B * 0101 SECTOR NOT FOUND 002400 B * 0110 TRACK NOT FOUND 003000 B * 0111 CHECKWORD ERROR 003400 B * 1000 DATA OVERRUN 004000 B * 1001 VERIFY ERROR 004400 B * * * T: TRANSFER COMPLETE 000100 B * * S: SEEK COMPLETE 000040 B * * R: DRIVE NOT READY 000020 B * * W: WRITE PROTECTED DISC 000010 B * * C: DISKETTE CHANGE 000004 B * * DD: DRIVE NUMBER 3,2,1,0 B * HED OPDSN UTILITY COMMANDS - IMMEDIATE EXECUTION ONLY * STTBP EQU * * ASC 2,LP LIST PROGRAM ASC 1, LP.P DEF LP * ASC 2,LPP LIST PROGRAM ON LINE PRINTER ASC 1, LPP.P DEF LPP * ASC 2,EP ERASE OPDSN PROGRAM ASC 1, EPP DEF EP * ASC 2,GO EXECUTE OPDSN PROGRAM ASC 1, GOP DEF GO * ASC 2,DBRK REPLACE OCTAL WORDS ASC 1,II FIRST & LAST WORDS DBRKP DEF DBRK * HED OPDSN PROGRAM STATEMENTS - MAY BE EXECUTED IMMEDIATELY * XLIMP EQU * * ASC 2,CB COMPARE INPUT AND OUTPUT BUFFERS ASC 1,II ˆîþú NO. OF WORDS, NO. OF ERRORS CB.P DEF CB * ASC 2,CBP COMPARE BUFFERS - ERRORS ON PRINTER ASC 1,II NO. OF WORDS, NO. OF ERRORS CBP.P DEF CBP * ASC 2,LO LIST OUTPUT BUFFER ASC 1,II FIRST & LAST WORDS LO.P DEF LO * ASC 2,LOP LIST OUTPUT BUFFER ON PRINTER ASC 1,II FIRST & LAST WORDS LOP.P DEF LOP * ASC 2,LI LIST INPUT BUFFER ASC 1,II FIRST & LAST WORDS LI.P DEF LI * ASC 2,LIP LIST INPUT BUFFER ON PRINTER ASC 1,II FIRST & LAST WORDS LIP.P DEF LIP * ASC 2,EX EXIT OPDSN - RETURN TO STANDARD TESTS ASC 1, EXP DEF EX * ASC 2,TEST EXECUTE TEST ASC 1,I TEST NUMBER(0-15) TESTP DEF TEST * ASC 2,DBFK FILL BUFFER WITH ALTERNATING PATTERN ASC 1,KK OCTAL PATTERN DBFKP DEF DBFK * SPSP EQU *+1 ASC 2,DB FILL BUFFER WITH RANDOM DATA ASC 1, DBP DEF DB * ASC 2,DBSZ PRINT OUTPUT BUFFER SIZE ASC 1, DBSZP DEF DBSZ * ASC 2,MSG OUTPUT 4-CHAR MESSAGE ASC 1,AA MSGP DEF MSG * ASC 2,DLY DELAY ASC 1,I I: MILLISECONDS DLYP DEF TMRR,I HED OPDSN PROGRAM STATEMENTS - DISKETTE CONTROL * ASC 2,FALL FORMAT DISK ASC 1,II NO. OF PATTERNS, OFFSET FALLP DEF FALL (S-REG BITS 1,2,4, & 5 MUST BE SET) * ASC 2,WD WRITE ASC 1,I I: WORD COUNT (I<0: ALL OF DISC) WDP DEF WD (I=-1: SEQUENTIAL DATA - ALL OF DISC) * ASC 2,RD READ ASC 1,IA I: WORD COUNT (I<0: ALL OF DISC) * (I=-1: SEQUENTIAL DATA - ALL OF DISC) RDP DEF RD A:C=COMPARE BUFFERS * ASC 2,VRFY VERIFY (READ WITH CLOSE TOLERANCE) ASC 1,IA I: WORD COUNT (I<0: ALL OF DISC) * (I=-1: SEQUENTIAL DATA - ALL OF DISC) VRFYP DEF VRFY A:C=COMPARE BUFFERS * ASC 2,SK SEÕ—*($EK TRACK & SECTOR ASC 1,II TRACK,SECTOR SKP DEF SK * ASC 2,MOVE ADVANCE/BACKSPACE SECTORS ASC 1,I I: SECTOR COUNT MOVEP DEF MOVE I>0:ADVANCE I<0:BACKSPACE * I=0:POSITION TO LAST DATA TRANSFER * ASC 2,RAND RANDOM SEEK, READ, & WRITE ASC 1,IA I: ITERATION COUNT RANDP DEF RAND A:W=SEEK RANDOM SECTOR, THEN WRITE * RANDOM DATA, READ, & COMPARE BUFFERS * R=SEEK RANDOM SECTOR & READ SEQ. DATA * (MUST FOLLOW WRIT -1 COMMAND) * Z=SEEK RANDOM SECTOR & READ 0 SECTORS * (PHYSICALLY POSITIONS HEAD) * D=SEEK RANDOM SECTOR, THEN WRITE * RANDOM DATA, DUMP, & COMPARE BUFFERS * S=SEEK RANDOM SECTOR (NO HEAD MOVEMENT) * ASC 2,STAT PRINT LAST STATUS ASC 1, STATP DEF STAT * ASC 2,ST STATUS REQUEST COMMAND ASC 1,KK EXPECTED STATUS, MASK STP DEF ST PRINT IF MASKED STATUS NOT = EXPECTED * ASC 2,SD SET UP DRIVE XXXXXX ASC 1,I DRIVE NUMBER SDP DEF SD * oƒ*ÿÿþú SKP * ASC 2,MDIS MOUNT DISKETTE ASC 1,I I: NUMBER OF GOOD TRACKS MDISP DEF MDIS (I=0: READ FROM TRACK 0, SEC 0) * ASC 2,MODE MODE OF I/O CONTROL ASC 1,AK A:DI=DMA, INTP ON (K: DMA CHANNEL XXXXXX) MODEP DEF MODE D=DMA, INTP OFF (K: DMA CHANNEL XXXXXX) * NI=NON-DMA, INTP ON * N=NON-DMA, INTP OFF * ASC 2,RTRY SET UP RETRY COUNT ASC 1,I RTRYP DEF RTRY * ASC 2,DUMP DUMP ONE SECTOR ASC 1,A A:C=COMPARE BUFFERS DUMPP DEF DUMP * ASC 2,PRST PRESET DUMBO CONTROLLER & SEEK HOME ASC 1, PRSTP DEF PRST * ASC 2,STEP STEP TRACK ASC 1,KK EXPECTED STATUS, MASK STEPP DEF STEP * ASC 2,FTRK FORMAT SINGLE TRACK (NO TRACK TEST) ASC 1,II TRACK, OFFSET FTRKP DEF FTRK (S-REG BITS 1,2,4, & 5 MUST BE SET) * ASC 2,TRAK TEST TRACK WITH WORST CASE PATTERNS ASC 1,II TRACK, NO. OF PATTERNS TRAKP DEF TRAK * ASC 2,MARK MARK A TRACK BAD ASC 1,KK (S-REG BITS 1,2,4, & 5 MUST BE SET) MARKP DEF MARK EXPECTED STATUS, MASK * ASC 2,ERRR ERROR STATUS TEST ASC 1, (PARTLY INTERACTIVE) ERRRP DEF ERRR * ASC 2,CARD TEST INTERFACE CARDS & INTERRUPTS ASC 1, CARDP DEF CARD * SKP * ASC 2,WX LOW-LEVEL WRITE ASC 1,IK I: WORD COUNT (I<0: CTL0) WXP DEF WX K:EXPECTED STATUS * ASC 2,RX LOW-LEVEL READ ASC 1,IK SAME AS WX RXP DEF RX * ASC 2,VX LOW-LEVEL VERIFY ASC 1,IK SAME AS WX VXP DEF VX * ASC 2,SX LOW-LEVEL SEEK ASC 1,IK I: TRACK X 100 + SECTOR SXP DEF SX K: EXPECTED STATUS * ASC 2,DX LOW-LEVEL DUMP ASC 1,KK STATUS EXPECTED, MASK DXP DEF DX * ASC 2,FX LOW-LEVEL FORMAT ASC 1,IK I: TRACK KHSþú: STATUS EXPECTED FXP DEF FX (S-REG BITS 1,2,4, & 5 MUST BE SET) * ASC 2,UX UNDEFINED COMMAND ASC 1,IK I: "TRACK" UXP DEF UX K: STATUS EXPECTED * HED OPDSN PROGRAM STATEMENTS - NO IMMEDIATE EXECUTION * XLIMI EQU * * ASC 2,WAIT WAIT FOR OPERATOR ASC 1, (OPERATOR ENTERS 'ST' TO STOP WAITP DEF WAIT OR 'CO N' TO CONTINUE AT LINE N) * ASC 2,GOTO PROGRAM JUMP ASC 1,I I: LINE NUMBER GOTOP DEF GOTO * ASC 2,GOSB REPEAT SUBROUTINE ASC 1,II LINE XXXXXX, ITERATION CNT (DEFAULT=1) GOSBP DEF GOSB * AN. EQU *+1 ASC 2,RTN RETURN FROM SUBROUTINE ASC 1, RTNP DEF RTN * AST ASC 2,STOP STOP EXECUTION ASC 1, STOPP DEF STOP * DEC -1 * * HED OPERATOR MESSAGES * * MESSAGES PREFIXED BY E ARE ERROR MESSAGES * (SUPPRESSED BY SETTING S-REG BIT 11) * MESSAGES PREFIXED BY H ARE HEADINGS & NON-ERROR MESSAGES * (SUPPRESSED BY SETTING S-REG BIT 10) * * * INTERFACE CARD AND INTERRUPTS TEST MESSAGES * Z000E ASC 09,E000 CLF 0-SFC 0/ Z001E ASC 09,E001 CLF 0-SFS 0/ Z002E ASC 09,E002 STF 0-SFC 0/ Z003E ASC 09,E003 STF 0-SFS 0/ Z004E ASC 16,E004 CLF 0 DID NOT INHIBIT INT/ Z005E ASC 10,E005 CLF CH-SFC CH/ Z006E ASC 10,E006 CLF CH-SFS CH/ Z007E ASC 10,E007 STF CH-SFC CH/ Z010E ASC 10,E010 STF CH-SFS CH/ Z011E ASC 14,E011 STF XX SET CARD FLAG// Z012E ASC 16,E012 INT DURING HOLD OFF INSTR/ Z013E ASC 08,E013 SECOND INT/ Z014E ASC 06,E014 NO INT/ Z015E ASC 09,E015 INT RTN ADDR/ Z016E ASC 06,E016 CLC CH/ Z017E ASC 06,E017 CLC 0/ Z020E ASC 15,E020 PRESET DID NOT SET FLAG/ Z021E ASC 17,E021 PRESET DID NOT DISABLE INTS/ Z022E ASC 17,E022 PRESET DID NOT CLEAR CONTROL/ Z023E ASC 18,E023 PRESET DID NOT CLEAR I-O LINES/ Z024H ASC 12,H024 PRESS PRESET, RUN/ Z025I ASC 09,I025 CARD (SC=00)/ * Z042I ASC 06,I042 FORMAT/ Z043H ASC 13,H043 GOOD TRACKS: XXXXXX/°ìþú Z044I EQU * Z044E ASC 08,E044 TR 0 SEC 0/ Z045H ASC 09,H045 END OF DISC/ Z046H ASC 17,H046 WORD NO. OUTPUT INPUT/ Z047E ASC 18,E047 XXXXXX XXXXXX XXXXXX/ Z050E ASC 15,E050 TLOG=000000 EXP=000000/ Z051E ASC 09,E051 *TO* DMA,CC/ Z052E ASC 15,E052 *TO* DC,CC-DMA LAST WORD/ Z053E ASC 07,E053 *TO* DC/ Z054E ASC 08,E054 *TO* DC,CC/ Z055E ASC 10,E055 *DC INTP--DMA*/ * SKP * * DISKETTE STATUS MESSAGES * Z100H EQU * Z100E EQU * Z200H EQU * Z200E EQU * Z300H EQU * Z300E EQU * STAT1 ASC 5,H100 STAT= STAT2 ASC 6,000000 EXP= STAT7 ASC 6,000000 OP= STAT3 ASC 6,000000 TR= STAT4 ASC 5,0000 SEC= STAT5 ASC 5,00 MODE= STAT6 ASC 3,DI 6/ * HED CONTROL LINKAGE AND DATA REFERENCES * * .1 OCT 1 .2 OCT 2 .3 OCT 3 .4 OCT 4 .5 OCT 5 .6 OCT 6 .7 OCT 7 .10 OCT 10 .11 OCT 11 .12 OCT 12 .14 OCT 14 .15 OCT 15 .17 OCT 17 .20 OCT 20 .24 OCT 24 .37 OCT 37 .40 OCT 40 .54 OCT 54 .55 OCT 55 .60 OCT 60 .77 OCT 77 .100 OCT 100 .101 OCT 101 .104 OCT 104 .105 OCT 105 .110 OCT 110 .111 OCT 111 .113 OCT 113 .116 OCT 116 .140 OCT 140 .177 OCT 177 .200 OCT 200 .300 OCT 300 .377 OCT 377 .400 OCT 400 .1000 OCT 1000 .1777 OCT 1777 .2000 OCT 2000 .4000 OCT 4000 .7740 OCT 7740 .160K OCT 160000 * M1 DEC -1 M2 DEC -2 M4 DEC -4 M5 DEC -5 M9 DEC -9 M10 DEC -10 M15 DEC -15 M20 DEC -20 M24 DEC -24 M26 DEC -26 M64 DEC -64 M124 DEC -124 M128 DEC -128 M256 DEC -256 * .M60 OCT -60 .M101 OCT -101 * D10 EQU .12 D20 EQU .24 D72 EQU .110 D100 DEC 100 D128 EQU .200 D256 EQU .400 D2048 EQU .4000 * SW0 EQU .1 SW1 EQU .2 SW2 EQU .4 SW3 EQU .10 SW4 EQU .20 SW5 EQU .40 SW6 EQU .100 SW7 EQU .200 SW8 EQU .400 SW9 EQU .1000 SW10 EQU .2000 SW11 EQU .4000 SW12 OCT 10000 SW13 OCT 20000 SW14 EQU VRF SW15 EQU WRT * SW812 OCT 010400 ¯yþú SWITCH 8 OR SWITCH 12 SW239 OCT 001014 SWITCH 2, 3, OR 9 SW3M9 OCT 176767 MASK OFF SW 3 AND SW 9 ENAB. OCT 177714 ALL BITS EXCEPT FORMAT ENABLE BITS SW2M EQU M5 MASK OFF SWITCH 2 * * AA EQU .101 AD EQU .104 AE EQU .105 AI EQU .111 AK EQU .113 AN EQU .116 * * ACO ASC 1,CO ADI ASC 1,DI DMA WITH INTERRUPTS ANI ASC 1,NI NON-DMA WITH INTERRUPTS AC. ASC 1,C AD. ASC 1,D AR. ASC 1,R AS. ASC 1,S AW. ASC 1,W AZ. ASC 1,Z AH1 ASC 1,H1 AE1 ASC 1,E1 AE3 ASC 1,E3 AE0 EQU Z000E AI0 EQU Z025I A.0 EQU Z000E+4 MINUS EQU .55 SPC EQU .40 COMMA EQU .54 * SKP * IOCCP DEF IOCC COMMAND CHANNEL INSTRUCTIONS IODCP DEF IODC DATA CHANNEL INSTRUCTIONS IODHP DEF IODMH DMA HIGH CHANNEL INSTRUCTIONS IODLP DEF IODML DMA LOW CHANNEL INSTRUCTIONS TSTP DEF TESTD POINTER TO TESTS STDA OCT 007767 STANDARD TESTS (3 & 12-15 NOT EXECUTED) STDB EQU READ STANDARD TESTS: 16-31 NOT EXECUTED SCTRS DEC 30 NO. OF SECTORS PER TRACK SM1 DEC 29 NO. OF SECTORS PER TRACK - 1 MSEC DEC -30 NEG. NO. OF SECTORS PER TRACK TRKS DEC 67 MTRKS DEC -67 MLSTR DEC -66 MINUS LAST TRACK MTRP1 DEC -68 * ZSAVA NOP ZSAVB NOP LSTST DEC -1 LAST TEST NO. PRINTED SCFLG NOP LAST SELECT CODE PRINTED ZTSTA NOP ZMSGD NOP ZSINA NOP ZSINB NOP ZUINA NOP ZUINB NOP ZBTMP NOP ZIOM EQU M64 * ZTSH OCT 106077 TRAP CELL HALT * ZH2 OCT 102000 HALT CODE ZH6 OCT 106000 " " ZH3 OCT 103000 " " ZH7 OCT 107000 " " * MXNM DEC -10000 * * SVA NOP SVB NOP PRPTR NOP PRPLA NOP LDBD NOP STTBD DEF STTBP * CULN NOP * TMP NOP LINE NUMBER NOP POINTER TO STATEMENT TABLE NOP PRAM A NOP PRAM B * * TEMPA NOP TEMPB NOP TEMPC NOP TEMPD NOP * * * IBUFP NOP IBUFD DEF IBUF BFPTR NOP IOCNT iþúNOP BFSIZ NOP NUMBER OF SECTORS PER I/O BUFFER CNT2 NOP TIME OUT COUNTER SUPA DEF PROG START OF USER PROGRAM AREA EUPA DEF PGEND END OF USER PROGRAM AREA * PRSET EQU .1 PRESET DUMBO CONTROLLER & SEEK HOME CTL0 NOP TERMINATE PARTIAL SECTOR IF = 2 RCNT NOP RANDOM TEST REPEAT COUNT SRW NOP SEEK/READ/WRITE FLAG VC NOP VERIFY/COMPARE FLAG VFY NOP SET TO 40000 TO CHANGE READ TO VERIFY PHYST DEC -1 PHYSICAL TRACK XXXXXX OFSET DEC 5 SECTOR OFFSET PER TRACK STSEC NOP STARTING SECTOR FOR TRAK TEST TRCK NOP TRACK FOR TRAK TEST ALCNT NOP WORD CNT: WRIT -N, READ -N, VRFY -N COUNT NOP WORD COUNT SECS NOP FULL SECTORS * NOSEC NOP XXXXXX OF GOOD SECTORS LSEC NOP SAVED SECTOR XXXXXX SEC NOP B2114 NOP 160000 B IF CPU IS 2114B REVS NOP NUMBER OF REVOLUTIONS (MIN) TO READ TRACK INC NOP DISTANCE BETWEEN SECTORS * SKP SKSTS EQU .40 SEEK STATUS STSTS EQU SKSTS STEP STATUS MSTS EQU READ MARK STATUS WSTS EQU .140 WRITE STATUS FSTS EQU .100 FORMAT STATUS RSTS EQU WSTS READ STATUS DSTS EQU FSTS DUMP STATUS ILSTS OCT 102000 ILLEGAL COMMAND STATUS OVSTS OCT 4040 DATA OVERRUN STATUS TRSTS OCT 103000 TRACK NOT FOUND STATUS PWSTS OCT 100420 NO DRIVE POWER STATUS DRSTS OCT 1024 DRIVE DOOR OPEN STATUS NDSTS OCT 1424 NO DISC IN DRIVE STATUS PRSTS EQU .14 PROTECTED DISKETTE STATUS CHSTS EQU .4 DISKETTE CHANGE STATUS SCSTS OCT 102400 SECTOR NOT FOUND STATUS * * * SKMSK OCT 177763 SEEK MASK PMASK EQU SKMSK PRESET MASK STMSK EQU SKMSK STEP MASK MMASK EQU M5 MARK MASK WMASK EQU M5 WRITE MASK FMASK EQU M5 FORMAT MASK RMASK EQU SKMSK READ MASK DMASK EQU SKMSK DUMP MASK ILMSK EQU SKMSK ILLEGAL COMMAND MASK OVMSK ÜàþúEQU SKMSK DATA OVERRUN MASK TRMSK EQU SKMSK TRACK NOT FOUND MASK PWMSK EQU SKMSK NO DRIVE POWER MASK DRMSK EQU M1 DRIVE DOOR OPEN MASK NDMSK EQU M1 NO DISC IN DRIVE MASK PRMSK EQU M1 PROTECTED DISKETTE MASK CHMSK EQU M1 DISKETTE CHANGE MASK SCMSK EQU SKMSK SECTOR NOT FOUND MASK XMSK EQU M1 LOW-LEVEL MASK * SKP * PASS NOP RETRY COUNT SAVEA NOP SAVEB NOP AIN NOP BIN NOP HLTN NOP DMCNT NOP ECNT NOP CHAR COUNT FOR ECHO ON LP EADDR NOP ADDRESS FOR ECHO ON LP * PHYS NOP ERCNT NOP ERRORS COUNT - FORMAT TEST ERLM NOP NUMBER OF COMPARE ERRORS SCCNT NOP PATND DEF PATRN PATNF NOP PATNP NOP DRIVE NOP DRIVE NO. (SHIFTED LEFT 12 BITS) CMOD NOP CURRENT IO MODE INTSP NOP POINTER TO INTERRUPT STATUS STACK INTSD DEF INTPS INTPS NOP NOP NOP NOP INEND DEF * * STC EQU SW15 IN EQU SW15 DMA INPUT BIT * ILGLP NOP ILGLD DEF ILGLL LIST OF ILLEGAL COMMANDS ILGLE DEF ILGLL+8 ILGFD DEF ILGLE+6 * W1 OCT 100001 WRITE ONE SECTOR SKP * DVLNK NOP SLOP OR FAOP * FAIN DEF FAINP SLOP DEF SLOPP FAOP DEF FAOPP SLIN DEF SLINP FMTR DEF FMTRP * ZISCP DEF ZISC OPNO DEF OPDSN .FMTP DEF .FMT COMND DEF CMND INDCP DEF INDC OTDCP DEF OTDC STTNP DEF STATN STTPP DEF STATU SKSP DEF SKS SYNTP DEF SYNTX PARM DEF PARAM TRAP DEF ZITCH STT7 DEF STAT7 COMPP DEF COMP DFLT DEF DEFLT RANN DEF RANDN ALTER DEF ALTR SSUBP DEF SSUB DSUBP DEF DSUB FSUBP DEF FSUB ENABP DEF ENABL WOKP DEF WOK .MPY DEF MPY .DIV DEF DIV S3LNK NOP S3OPI DEF H030 SW3.9 DEF S3.9 SWDB DEF ZSWDB INITC NOP SKP * JMP.I JMP DMAIL,I DMAIL DEF ZTSH JMPCI JMP CCIL,I CCIL DEF ZTSH JMPDI JMP DCIL,I DCIL DEF ZTSH JCTLO JMP CTLPO,I CTLPO DEF CTLZO JDC18 JMP DC18 JDC60 JMP DC60P,I DC60P DEF DC60 JDC72 JMP DC72 * * –*($*********NON-DMA PROCESSOR (INTERRUPTS ON)*********** * DC18 STC DC,C DC16 OTA DC ISZ IOCNT JMP *+3 LDB JCTLO DC62 STB DC ISZ BFPTR LDA BFPTR,I TO3 LDB SW12 TIME OUT COUNT = 4 SEC JSB TIMR3 JMP E054P,I E054P DEF E054 * * DC72 STC DC,C DC34 LIA DC ISZ IOCNT JMP *+3 LDB JDC60 DC64 STB DC STA BFPTR,I ISZ BFPTR JMP TO3 * * TIMR3 NOP ONE MILLISECOND TIMER CMB,INB STB TEMPD LP03 LDB OTMC MILLISECOND CONSTANT INB,SZB JMP *-1 ISZ TEMPD JMP LP03 JMP TIMR3,I * *************************************************** * NXTD EQU * ï"*ÿÿþú HED EXECUTIVE CONTROL ORG 2000B ZSTEX CLC INTP,C TURN I/O SYSTEM OFF LDA INTSD CLEAR INTERRUPT STATE STACK STA INTSP H205A JSB MSGC,I BELL-CR-LF DEF Z205H H204 JSB MSGC,I PRINT INTRODUCTORY MESSAGE DEF Z204H LDA CPTO GET COMPUTER TYPE & OPTIONS AND .4 SZA DMA AVAILABLE? JMP *+4 YES H101 JSB MSGC,I DEF Z101H 'NO DMA' JMP NOD LDA DATCH DATA CHANNEL NO. IOR STC PREPARE TO SET CONTROL AFTER EACH DMA CYCLE OTA DMA6 OTA DMA7 SET UP BOTH DMA CHANNELS TO MONITOR DATA CHANNEL LDA CPTO AND SW7 SZA LDA .160K SINGLE CHANNEL DMA STA B2114 NOD CLA STA SUPA,I CLEAR OPDSN PROGRAM STA ZEOLC CLEAR PASS COUNT CCA STA LSTST SET TO PRINT TEST NO. WITH ERROR LDA OFSET STA REVS MIN. NO. OF REVS TO READ A TRACK LDA TRKS ASSUME ALL TRACKS GOOD JSB MDISP,I LDA SUPA SET OPDSN LAST STATEMENT ADDRESS STA PRPLA LDA SLOP STA DVLNK SLOW OUTPUT ON 'COMPARE' LDA .10 STA ERLIM SET PRINT LIMIT FOR 'COMPARE' LDA FWAM *COMPUTE CMA,INA * ADA LWAM * AVAILABLE INA * CLB * BUFFER JSB .DIV,I * SIZE DEF SW8 STA BFSIZ *SAVE NO. OF SECTORS JSB .MPY,I * DEF SW7 * STA DBCO *SAVE WORD COUNT STA COUNT INITIALLY, COMPARE ALL OF BUFFER ADA FWAM * STA DBDI *INPUT BUFFER START ADDRESS JSB DEFLT SET UP DEFAULT PARAMETERS JSB PRSTP,I PRESET CONTROLLER & SEEK HOME SWTST LDB SW2 JSB SWRT,I JSB ALTER,I ALTER PATTERNS IN 'TRAK' LDB SW3 JSB SWRT,I ENTER OPDSN? JSB OPNO,I YES LDB SW9 CHECK FOR USER SELECTION REQ JSB SWRT,I JMsçþúP ZUSR IT'S USERS CHOICE ZNUSR LDA STDA GET STANDARD TEST RUN LDB STDB * JMP ZEXC * ZUSR JSB SWDB,I WAIT FOR SWITCH TO BE RELEASED LIA SW INPUT S-REGISTER AND SW3M9 MASK OFF SW3 AND SW9 OTA SW OUTPUT IT LDA ZSINA RETRIEVE PREVIOUS RUN LDB ZSINB HLT 75B WAIT FOR USER INPUT NOP NOP NOP ZEXC STA ZUINA SAVE STB ZUINB USER STA ZSINA INPUT STB ZSINB PROGRAM LDB SW239 JSB SWRT,I TEST SELECTION REQUESTED? JMP SWTST YES CCA SET TEST NUMBER STA TSTN =-1 CLA STA ZTSTA CLEAR TEST RUN FLAG * ZEXCL LDA ZUINA RESTORE A REG. LDB ZUINB RESTORE B REG. ERA,RAL ROTATE ERB FIRST ERA TEST BIT STA ZUINA SAVE POSITIONS STB ZUINB ISZ TSTN MOVE TEST UP ONE NOP LDA EXRT STA S3LNK JUMP TO ZEXRT IF SW3 SETS ZXCL1 LDA TSTN ADA TSTP GET IT'S LDA A,I ADDRESS CPA M1 IS IT END OF LIST JMP ZEOL YES LDB ZUINB SSB,RSS SHOULD IT BE RUN? JMP ZEXCL NO STA ZTSTA YES - SAVE TEST ADDRESS H205B JSB MSGC,I DEF Z205H BELL-CR-LF LDB SW10 JSB TSTNO OUTPUT TEST NUMBER JSB DFLT,I SET UP DEFAULT TEST PARAMETERS JSB ZTSTA,I *** GO DO TEST *** ZEXRT LDA TSTN DISPLAY TEST NUMBER IF HALTED LDB SW15 CHECK FOR HALT AT END OF TEST JSB SWRT,I RSS JMP *+3 JSB SWDB,I WAIT FOR SWITCH TO BE RELEASED HLT 76B YES WAIT FOR OPERATOR LDB SW3 JSB SWRT,I ENTER OPDSN? JSB OPNO,I YES LDB SW9 CHECK FOR ABORT JSB SWRT,I JMP ZUSR YES LDB SW13 CHECK FOR LOOP ON ROUTINE JSB SWRT,I JMP ¿þúZXCL1 YES - LOOP JMP ZEXCL CONTINUE * ZEOL LDA ZTSTA CHECK IF ANY TESTS WERE RUN SZA,RSS ? JMP ZNUSR NO SO PICK UP STANDARD RUN LDA ZEOLC UP DATE PASS COUNT INA STA ZEOLC CLE LDB ZPSCA GET PASS COUNT JSB O2AS,I CONVERT IT I203 JSB .FMTP,I CALL PRINT ROUTINE DEF Z203I 'PASS 000000' H205C JSB MSGC,I DEF Z205H BELL-CR-LF H205D JSB MSGC,I DEF Z205H BELL-CR-LF LDB SW12 CHECK FOR LOOP ON DIAG. JSB SWRT,I JMP *+4 YES LDA ZEOLC JSB SWDB,I WAIT FOR SWITCH TO BE RELEASED HLT 77B NO WAIT AND DISPLAY PASS COUNT LDA ZSINA RESTORE ORIGINAL LDB ZSINB PROGRAM JMP ZEXC DO IT ALL AGAIN * ZPSCA DEF Z203I+3 ZTSTN DEF Z202H+3 SKP * MESSAGE OUTPUT WITH OUT HALT * ZMSGC NOP ENTRY STA ZSAVA STB ZSAVB LDB ZMSGC,I GET ADDRESS OF MESSAGE ISZ ZMSGC BUMP RETURN LIA SW AND SW10 CLE,SZA,RSS SUPPRESS MESSAGE? JSB FMTR,I NO LDA ZSAVA LDB ZSAVB JMP ZMSGC,I YES * * MESSAGE OUTPUT WITH HALT * ZMSGH NOP ENTRY STB ZSAVB SAVE B LDB ZMSGH,I ISZ ZMSGH BUMP RETURN JSB HLT. SET UP HALT LDB SW10 JSB SWRT,I SUPPRESS MESSAGE? JMP ZHLT1-2 LDB ZMSGD CLA,CLE JSB FMTR,I LDB RUNP CLA,CLE JSB FMTR,I 'PRESS RUN' JSB SWDB,I WAIT FOR SWITCH TO BE RELEASED LDA ZSAVA LDB ZSAVB ZHLT1 NOP (FILLED WITH HALT BY HLT.) JMP ZMSGH,I * RUNP DEF Z211H * * * ERROR MESSAGE WITH HALT * ZERMS NOP ENTRY STB ZSAVB LDB ZERMS,I ADDRESS OF MESSAGE ISZ ZERMS BUMP RETURN JSB HLT. SET UP HALT LDB SW11 JSB SWRT,I SUPPRESS MESSAGE? ôîþú JMP ZHLT. YES LDB SW11 JSB TSTNO OUTPUT TEST NUMBER LDA HLTN ADA M24 MESSAGE NO. LESS THAN 24? SSA,RSS JMP SCP NO LDA SCFLG YES, INTERFACE CARD TEST SZA,RSS JMP SCP SELECT CODE ALREADY PRINTED CLA STA SCFLG I025 JSB .FMTP,I DEF Z025I 'CARD (SC=XX)' SCP LDB ZMSGD CLA,CLE JSB FMTR,I OUTPUT ERROR MESSAGE ZHLT. LDB SW14 JSB SWRT,I HALT? JMP ZERMS,I NO JSB SWDB,I WAIT FOR SWITCH TO BE RELEASED LDA ZSAVA RESTORE A LDB ZSAVB ZHLT2 NOP (FILLED WITH HALT BY HLT.) JMP ZERMS,I RETURN TO CALLER * SKP HLT. NOP SET UP HALT FROM MESSAGE NUMBER STB ZMSGD SAVE ADDRESS OF MESSAGE STA ZSAVA SAVE A CCA,CCE JSB AS2N,I STA HLTN SAVE RESULT AND .300 DECODE LDB ZH2 HALT CODE CPA .100 LDB ZH6 CPA .200 LDB ZH3 CPA .300 LDB ZH7 LDA HLTN GET HALT NUMBER AND .77 IOR B STA ZHLT1 SAVE IT STA ZHLT2 JMP HLT.,I * * * TSTNO NOP OUTPUT TEST NUMBER JSB SWRT,I SUPPRESS MESSAGE? JMP TSTNO,I YES LDA TSTN CPA LSTST SAME AS LAST TIME? JMP TSTNO,I YES STA LSTST NO, SAVE TEST NO. CLE LDB ZTSTN JSB I2AS,I CONVERT TO ASCII H202 JSB .FMTP,I DEF Z202H 'TEST XXXXX' JMP TSTNO,I * * SKP * ISOFF NOP TURN OFF INTERRUPTS & SAVE PREVIOUS STATE STB IRSTR LDB INTSP CPB INEND STACK OVERFLOW? HLT 67B YES CLB SFC INTP CCB STB INTSP,I SAVE INTERRUPT STATE ISZ INTSP CLF INTP TURN OFF INTERRUPTS LDB IRSTR RESTORE B JMP ISOFF,I * * IRSTR NOP RESTORE STATUS OF INTERRUPTS Ïþú STA ISOFF LDA INTSP CPA INTSD STACK UNDERFLOW? HLT 57B YES ADA M1 STA INTSP LDA A,I GET PREVIOUS STATUS FLAG SZA TURN BACK ON? STF INTP YES LDA ISOFF JMP IRSTR,I * * SKP * FAINP NOP TURN OFF INTERRUPTS & DO FAST OUTPUT JSB ISOFF TURN OFF INTS JSB FAINL,I FAST INPUT JSB IRSTR RESTORE INTS JMP FAINP,I * * SLOPP NOP DO SLOW OUTPUT & RESTORE INTERRUPTS JSB ISOFF TURN OFF INTS STA ECNT STB EADDR JSB SLOPL,I OUTPUT TO CONSOLE LDB SW7 JSB SWRT,I ECHO ON LINE PRINTER? RSS JMP *+4 NO LDA ECNT LDB EADDR JSB FAOPL,I ECHO JSB IRSTR RESTORE INTS JMP SLOPP,I * * FAOPP NOP DO FAST OUTPUT & RESTORE INTERRUPTS JSB ISOFF TURN OFF INTS JSB FAOPL,I FAST OUTPUT JSB IRSTR RESTORE INTS JMP FAOPP,I * * SLINP NOP DO SLOW INPUT & RESTORE INTERRUPTS JSB ISOFF TURN OFF INTS JSB SLINL,I SLOW INPUT JSB IRSTR RESTORE INTS JMP SLINP,I * * FMTRP NOP DO FORMATTED OUTPUT & RESTORE INTERRUPTS JSB ISOFF TURN OFF INTS STB EADDR CLA,SEZ CONSOLE OR PRINTER? JMP *+6 PRINTER JSB FMTRL,I OUTPUT TO CONSOLE LDB SW7 JSB SWRT,I ECHO? CLA,CCE,RSS YES JMP *+3 NO LDB EADDR JSB FMTRL,I FORMATTED OUTPUT JSB IRSTR RESTORE INTS JMP FMTRP,I HED GENERAL ROUTINES * * ZN2AO NOP STA ZIOAD SAVE NUMBER AND .7 CONVERT FIRST IOR .60 NUMBER STA B SAVE IT LDA ZIOAD GET RAR,RAR SECOND RAR NUMBER AND .7 CONVERT IOR .60 IT ALF,ALF MOVE TO UPPER HA2ëþúLF IOR B ADD LOWER JMP ZN2AO,I AND RETURN * * * * SWITCH REGISTER CHECK * ZSWRT NOP STA ZN2AO SAVE A REGISTER LIA SW GET SWITCH REG. AND B MASK OUT BIT SZA,RSS IS IT UP? ISZ ZSWRT NO LDA ZN2AO RESTORE A REGISTER LIB SW LET B = SWITCH REGISTER JMP ZSWRT,I RETURN TO CALLER * * * ZSWDB NOP WAIT UNTIL ALL SWITCHES ARE RELEASED STA ZSDBA STB ZSDBB ZSWDL LDA M128 STA ZLOCT SET UP LOOP COUNTER LIB SW SAVE ORIGINAL S-REGISTER LDA B CMA OTA SW INVERT ALL BITS LIA SW READ S-REG AGAIN OTB SW RESTORE ORIGINAL S-REG CMA CPA B MAKE SURE THAT S-REG IS NOT CHANGED RSS JMP ZSWDL NOT EQUAL - REINITIALIZE COUNTER ISZ ZLOCT MUST NOT CHANGE FOR 128 PASSES JMP ZSWDL+2 LDA ZSDBA RESTORE A & B LDB ZSDBB JMP ZSWDB,I * ZSDBA NOP ZSDBB NOP ZLOCT NOP * * * * INITIALIZE TRAP CELL HALTS * ZITCH NOP LDA ZTSH GET STARTING TRAP CELL HALT LDB .2 GET FIRST TRAP CELL LOCATION ZTSHL STA B,I PUT IT IN PLACE CPB .77 AM I FINISHED JMP ZITCH,I YES INB NEXT ADDRESS JMP ZTSHL * * * SKP * PUT JSB INSTRUCTION IN TRAP CELL * ZTCJI NOP LDB ZJSBI GET INSTRUCTION STB ZIOSC,I PUT IT IN TRAP CELL LDA ZTCJI,I GET LOCATION STA DCIL SAVE IT FOR JSB INSTRUCTION ISZ ZTCJI ADJUST RETURN JMP ZTCJI,I RETURN TO CALLER * ZJSBI JSB DCIL,I JSB INSTRUCTION * * * INITIALIZE SELECT CODE I/O INSTRUCTIONS * ZISC NOP STA ZIOSC SAVE SELECT CODE STB ZIOAD SAVE TABLE ADDRESS ZIOL LDB ZIOAD,I GET ADDRESS OF LOCATION CPB M1 IS IT THE TERMINATOR JMP ZISC,I @þú YES RETURN TO CALLER LDA B,I NO - GET CONTENTS AND ZIOM MASK OFF OLD SELECT CODE IOR ZIOSC ADD IN NEW SELECT CODE STA B,I RESTORE IT ISZ ZIOAD MOVE TO NEXT ADDRESS JMP ZIOL DO IT * ZIOSC NOP ZIOAD NOP SKP * CONFIGURATION SECTION * ZCONF CLC INTP,C TURN I/O SYSTEM OFF LIA SW GET SELECT CODE AND OPTIONS STA USSC SAVE THEM AND .77 ELIMINATE OPTIONS LDB A CMB,INB CHECK THAT SC > 7 ADB .7 SSB ? JMP *+4 OK GO ON JSB SWDB,I WAIT FOR SWITCH TO BE RELEASED HLT 73B NO JMP ZCONF TRY AGAIN STA COMCH COMMAND CHANNEL STA DATCH ISZ DATCH DATA CHANNEL ONE HIGHER LDB IOCCP INITIALIZE COMMAND CHANNEL INSTR. JSB ZISC LDA DATCH LDB IODCP JSB ZISC INITIALIZE DATA CHANNEL INSTR. JSB SWDB,I WAIT FOR SWITCH TO BE RELEASED CLA OTA SW CLEAR S-REGISTER HLT 74B ALLOW OPERATOR TO CHANGE SWIT JMP ZSTEX GO TO EXEC CONTROL SECTION * SKP * ********SET UP DEFAULT TEST PARAMETERS * DEFLT NOP CCA STA PHYST CLEAR FORMAT FLAG CLA JSB SDP,I DRIVE 0 STA CSEC STA SEC STA LSEC STA VFY STA COP STA STATW STA STEXP STA CTL0 CLA,INA JSB RTRYP,I RETRY COUNT = 1 JSB TRAP,I INITIALIZE TRAP CELLS LDA DBCO CMA,INA STA TEMPC LDB DBDI CLA CLEAR STA B,I INPUT INB BUFFER ISZ TEMPC JMP *-3 LDB .6 JSB MODEP,I DMA CHAN 6, INTP OFF JMP DEFLT,I * * ALTR NOP ALTER PATTERNS IN 'TRAK' TEST JSB SWDB,I WAIT FOR SWITCH TO BE RELEASED LIA SW AND SW2M MASK OFF BIT 2 OTA SW Ȧ0.*LDB PATND STB DEFLT LP26 LDB DEFLT CPB PATNE DONE? JMP ALTR,I LDA B,I FIRST HALF IN A INB LDB B,I SECOND HALF IN B OCT 106002 LET OPERATOR CHANGE VALUES STA DEFLT,I SAVE A ISZ DEFLT STB DEFLT,I SAVE B ISZ DEFLT MOVE TO NEXT PAIR JMP LP26 * * bV0ÿÿþú HED I/O INSTRUCTION POINTERS 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 DEF ZBS42 DEF ZBS51 DEF ZBS52 DEF ZBS53 DEF ZBS61 DEF ZBS62 DEF ZBS63 DEF ZBS64 DEF ZBS65 DEF ZBS66 DEF ZBS71 DEF ZBS72 DEC -1 * SKP IOCC EQU * COMMAND CHANNEL DEF CC02 DEF CC04 DEF CC06 DEF CC08 DEF CC10 DEF CC14 DEF CC16 DEF CC18 DEF CC20 DEF CC22 DEF CC24 DEF CC26 DEF CC28 DEF CC30 DEF CC32 DEF CC34 DEF CC36 DEF CC38 DEF CC46 DEC -1 * * IODC EQU * DATA CHANNEL DEF DC02 DEF DC04 DEF DC06 DEF DC08 DEF DC10 DEF DC12 DEF DC14 DEF DC16 DEF DC18 DEF DC20 DEF DC22 DEF DC24 DEF DC26 DEF DC28 DEF DC30 DEF DC32 DEF DC34 DEF DC36 DEF DC38 DEF DC40 DEF DC42 DEF DC44 DEF DC46 DEF DC48 DEF DC50 DEF DC52 DEF DC54 DEF DC56 DEF DC58 DEF DC60 DEF DC62 DEF DC64 DEF DC68 DEF DC70 DEF DC72 DEF DC76 DEF DC78 DEF DC80 DEC -1 * SKP IODMH EQU * DMA HIGH CHANNEL DEF DH02 DEF DH04 DEF DH06 DEF DH08 DEF DH12 DEF DH14 DEF DH16 DEF DH18 DEC -1 * IODML EQU * DMA LOW CHANNEL DEF DL02 DEF DL04 DEF DL06 DEF DL08 DEF DL10 DEF DL12 DEF DL14 DEF DL16 DEF DL18 DEF DL20 DEF DL22 DEF DL24 DEF DL26 DEF DL28 DEF DL46 DEF DL48 DEC -1 * * HED ôþúDIAGNOSTICS - ENTRY POINTS * * TESTD EQU * LIST OF TEST ENTRY POINTS DEF TST00 BASIC I/O TESTS 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 STANDARD DIAGNOSTICS - TEST 0 (CARD) * TST00 EQU * CARD NOP INTERFACE CARD & INTERRUPT TEST JSB ISOFF SAVE STATUS OF INTP & TURN OFF INTP LDA COMCH COMMAND CHANNEL JSB ZBIO DO BASIC I/O LDA DATCH DATA CHANNEL JSB ZBIO DO BASIC I/O JSB IRSTR RESTORE STATUS OF INTP JMP CARD,I * ZBIO NOP CLC INTP,C TURN OFF ALL I/O STA SCFLG JSB ZN2AO CONVERT TO OCTAL STA Z025I+7 LDA ZIOAD GET CHANNEL NO. 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 Z000E SFS INTP JMP *+3 E001 JSB ERMS,I E001 CLF 0-SFS 0 ERROR DEF Z001E STF INTP SFC INTP JMP *+4 CLF INTP TURN OFF INTS E002 JSB ERMS,I E002 STF 0-SFC 0 ERROR DEF Z002E 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 Z003E JMP ZBIO2 * * * 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 Z005E ZBS24 SFS CH JMP *+3 E006 JSB ERMS,I E006 CLF CH-SFS CH ERROR DEF Z006E ZBS25 STF CH ZBS26 SFC CH JMP *+3 E007 JSB ERMS,I E007 STF CH-SFÓ_þúC CH ERROR DEF Z007E ZBS27 SFS CH RSS JMP ZBIO3 E010 JSB ERMS,I E010 STF CH-SFS CH ERROR DEF Z010E JMP ZBIO3 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 * * ZB3E NOP CLF INTP TURN OFF INTS E004 JSB ERMS,I E004 CLF 0 DID NOT INHIBIT INT DEF Z004E * * * * SKP * SELECT CODE SCREEN TEST * ZBIO4 LDB .10 START WITH LOWEST ADDRESS ZB40 LDA ZIOSC GET SELECT CODE 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 CPB .77 IS TEST FINISHED? JMP ZBIO5 YES INB NO JMP ZB40 DO NEXT CHANNEL * * ZB41 STB ZBTMP SAVE NUMBER LDA B CONVERT CH FOR MESSAGE JSB ZN2AO STA Z011E+5 LDA ZBTMP RETRIEVE NUMBER E011 JSB ERMS,I E011 DEF Z011E * * * 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 I þú * 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 Z014E JMP ZBIO6 ABORT REST OF SECTION LDA ZBTMP CHECK FOR CORRECT INTERRUPT CPA .2 ? JMP *+3 E026 JSB ERMS,I E026 INT EXECUTION ERROR DEF Z026E ZBS53 CLF CH TURN OFF CH FLAG JMP ZBIO6 GO TO NEXT SECTION * ZBD5 DEF ZBF5-1 ZBD5A DEF ZBF5+1 * * * * 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 Z012E 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 Z015E 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 Z013E * * * * * 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 SYì^þúSTEM 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 Z016E JMP ZB60 * ZBI62 NOP CLF INTP TURN OFF INTS E017 JSB ERMS,I E017 CLC 0 ERROR DEF Z017E JMP ZBIO7 * * * * SKP * EXTERNAL & INTERNAL PRESET TEST * ZBIO7 LDB SW812 CHECK TO SUPPRESS JSB SWRT,I ? JMP ZBIO,I RETURN TO CALLER H024 JSB MSGC,I TELL OPERATOR DEF Z024H 'PRESS PRESET' * ZBS71 CLF CH CLEAR CH FLAG STF INTP TURN ON INTS JSB ZTCJI SET TRAP CELL JSB INSTRUCTION DEF ZBI70 JSB SWDB,I WAIT FOR SWITCH TO BE RELEASED 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 CH 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 * * * * * * * * SKP ZB70 SLA,RSS CHECK FOR ERRORS JMP *+3 E022 JSB ERMS,I E022 DID NOT CLEAR CONTROL DEF Z022E RAR SLA,RSS JMP *+3 E023 JSB ERMS,I E023 I/O LINES NOT CLEAR DEF Z023E RAR SLA,RSS JMP *+3 E020 JSB ERMS,I E020 FLAG NOT SET DEF Z020E RAR SLA,RSS JMP *+3 E021 JSB ERMS,I E021 DID NOT DIABLE INTS DEF Z021E JMP ZBIO,I RETURN TO CALLER * ZBI70 NOP CONTROL FAILED CLF INTP TURN OFF IôžþúNTPS INA JMP ZB70 * * HED STANDARD DISKETTE DIAGNOSTICS * * TST01 NOP FALL LDA .5 JSB RTRYP,I 10 RTRY 5 LDA .3 CLB JSB FALLP,I 20 FALL 3 JMP TST01,I 30 RTN * * TST02 NOP READ-ONLY TEST LDA .3 JSB RTRYP,I 10 RTRY 3 LDA DBCO 20 RD -MAX CMA,INA CLB JSB RDP,I JMP TST02,I 30 RTN * * TST03 NOP VERIFY TEST LDA .4 JSB RTRYP,I 10 RTRY 4 LDA DBCO CMA,INA CLB JSB VRFYP,I 20 VRFY -MAX JMP TST03,I 30 RTN * * TST04 NOP ERRR JSB ERRRP,I JMP TST04,I RTN * * TST05 NOP WORST-CASE PATTERN TEST CLA LDB .3 JSB TRAKP,I 10 TRAK 0 3 LDA TRACK ARS LDB .3 JSB TRAKP,I 20 TRAK 38 3 CCA ADA TRACK LDB .3 JSB TRAKP,I 30 TRAK 76 3 JMP TST05,I * TST06 NOP RAND Z LDA D256 LDB AZ. JSB RANDP,I 10 RAND 256 Z JMP TST06,I 20 RTN * * TST07 NOP RANDOM WRITE LDA D256 LDB AW. JSB RANDP,I 10 RAND 256 W JMP TST07,I 20 RTN * * TST08 NOP SEEK TEST CCA JSB WDP,I 10 WD -1 CCA LDB AC. JSB VRFYP,I 20 VRFY -1 C LDA D256 LDB AR. JSB RANDP,I 30 RAND 256 R JMP TST08,I 40 RTN * * TST09 NOP STEP/MARK DEFECTIVE JSB PRSTP,I 10 PRST CLB JSB MARKP,I 20 MARK LDA MLSTR 30 GOSB 50 76 STA TST00 40 GOTO 80 CLA CLB JSB STEPP,I 50 STEP CLA CLB JSB MARKP,I 60 MARK ISZ TST00 JMP *-7 70 RTN JSB PRSTP,I 80 PRST LDA .3 CLB JSB FALLP,I 90 FALL 3 JMP TST09,I 100 RTN * * TST10 NOP DUMP TEST CLA JSB MDnHþúISP,I 10 MDIS LDA D256 LDB AD. JSB RANDP,I 20 RAND 256 D JMP TST10,I 30 RTN * * TST11 NOP DMA MODES TEST LDA AD. LDB .6 JSB MODEP,I 10 MODE D 6 LDA D20 LDB AW. JSB RANDP,I 20 RAND 20 W LDA AD. LDB .7 JSB MODEP,I 30 MODE D 7 LDA D20 LDB AW. JSB RANDP,I 40 RAND 20 W LDA ADI LDB .6 JSB MODEP,I 50 MODE DI 6 LDA D20 LDB AW. JSB RANDP,I 60 RAND 20 W LDA ADI LDB .7 JSB MODEP,I 70 MODE DI 7 LDA D20 LDB AW. JSB RANDP,I 80 RAND 20 W JMP TST11,I * * TST12 NOP NON-DMA MODES TEST LDA AN. JSB MODEP,I 10 MODE N LDA D20 LDB AW. JSB RANDP,I 20 RAND 20 W LDA ANI JSB MODEP,I 30 MODE NI LDA D20 LDB AW. JSB RANDP,I 40 RAND 20 W JMP TST12,I * * TST13 NOP JMP TST13,I * * TST14 NOP JMP TST14,I * * TST15 NOP JMP TST15,I * * SKP * NOP IBUF BSS 37 TTY BUFFER DIRC EQU * FMGR DIRECTORY DATA OCT 143117 1 OCT 051115 2 OCT 040524 3 DEC 32760 4 DEC 0 5 OCT 000002 6 DEC 60 7 DTRK DEC 66 8 (LAST TRACK) DEC -1 9 DEC 0 10 DEC 0 11 DEC 0 12 DEC 0 13 DEC 0 14 DEC 0 15 DEC 0 16 OCT 043114 17 OCT 047520 18 OCT 046113 19 DEC 1 20 DEC 0 21 DEC 0 22 DEC 2 23 DEC 0 24 DEC -32767 25 * * غ0.**0ÿÿþú HED OPERATOR DESIGN SECTION * OPERATOR DESIGN SECTION * OPDSN NOP LDA SCSO CHECK FOR CONSOLE DEVICE SZA,RSS JMP OPDSN,I NO SO DONT DO OPDSN LDA TSTN STA LSTST DO NOT PRINT TEST NO. ON ERROR H030 JSB MSGC,I TELL OP HE'S IN OPDSN DEF Z030H 'OPDSN' JSB SWDB,I WAIT FOR SWITCH TO BE RELEASED LIA SW GET SWITCH REGISTER AND SW3M9 MASK OFF SW 3 AND SW 9 OTA SW REPLACE SWITCH REGISTER * IRQ LDA S3OPI STA S3LNK JUMP TO H030 IF SW3 SETS JSB GIFO GET INPUT FROM OPERATOR DEF Z201I (PROMPT= @) JSB GETC INPUT A CHARACTER JMP INER EMPTY BUFFER - REPORT ERROR JMP *-2 SPACE - TRY AGAIN JMP INER COMMA - ERROR JMP INER MINUS - ERROR JMP GTIN DIGIT - GET LINE NUMBER LDB IBUFP LETTER ADB M1 STB IBUFP RESTORE BUFFER POINTER CLA STA TMP SET FOR IMMEDIATE EXECUTION JMP IM EXECUTE IMMEDIATELY * GTIN LDB IBUFP RESET BUFFER POINTER ADB M1 STB IBUFP JSB GTDEC GET DECIMAL LINE NUMBER NOP SZA,RSS IF IT'S A ZERO JMP INER THEN IT'S AN ERROR STA TMP SAVE LINE NO. ADA MXNM CHECK FOR MAX NUMBER SSA,RSS IF OVER 9999 JMP INER THEN ERROR IM JSB GTASC GET STATEMENT TYPE CPA SPSP JMP DLL DELETE LINE SKP * FIND STATEMENT * STA SVA SAVE TYPE STB SVB "" LDB STTBD STATEMENT TABLE DEF FNDSL LDA B,I CPA M1 IS IT THE TERMINATOR JMP INER YES - NOT FOUND CPA SVA IS IT THIS CHARACTER JMP *+3 YES ADB .4 NO - MOVE TO NEXT STATEMENT JMP FNDSL AND TRY IT INB MOVE TO SECOND CHARACTERS LDA B,I CPA SVB DO THESE COMPARE (Eþú JMP *+3 YES ADB .3 NO - MOVE TO NEXT STATEMENT JMP FNDSL AND TRY IT INB LDA B,I RETRIEVE PARAMETER TYPES INB STA SVB STB TMP+1 ALF,ALF INPRN AND .177 CPA AA IS IT ASCII? JMP TAA YES CPA AI IS IT INTEGER? JMP TAI YES JSB GTOCT ASSUME OCTAL NOP JMP INPRC * TAA JSB GTASC GET NEXT BLOCK CPA SPSP CLA JMP INPRC * TAI JSB GTDEC GET NEXT BLOCK NOP INPRC LDB SVB SZB,RSS FIRST PARAMETER? JMP INPR2 NO STA TMP+2 LDA SVB GET TYPE CLB STB SVB JMP INPRN INPR2 STA TMP+3 SAVE SECOND PARAMETER SKP * PUT STATEMENT IN QUE * JSB SYNTP,I CHECK FOR VALID PARAMETERS JMP INER PARAMETER ERROR LDA TMP SZA,RSS JMP EXEC EXECUTE IMMEDIATELY JSB FNDLN FIND LINE NUMBER JMP INSTR NOT FOUND ISZ PRPTR FOUND IT LDA TMP+1 JUST REPLACE IT STA PRPTR,I JUST REPLACE IT LDA TMP+2 JUST REPLACE IT ISZ PRPTR JUST REPLACE IT STA PRPTR,I JUST REPLACE IT LDA TMP+3 JUST REPLACE IT ISZ PRPTR JUST REPLACE IT STA PRPTR,I JUST REPLACE IT JMP IRQ ASK FOR MORE * INSTR LDA PRPLA CHECK ADA .5 TO CMA,INA SEE IF ADA EUPA QUEUE FULL SSA,RSS ? JMP .STR NO - OK STORE IT I033A JSB .FMT YES TELL OPERATOR DEF Z033I 'FULL' JMP IRQ * .STR LDA TMP MOVE LINE NUMBER LDB PRPTR,I INTO PLACE STA PRPTR,I SZA,RSS IF NUMBER=0 THEN JMP SVLA SAVE LAST ADDRESS STB TMP ELSE ISZ PRPTR MOVE BLOCK LDA TMP+1 IN LDB PRPTR,I TO END STA PRPTR,I OF STB TMP+1 PROGRAM ISZ Ÿ}þúPRPTR LDA TMP+2 LDB PRPTR,I STA PRPTR,I STB TMP+2 ISZ PRPTR LDA TMP+3 LDB PRPTR,I STA PRPTR,I STB TMP+3 ISZ PRPTR JMP .STR * EXEC STA VFY SET FOR NORMAL READ CCA STA PHYST CLEAR FORMAT FLAG LDA TMP+1 LDA A,I STA TMP+1 LDA TMP+2 GET FIRST PARAMETER LDB TMP+3 GET SECOND PARAMETER JSB TMP+1,I ***EXECUTE SUBROUTINE*** JMP IRQ FETCH NEXT COMMAND SKP * DELETE A LINE * DLL JSB FNDLN FIND IT JMP IRQ NOT FOUND ADB .4 PDLL LDA M4 SET COUNT FOR COMPARE STA TMP PDLL0 LDA B,I MOVE NEXT LINE UP STA PRPTR,I ISZ PRPTR INB ISZ TMP TIME FOR A COMPARE JMP PDLL0 NO LDA PRPTR,I YES CHECK FOR END OF LIST SZA ? JMP PDLL NO SVLA LDA PRPTR SAVE LAST STATEMENT ADDRESS STA PRPLA JMP IRQ * * * * FIND LINE NUMBER IN QUE =TMP * FNDLN NOP LDB SUPA START AT FIRST STATEMENT STB PRPTR LDA B,I SZA,RSS IF ZERO JMP FNDLN,I THEN NOT FOUND CMA,INA ADD THE TWO ADA TMP NUMBERS SZA,RSS IF EQUAL JMP *+5 THEN FOUND SSA IF IT GOES NEG. JMP FNDLN,I THEN NOT FOUND ADB .4 TRY NEXT STATEMENT JMP FNDLN+2 ISZ FNDLN JMP FNDLN,I SKP * GET INFORMATION FROM OPERATOR * GIFO NOP LDB GIFO,I ADDRESS OF PROMPT ISZ GIFO CLA,CLE I201 JSB FMTR,I LDA D72 INPUT COUNT LDB IBUFD JSB SLIN,I GET INPUT FROM OPERATOR SZA,RSS WAS THERE ANY INPUT JMP *-4 NO - SO ASK AGAIN STA ECNT XOR D72 DO I NEED A CR-LF? SZA,RSS JSB SLOP,I LDA ECNT RESTORE COUNT LDB SW7 \ïþú JSB SWRT,I ECHO ON LINE PRINTER? RSS YES JMP *+3 LDB IBUFD JSB FAOP,I LIST IT LDB IBUFD * RBL * STB IBUFP * ADD CR TO ADB ECNT * LDA .15 * END OF BUFFER JSB A2BUF * JMP GIFO,I RETURN TO CALLER * * * SKP * GET A CHARACTER FROM INPUT BUFFER * GETC NOP LDB IBUFP JSB BUF2A CPA .15 JMP GETC,I CARRIAGE RETURN - NORMAL RETURN ISZ IBUFP MOVE POINTER TO NEXT CHARACTER LDB GETC CPA SPC ADB .1 SPACE CPA COMMA ADB .2 COMMA CPA MINUS ADB .3 MINUS JSB DGCK ADB .4 DIGIT JSB LETR ADB .5 LETTER CPB GETC JMP INER NONE OF THE ABOVE - ERROR JMP B,I RETURN * * BUF2A NOP LOAD A-REG WITH NEXT CHAR FROM BUFFER CLE,ERB E _ UPPER LOWER FLAG LDA B,I 2CHR TO AREG SEZ,RSS UPPER OR LOWER? ALF,ALF UPPER AND .177 MASK UNWANTED CHARACTER JMP BUF2A,I RETURN. * * A2BUF NOP STORE A-REG IN PRINT BUFFER STA GETC SAVE CHARACTER SLB,INB OPPSITE ADB M2 CHARACTER JSB BUF2A ALF,ALF IOR GETC ADD NEW CHARACTER SEZ SHOULD IT BE SWAPPED? ALF,ALF YES STA B,I STORE IT JMP A2BUF,I * * PUTC NOP PUT LOW CHAR OF A-REG IN BUFFER AND .177 MASK UPPER BITS SZA,RSS IF IT'S ZERO JMP PUTC,I DON'T PUT IN BUFFER LDB IBUFP GET ADDRESS JSB A2BUF PUT CHATACTER IN BUFFER ISZ IBUFP MOVE TO NEXT CHARACTER JMP PUTC,I RETURN TO CALLER SKP * GET INPUT BLOCK FROM INPUT BUFFER * * GTASC NOP GET 2 ASCII CHARS IN A-REG & 2 IN B-REG LDA SPSP«bþú STA AIN STA BIN JSB GETC GET FIRST CHAR JMP EXG EMPTY BUFFER JMP *-2 SPACE - TRY AGAIN JMP EXG COMMA NOP MINUS NOP DIGIT ALF,ALF LETTER - MOVE TO HIGH BYTE IOR SPC ADD SPACE IN LOW BYTE STA AIN * JSB GETC GET SECOND CHAR JMP EXG EMPTY BUFFER JMP EXG SPACE JMP EXG COMMA NOP MINUS NOP DIGIT XOR AIN LETTER - ADD TO PREVIOUS CHAR XOR SPC COMPENSATE FOR SPACE STA AIN * JSB GETC GET THIRD CHAR JMP EXG EMPTY BUFFER JMP EXG SPACE JMP EXG COMMA NOP MINUS NOP DIGIT ALF,ALF LETTER - MOVE TO HIGH BYTE IOR SPC SPACE IN LOW BYTE STA BIN * JSB GETC GET FOURTH CHAR JMP EXG EMPTY BUFFER JMP EXG SPACE JMP EXG COMMA NOP MINUS NOP DIGIT XOR BIN ADD TO PREVIOUS CHAR XOR SPC COMPENSATE FOR SPACE STA BIN * DMP JSB GETC SKIP OVER REMAINING CHARS JMP EXG EMPTY BUFFER JMP EXG SPACE JMP EXG COMMA JMP DMP MINUS JMP DMP DIGIT JMP DMP LETTER * EXG LDA AIN LDB BIN JMP GTASC,I * DGCK NOP STA BUF2A SAVE CHARACTER ADA .M60 ADD -60 OCTAL SSA SHOULD STILL BE POS.? ISZ DGCK NO - NOT A DIGIT ADA M10 ADD -10 SSA,RSS SHOULD GO NEG? ISZ DGCK NO - ADJUST RETURN LDA BUF2A RETRIEVE CHARACTER JMP DGCK,I RETURN * LETR NOP CHECK FOR LETTER (A,...,Z) STA BUF2A ADA .M101 SSA ISZ LETR ADA M26 SSA,RSS ISZ LETR LDA BUF2A JMP LETR,I * þúSKP GTDEC NOP GET A DECIMAL BLOCK FROM BUFFER LDA D10 INDICATE DECIMAL JSB GTINT GET INTEGER BLOCK ISZ GTDEC P+1 IF EMPTY, ELSE P+2 JMP GTDEC,I * GTOCT NOP GET AN OCTAL BLOCK FROM BUFFER LDA .10 INDICATE OCTAL JSB GTINT GET INTEGER BLOCK ISZ GTOCT P+1 IF EMPTY, ELSE P+2 JMP GTOCT,I * GTINT NOP GET AN INTEGER BLOCK FROM BUFFER STA SVA SAVE MULTIPLIER CLA STA AIN CCA STA GTASC ASSUME POSITIVE JSB GETC GET FIRST CHAR JMP EXE EMPTY BUFFER JMP *-2 SPACE - TRY AGAIN JMP EXO COMMA JMP NEG MINUS JMP MPYO DIGIT - START MULTIPLICATION JMP INER LETTER - ERROR * NEG STA GTASC SET TO COMPLEMENT RESULT GTOLP JSB GETC GET NEXT CHAR JMP EXO BUFFER EMPTY JMP EXO SPACE JMP EXO COMMA JMP INER MINUS - ERROR JMP MPYO DIGIT JMP INER LETTER - ERROR * MPYO ADA .M60 SUBTRACT ASCII PREFIX LDB SVA CPB D10 JMP *+5 DECIMAL - 9 & 8 LEGAL CPA .10 JMP INER 8 - ERROR CPA .11 JMP INER 9 - ERROR STA BIN LDA AIN CLB JSB .MPY,I MULTIPLY PREVIOUS TOTAL BY 8 OR 10 DEF SVA SZB JMP INER TOO LARGE - ERROR LDB SVA CPB .10 JMP *+3 OCTAL - SKIP SIGN TEST SSA JMP INER TOO LARGE ADA BIN ADD THIS DIGIT STA AIN SAVE TOTAL JMP GTOLP * EXE ISZ GTINT INDICATE END OF BUFFER EXO LDA AIN ISZ GTASC CMA,INA JMP GTINT,I * * * * OUTPUT TO FORMATTER * .FMT NOP LDB .FMT,I GET ADDRESS ISZ .FMT ADJUST RETURN CLA,CLE INDICATE STARTING FORMAT JSB FMTR,I GO TO FORMATTER JMP .FMT,I ç“*($ RETURN I032 EQU * INER JSB .FMT 'INPUT ERROR' DEF Z032I JMP IRQ TRY AGAIN * EX NOP EXIT OPDSN - RETURN TO STANDARD TESTS JMP OPDSN,I ûq*ÿÿþú SKP * LIST PROGRAM * LPP NOP LIST PROGRAM ON PRINTER LDA FAOP JMP *+3 * LP NOP LIST PROGRAM ON CONSOLE LDA SLOP STA DVLNK SET UP LIST DEVICE LDA SUPA SET STARTING OF LIST STA PRPTR POINTER PLFL LDA PRPTR,I CHECK TO PRINT STATEMNET SZA,RSS IS IT THE END OF LIST JMP IRQ YES JSB SW3.9,I CHECK TO ABORT CCB CONVERT AND ADB IBUFD PACK CLE STATEMENT JSB I2AS,I NUMBER LDB IBUFD ADD NUMBER TO POINTER ADB .2 RBL STB IBUFP LDA SPC PUT SPACE IN BUFFER JSB PUTC ISZ PRPTR LDA PRPTR,I * ISZ PRPTR * ADA M1 * LDB A,I * GET PRAM TYPES STB SVB * SAVE PRAM TYPES ADA M1 * LDB A,I * STB TMP+3 * ADA M1 * LDA A,I * AND STATEMENT STA TMP+2 * SAVE STATEMENT ALF,ALF * JSB PUTX * PUT STATEMENT TYPE LDA TMP+2 * IN JSB PUTX * BUFFER LDA TMP+3 * AND SECOND CHATACTERS ALF,ALF JSB PUTX * LDA TMP+3 * JSB PUTX * JMP *+7 * PUTX NOP AND .177 CPA SPC IF IT'S A SPACE JMP *+3 SKIP IT JSB PUTC PUT IT IN BUFFER JMP PUTX,I TRY NEXT CHARACTER LDA SPC ADD SPACE TO BUFFER JSB PUTC SKP LDA SVB RETRIEVE PRMS TYPES ALF,ALF MOVE TO FIRST PARAMETER PLFP LDB PRPTR,I CHECK IF NO PARAMETER SZB,RSS ? JMP SPACE NO SO DON'T PROCESS IT AND .177 CPA AA IS IT ASCII? JMP PAA YES CPA AI IS IT INTEGER? JMP PAI YES CPA AK IS IT OCTAL? JMP PAK YES JMP PLFC TYPE*þú NOT FOUND SO SKIP IT * PAA LDA PRPTR,I GET CHARACTERS ALF,ALF JSB PUTC FIRST ONE TO BUFFER LDA PRPTR,I AND .177 SKIP IF SPACE CPA SPC RSS JSB PUTC SECOND ONE TO BUFFER JMP PLFC * PAI LDA PRPTR,I CLB SSA,RSS IF POS CCB MOVE BUFFER POINTER BACK ONE ADB IBUFP STB IBUFP CLE,ERB JSB I2AS,I * PAE LDA IBUFP ADA .6 STA IBUFP JMP PLFC * PAK LDA PRPTR,I LDB IBUFP CLE,ERB JSB O2AS,I JMP PAE * SPACE LDA SPC JSB PUTC ADD SPACE TO BUFFER LDA SPC JSB PUTC ADD SPACE TO BUFFER * SKP PLFC ISZ PRPTR MOVE TO NEXT PARAMETER LDA SPC ADD SPACE TO BUFFER JSB PUTC LDA SVB SZA,RSS JMP *+4 CLB STB SVB JMP PLFP LDA IBUFP DETERMINE BUFFER COUNT LDB IBUFD * RBL * CMB,INB * ADA B * LDB IBUFD JSB DVLNK,I OUTPUT BUFFER JMP PLFL DO NEXT INSTRUCTION * * * ERASE PROGRAM FILE * EP NOP CLA STA SUPA,I LDA SUPA JMP SVLA+1 SKP * PROCESS GO * GO NOP EXECUTE OPDSN PROGRAM JSB DFLT,I SET UP DEFAULT TEST PARAMETERS LDA GSPTS CLEAR GO SUB TABLE STA GSPTR LDB SUPA START AT BEGINNING STB PRPTR LDA PRPTR,I STA TMP LINE NUMBER PGOL1 JSB SW3.9,I TEST TO ABORT ISZ PRPTR LDA PRPTR,I LDA A,I STA TMP+1 POINTER TO ROUTINE ISZ PRPTR LDA PRPTR,I STA TMP+2 PARAM A ISZ PRPTR LDA PRPTR,I STA TMP+3 PARAM B ISZ PRPTR LDA TMP STA CULN SAVE CURRENT LINE NUMBER SZA,RSS JMP IRQ LDA PRPTR,I STA TMP NEXT LINE NUMBER K¦þú LDA TMP+2 GET PARAM A LDB TMP+3 GET PARAM B JSB TMP+1,I **GO TO ROUTINE** JMP PGOL1 NO LINE CHANGE STA TMP SAVE NEW LINE NO. JSB FNDLN FIND IT JMP OPLNE LINE NUMBER NOT FOUND JMP PGOL1 FOUND * S3.9 NOP TEST FOR ABORT LDB SW2 JSB SWRT,I IF SW2 SET JSB ALTER,I ALTER PATTERN TABLE LDB SW3 JSB SWRT,I IF SW3 SET JMP S3LNK,I GO TO OPDSN INPUT LDB SW9 JSB SWRT,I IF SW9 SET JMP EXRT,I GO TO USER SELECTION JMP S3.9,I * * I034 EQU * OPLNE JSB .FMT 'LINE?' DEF Z034I OPLNN JSB OPLN OUTPUT LINE NO. JMP IRQ RETURN TO OPERATOR * * OPLN NOP OUTPUT LINE NO. CCE LDA CULN LDB CULNA JSB I2AS,I CONVERT LINE NO. TO ASCII JSB .FMT PRINT LINE DEF Z037I '(LINE XXXXXX)' JMP OPLN,I * CULNA DEF Z037I+3 SKP * LIST OUTPUT BUFFER SIZE * DBSZ NOP CCE GIVE OPERATOR BUFFER COUNT LDA DBCO LDB DBCA JSB I2AS,I CONVERT SIZE TO ASCII I036 JSB .FMT 'CNT=XXXXXX' DEF Z036I JMP DBSZ,I * DBCA DEF Z036I+4 * * * REPLACE OCTAL VALUES IN OUTPUT BUFFER * DBRK NOP SZB,RSS LDB A ADA M1 BACK UP ONE STB TMP+2 SAVE IT ADB DBD ADA DBD STA TMP+1 STA TMP+3 * * DELETE UNWANTED WORDS * CLSE1 CPB DBDI LAST ADDRESS? JMP CLSE2 YES LDA B,I MOVE DATA STA TMP+3,I ISZ TMP+3 INB JMP CLSE1 NO MOVE NEXT WORD CLSE2 LDA TMP+3 CPA DBDI LAST ADDRESS? JMP *+5 CLA STA TMP+3,I ISZ TMP+3 MOVE TO NEXT ADDRESS JMP CLSE2 * JSB GIFO CALL FOR INPUT DEF Z206I (PROMPT= :) DBI0 LDA TMP+1 ¥’þú STA TMP+2 CPA DBDI IS BUFFER FULL? JMP DBBC YES, TELL OPERATOR LDA TMP+1,I SAVE CURRENT CONTENTS STA TMP+3 GTI JSB GTOCT GET A BLOCK OF INPUT JMP CO4 NONE, READ NEXT LINE STA TMP+1,I STORE IT ISZ TMP+1 MOVE UP ADDRESSES DBI1 ISZ TMP+2 LDA TMP+2 CPA DBDI LAST ADDRESS? JMP DBI0 YES LDB TMP+3 MOVE REST OF BUFFER LDA TMP+2,I DOWN STB TMP+2,I STA TMP+3 JMP DBI1 NO MOVE MORE * CO4 JSB GIFO READ NEXT LINE DEF Z206I (PROMPT= :) JMP GTI * DBBC JSB DBSZ PRINT SIZE OF BUFFER JMP IRQ GET NEXT COMMAND SKP * FILL BUFFER WITH PATTERN * DBFK NOP STA TEMPB LDA DBCO ARS DIVIDE BY 2 CMA,INA MAKE COUNT NEG STA TEMPC LDA DBD STA TEMPA STARTING ADRESS LDA TEMPB LP01 STA TEMPA,I ISZ TEMPA STB TEMPA,I ISZ TEMPA ISZ TEMPC DONE? JMP LP01 NO JMP DBFK,I * * DB NOP FILL BUFFER WITH RANDOM DATA LDA DBCO CMA,INA STA TEMPC LDB DBD LP04 JSB RANDN GET RANDOM NUMBER STA B,I STORE IT INB ISZ TEMPC DONE? JMP LP04 NO JMP DB,I * SKP * * RANDOM NUMBER GENERATOR * NO CLAIM IS MADE FOR STATISTICAL RANDOMNESS. * EXITS WITH PATTERN IN A, B UNCHANGED. * RANDN NOP LDA BASE LOAD BASE ADA PRIME SUBTRACT THE PRIME SSA LDA BASE OOPS, BASE NOT BIG ENOUGH CLE,ELA DOUBLE BASE OR REMAINDER STA BASE FOR NEXT TRY RAR LSB NOT RANDOM - ROTATE TO MSB AND .377 STA TEMPA LDA BASE REPEAT PROCEDURE ADA PRIME SSA LDA BASE CLE,ELA STA BASE AND M256 =177400B IOR TEMPA COMBINE RIGH=¬þúT & LEFT HALVES JMP RANDN,I * PRIME DEC -31069 * THIS PRIME NUMBER LOOPS EVERY 31068 TIMES * IN ITS RECIPROCAL EXPANSION BASE OCT 034521 * * * SKP LO NOP LIST OUTPUT BUFFER STA TEMPA STB TEMPB ADA DBD BUFFER ADDRESS LDB SLOP OUTPUT TO CONSOLE JSB PLB JMP LO,I * * LOP NOP LIST OUTPUT BUFFER ON PRINTER STA TEMPA STB TEMPB ADA DBD BUFFER ADDRESS LDB FAOP OUTPUT TO PRINTER JSB PLB JMP LOP,I * * LI NOP LIST INPUT BUFFER STA TEMPA STB TEMPB ADA DBDI BUFFER ADDRESS LDB SLOP OUTPUT TO CONSOLE JSB PLB JMP LI,I * * LIP NOP LIST INPUT BUFFER ON PRINTER STA TEMPA STB TEMPB ADA DBDI BUFFER ADDRESS LDB FAOP OUTPUT TO PRINTER JSB PLB JMP LIP,I SKP * PLB NOP LIST INPUT OR OUTPUT BUFFER ADA M1 BACK UP ONE STA LDBD FIRST WORD ADDRESS STB DVLNK SET UP OUTPUT DEVICE LDB TEMPB SZB,RSS LDB TEMPA CMB ADB TEMPA STB TEMPB -NO. OF WORDS DBL0 JSB SW3.9,I CHECK TO ABORT CCE LDA TEMPA LDB DBLFM JSB I2AS,I CONVERT WORD NO. TO ASCII CLA,CCE SET FOR FAST OUTPUT LDB DVLNK CPB SLOP CLE SET FOR SLOW OUTPUT LDB DBLFM GET FORMAT JSB FMTR,I LDA M4 SET MAX LINE NUM. CNT STA TEMPC DBL1 CCE LDB DBLO LDA LDBD,I FETCH WORD FROM BUFFER JSB O2AS,I CONVERT TO OCTAL CLA,CCE SET FOR FAST OUTPUT LDB DVLNK CPB SLOP CLE SET FOR SLOW OUTPUT LDB DBLO JSB FMTR,I ISZ LDBD STEP TO NEXT BUFFER POSITION ISZ TEMPA BUMP WORD NO. ISZ TEMPB DONE? RSS NO J§þúJMP DBL2 YES ISZ TEMPC END OF LINE? JMP DBL1 NO CLA JSB DVLNK,I CARRIAGE RETURN, LINE FEED JMP DBL0 DBL2 CLA JSB DVLNK,I CLA JSB DVLNK,I DOUBLE CARRIAGE RETURN JMP PLB,I FINISHED DBLFM DEF Z207I DBLO DEF Z210I * SKP * * COMPARE INPUT AND OUTPUT BUFFERS * CB NOP COMPARE INPUT AND OUTPUT BUFFERS SZB STB ERLIM CHANGE ERROR LIMIT LDB SLOP STB DVLNK OUTPUT TO CONSOLE JSB COMP COMPARE BUFFERS JMP CB,I * * CBP NOP COMPARE - LIST ERRORS ON PRINTER SZB STB ERLIM CHANGE ERROR LIMIT LDB FAOP STB DVLNK OUTPUT TO PRINTER JSB COMP COMPARE BUFFERS JMP CBP,I * * COMP NOP COMPARE INPUT & OUTPUT BUFFERS SZA STA COUNT LDA DBD LDB DBDI STA TEMPA CMA,INA INA STA TEMPD STB TEMPB CLA STA HEDC SET TO OUTPUT HEADING STA ERLM CLEAR ERROR COUNT JSB SW3.9,I CHECK TO ABORT LDA COUNT CMA,INA SSA,RSS JMP COMP,I ILLEGAL COUNT STA TEMPC LP08 LDB TEMPA,I CPB TEMPB,I SAME? JMP OK3 LDA ERLM CMA ADA ERLIM ISZ ERLM ADD ONE TO ERROR COUNT SSA TOO MANY ERRORS? JMP OK3 YES, STOP LISTING JSB SW3.9,I CHECK TO ABORT LDB SW11 JSB SWRT,I OUTPUT ENABLED? JMP OK3 NO LDA HEDC SZA,RSS HEADING ALREADY OUTPUT? JSB HEDC NO, DO IT E047 LDA TEMPD ADA TEMPA COMPUTE WORD NO. CLE LDB E47D1 JSB I2AS,I CONVERT TO ASCII CLE LDA TEMPA,I LDB E47D2 JSB O2AS,I VALUE OF OUTPUT BUFFER CLE LDB E47D3 LDA TEMPB,I JSB O2AS,I VALUE OF INPUT BUFFER CLA,CCE FAST OUTPUT DEVI7ÁþúCE LDB DVLNK CPB SLOP CLE SLOW OUTPUT DEVICE LDB E047D JSB FMTR,I FORMATTED OUTPUT OK3 ISZ TEMPA ISZ TEMPB MOVE TO NEXT PAIR OF VALUES ISZ TEMPC DONE? JMP LP08 NO JMP COMP,I * E047D DEF Z047E E47D1 DEF Z047E+3 E47D2 DEF Z047E+9 E47D3 DEF Z047E+14 * * HEDC NOP 'COMPARE' HEADING LDB SW10 JSB SWRT,I SUPPRESS NON-ERROR MESSAGES? JMP HEDC,I YES H046 CLA,CCE LDB DVLNK CPB SLOP CLE SET FOR SLOW OUTPUT LDB H046D JSB FMTR,I JMP HEDC,I * H046D DEF Z046H * * HED OPERATOR DESIGN SECTION - PROGRAM STATEMENTS * WAIT FOR OPERATOR * WAIT NOP I040 JSB .FMT 'WAIT (LINE XXXXXX)' DEF Z040I JSB OPLN OUTPUT LINE NO. JSB GIFO CALL FOR INPUT DEF Z206I (PROMPT= :) JSB GTASC GET BLOCK OF INPUT CPA AST STOP? JMP IRQ YES WAPN JSB GTDEC GET BLOCK OF INPUT JMP WAIT,I NO 'GOTO' SZA ISZ WAIT GOTO JMP WAIT,I * * * * * PROCESS GO TO STATEMENT * GOTO NOP ISZ GOTO ADJUST RETURN FOR LINE CHANGE JMP GOTO,I SKP * PROCESS GOSUB * GOSB NOP ISZ GSPTR MOVE TO NEXT BLOCK STB SVB SAVE REP COUNT LDB GSPTR CHECK CMB,INB IF THERE IS ADB GSPTE ROOM SSB ? JMP GSPE NO - SO ERROR LDB PRPTR SAVE PROGRAM POINTER STB GSPTR,I LOCATION ISZ GSPTR LDB SVB GET REP COUNT SZB,RSS INB CMB,INB MAKE IT NEG STB GSPTR,I ISZ GOSB ADJUST RETURN FOR LINE CHANGE JMP GOSB,I GSPTR NOP GOSB STACK PTR GSPTS DEF GSPB GSPTE DEF GSPB+30 GSPB BSS 32 SUBR. RETURN PTR & COUNT STACK * I035 EQU * GSPE JSB .FMT 'GOSB' v"0.*DEF Z035I JMP OPLNN _³0ÿÿþú SKP * PROCESS RTN STATEMENT * RTN NOP LDA GSPTR CHECK IF THERE HAS CPA GSPTS BEEN A GOSUB JMP OPLNE NO - THEN ERROR ISZ GSPTR,I FINISHED WITH LOOP JMP RTPN NO LDA GSPTR YES ADA M2 MOVE POINTER BACK TWO STA GSPTR INA RESET LINE NUMBER LDA A,I STA PRPTR LDA PRPTR,I STA TMP JMP RTN,I RTPN CCA ADA GSPTR LDA A,I ADA M2 LDA A,I ISZ RTN ADJUST RETURN FOR LINE CHANGE JMP RTN,I SKP * OUTPUT A MESSAGE * MSG NOP STA MSPM+2 STB MSPM+3 LDA .6 LDB MSPM JSB SLOP,I JMP MSG,I MSPM DEF *+1 ASC 3,* XXXX * * * TEST EXECUTION * TEST NOP STA TSTN CCB STB LSTST SET TO PRINT TEST NO. IF ERROR ADA TSTP LDA A,I JSB A,I EXECUTE TEST LDA TSTN STA LSTST DO NOT PRINT TEST NO. JMP TEST,I RETURN TO CONTROL * * * STOP EXECUTION * STOP NOP I031 JSB .FMT OUTPUT STOP MESSAGE DEF Z031I JMP OPLNN * HED OPERATOR MESSAGES - OPDSN * * MESSAGES PREFIXED BY H ARE HEADINGS & NON-ERROR MESSAGES * (SUPPRESSED BY SETTING S-REG BIT 10) * MESSAGES PREFIXED BY I CANNOT BE SUPPRESSED * * Z026E ASC 10,E026 INT EXECUTION/ Z030H ASC 06,H030 OPDSN/ Z031I ASC 05,I031 STOP_/ Z032I ASC 09,I032 INPUT ERROR/ Z033I ASC 05,I033 FULL/ Z034I ASC 06,I034 LINE?_/ Z035I ASC 05,I035 GOSB/ Z036I ASC 08,I036 CNT=XXXXXX/ Z037I ASC 08, (LINE XXXXXX)/ Z040I ASC 05,I040 WAIT_/ Z041H ASC 06,H041 RAND R/ HED OPERATOR DESIGN STATEMENT PARAMETER CHECK * * * * RETURNS +2 FOR VALID PARAMETERS * RETURNS +1 FOR INVALID PARAMETERS * LIMI ABS -XLIMI PROGRAM-ONLY AFTER THIS STATEMENT LIMP ABS -XLIMP IMMEDIATE-EXECUTION-ONLY BEFORE THIS * SYNTX NOP $‘þú CHECK PARAMETERS - OPDSN LDB TMP+1 LDA TMP SZA JMP SYNT1 PROGRAM STATEMENT LDA B IMMEDIATE EXECUTION ADA LIMI SSA,RSS JMP SYNTX,I CANNOT BE EXECUTED IMMEDIATELY JMP SYNT2 SYNT1 LDA B ADA LIMP SSA JMP SYNTX,I CANNOT BE EXECUTED FROM PROGRAM SYNT2 LDA TMP+2 LDB B,I ADDRESS OF SUBROUTINE CPB FALLP JMP FMATX CPB WDP JMP WRITX CPB RDP JMP READX CPB VRFYP JMP VRFYX CPB SKP JMP SEEKX CPB RANDP JMP RANDX CPB SDP JMP DRIVX CPB MODEP JMP MODEX CPB MDISP JMP MDISX CPB RTRYP JMP RTRYX CPB FTRKP JMP FRMTX CPB TRAKP JMP TRAKX CPB DLYP JMP DLYX CPB TESTP JMP TESTX CPB GOSBP JMP GOSBX CPB GOTOP JMP GOTOX CPB WXP JMP WXX CPB RXP JMP RXX CPB VXP JMP VXX CPB SXP JMP SXX CPB FXP JMP FXX CPB UXP JMP UXX CPB DBRKP JMP DBRKX CPB LO.P JMP LOX CPB LOP.P JMP LOPX CPB LI.P JMP LIX CPB LIP.P JMP LIPX CPB CB.P JMP CBX CPB CBP.P JMP CBPX JMP SYNOK * * FMATX AND .7 CPA TMP+2 RSS JMP SYNTX,I LDA TMP+3 CPA .17 JMP SYNOK CPA .12 JMP SYNOK CPA .6 JMP SYNOK CPA .5 JMP SYNOK AND .3 CPA TMP+3 ISZ SYNTX JMP SYNTX,I * VRFYX EQU * WRITX SZA,RSS CNT =0? JMP SYNTX,I YES, ERROR READX EQU * WXX EQU * RXX EQU * VXX EQU * SSA,RSS CMA,INA SUBTRACT FROM BUFFER SIZE ADA DBCO SSA,RSS TOO BIG? SYNOK ISZ SYNTX JMP SYNTX,I * LIPX EQU * LOPX EQU * LOÇåþúX EQU * LIX EQU * DBRKX SZA,RSS JMP SYNTX,I SSA JMP SYNTX,I LDB TMP+3 SZB,RSS JMP READX CMA,INA ADB A SSB JMP SYNTX,I SECOND MUST BE LARGER JMP READX * CBPX EQU * CBX EQU * LDB TMP+3 SSB JMP SYNTX,I SSA JMP SYNTX,I JMP READX * MDISX SSA JMP SYNTX,I NEG TRACK ADA MTRP1 SSA ISZ SYNTX JMP SYNTX,I * FRMTX SSA JMP SYNTX,I NEGATIVE TRACK ADA MTRKS SSA,RSS JMP SYNTX,I JMP FMATX+4 * SEEKX LDB TMP+3 SSB JMP SYNTX,I NEGATIVE SECTOR ADB MSEC SSB SECTOR TOO HIGH? JMP TRSKX JMP SYNTX,I * DLYX EQU * RANDX SZA,RSS JMP SYNTX,I SSA JMP SYNTX,I LDB TMP+3 CPB AW. JMP SYNOK CPB AR. JMP SYNOK CPB AS. JMP SYNOK CPB AZ. JMP SYNOK CPB AD. JMP SYNOK SZB,RSS ISZ SYNTX JMP SYNTX,I * * DRIVX AND .3 CPA TMP+2 ISZ SYNTX JMP SYNTX,I DRIVE>3 * MODEX SZA,RSS JMP DMAX DMA AVAILABLE? CPA AN. JMP SYNOK CPA ANI JMP SYNOK CPA AD. JMP *+4 CPA ADI RSS JMP SYNTX,I DMAX LDA CPTO GET COMPUTER OPTIONS AND .4 SZA JMP *+3 H101B JSB MSGC,I DEF Z101H 'NO DMA' LDB TMP+3 SZB,RSS JMP SYNOK CPB .6 DMA CHANNEL 6 JMP SYNOK CPB .7 DMA CHANNEL 7 ISZ SYNTX JMP SYNTX,I * TESTX EQU * RTRYX AND .17 JMP DRIVX+1 * GOSBX LDB TMP+3 SSB JMP SYNTX,I NEGATIVE REPEAT COUNT GOTOX SSA JMP SYNTX,I NEGATIVE LINE NO. SZA,RSS JMP SYNTX,I ZERO ILLEGAL ADA MXNM JMP MDISX+3 * TRAKX LDA TMP+3 AND .7 CPA TMP+3 èþú RSS JMP SYNTX,I LDA TMP+2 TRSKX SSA JMP SYNTX,I NEG. TRACK ADA MTRKS JMP MDISX+3 * SXX CLB JSB .DIV,I DEF D100 STA TEMPA AND .177 XOR TEMPA SZA JMP SYNTX,I JMP SEEKX+1 * UXX AND .177 CPA TMP+2 RSS JMP SYNTX,I ADA M124 JMP MDISX+3 * FXX AND .177 JMP DRIVX+1 * HED DISKETTE CONTROL ROUTINES - FORMAT * FALL NOP FORMAT DISK STA GOOD NO. OF PATTERNS SZB,RSS LDB OFSET STANDARD VALUE JSB ENABL COMMAND ENABLED? JMP FALL,I NO STB REVS MIN. NO. OF REVOLUTIONS TO READ A TRACK I042 JSB .FMTP,I 'FORMAT' DEF Z042I JSB PRSTP,I INITIALIZE DUMBO & SEEK HOME LDA TRKS JSB MDIS ALL TRACKS GOOD CLA LOGICAL TRACK 0 STA PHYST PHYSICAL TRACK 0 LP06 LDB REVS XXXXXX OF REVOLUTIONS JSB FTRK FORMAT A TRACK LDA TRACK LDB GOOD NO. OF PATTERNS SZB,RSS JMP CONT1 SKIP TRACK TEST JSB TRAK TEST TRACK & FORMAT LDA ERCNT SZA,RSS JMP CONT1 NO ERRORS JSB PRSTP,I SEEK HOME LDA PHYST SZA,RSS JMP MK CMA,INA STA PHYS SET UP COUNT CLA CLB JSB STEPP,I STEP TO DEFECTIVE TRACK ISZ PHYS JMP *-4 MK LDA PHYST LDB Z043D CLE JSB I2AS,I CONVERT PHYSICAL TRACK TO ASCII LDA Z043H+11 STA Z104D,I SAVE LAST TWO DIGITS JSB .FMTP,I DEF Z104I 'TR XX DEFECTIVE' CLB CLA JSB MARKP,I MARK IT BAD RSS DO NOT CHANGE LOGICAL TRACK NO. CONT1 ISZ TRACK INC LOGICAL TRACK NO. ISZ PHYST INC PHYSICAL TRACK NO. LDA PHYST CPA TRKS CHECK FOR DONE JMP FEX YES CLA CLB JSB STEPP,I 1¨þúSTEP HEAD IN LDA TRACK JMP LP06 * ************************************************ * THIS SECTION WRITES A DIRECTORY * ON THE LAST TRACK FOR FMGR. * A FILE 'FLOPLK' IS CREATED THAT * COVERS TRACK 0, SECTOR 0. * * FEX LDA PATRN STA PAT1 LDA PATRN+1 STA PAT2 SAVE PATTERN TABLE CLA STA PATRN STA PATRN+1 LDA TRACK ADA M1 STA DITRK,I CLB,INB JSB TRAK WRITE ZERO'S ON LAST TRACK LDA PAT1 STA PATRN LDA PAT2 STA PATRN+1 RESTORE PATTERN TABLE * LDA DBD MOVE DIRECTORY INFO TO BUFFER STA TEMPB LDA DIREC STA TEMPA LDB M25 LP02 LDA TEMPA,I STA TEMPB,I ISZ TEMPA ISZ TEMPB INB,SZB JMP LP02 * LDA DITRK,I JSB SK LAST TRACK, SECTOR 0 LDA D25 JSB WRITB WRITE DIRECTORY INFO * ********************************************* * JSB GOOD WRITE NO. OF GOOD TRACKS CCA STA PHYST CLEAR FORMAT FLAG JMP FALL,I * Z104D DEF Z104I+4 PAT1 NOP PAT2 NOP M25 DEC -25 D25 DEC 25 DIREC DEF DIRC DITRK DEF DTRK * * * GOOD NOP WRITE NO. OF GOOD TRACKS ON TR 0 SEC 0 JSB PRSTP,I SEEK TR 0 SEC 0 LDA TRACK LDB A JSB DBFKP,I FILL BUFFER WITH NO. OF GOOD TRACKS LDA REVS LDB DBD INB STA B,I SAVE NO. OF REVOLUTIONS LDA D128 JSB WRITB WRITE 1 SECTOR CLA STA CSEC SEEK TR 0 SEC 0 LDA D128 LDB AC. JSB VRFY VERIFY & COMPARE BUFFERS CLA JSB MDIS MOUNT DISKETTE JMP GOOD,I * * ENABL NOP CHECK FOR FORMAT/MARK ENABLED LIA SW IOR ENAB. INA,SZA,RSS ISZ ENABL JMP ENABL,I * * HED DISKETTE CONTROL ROUTINES - önþúFTRK * FTRK NOP FORMAT A TRACK STA TRACK SZB,RSS LDB OFSET STANDARD VALUE STB ALCNT NO. OF REVOLUTIONS (MIN) TO READ TRACK JSB ENABL COMMAND ENABLED? JMP FTRK,I NO JSB PARM,I SAVE PARAMETERS JMP FTRK,I END OF DISC LDA FSTS STA STEXP EXPECTED STATUS = 100100 B LDA FMASK STA MASK LDA SCTRS CLB JSB .DIV,I DEF ALCNT STA INC NO OF PHYSICAL SECTORS BETWEEN LOGICAL SECS JSB FBUF FILL 30 WORD FORMAT BUFFER LDA ALCNT LDB A ADB M4 SSB LDA .4 OFFSET AT LEAST 4 SECTORS PER TRACK JSB .MPY,I DEF TRACK JSB .DIV,I DEF SCTRS CMB,INB SZB ADB SCTRS ADB DBD GET START SECTOR FOR THIS TRACK LDB B,I JSB FBUF FILL FORMAT BUFFER JSB FSUBP,I FORMAT SUBROUTINE JMP FTRK,I * * FBUF NOP FILL OUTPUT BUFFER WITH SECTOR NUMBERS LDA DBD STA TEMPA LDA MSEC STA TEMPC LP05 STB TEMPA,I ADB INC LDA B ADA MSEC SSA JMP CO2 INA SECTOR NUMBER > MAX CPA INC CLA WRAP AROUND TO 0 LDB A CO2 ISZ TEMPA ISZ TEMPC JMP LP05 JMP FBUF,I * SKP * TRAK NOP TEST TRACK WITH WORST CASE PATTERNS STA TRCK SZB,RSS LDB .3 DEFAULT TO 3 PATTERNS BLS STB PATNF JSB RANN,I GET A RANDOM NUMBER STA RN1 SAVE IT JSB RANN,I GET ANOTHER STA RN2 SAVE IT LDB SW2 JSB SWRT,I JSB ALTER,I ALTER PATTERNS CLA STA ERCNT CLEAR ERROR FLAG LDA PATND STA PATNP START AT BEGINNING OF LIST ADA PATNF STA PATNF SET END OF LIST LDA SCTRS SET TO TEST 28 SECTORS STA SCCNT LDA TRCK Wªþú JSB .MPY,I DEF SCTRS STA STSEC STARTING SECTOR SZA TR 0 SEC 0? JMP LP12 NO, TEST ALL OF TRACK JSB ENABL OK TO CHANGE TR 0 SEC 0? JMP T0S1 NO, START AT TR 0 SEC 1 LDA PHYST SSA,RSS DISKETTE BEING FORMATTED? JMP LP12 YES DO NOT MOUNT I044A LDA AI0 NON-ERROR HEADING STA Z044I JSB .FMTP,I DEF Z044I 'TR 0 SEC 0' CLA JSB MDIS READ NO. OF GOOD TRACKS FROM TR 0 SEC 0 JMP LP12 TEST ALL OF TRACK 0 T0S1 LDA SM1 TEST REMAINING 27 SECTORS STA SCCNT ISZ STSEC START AT SECTOR 1 LP12 LDA PATNP CPA PATNF JMP TR0 LAST PATTERN COMPLETE LDA STSEC STA CSEC LDA SCCNT STA SECS LDA PATNP,I FIRST HALF OF PATTERN ISZ PATNP LDB PATNP,I SECOND HALF ISZ PATNP JSB DBFKP,I FILL BUFFER WITH PATTERN LP14 LDA BFSIZ NO. OF SECTORS IN BUFFER LDB A CMB,INB ADB SECS ADD TO REMAINING SECTORS SSB ADA B TOO MANY SECTORS - SUBTRACT EXCESS STA COUNT SZA,RSS END OF TRACK? JMP LP12 YES, GO TO NEXT PATTERN CMA,INA ADA SECS STA SECS UPDATE REMAINING SECTORS LDA COUNT JSB .MPY,I CHANGE SECTORS TO WORDS DEF SW7 JSB WRITB WRITE PATTERN JSB ERSUM KEEP TOTAL OF ERRORS CLA JSB MOVE RESTORE POSITION LDA COUNT LDB AC. SET TO COMPARE BUFFERS JSB VRFY VRFY PATTERN AND COMPARE JSB ERSUM KEEP TOTAL OF ERRORS LDA ERLM SZA ANY COMPARISON ERRORS? ISZ ERCNT JMP LP14 * TR0 LDA TRCK SZA JMP TRAK,I LDA PHYST SSA,RSS DISKETTE BEING FORMATTED? JMP TRAK,I YES, DO NOT RESTORE TR 0 SEC 0 JSB ENABL TR 0 SEC 0 MODIFIED? JMP TRAK,I YES NH0.* JSB GOOD YES, RE-WRITE IT JMP TRAK,I * ERSUM NOP KEEP RUNNING TOTAL OF MEDIA ERRORS LDA STATW ALF,ALF AND .17 MASK OFF GARBAGE ADA M5 CHECK FOR MEDIA ERROR SSA,RSS ISZ ERCNT ERROR, INCREMENT COUNT JMP ERSUM,I î~0ÿÿþú HED DISKETTE CONTROL ROUTINES - WRITE * * WD NOP WRITE SSA JMP WTALL NEGATIVE COUNT: WRITE ALL OF DISC STA COUNT LDB CSEC JSB WOK CURRENT SECTOR PROTECTED? JMP WD,I YES, REJECT COMMAND LDA COUNT JSB WRITB WRITE BLOCK OF DATA JMP WD,I * * WOK NOP CHECK FOR CURRENT SECTOR PROTECTED SZB JMP OK JSB ENABL OK TO CHANGE TR 0 SEC 0? JMP E044 NO I044B LDB AI0 NON-ERROR HEADING STB Z044I JSB .FMTP,I DEF Z044I 'TR 0 SEC 0' OK ISZ WOK JMP WOK,I E044 LDB AE0 ERROR HEADING STB Z044E JSB ERMS,I DEF Z044E 'TR 0 SEC 0' JMP WOK,I REJECT COMMAND * * WTALL CMA,INA MAKE COUNT POSITIVE STA ALCNT CLA JSB MDIS READ NO. OF GOOD TRACKS FROM TR 0 SEC 0 LDA ALCNT CPA .1 BUFFER DATA JMP WTSEQ SEQUENTIAL DATA LP22 LDA ALCNT JSB WRITB WRITE BLOCK OF DATA LDA CSEC CPA .1 END OF DISC? JMP WD,I YES JMP LP22 NO * * WTSEQ JSB BFSEQ CREATE SEQUENTIAL BUFFER LDA DBCO USE MAXIMUM BUFFER SIZE JSB WRITB WRITE BLOCK OF DATA LDA CSEC CPA .1 END OF DISC? JMP WD,I YES JMP WTSEQ NO * * WRITB NOP WRITE BLOCK OF DATA JSB PARM,I SAVE PARAMETERS JMP WRITB,I ABORT JSB SKS SEEK CURRENT SECTOR DL10 CLC DMAL LDB DBD STB BFPTR ADDRESS DL12 OTB DMAL SET UP DMA LDB WSTS STB STEXP EXPECTED STATUS = 100140 B LDB WMASK JSB LIMIT CHECK FOR END OF DISC SZA,RSS JMP WRITB,I YES, REJECT COMMAND IOR WRT ADD WRITE COMMAND JSB OTDCP,I OUTPUT COMMAND & DATA JMP WRITB,I * HED DISKETTE CONTROL ROUTINES - READ RD NOP REÕ þúAD STB VC SZA,RSS JMP READ0 READ 0 SECTORS SSA JMP RDALL JSB READB READ A BLOCK OF INPUT CLA LDB VC CPB AC. JSB COMPP,I COMPARE READ & WRITE BUFFERS JMP RD,I * * READB NOP READ BLOCK OF DATA JSB PARM,I SAVE PARAMETERS JMP READB,I JSB SKS SEEK CURRENT SECTOR DL14 CLC DMAL LDB DBDI STB BFPTR BUFFER ADDRESS ADB IN DMA INPUT DL16 OTB DMAL LDB RSTS STB STEXP EXPECTED STATUS = 100140 B LDB RMASK JSB LIMIT CHECK FOR END OF DISC SZA,RSS JMP READB,I YES, REJECT REQUEST IOR VFY JSB INDCP,I OUTPUT COMMAND & READ DATA JMP READB,I * * RDALL CMA,INA MAKE COUNT POSITIVE STA ALCNT CLA JSB MDIS READ NO. OF GOOD SECTORS FROM TR 0 SEC 0 LDA ALCNT CPA .1 SEQUENTIAL? JMP RDSEQ YES LP20 LDA ALCNT JSB READB READ BLOCK OF DATA CLA LDB VC CPB AC. JSB COMPP,I COMPARE BUFFERS LDA CSEC CPA .1 END OF DISC? JMP RD,I YES JMP LP20 * SKP * RDSEQ JSB BFSEQ CREATE SEQUENTIAL BUFFER LDA DBCO JSB READB READ BLOCK OF DATA CLA LDB VC CPB AC. JSB COMPP,I COMPARE INPUT & OUTPUT BUFFERS LDA CSEC CPA .1 END OF DISC? JMP RD,I YES JMP RDSEQ NO * * READ0 JSB PARM,I SAVE PARAMETERS JMP RD,I ABORT JSB SKS SEEK CURRENT SECTOR LDA SKSTS STA STEXP EXPECTED STATUS = 100040 B LDA SKMSK MASK=177760B STA MASK CLA (READ 0 COMMAND CODE = 0) JSB COMND,I OUTPUT COMMAND NOP DRIVE ERROR JSB STTNP,I ANALYZE STATUS JMP RD,I * * * HED DISKETTE CONTROL ROUTINES - VERIFY * * VRFY NOP VERIaþúFY (READ WITH CLOSE TOLERANCE) STA RD SAVE A LDA VRF STA VFY CHANGE READS TO VERIFIES LDA RD RESTORE A JSB RD READ STATEMENT CLA STA VFY CHANGE VERIFIES TO READS JMP VRFY,I * * HED DISKETTE CONTROL ROUTINES - FMAT/WRIT/READ/VRFY COMMON SUBS * * LIMIT NOP CHECK FOR END OF DISC & SET UP I/O STB MASK SAVE STATUS MASK STA COUNT CLB JSB .DIV,I DIVIDE INTO FULL & PARTIAL SECTORS DEF SW7 SZB INA PARTIAL SECTOR STA TEMPC ADA CSEC CALCULATE NEW CURRENT SECTOR STA CSEC CMA,INA ADA NOSEC SUBTRACT FROM TOTAL SECTORS SSA,RSS LAST SECTOR USED? JMP LIM1 NO H045A JSB MSGC,I YES, TELL OPERATOR DEF Z045H 'DISC OVFL' ADA TEMPC SUBTRACT EXCESS FROM REQUEST STA TEMPC USE ALL AVAILABLE SECTORS JSB .MPY,I GET NEW WORD COUNT DEF SW7 STA COUNT CLB,INB CLEAR PARTIAL SECTOR INDICATOR STB CSEC NEXT SEEK TO SEC 0 CLB LIM1 EQU * DL18 STC DMAL LDA COUNT CMA,INA NEGATE COUNT STA DMCNT STA IOCNT DL20 OTA DMAL SET UP DMA LDA TEMPC SZB PARTIAL SECTOR? LDB .2 YES STB CTL0 JMP LIMIT,I * SKP * * BFSEQ NOP FILL BUFFER WITH SEQUENTIAL DATA LDA BFSIZ CMA,INA STA TEMPC LDA DBD STA TEMPA LDA CSEC STA TEMPB LP24 CLB JSB .DIV,I DEF SCTRS SEPARATE TRACK AND SECTOR ALF RAL,RAL SHIFT TRACK LEFT TWO DIGITS IOR B LDB M64 LP25 STA TEMPA,I STORE TRACK & SECTOR NO. IN ODD WORDS ISZ TEMPA CMA STA TEMPA,I STORE COMPLEMENT IN EVEN WORDS ISZ TEMPA CMA INB,SZB JMP LP25 ISZ TEMPB NEXT SECTOR B|þúLDA TEMPB ISZ TEMPC CHECK FOR LAST SECTOR JMP LP24 JMP BFSEQ,I * * HED DISKETTE CONTROL ROUTINES - SEEK/MOVE * SK NOP SK TRACK & SECTOR STB TEMPB JSB .MPY,I CALCULATE SECTOR NUMBER DEF SCTRS ADA TEMPB STA CSEC UPDATE CURRENT SECTOR JMP SK,I * * SKS NOP SEEK CURRENT SECTOR LDA SKSTS STA STEXP EXPECTED STATUS = 100040 B LDA SKMSK STA MASK MASK = 177760 JSB SSUBP,I SEEK SUBROUTINE LDA SAVEA RESTORE A LDB SAVEB RESTORE B JMP SKS,I * * MOVE NOP ADVANCE/BACKSPACE SECTORS SZA,RSS JMP MOVE0 ADA CSEC COMPUTE DESTINATION RSS MOVE0 LDA LSEC LAST SECTOR SOUGHT STA CSEC SET CURRENT SECTOR JMP MOVE,I * * HED DISKETTE CONTROL ROUTINES - RANDOM SEEK, READ, & WRITE * * RAND NOP RANDOM SEEK, READ, & WRITE CMA,INA STA RCNT STORE NEGATIVE COUNT STB SRW RANDL JSB RANN,I GET RANDOM NUMBER AND .7740 BETWEEN 1 AND 4096 STA CSEC JSB RANN,I AND .37 IOR CSEC INA LDB A ADB .10 LEAVE ROOM FOR MAX BUFFER SIZE CMB,INB ADB NOSEC SSB OFF END OF DISC? JMP RANDL YES, TRY AGAIN STA CSEC CURRENT SECTOR LDA SRW CPA AW. JMP RANDW CPA AR. JMP RANDR CPA AZ. JMP RANDZ CPA AD. JMP RANDD RANDS JSB PARM,I SAVE PARAMETERS JMP RAND,I JSB SKS OUTPUT SEEK COMMAND RANDC ISZ RCNT JMP RANDL CONTINUE JMP RAND,I * RANDW JSB DBP,I CREATE RANDOM BUFFER JSB RANN,I GET RANDOM LENGTH AND .1777 INA BETWEEN 1 AND 2000B JSB WRITB WRITE MAXIMUM BLOCK CLA JSB MOVE RESTORE LOCATION LDA COUNT LDB ’ÃþúAC. JSB RD READ & COMPARE BUFFERS JMP RANDC * SKP * RANDR JSB BFSEQ CREATE SEQUENTIAL BUFFER JSB RANN,I GET RANDOM LENGTH AND .1777 INA BETWEEN 1 AND 2000B LDB AC. JSB RD READ & COMPARE BUFFERS LDA ERLM ADA M64 SSA TOO MANY ERRORS? JMP RANDC NO H041 JSB MSGC,I YES, SEEK MUST HAVE FAILED DEF Z041H 'RANDOM SEEK' JMP RANDC * * RANDZ CLA JSB RD DO PHYSICAL SEEK JMP RANDC * RANDD JSB DBP,I CREATE RANDOM BUFFER LDA D128 JSB WRITB WRITE ONE SECTOR CLA JSB MOVE LDA AC. JSB DUMPP,I DUMP AND COMPARE JMP RANDC * HED DISKETTE CONTROL ROUTINES - STATUS * * ST NOP STATUS REQUEST COMMAND SZB,RSS LDB XMSK JSB PARM,I SAVE PARAMETERS JMP ST,I END OF DISC STA STEXP SAVE EXPECTED STATUS STB MASK SAVE MASK LDA STSRQ JSB COMND,I OUTPUT COMMAND NOP DRIVE ERROR JSB STTNP,I ANALYZE STATUS JMP ST,I * * STATU NOP PREPARE STATUS REPORT STA STATW LDA STEXP AND M4 MASK OFF DRIVE IOR DRIV. ADD DRIVE TO EXPECTED STATUS STA STEXP LDA MASK IOR STEXP EXPECTED STATUS MUST BE IN MASK STA MASK LDB AE1 AND STATW CPA STEXP ANY ERRORS? LDB AH1 NO CC08 SFC CC INB STB STAT1 MESSAGE PREFIX LDA STATW CLE LDB STT2 JSB O2AS,I CONVERT STATUS TO ASCII LDA COP CLE LDB STT3 JSB O2AS,I CONVERT CURRENT OP TO ASCII LDA LSEC CLB JSB .DIV,I DEF SCTRS STB TEMPB SAVE SECTOR NO. CLE LDB STT7 JSB I2AS,I CONVERT TRACK TO ASCII LDA STAT7+1 STA STAT4 PUT IN MESSAGE ë&þúLDA STAT7+2 STA STAT4+1 LDA TEMPB CLE LDB STT7 JSB I2AS,I CONVERT SECTOR TO ASCII LDA STAT7+2 STA STAT5 PUT IN MESSAGE LDA STEXP CLE LDB STT7 JSB O2AS,I CONVERT EXPECTED TO ASCII LDA CMOD STA STAT6 LDA CMOD. CPA AD MODE = DMA? JMP DMOD LDA STAT2+3 GET SPACES TO MASK CHANNEL JMP STD DMOD LDA CHAN ADA A.0 ADD ASCII SPACE STD STA STAT6+1 SAVE DMA CHANNEL JMP STATU,I * STT2 DEF STAT2 STT3 DEF STAT3 * * STAT NOP PRINT LAST STATUS LDB STATW DISPLAY STATUS IN B-REG LDA STAT1 ALF,ALF AND .177 MASK CPA AE ERROR? JMP ERST YES H100 JSB MSGC,I DEF Z100H PRINT STATUS INFO JMP STAT,I ERST LDA COP DISPLAY CURRENT OP IN A-REG E200 EQU * E100 JSB ERMS,I DEF Z100E JMP STAT,I * * HED DISKETTE CONTROL ROUTINES - MDIS/DRIV/MODE/RTRY * MDIS NOP MOUNT DISKETTE (READ NO. OF GOOD TRACKS) SZA JMP MX STA CSEC LDA D128 JSB READB READ TR 0 SEC 0 LDA DBDI,I SSA JMP E103 NEGATIVE - ILLEGAL SZA,RSS JMP E103 ZERO - ILLEGAL LDB A ADB MTRP1 SSB,RSS JMP E103 BAD VALUE - DO NOT ALTER TRACK COUNT STA TRACK CLE LDB Z043D JSB I2AS,I CONVERT GOOD TRACKS TO ASCII H043 JSB MSGC,I DEF Z043H 'GOOD TRACKS: XXXXXX' LDB DBDI INB LDB B,I GET SECOND WORD OF BUFFER CPB .17 CHECK FOR LEGAL NO. OF REVOLUTIONS JMP MX-2 CPB .12 JMP MX-2 CPB .6 JMP MX-2 CPB .5 JMP MX-2 LDA B AND .3 CPA B JMP MX-2 JMP E103 NOT A FACTOR OF 30 * STB REVS MINIMUM REVOLUTIONS TO READ 1 TRACK LDA TRACK MX STA Ä¥*($TRACK JSB .MPY,I CALCULATE XXXXXX OF GOOD SECTORS DEF SCTRS STA NOSEC JMP MDIS,I * E103 JSB ERMS,I DEF Z103E 'BAD FORMAT' JMP MDIS,I * Z043D DEF Z043H+9 * SKP * SD NOP SET UP DRIVE NUMBER STA DRIV. ALF,ALF ALF STA DRIVE JMP SD,I * * MODE NOP MODE OF I/O CONTROL SZA,RSS LDA AD. DEFAULT TO DMA, INTP OFF STA CMOD CURRENT I/O MODE ALF,ALF AND .177 STA CMOD. DMA/NON-DMA CPA AD RSS DMA - SAVE CHANNEL JMP MODE,I DONE LDA CPTO AND .4 SZA JMP DAV DMA AVAILABLE LDA CMOD AND .177 SAVE INTERRUPT MODE ALF,ALF IOR AN CHANGE TO NON-DMA MODE ALF,ALF JMP MODE+3 DAV LDA B2114 SINGLE CHANNEL DMA? SZA JMP MODE, I YES, NO RECONFIGURATION ALLOWED SZB,RSS JMP MODE,I NO CHANGE - DMA CHANNEL CPB CHAN NEW CHANNEL SAME AS OLD? JMP MODE,I YES STB CHAN LDA B LDB IODHP JSB ZISCP,I CONFIGURE DMA INSTRUCTIONS LDA CHAN ADA M4 DMA LOW CHANNEL LDB IODLP JSB ZISCP,I JMP MODE,I * RTRY NOP SET UP RETRY COUNT STA RETRY JMP RTRY,I 0j*ÿÿþú HED DISKETTE CONTROL ROUTINES - FORCE ERROR STATUS * * * * * MESSAGES PREFIXED BY E ARE ERROR MESSAGES * (SUPPRESSED BY SETTING S-REG BIT 11) * MESSAGES PREFIXED BY H ARE HEADINGS & NON-ERROR MESSAGES * (SUPPRESSED BY SETTING S-REG BIT 10) * * Z056H ASC 11,H056 TURN OFF MASTER_/ Z060H ASC 10,H060 TURN OFF SLAVE_/ Z061E ASC 08,E061 PSTS HIGH/ Z062H ASC 10,H062 RESTORE POWER_/ Z063H ASC 08,H063 OPEN DOOR_/ Z064H ASC 15,H064 REMOVE DISC, CLOSE DOOR_/ Z065H ASC 14,H065 INSERT PROTECTED DISC_/ Z066H ASC 15,H066 INSERT UNPROTECTED DISC_/ * Z101H ASC 06,H101 NO DMA/ Z103E ASC 08,E103 BAD FORMAT/ Z104I ASC 11,I104 TR XX DEFECTIVE/ * Z201I OCT 3407 TWO BELLS ASC 01,@_/ THEN @ (OPDSN PROMPT) Z202H ASC 07, TEST XXXXXX/ Z203I ASC 07, PASS XXXXXX/ Z204H ASC 17,HP 12732 FLEXIBLE DISC DIAGNOSTIC/ Z205H OCT 3457 BELL--CARRIAGE RETURN--LINE FEED Z206I ASC 02, :_/ PROMPT FOR DBRK AND WAIT Z207I ASC 05,(XXXXXX)_/ Z210I ASC 04, XXXXXX_/ Z211H ASC 06,, PRESS RUN/ * * ILLEGAL COMMAND CODES: ILGLL OCT 100000 WRITE ZERO SECTORS OCT 040000 VERIFY ZERO SECTORS OCT 144640 SEEK TRACK 77 SEC 0 OCT 147775 SEEK TRACK 127 SEC 29 OCT 140037 UNDEFINED COMMAND OCT 147577 UNDEFINED COMMAND OCT 144676 FORMAT TRACK 77 OCT 147776 FORMAT TRACK 127 * * * ERRR NOP FORCE ERROR STATUSES * * INTERACTIVE PORTION: LDB SW812 JSB SWRT,I OPERATOR INTERVENTION SUPPRESSED? JMP ILGL-3 YES H056 JSB MSGH,I DEF Z056H 'TURN OFF MASTER' CC02 LIA CC CONTROLLER POWER ON? SSA,RSS JMP H062A NO E061 JSB ERMS,I DEF Z061E 'PSTS HIGH' * H062A JSB MSGH,I DEF Z062H 'RESTORE POWER' H060 JSB MSGH,I DEF Z060H 'TURN OFF SLAVE' LDA PWSTS EXP STATUS = 420 B LDB PWMSK MASK = 177760 B JSB STP,I ANÂ4þúALYZE STATUS H062B JSB MSGH,I DEF Z062H 'RESTORE POWER' H063 JSB MSGH,I DEF Z063H 'OPEN DOOR' LDA DRSTS STATUS = 1020 B LDB DRMSK MASK = 177760 B JSB STP,I H064 JSB MSGH,I DEF Z064H 'REMOVE DISC, CLOSE DOOR' LDA NDSTS STATUS = 1420 B LDB NDMSK MASK = 177760 B JSB STP,I ANALYZE STATUS H065 JSB MSGH,I DEF Z065H 'INSERT PROTECTED DISC' LDA PRSTS STATUS = 100014 B LDB PRMSK MASK = 177774 B JSB STP,I ANALYZE STATUS H066 JSB MSGH,I DEF Z066H 'INSERT UNPROTECTED DISC' LDA CHSTS STATUS = 100004 B LDB CHMSK MASK = 177774 B JSB STP,I ANALYZE STATUS * * NON-INTERACTIVE PORTION: * LDA ILGLD STA ILGLP JSB PRSTP,I PRESET CONTROLLER & SEEK HOME ILGL CLA LDB PMASK JSB STP,I CHECK FOR GOOD STATUS ISZ CSEC CLA JSB RDP,I LDA ILGLP CPA ILGLE END OF LIST? JMP OVRN YES CPA ILGFD FORMAT COMMAND? RSS YES JMP *+3 JSB ENABP,I ENABLED? JMP OVRN NO JSB PARM,I SAVE PARAMETERS JMP OVRN END OF DISC LDA ILSTS ILLEGAL COMMAND STATUS = 102000 B STA STEXP LDA ILMSK MASK = 177760 B STA MASK LDA ILGLP,I JSB COMND,I OUTPUT ILLEGAL COMMAND NOP DRIVE ERROR JSB STTNP,I ANALYZE STATUS ISZ ILGLP MOVE TO NEXT ILLEGAL COMMAND JMP ILGL LOOP * * OVRN JSB PARM,I SAVE PARAMETERS JMP OVRN2 END OF DISC JSB SKSP,I SEEK CLA STA CTL0 LDA STATW IOR M9 =177767B LDB ILSTS INA,SZA,RSS JMP *+3 WRITE PROTECTED - ILLEGAL COMMAND LDB OVSTS DATA OVERRUN EXPECTED LDA M10 TEN WORDS TRANSFERRED STB STEXP JSB DOSUB SET UP DMA ìOþúLDB OVMSK STB MASK LDA W1 WRITE-ONE-SECTOR COMMAND JSB OTDCP,I OUTPUT COMMAND & DATA * OVRN2 JSB PARM,I SAVE PARAMETERS JMP MKTR ABORT JSB SKSP,I SEEK CLA STA CTL0 OMIT PARTIAL SECTOR SIGNAL LDA M10 JSB DISUB SET UP DMA LDB OVSTS OVERRUN STATUS = 104040 B STB STEXP LDB OVMSK STB MASK CLA,INA READ-ONE-SECTOR COMMAND JSB INDCP,I OUTPUT COMMAND & INPUT DATA * * MKTR JSB ENABP,I FORMAT/MARK ENABLED? JMP ERRR,I NO,DONE LDA .2 CLB JSB SKP,I SEEK TRACK 2 - SEC 0 CLA JSB RDP,I PHYSICALLY POSITION TO TRACK CLA CLB JSB MARKP,I MARK TRACK 2 DEFECTIVE JSB PRSTP,I PRESET CONTROLLER AFTER MARK CLB JSB R02 CHECK FOR TRACK 2 NOT FOUND LDB .17 JSB R02 TRACK 2 NOT FOUND LDB SM1 SECTOR 29 JSB R02 TRACK 2 NOT FOUND CLA,INA LDB SM1 JSB SKP,I SEEK TRACK 1 - SEC 27 CLA JSB RDP,I DO PHYSICAL SEEK LDA .3 CLB JSB SKP,I SEEK TRACK 3 - SEC 0 CLA JSB RDP,I DO PHYSICAL SEEK LDA SM1 LDB SM1 JSB DBFKP,I FILL BUFFER WITH 29'S JSB PARM,I SAVE PARAMETERS JMP ERRR,I ABORT LDA FSTS STA STEXP LDA FMASK STA MASK LDA .3 STA TRACK SET TO FORMAT TRACK 3 JSB FSUBP,I FORMAT SUBROUTINE JSB PRSTP,I PRESET CONTROLLER CLB,INB JSB R03 SECTOR 1 NOT FOUND LDB .17 JSB R03 SECTOR 15 NOT FOUND LDB SM1 JSB R03 SECTOR 29 NOT FOUND LDA .3 CLB JSB SKP,I CLA JSB RDP,I PHYSICAL SEEK LDA .3 CLB JSB FALLP,I FORMAT DISKETTE JMP ERRR,I * SKP * * R02 NOP READ 0 SECTORS - TRACK N·ˆþúOT FOUND LDA .2 JSB SKP,I SEEK TRACK 2 JSB PARM,I SAVE PARAMETERS JMP ERRR,I ABORT JSB SKSP,I SEND SEEK COMMAND TO CONTROLLER LDA TRSTS STATUS = 3000 B STA STEXP LDA TRMSK MASK = 177760 B STA MASK CLA JSB COMND,I OUTPUT READ 0 SECTORS COMMAND NOP JSB STTNP,I ANALYZE STATUS JMP R02,I * * R03 NOP READ 0 SECTORS - SECTOR NOT FOUND LDA .3 JSB SKP,I SEEK TRACK 3 JSB PARM,I SAVE PARAMETERS JMP ERRR,I JSB SKSP,I SEND SEEK COMMAND LDA SCSTS STA STEXP SECTOR-NOT-FOUND STATUS LDA SCMSK STA MASK CLA JSB COMND,I OUTPUT COMMAND NOP JSB STTNP,I ANALYZE STATUS JMP R03,I * HED DISKETTE CONTROL ROUTINES - DUMP * * DUMP NOP DUMP SECOND SECTOR JSB PARM,I SAVE PARAMETERS JMP DUMP,I END OF DISC STA B CLA JSB RDP,I PHYSICALLY POSITION TO SECTOR JSB PARM,I RESET RETRY COUNT JMP DUMP,I END OF DISC LDA CSEC CLB JSB .DIV,I POSITION TO CURRENT TRACK, DEF SCTRS STB TEMPB STA TEMPA SZB,RSS JMP CO3 WRAP AROUND FROM 0 TO 29 LDA SCTRS CLB JSB .DIV,I DEF REVS CMA,INA LDB A ADB TEMPB PREVIOUS SECTOR ON SAME TRACK SSB CO3 ADB SM1 LDA TEMPA JSB SKP,I SET UP CURRENT SECTOR JSB SKSP,I SEND SEEK COMMAND LDA LSEC INA STA CSEC LDA DSTS LDB DMASK JSB DSUBP,I DUMP SUBROUTINE LDA D128 STA COUNT CLA LDB VC CPB AC. JSB COMPP,I COMPARE BUFFERS JMP DUMP,I * HED DISKETTE CONTROL ROUTINES - STEP/MARK * STEP NOP STEP TRACK JSB PARM,I SAVE PARAMETERS JMP STEP,I ABORT SZA,RSqxþúS LDA STSTS STA STEXP EXPECTED STATUS = 000040 B SZB,RSS LDB STMSK STB MASK MASK = 177760 B LDA STEPT JSB COMND,I OUTPUT COMMAND NOP DRIVE ER JSB STTNP,I ANALYZE STATUS JMP STEP,I * * MARK NOP MARK A TRACK BAD JSB PARM,I SAVE PARAMETERS JMP MARK,I END OF DISC STA STEXP EXP STATUS = 000000 B SZB,RSS LDB MMASK STB MASK MASK = 177773 B JSB ENABP,I COMMAND ENABLED? JMP MARK,I NO LDA BAD JSB COMND,I OUTPUT COMMAND NOP DRIVE ER JSB STTNP,I ANALYZE STATUS JMP MARK,I * * HED DISKETTE CONTROL ROUTINES - GENERAL I/O CMND NOP OUTPUT COMMAND IOR DRIVE ADD IN DRIVE NO. STA COP SAVE FOR STATUS PRINT LDA CMND INA STA CMND2 SET FOR GOOD RETURN LDA PASSW OUTPUT PASSWORD JSB TIMR1 MONITOR TIMING JMP CMND,I DRIVE ER LDA COP JSB TIMR1 CHECK FOR TIME OUT JMP CMND,I DRIVE ER JMP CMND2,I * CMND2 NOP * * PARAM NOP SAVE PARAMETERS & CHECK FOR ABORT STA SAVEA STB SAVEB CLA STA PRST JSB DOSUB SET EXPECTED WORD COUNT TO ZERO LDA PARAM INA STA PARM2 SET FOR GOOD RETURN LDA CSEC STA LSEC SAVE CURRENT SECTOR SSA JMP H045B NEGATIVE SECTOR NO. CMA ADA NOSEC SSA JMP H045B OFF END OF DISC LDA RETRY CMA STA PASS SET UP RETRY COUNT * AGAIN JSB SW3.9,I TEST FOR ABORT LDA LSEC STA CSEC JSB TRAP,I FILL TRAP CELLS WITH HALTS LDA CMOD AND .177 CPA AI SHOULD INTERRUPTS BE ON? STF INTP YES LDA SAVEA LDB SAVEB JMP PARM2,I * PARM2 NOP * H045B JSB MSGC,I DEF Z045H 'D¼¬þúISC OVFL' CLA STA COUNT INA STA CSEC JMP PARAM,I REJECT COMMAND * STATN NOP ANALYZE STATUS CLF INTP TURN OFF INTERRUPTS DH02 CLC DMAH TURN OFF DMA DH18 STF DMAH CLB,INB WAIT ONE MILLISECOND TO JSB TIMR3 ENSURE CTL0 IS RECOGNIZED CC06 LIA CC CMA AND SW15 CC04 SFS CC JSB TIMR1 JSB TIMR2 DC02 LIA DC INPUT STATUS JSB STTPP,I PREPARE TO OUTPUT STATUS LDA STATW AND MASK MASK STATUS CPA STEXP RSS STATUS OK JSB STATP,I PRINT STATUS CLA CC32 OTA CC JSB TIMR1 ACKNOWLEDGE STATUS JMP STATN+1 DRIVE ERROR CC10 CLC CC DC04 CLC DC TURN OFF INTERRUPTS JSB TRAP,I INITIALIZE TRAP CELL HALTS LDA STATW AND MASK CPA STEXP JMP STATN,I NO ERRORS - DONE LDA PASS ISZ PASS SSA,RSS JMP STATN,I RETRY COUNT EXCEEDED JMP AGAIN TRY AGAIN * INIT CLC INTP,C TURN OFF INTERRUPTS DC06 LIA DC INITIALIZE CONTROLLER & TRY AGAIN JSB STTPP,I PREPARE STATUS INFO LDA AE3 STA STAT1 JSB STATP,I PRINT STATUS MESSAGE LDA PRST CLB STB PRST SZA JMP A,I TIME-OUT OCCURRED DURING PRESET JSB TLOG PRINT TRANSMISSION LOG JSB PRST PRESET CONTROLLER LDA PASS ISZ PASS SSA,RSS JMP S3LNK,I ABORT IF RETRY EXCEDED JMP AGAIN SKP * OTDC NOP OUTPUT COMMAND & DATA TO DATA CHANNEL LDB CMOD. CPB AD JMP DOC DMA OUTPUT CONTROL SFC INTP JMP NIOC NON-DMA, INTP ON * NOC JSB CMND OUTPUT COMMAND JMP ERSTO DRIVE ER LDB M20 STB CNT2 LDA BFPTR,I JMP NOC. LP99 ISZ BFPTR MOVE TO NEXT WORD LDA BFPTR,I CLB TIME OUT COUNT LP98 INB,SZB,RSS Àþú JSB TO1 DC08 SFS DC JMP LP98 NOC. EQU * DC12 STC DC,C DC10 OTA DC ISZ IOCNT LAST WORD? JMP LP99 NO CLB TIME OUT COUNT LP97 INB,SZB,RSS JSB TO1 DC14 SFS DC JMP LP97 CTLZO LDB CTL0 TERMINATE TRANSMISSION CC46 OTB CC IF PARTIAL SECTOR ERSTO JSB STATN ANALYZE STATUS JSB TLOG CHECK TRANSMISSION LOG JMP OTDC,I * TO1 NOP CC14 SFC CC JMP ERSTO DRIVE ER ISZ CNT2 JMP TO1,I JMP E054 TIME OUT * NIOC JSB CMND OUTPUT COMMAND JMP ERSTO DRIVE ER LDB JDC18 DC76 STB DC LDA BFPTR,I JMP DC18 (BASE PAGE) * SKP * INDC NOP OUTPUT COMMAND & INPUT DATA LDB CMOD. CPB AD JMP DIC DMA INPUT CONTROL SFC INTP JMP NIIC NON-DMA, INTP ON * NIC JSB CMND OUTPUT COMMAND JMP ERSTI DRIVE ER CLA DC20 OTA DC DC22 STC DC,C LDA BFPTR LDB M20 STB CNT2 TIME OUT COUNT ISZ IOCNT 1 WORD ONLY? RSS NO JMP LP95-1 YES CLB LP96 INB,SZB,RSS JSB TO2 DC24 SFS DC JMP LP96 DC28 STC DC,C DC26 LIB DC STB A,I ADA .1 ISZ IOCNT LAST WORD? JMP LP96-1 NO CLB LP95 INB,SZB,RSS JSB TO2 DC68 SFS DC JMP LP95 DC70 LIB DC STB A,I CTLZI LDB CTL0 TERMINATE TRANSMISSION CC30 OTB CC IF PARTIAL SECTOR ERSTI JSB STATN ANALYZE STATUS JSB TLOG CHECK TRANSMISSION LOG JMP INDC,I * TO2 NOP CC16 SFC CC JMP ERSTI DRIVE ER ISZ CNT2 JMP TO2,I JMP E054 TIME OUT * * NIIC JSB CMND OUTPUT COMMAND JMP ERSTI DRIVE ER LDB JDC60 ISZ IOCNT LDB JDC72 DC78 STB DC CLA DC30 OTA DC DC32 STC DC,C JMP TO3 * DC60 LIA DC STA BFPTR,I JMP CTLZI U€0.**0ÿÿþú SKP * * DOC EQU * DMA OUTPUT CONTROL SFC INTP JMP DIOC INTERRUPTS ON JSB CMND OUTPUT COMMAND JMP ERSTO DRIVE ER DH04 STC DMAH,C TURN ON DMA CHANNEL LDB M20 STB CNT2 CLB LP10 INB,SZB,RSS JMP TO4 TO4I EQU * DH06 SFS DMAH JMP LP10 * CLB LP09 INB,SZB,RSS JMP TO5 TO5I EQU * DC44 SFS DC JMP LP09 JMP CTLZO DONE * TO4 EQU * CC24 SFC CC JMP ERSTO ISZ CNT2 JMP TO4I E051 JSB ERMS,I DEF Z051E '*TO* DMA,CC' JMP INIT * TO5 EQU * CC26 SFC CC JMP ERSTO ISZ CNT2 JMP TO5I E052 JSB ERMS,I '*TO* DC,CC - DMA LAST WORD' DEF Z052E JMP INIT PRESET CONTROLLER & TRY AGAIN * DIOC JSB DMLNK SET UP DMA TRAP CELL DEF INT1 JSB CMND OUTPUT COMMAND JMP ERSTO DRIVE ER JSB DCLNK SET UP DC TRAP CELL DEF E055 INTERRUPT NOT EXPECTED DH08 STC DMAH,C LDB SW14 JSB TIMR3 WAIT FOR INTERRUPT JMP E051 TIME OUT * INT1 LDB M20 STB CNT2 JMP LP09-1 * E055 JSB ERMS,I DEF Z055E '*DC INTP--DMA*' JMP INIT * * * DIC EQU * DMA INPUT CONTROL SFC INTP JMP DIIC INTP ON JSB CMND OUTPUT COMMAND JMP ERSTI DRIVE ER CLA DC46 OTA DC,C DH12 STC DMAH,C START UP DMA CHANNEL DC48 STC DC,C LDB M20 STB CNT2 CLB LP23 INB,SZB,RSS JMP TO6 TO6I EQU * DH14 SFS DMAH JMP LP23 JMP CTLZI DMA COMPLETE * TO6 EQU * CC28 SFC CC JMP ERSTI DRIVE ER ISZ CNT2 JMP TO6I JMP E051 '*TO* DMA,CC' * DIIC JSB DMLNK SET UP DMA TRAP CELL DEF CTLZI JSB CMND OUTPUT COMMAND JMP ERSTI DRIVE ER CLA DC50 OTA DC,C JSB DCLNK SET UP DC TRAP CELL DEF E055 INTERRUPT NOÐ!þúT EXPECTED DH16 STC DMAH,C START UP DMA DC52 STC DC,C JMP DH08+1 CHECK FOR TIME OUT SKP * * DMLNK NOP SET UP DMA INTERRUPT LINK LDB DMLNK,I STB DMAIL ISZ DMLNK LDB JMP.I STB CHAN,I PUT JMP,I IN TRAP CELL JMP DMLNK,I * * CCLNK NOP SET UP COMMAND CHANNEL INTERRUPT LINK LDB CCLNK,I STB CCIL ISZ CCLNK LDB JMPCI STB COMCH,I PUT JMP,I IN TRAP CELL JMP CCLNK,I * * DCLNK NOP SET UP DATA CHANNEL INTERRUPT LINK LDB DCLNK,I STB DCIL ISZ DCLNK LDB JMPDI STB DATCH,I PUT JMP,I IN TRAP CELL JMP DCLNK,I * SKP * TLOG NOP CHECK TRANSMISSION LOG LDB CMOD. CPB AD JMP DLOG DMA MODE LDA IOCNT ACTUAL WORD COUNT SZA,RSS JMP TLOG,I TRANSMISSION COMPLETE ADA M1 LDB DMCNT EXPECTED WORD COUNT JMP TEXP DLOG EQU * DL46 STC DMAL DL48 LIA DMAL DMA WORD COUNT SZA,RSS JMP TLOG,I TRANSMISSION COMPLETE IOR B2114 ADD HIGH BITS IF 2114 CPU LDB COP SSB READ OR WRITE? ADA M1 WRITE, COUNT IS OFF BY 1 LDB IOCNT DMA EXPECTED TEXP CMB,INB STB TEMPB ADA B SUBTRACT WORDS NOT TRANSFERRED CLE,SSA CLA LDB TLG02 JSB I2AS,I CONVERT LOG TO ASCII CLE LDA TEMPB LDB TLG03 JSB I2AS,I CONVERT EXPECTED TO ASCII E050 JSB ERMS,I DEF Z050E 'TLOG=000000 EXP=000000' JMP TLOG,I * * TLG02 DEF Z050E+5 TLG03 DEF Z050E+11 * * * SKP TIMR1 NOP MONITOR I/O TIMING DC36 OTA DC LDB TIMR1 INB STB OK1 SFC INTP JMP ITIM1 INTERRUPTS ON CC18 STC CC,C DC38 STC DC,C LDB M26 STB CNT2 CLB LP11 INB,SZB,RSS JMP TO8 TO8I EQU * DC40 SFS DC JMpOþúP LP11 JMP OK1,I * TO8 EQU * CC20 SFC CC JMP TIMR1,I DRIVE ER ISZ CNT2 JMP TO8I E054 JSB ERMS,I '*TO* DC,CC' DEF Z054E TIME OUT JMP INIT RESTART DIAGNOSTIC * OK1 NOP * ITIM1 JSB CCLNK SET UP CC TRAP CELL DEF TIMR1,I JSB DCLNK SET UP DC TRAP CELL DEF OK1,I CC22 STC CC,C DC42 STC DC,C JMP TO3 CHECK FOR TIME OUT * * SKP * TIMR2 NOP MONITOR ERROR STATUS TIMING (INTP OFF) DC54 OTA DC DC56 STC DC,C REQUEST STATUS CLB STB CNT2 LP18 EQU * DC58 SFC DC JMP TIMR2,I READY ISZ CNT2 JMP LP18 E053 JSB ERMS,I TIME OUT DEF Z053E '*TO* DC - STATUS' JMP INIT PRESET CONTROLLER & TRY AGAIN * * HED DISKETTE CONTROL ROUTINES - LOW-LEVEL * PRST NOP PRESET DUMBO CONTROLLER & SEEK HOME LDA PRSET CC34 OTA CC OUTPUT PRESET BIT CLA CC36 OTA CC CLEAR PRESET BIT STA CSEC SET CURRENT SECTOR TO 0 STA SEC STA STEXP JSB TIMR1 WAIT FOR PRESET TO COMPLETE NOP DO NOT PRINT ERROR DC80 CLC DC CC38 CLC CC PREVENT INTERRUPT CLA LDB PRST STA PRST SIGNAL END OF PRESET COMMAND JMP B,I * * FX NOP LOW-LEVEL FORMAT JSB XSUB SET RETRY TO 0 STA TRACK JSB ENABP,I COMMAND ENABLED? JMP FX,I NO JSB FSUB FORMAT SUBROUTINE JMP FX,I * * FSUB NOP FORMAT SUBROUTINE LDA MSEC JSB DOSUB DMA OUTPUT SUB LDA TRACK ALF,RAL IOR FMT JSB OTDCP,I OUTPUT COMMAND AND DATA JMP FSUB,I * * DOSUB NOP DMA OUTPUT SUBROUTINE DL02 STC DMAL STA DMCNT STA IOCNT DL04 OTA DMAL DL06 CLC DMAL LDA DBD STA BFPTR DL08 OTA DMAL JMP DOSUB,I * * WX NOP LOW-LEVEL WRITE <„þú JSB XSUB SET UP RETRY AND MASK SZA,RSS JMP WX0 LDB .2 PARTIAL SECTOR SSA JMP *+3 CLB NO PARTIAL SECTOR CMA,INA STB CTL0 JSB DOSUB SET UP DMA LDB SEC JSB WOKP,I PROTECTED SECTOR? JMP WX,I YES, REJECT COMMAND LDA IOCNT CMA,INA CLB JSB .DIV,I DIVIDE INTO SECTORS AND WORDS DEF SW7 SZB INA A=NO. OF SECTORS IOR WRT JSB OTDCP,I OUTPUT COMMAND AND DATA JMP WX,I * WX0 LDA WRT JSB COMND,I NOP JSB STTNP,I INPUT STATUS JMP WX,I * * RX NOP LOW-LEVEL READ JSB XSUB SET UP RETRY AND MASK SZA,RSS JMP RX0 LDB .2 PARTIAL SECTOR SSA JMP *+3 CLB NO PARTIAL SECTOR CMA,INA STB CTL0 JSB DISUB SET UP DMA LDA IOCNT CMA,INA CLB JSB .DIV,I DIVIDE INTO SECTORS AND WORDS DEF SW7 SZB INA A = NO. OF SECTORS IOR VFY JSB INDCP,I OUTPUT COMMAND & INPUT DATA JMP RX,I * RX0 JSB COMND,I NOP JSB STTNP,I INPUT STATUS JMP RX,I * * VX NOP LOW-LEVEL VERIFY STA RX LDA VRF STA VFY CHANGE READ COMMAND TO VERIFY LDA RX JSB RX LOW-LEVEL READ CLA STA VFY CHANGE BACK TO READ JMP VX,I * * XSUB NOP SET UP RETRY, MASK, & INTERRUPTS STA SAVEA CCA STA MASK STA PASS STB STEXP EXPECTED STATUS CLA STA PRST JSB DOSUB SET EXPECTED COUNT TO ZERO JSB TRAP,I FILL TRAP CELLS WITH HALTS LDA CMOD AND .177 CPA AI INTERRUPT MODE? STF INTP YES LDA SAVEA LDB STEXP JMP XSUB,I * * SX NOP LOW-LEVEL SEEK JS.ÝþúB XSUB SET UP RETRY AND MASK CLB JSB .DIV,I DEF D100 JSB SKP,I STA LSEC JSB SSUB SEEK SUBROUTINE JMP SX,I * * SSUB NOP SEEK SUBROUTINE LDA CSEC STA SEC CLB JSB .DIV,I DEF SCTRS ALF,RAL POSITION TRACK IOR B IOR SEK ADD SECTOR AND SEEK PREFIX JSB COMND,I JSB STTNP,I STATUS RETURN ON ERROR ONLY JMP SSUB,I * * DX NOP LOW-LEVEL DUMP JSB XSUB SET UP RETRY AND MASK SZB,RSS LDB DMASK JSB DSUB DUMP SUBROUTINE JMP DX,I * * DSUB NOP DUMP SUBROUTINE STA STEXP STB MASK LDA M128 JSB DISUB DMA INPUT SUBROUTINE LDA DUMPS JSB INDCP,I OUTPUT COMMAND & INPUT DATA JMP DSUB,I * * DISUB NOP DMA INPUT SUBROUTINE DL22 STC DMAL STA DMCNT STA IOCNT DL24 OTA DMAL DL26 CLC DMAL LDA DBDI STA BFPTR IOR IN DL28 OTA DMAL JMP DISUB,I * * UX NOP UNDEFINED COMMAND CODE JSB XSUB SET UP RETRY AND MASK ALF,RAL IOR UNDF =140037B JSB COMND,I OUTPUT COMMAND NOP JSB STTNP,I INPUT STATUS JMP UX,I * HED ARITHMETIC ROUTINES * MPY NOP MULTIPLY (NON-EAU) LDB MPY,I ISZ MPY LDB B,I MULTIPLIER STB DIV LDB M15 STB UX COUNTER CLB CLE,SLA ADB DIV MPYLP ERB ERA,CLE,SLA SHIFT ADB DIV AND ADD IF BIT SET ISZ UX JMP MPYLP ERB ERA,CLE JMP MPY,I * * DIV NOP DIVIDE (NON-EAU) STB MPY CLEAR QUOTIENT LDB DIV,I ISZ DIV LDB B,I DIVISOR CMB,INB DIVLP ADA B SUBTRACT DIVISOR ISZ MPY INCREMENT QUOTIENT SSA,RSS DONE? JMP DIVLP NOÉ$" CMB,INB ADB A ONE TOO MANY SUBTRACTIONS CCA ADA MPY JMP DIV,I * * PROG EQU * START OF USER PROGRAM AREA ORG 12100B * PGEND EQU *-1 END OF USER PROGRAM AREA * ZZZZZ EQU * START OF I/O BUFFER AREA END åÈ$ÿÿ ÿývWÎ ÿ12740-18001 1822 S C0122 FPP-SIS              H0101 ÑmþúASMB,A,B,Z,L,C * * * HED FPP-SIS DIAGNOSTIC ORG 0 DSN 101021 780530 1100 REV 1822 * * LAST CODE CHANGE 780413 * * EDITED 780426 TO ADD REV CODE 1822 * EDITED 780530 TO ADD COMMENTS * * * THIS DIAGNOSTIC TESTS THE FLOATING POINT PROCESSOR * AND THE SCIENTIFIC INSTRUCTION SET, AS WELL AS APPROPRIATE * SECTIONS OF THE F-SERIES BASE SET. * IT IS DESIGNED TO REPLACE THE STANDARD FLOATING POINT * DIAGNOSTIC USED FOR M AND E-SERIES CPUS. * * NOTE: THIS DIAGNOSTIC USES SPECIAL DIAGNOSTIC INSTRUCTIONS * IN SOME OF ITS TESTS. THESE INSTRUCTIONS ARE * NOT INTENDED TO BE USED IN NORMAL PROGRAMMING, * AND ARE NOT SUPPORTED FOR SUCH APPLICATIONS. * * THE INSTRUCTIONS WHICH FALL INTO THIS CLASS ARE * AS FOLLOWS (IN OCTAL): * 105002 4 WORD ADD * 105022 4 WORD SUB * 105042 4 WORD MPY * 105062 4 WORD DIV * 105102 4 WORD FIXS * 105106 4 WORD FIXD * 105122 4 WORD FLTS * 105126 4 WORD FLTD * * 105003 5 WORD ADD * 105023 5 WORD SUB * 105043 5 WORD MPY * 105063 5 WORD DIV * 105103 5 WORD FIXS * 105107 5 WORD FIXD * 105123 5 WORD FLTS * 105127 5 WORD FLTD * * 105005 USED FOR EXPANDED EXPONENT TESTING * 105006 RESET FFP * 105007 PROCESS STACK OF OPERATIONS * * THE FUNCTION AND SPECIFICATIONS OF THESE INSTRUCTIONS * ARE SUBJECT TO CHANGE. * * * 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 * 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 * £Sþú 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 = SHORT PASS * * 7 * = RESERVED * 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 * * 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 HED DEFINITION OF MNEMONICS OR ABBERVIATION * ** 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 - INCRMENT. * 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 - SUBTRAßwþúCT * SYS, SYST - SYSTEM. * TP, TABLE POINTER. * WD, WDS- WORD, WORDS. * WDT, WATCH DOG TIMER. * := - REPLACED BY, I.E. A:=B, WHERE AS 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 * FIXS * * 1 * 1 * FIXD * * 2 * 2 * FLTS * * 3 * 3 * FLTD * * 4 * 4 * ADD * * 5 * 5 * SUB * * 6 * 6 * MPY * * 7 * 7 * DIV * * 8 * 8 * ACC * * 9 * 9 * SIS1 * * 10 * 10 * SIS2 * * 13 * 13 * MAN ENTRY * ********************************************************************** * * 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 CH EQU 10B I-O CHANNEL SELECT CODE * 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 gÒþú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 IC EQU * CONFIGURATION WORD 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 101021 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 * STDA OCT 3777 STDB OCT 0 HDMX DEF HDM1+3 * TSTP DEF *+1 TABLE OF TEST NUMBERS DEF TST00 BASIC TEST DEF TST01 FIXS TEST DEF TST02 FIXD TEST DEF TST03 FLTS TEST DEF TST04 FLTD TEST DEF TST05 ADD TEST DEF TST06 SUB TEST DEF TST07 MPY TEST DEF TST08 DIV TEST DEF TST09 ACC. TEST DEF TST10 SIS TEST DEF TST11 PORT TEST DEF TST12 MPXR TEST DEF TST13 MAN ENTRY TEST .M1 DEC -1 * IOID DEF *+1 TABLE OF I-O CHANNEL CONFIGURATION DEC -1 * IOSC NOP HED DIAGNOSTIC CONSTANTS & STORAGE LOCATIONS SAVA NOP SAVB NOP EOLC NOP TSTA NOP SINA NOP SINB NOP UINA NOP UINB NOP BTMP NOP rþúDEC -10,-9,-8,-7,-6,-5,-4,-3,-2,-1 . OCT 0 DEC 1,2,3,4,5,6,7,8,9,10 .2 OCT 2 .7 OCT 7 .10 OCT 10 .60 OCT 60 .77 OCT 77 .177 OCT 177 D100 DEC -100 IOM OCT 177700 SW15 OCT 100000 SW14 OCT 40000 SW13 OCT 20000 SW12 OCT 10000 S812 OCT 010400 SW9 OCT 1000 .100 OCT 100 .200 OCT 200 .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 HED DIAGNOSTIC PROGRAM CONTROL ORG 2000B STEX CLC INTP,C TURN I/O SYSTEM OFF CCA,CLE SET PASSF STA PASSF LDA DSN LDB HDMX JSB O2AS,I JSB MSGC,I OUT PUT IT DEF HDMS CLA CLEAR PASS STA EOLC COUNT STA PASSL LDB SW9 CHECK FOR USER SELECTION REQ JSB SWRT,I JMP USR IT'S USERS CHOICE * * RUN BASIC TEST FIRST TO VERIFY PROM ACCESS, ETC. * JSB ZSTBC,I * NUSR LDA STDA GET STANDARD TEST RUN LDB STDB * JMP EXC * USR 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 CHECK IF SW9 IS DOWN JSB SWRT,I JMP USR NO GO AND WAIT CCA SET TEST NUMBER STA TSTN =-1 STA CFTT CLA STA TSTA CLEAR TEST RUN FLAG SPC 2 * JSB ZASST,I CHECK FOR SHORT LONG PASS * 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 .M1 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 JSB TSTA,I 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 * LDA PASSL INC LOGICAL PASS COUNT INA STA PASSL * JSB MSGC,I CALL PRINT ROUTINE PSCA DEF PSC LDB SW12 CHECK FOR LOOP ON DIAG. JSB SWRT,I JMP *+4 YES LDA EOLC LDB PASSL LOGICAL PASS COUNT HLT 77B NO WAIT AND DISPLAY PASS COUNT * JSB ZASND,I CHECK FOR PASSL ADJ. * LDA SINA RESTORE ORIGINAL LDB SINB PROGRAM JMP EXC DO IT ALL AGAIN SKP * MESSAGE OUTPUT WITH OUT 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 JMöíþúP .MSGH,I RETURN TO CALLER * * 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 SKP * 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 SKP 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 SPC 2 * IOAD NOP 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 * * 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 * * PUT JSB INSTRUCTION IN TRAP CELL * TCJI NOP LDB JSBI GET INSTRUCTION STB IOSC,I PUT IT IN TRAP CELL LDA TCJI,I GET LOCATION STA 3B SAVE IT FOR JSB INSTRUCTION ISZ TCJI ADJUST RETURN JMP TCJI,I RETURN TO CALLER * JSBI JSB 3B,I JSB INSTRUCTION * * * INITIALIZE SELECT CODE I/O INSTRUCTIONS * ISC NOP STA IOSC SAVE SELECT CODE IOL LDA B,I GET ADDRESS OF LOCATION CPA .M1 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 SELECÌ3þúT CODE IOR IOSC ADD IN NEW SELECT CODE STA SAVA,I RESTORE IT INB MOVE TO NEXT ADDRESS JMP IOL DO IT * * CONFIGURATION SECTION * * NOTE: THIS SECTION HAS BEEN MODIFIED FOR USE OF A CONTROL WORD * AND TO ALSO EXECUTE A BASIC TEST BEFORE THE STANDARD ONES. * .CONF JSB CONF CONFIG I-O CHANNEL JMP STEX RETURN TO DIAG CONTROL CONF NOP CLC INTP,C TURN I/O SYSTEM OFF CON1 LIA SW GET CONFIGURATION OPTIONS STA IC SAVE THEM AND POS1 SET ICEN ACCORDING TO LSB STA ICEN SZA IF LSB WAS SET, GO GET STD TESTS JMP CONFA LDA IC GET CW AGAIN CLE,ELA BUT IF NOT, CHECK FOR ILLEGAL BITS SET SZA,RSS JMP CONFA IT'S OK HLT 73B HE BLEW IT, LETS TRY AGAIN JMP CON1 CONFA LDA STDA SET STD TESTS BASED ON CW BIT 15 AND BT0.8 TESTS 0-8 ALWAYS LDB IC GET CW SSB,RSS IF BIT15 CLEAR, ALSO RUN TESTS 9,10 IOR BT9A STA STDA PUT IN STD TEST EXEC. CLA CLEAR OTA SW SWITCH REGISTER HLT 74B ALLOW OPERATOR TO CHANGE SR OPTIONS JMP CONF,I GO TO EXEC CONTROL SECTION * HED DIAGNOSTIC TEST HED MESSAGES HDMS OCT 6412 ASC 9,FPP-SIS DIAGNOSTIC HDM1 ASC 07, DSN XXXXXX// ASC 06, REV 1822// * * * HED FPP-SIS DIAGNOSTIC * * ******************************************************************* * * * MAIN BODY OF FLOATING POINT PROCESSOR DIAGNOSTIC * * ********************************************************************* * * * * *ASMB,N * *E * GENERAL INFORMATION * * * * VARIABLE & CONSTANT DEFINITIONS: * * CLASF IS USED FOR TEST PARAMETERS SUCH AS TYPE OF OPERATIONM ETC. * BIT0 A,S,M,D * BIT1 FIX S-D * BIT2 FLT S-D * BIT3 FIX,FLT S-D * BIT4 SINGLE * BIT5 DOUBLE * BIT6 SIS1¾—þú, IE TAN,ALOG,ATAN,COS,SIN,ALOGT * BIT7 SIS2, IE SQRT,EXP,TANH * BIT8 BASC TEST * BIT9 A,S,M,D,X,T TESTS * BIT10 ACC TEST * BIT11 SIS TEST * BIT12 PORT TEST * BIT13 MPXR TEST * BIT14 MAN TEST * * * IFN NAM HFSDG 780413 1215 ENT TST00,TST01,TST02,TST03,TST04,TST05,TST06,TST07,TST08 ENT TST09,TST10,TST11,TST12,TST13 ENT PASND,TSTBC,PASST EXT O2ASC,.ERMS,.MSGC,ASC2N,.SLIN EXT DNPUX,IFBRK COM IN,OUT,OUT2,OUTD,IDCB(144),ICMNT(40) COM IS,IA COM IC,EOLC,TSTN COM PASSL,ERCNT,LOWRD,HIWRD * * SUP * O2AS DEF O2ASC AS2N DEF ASC2N ERMS DEF .ERMS MSGC DEF .MSGC SLIN DEF .SLIN * XIF * * * * DIAGNOSTIC TESTS, ETC * * * * * FPP DIAGNOSTIC * * * * * * MIC INSTRUCTIONS * MIC FDA,105000B,0 MIC XAD,105001B,0 MIC TAD,105002B,0 MIC EAD,105003B,0 MIC FXD,105104B,0 MIC XPD,105005B,0 MIC STK,105007B,0 MIC RST,105006B,0 MIC TAN,105320B,0 MIC SQT,105321B,0 * * CONSTANTS * * IFN A EQU 0 B EQU 1 XIF * IFZ ORG 300B XIF * * * * ERROR INFO **** * OTINS BSS 1 OTN13 BSS 5 OTN23 BSS 5 ERST3 BSS 1 ERST2 BSS 1 ERST1 BSS 1 ERST0 BSS 1 ERSTE BSS 1 EOVFL BSS 1 ARST3 BSS 1 ARST2 BSS 1 ARST1 BSS 1 ARST0 BSS 1 ARSTE BSS 1 AOVFL BSS 1 * POS0 DEC 0 POS1 OCT 1 POS2 OCT 2 POS3 OCT 3 POS4 OCT 4 POS5 OCT 5 POS6 OCT 6 POS7 DEC 7 POS8 DEC 8 POS9 DEC 9 POS10 DEC 10 POS12 DEC 12 POS14 DEC 14 POS15 DEC 15 POS16 DEC 16 POS17 DEC 17 POS19 DEC 19 POS20 DEC 20 POS24 DEC 24 POS26 DEC 26 POS27 DEC 27 POS28 DEC 28 POS32 DEC 32 POS33 DEC 33 POS55 DEC 55 POS63 DEC 63 POS64 DEC 64 PS127 DEC 127 PS128 DEC 128 PS256 DEC 256 PS383 DEC 383 PS480 DEC 480 PS512 DEC 512 P4096 DEC 4096 POSMX DEC 32767 * NEG1 DEC -1 NEG2 DEC -2 NEG4 DEC ÔÍB@<-4 NEG5 DEC -5 NEG15 DEC -15 NEG16 DEC -16 NEG19 DEC -19 NEG22 DEC -22 NEG32 DEC -32 NEG55 DEC -55 NEG62 DEC -62 NEG63 DEC -63 NEG64 DEC -64 NEG65 DEC -65 NG513 DEC -513 NG500 DEC -500 N1000 DEC -1000 NEGMX DEC -32768 * * D2.M1 DEF *+1 F2.M1 OCT 100000,0 I2.M1 OCT 177777,177777,0,0,0,0 * DBIT0 DEF BIT0 OCT 0 FOR BASIC TEST-- TSTN=-1 BIT0 OCT 1 BIT1 OCT 2 BIT2 OCT 4 BIT3 OCT 10 BIT4 OCT 20 BIT5 OCT 40 BIT6 OCT 100 BIT7 OCT 200 BIT8 OCT 400 BIT9 OCT 1000 BIT10 OCT 2000 BIT11 OCT 4000 BIT12 OCT 10000 BIT13 OCT 20000 BIT14 OCT 40000 BIT15 OCT 100000 * BT0.8 OCT 777 BT0.7 OCT 377 BT367 OCT 310 BT6.7 OCT 300 BT4.7 OCT 360 BT9A OCT 3000 BTAE OCT 42000 * * UPBYT OCT 177400 LWBYT OCT 377 NEGXP OCT 177600 NBT64 OCT 177617 NB710 OCT 177574 ODSED OCT 011064 SEED OCT 62207 RANF SEED=PI/4 ASC0 OCT 60 UBLNK OCT 20000 LBLNK OCT 40 BLNK2 OCT 20040 UPE OCT 42400 ASCOF ASC 2,OVF= ASCRT ASC 2,RTN= ASCE ASC 1,E ASCG ASC 1,G ASCR ASC 1,R ASCY ASC 1,Y MSGND ASC 1,/ OPBAS OCT 105000 TANOP OCT 105320 SQTOP OCT 105321 ALGOP OCT 105322 ATNOP OCT 105323 COSOP OCT 105324 SINOP OCT 105325 EXPOP OCT 105326 ALTOP OCT 105327 TNHOP OCT 105330 *›Bÿÿ ÿýw‡ ÿ12740-18002 1822 S C0122 FPP-SIS              H0101 ÒmþúRSS RSS * IFZ LOWRD OCT 1 STARTING #WORDS IN OPERANDS-1 HIWRD OCT 5 STOPPING #WORDS IN OPERANDS XIF WDFLG OCT 17 4 BITS FOR 2,3,4,5 WORD OPERATIONS * ICEN BSS 1 FLAG SET IF IC BIT 0 HAS BEEN SET * ICOLD BSS 1 * PASSF OCT 1 FLAG =0 FOR LONG, 400B FOR SHORT PASS * * * * VARIABLES * X BSS 1 Y BSS 1 MPX BSS 1 DVX BSS 1 DVY BSS 1 SMX BSS 1 SMY BSS 1 ELX BSS 1 UPX BSS 1 XPX BSS 1 RNX BSS 1 RNY BSS 1 YCOM DEF *+1 BSS 4 YCOME BSS 1 RSLT BSS 1 RSLTL BSS 1 ACC DEF *+1 ACC3 BSS 1 ACC2 BSS 1 ACC1 BSS 1 ACC0 BSS 1 ACCE BSS 1 SIGN BSS 1 STICK BSS 1 * OWRDS BSS 1 #WORDS OPNDS TRUNCATED TO WRDS BSS 1 #WORDS OF INSTRUCTION EXECUTED WRDSL BSS 1 WDIN BSS 1 WDOUT BSS 1 WDFLL BSS 1 WRDAJ BSS 1 MVWRD BSS 1 LPCNT BSS 1 USED AS COUNT OF SUB LOOPS IN ASMDXT TSTLP BSS 1 PARM FOR TEST LOOPS, IE FIX,FLT,SIS TMP BSS 1 TMPRF BSS 1 RANF TEMP INTWD BSS 1 EXPMX BSS 1 * EXPNT BSS 1 EXPOF BSS 1 ODFLG BSS 1 * BASSV BSS 1 EXP BASE SAVE FOR OPMIX SGNSV BSS 1 EXP SIGN SAVE FOR OPMIX * STSTX BSS 1 SUBTEST EXEC. FIELD SAVE (CW) * * OPND1 DEF OND13 OPND2 DEF OND23 OND13 BSS 5 OND23 BSS 5 * POND1 DEF PON13 POND2 DEF PON23 NOND1 DEF NON13 NOND2 DEF NON23 PON13 BSS 5 PON23 BSS 5 NON13 BSS 5 NON23 BSS 5 * ANSW DEF *+1 BSS 5 ANSO BSS 1 ANSWZ DEF ANSW1 ANSW1 DEF ANS13 ANSW2 DEF ANS23 ANS13 BSS 5 ANS1O BSS 1 ANS23 BSS 5 ANS2O BSS 1 * RSLTI BSS 1 INDEX POINTER RSLTZ DEF RSLT1 RSLT1 DEF RST13 HFP RESULTS RSLT2 DEF RST23 RSLT3 DEF RST33 RST13 BSS 5 RST1O BSS 1 RST23 BSS 5 RST2O BSS 1 RST33 BSS 5 RST3O BSS 1 * * OTND1 DEF OTN13 OTND2 DEF OTN23 ERSLT DEF ERST3 ARSLT DEF ARST3 * * * TRYN BSS 1 # OF HFP OPN-- 0=DIR.,1=IND.,2=BIT 7 ETYPE BSS 1 üÓþú ERROR CODE TYPE ECODE DEC -1 OCTAL ERROR CODE (6 BITS) MPCNT BSS 1 DVCNT BSS 1 NMCNT BSS 1 TRCNT BSS 1 GPCNT BSS 1 ACCNT BSS 1 MNCNT BSS 1 RFCNT BSS 1 RANF COUNT RSCNT BSS 1 RANF RESET COUNT ACLPS BSS 1 #LOOPS IN ACC OPNS CNT BSS 1 POCNT BSS 1 COUNT OF OPERATIONS IN PASS PECNT BSS 1 COUNT OF ERRORS IN PASS TOCNT BSS 1 COUNT OF OPERATIONS IN TEST TECNT BSS 1 COUNT OF ERRORS IN TEST * IFZ ERCNT BSS 1 COUNT OF TOTAL ERRORS, ALL PASSES PASSL OCT 0 COUNT OF PASSES, UNLESS OTHERWISE SET XIF * PTR1 BSS 1 PTR2 BSS 1 OPTR BSS 1 ONDUP DEC 5 OPND INCREMENT OPNNL BSS 1 LOGICAL OPN# OPNDN DEC 0 OPND IDENTIFIER TMPA BSS 1 TMPB BSS 1 OPCOD BSS 1 FCTN BSS 1 SFCTN BSS 1 FCTNT BSS 1 TEMP FOR USE IN ACCOP, ETC INXP BSS 1 INXF BSS 1 INSTR BSS 1 OPADR BSS 1 SIBFP BSS 1 SIBFS BSS 1 SAVE OF SIBFP * BMBGN DEF BFBGM * BFBGN BSS 1 BFEND BSS 1 ZERO DEF BUF0 ONES DEF NEG1 * LAST BSS 1 RANF LAST VALUE EVNOD BSS 1 USED FOR WHICH OP FROM GETOP * * XPIDX DEF *+1 INDEX TO EXPONENT OFFSETS DEC 0 DEC 8 DEC 16 DEC 24 DEC 32 DEC 40 DEC 48 DEC 56 DEC 72 DEC 88 DEC 120 DEC 150 DEC 200 DEC 300 DEC 400 DEC 514 * * * * * INXBF DEF *+1 DEF ADDBF DEF SUBBF DEF MPYBF DEF DIVBF DEF FIXBF DEF FLTBF * * * TSTIX DEF *+2 INDEX TO TESTS FOR FCTN BASN DEC 8 FXSN DEC 4 FXDN DEC 5 FTSN DEC 6 FTDN DEC 7 ADDN OCT 0 SUBN OCT 1 MPYN OCT 2 DIVN OCT 3 ACCN DEC 9 SISN DEC 10 PRTN DEC 11 MPP PORT TEST MPXN DEC 12 MANN DEC 13 MANUAL ENTRY * FIXN OCT 4 FIXS-D FCTN FLTN OCT 5 FLTS-D FCTN * TANN DEC 0 ALGN DEC 1 ATNN DEC 2 COSN DEC T8þú3 SINN DEC 4 ALTN DEC 5 SQTN DEC 6 EXPN DEC 7 TNHN DEC 8 * RTNN DEC 0 OVFN DEC 1 BSYN DEC 2 DATN DEC 3 * * ASMDN OCT 0 CLASF FOR ASMD XTSDN OCT 4 CLASF FOR X,T,S-D * PARMS BSS 1 WORD FOR TEST PARAMETERS, PRINT FORMATS, ETC. CLASF BSS 1 FLAG FOR FCTN: =0 FOR ASMD, 4 FOR XTSD, OR FCTN TSTBT BSS 1 BIT CORRESPONDING TO CURRENT TEST STSTN BSS 1 SUBTEST IN TEST STSTB BSS 1 BIT CORR TO CURRENT SUBTEST * * ETYPS DEF *+2 TYPE CODES FOR TEST ERRORS OCT 0 TSTBC OCT 1 FIXS OCT 1 FIXD OCT 1 FLTS OCT 1 FLTD OCT 2 ADD OCT 2 SUB OCT 2 MPY OCT 2 DIV OCT 3 ACC OCT 3 SIS 1 OCT 3 SIS 2 OCT 3 PORT OCT 3 MPXR OCT 3 MAN ENTRY * * CLASX DEF *+2 INDEX TO CLASF BASE VALUES BY TSTN CLS0 OCT 400 BASC TEST OCT 1032 FIXS OCT 1052 FIXD OCT 1034 FLTS OCT 1054 FLTD OCT 1001 ADD OCT 1001 SUB OCT 1001 MPY OCT 1001 DIV OCT 2000 ACC OCT 4100 SIS1 OCT 4200 SIS2 OCT 10000 PORT OCT 20000 MPXR OCT 40000 MAN. * * * *SUBROUTINE DEFS * IFN ORB XIF * * DEFSW DEF *+1,I ZDDOP DEF ADDOP ZUBOP DEF SUBOP ZPYOP DEF MPYOP ZIVOP DEF DIVOP ZIXOP DEF FIXOP ZLTOP DEF FLTOP ZND5 DEF RND5 ZXPCK DEF EXPCK ZAK5 DEF PAK5 ZNPK5 DEF UNPK5 ZOM5 DEF COM5 ZR4 DEF ER4 ZR4A DEF AR4 ZL4 DEF EL4 ZUMOP DEF SUMOP ZORM5 DEF NORM5 ZQLZ5 DEF EQLZ5 ZOVFW DEF MOVFW ZRNC5 DEF TRNC5 ZETOP DEF GETOP ZTROP DEF STROP ZPERR DEF OPERR ZTHLT DEF STHLT ZTRFN DEF STRFN ZRDLP DEF WRDLP ZDTST DEF ODTST ZWOPN DEF HWOPN ZZOPN DEF SWOPN ZWOND DEF HWOND ZWTST DEF HWTSHþúT ZCWRD DEF ACWRD ZRANS DEF WRANS ZPMIX DEF OPMIX ZWCNF DEF CWCNF ZCBLD DEF ACBLD ZSTSI DEF TSTSI ZLRST DEF CLRST ZSTTN DEF TSTTN ZSTSQ DEF TSTSQ ZSTAL DEF TSTAL ZSTAT DEF TSTAT ZSTCS DEF TSTCS ZSTSN DEF TSTSN ZSTXP DEF TSTXP ZSTLT DEF TSTLT ZSTTH DEF TSTTH ZSGIN DEF MSGIN ZSCNV DEF ASCNV ZINIT DEF TINIT ZTSTI DEF STSTI ZWSTK DEF SWSTK ZWCHK DEF CWCHK ZCERR DEF BCERR ZLANS DEF CLANS ZCMPR DEF BCMPR ZWSOP DEF SWSOP ZASND DEF PASND ZSTBC DEF TSTBC * ZCELP DEF ACELP ZIELP DEF SIELP ZTELP DEF STELP ZPAN1 DEF CPAN1 ZPAN2 DEF CPAN2 ZPAN3 DEF CPAN3 ZRAST DEF WRAST ZCCOP DEF ACCOP * Z.D21 DEF A.D21 Z.D22 DEF A.D22 Z.D23 DEF A.D23 Z.D31 DEF A.D31 Z.D32 DEF A.D32 Z.D33 DEF A.D33 ZIX21 DEF FIX21 ZIX22 DEF FIX22 ZIX23 DEF FIX23 ZIX31 DEF FIX31 ZIX32 DEF FIX32 ZIX33 DEF FIX33 ZLT21 DEF FLT21 ZLT22 DEF FLT22 ZLT23 DEF FLT23 ZLT31 DEF FLT31 ZLT32 DEF FLT32 ZLT33 DEF FLT33 ZCBT7 DEF ACBT7 ZWCLR DEF HWCLR ZSGD DEF MSGD ZSGI DEF MSGI ZFINI DEF SFINI ZIEXT DEF WIEXT ZANF DEF RANF ZASST DEF PASST ZPRED DEF OPRED ZHSEL DEF CHSEL ZPDID DEF OPDID ZANFI DEF RANFI ZOTST DEF POTST * * YWDLP DEF IWDLP YAR4 DEF EAR4 YSTSL DEF TSTSL YIOPN DEF SIOPN YCMER DEF ACMER YFLT DEF HFLT YFIX2 DEF HFIX2 YWOCH DEF HWOCH YET0 DEF SET0 YHIFT DEF SHIFT Y342 DEF X342 Y343 DEF X343 YIX32 DEF FIX32 YATAL DEF FATAL YWSEN DEF SWSEN YWSFX DEF SWSFX YWSFT DEF SWSFT YWSLP DEF SWSLP YESET DEF RESET YSET2 DEF RSET2 YNXOP DEF INXOP YIVLP DEF DIVLP YRSLT DEF TRSLT YNCNT DEF INCNT YPBEX DEF GPBEX YXIT0 DEF EXIT0 YTN0 DEF RTN0 YVASB DEF DVASB YBCND DEF TBCND YTNOP DEF RTNOP YNCP1 DEF INCP1 YCI10 DEF BCI10 YT23 DEF FT23 YTDCP DEF STDCP YCCCP DEF ACCCP YISCP DEF SISCP YIVST DEF DIVST YSDMT DEF TSDMT YDMTL DEF ODMTL YTMLP DEF FTMLP YRDUP DEF WRDUP YPEND DEF OPEND YXCLR DEF FXCLR YIXOV DEF FIXOV YWMTL DEF BWMTL YIXRD DEF FIXRD YCWD2 DE¯þúF ACWD2 YCWDL DEF ACWDL YRASH DEF WRASH YCI6 DEF BCI6 YACLP DEF TACLP YC02 DEF BC02 YWTGO DEF HWTGO YAWRD DEF MAWRD * XSTAS DEF TSTAS,I XSTAT DEF TSTAT,I XWCNF DEF CWCNF,I XRDLP DEF WRDLP,I XSTFX DEF TSTFX,I XR4 DEF ER4,I XOM5 DEF COM5,I XSTMP DEF TSTMP,I XTHLT DEF STHLT,I XSTSI DEF TSTSI,I XPERR DEF OPERR,I XSTSQ DEF TSTSQ,I XPDIN DEF OPDIN,I XLTOP DEF FLTOP,I XCMPR DEF ACMPR,I XWOPN DEF HWOPN,I XQLZ5 DEF EQLZ5,I XCBLD DEF ACBLD,I XETOP DEF GETOP,I XWSTK DEF SWSTK,I XLANS DEF CLANS,I XIVOP DEF DIVOP,I XSTBC DEF TSTBC,I XSTMT DEF TSTMT,I XTROP DEF STROP,I XIXOP DEF FIXOP,I XRANS DEF WRANS,I XANF DEF RANF,I XSTAC DEF TSTAC,I XPANS DEF CPANS,I XWTST DEF HWTST,I XWCHK DEF CWCHK,I * IFN ORR XIF * * * ASCII DATA BUFFER POINTERS * ASCTX DEF *+2 INDEX ON TSTN, THEN SFCTN DEF ASCOV TSTBC DEF ASCXS FIXS DEF ASCXD FIXD DEF ASCTS FLTS DEF ASCTD FLTD DEF ASCAD ADD DEF ASCSB SUB DEF ASCMP MPY DEF ASCDV DIV DEF ASCAC ACC DEF ASCTN SIS DEF ASCTN SIS DEF ASCPT MPP TEST DEF ASCMX MLPXR TEST DEF ASCMN MAN. ENTRY TEST * * * PPER1 DEF OPER1 PPER2 DEF OPER2 PPER3 DEF OPER3 PPER4 DEF OPER4 PPER5 DEF OPER5 PPER6 DEF OPER6 PPER7 DEF OPER7 PPER8 DEF OPER8 * * * INBUZ DEF *+1 INPUT BUFFER INBUF BSS 4 * * * ASCII FUNCTION NAMES * ASCAD ASC 2,ADD ASCSB ASC 2,SUB ASCMP ASC 2,MPY ASCDV ASC 2,DIV ASCXS ASC 2,FIXS ASCXD ASC 2,FIXD ASCTS ASC 2,FLTS ASCTD ASC 2,FLTD ASCAC ASC 2,ACC ASCPT ASC 2,PORT ASCMX ASC 2,MLPX ASCMN ASC 2,MAN * ASCOV ASC 2,OVFL ASCRN ASC 2,RETN ASCBY ASC 2,BUSY ASADD ASC 2,ADD ASFXD ASC 2,FIXD ASTAN ASC 2,TAN ASQRT ASC 2,SQRT * * ASCTN ASC 2,TAN ASCAL ASC 2,ALOG ASCAT ASC 2,ATAN ASCCS ASC 2,COS ASCSN ASC 2,SIN ASCLT ASC 2,ALGT ASCSQ ASC 2,SQÊþúRT ASCEX ASC 2,EXP ASCTH ASC 2,TANH * * PTNST BSS 1 PATTERN START ADDRESS BASE PTNAD DEF PTN00 PTNSB DEF PTN04 PTNMD DEF PTN08 PTNFT DEF PTN08 OPNDS BSS 1 OPERAND PAIRS STORAGE VAR. PTN00 DEF PON13 DEF PON23 DEF PON23 DEF PON13 * DEF NON13 DEF NON23 DEF NON23 DEF NON13 * DEF PON13 DEF NON23 DEF NON23 DEF PON13 * DEF NON13 DEF PON23 DEF PON23 DEF NON13 * PTN04 DEF PON13 DEF PON23 DEF NON23 DEF NON13 * DEF NON13 DEF NON23 DEF PON23 DEF PON13 * DEF PON13 DEF NON23 DEF PON23 DEF NON13 * DEF NON13 DEF PON23 DEF NON23 DEF PON13 * * PTN08 DEF PON13 DEF PON23 DEF NON13 DEF NON23 * DEF PON23 DEF PON13 DEF NON23 DEF NON13 * DEF PON13 DEF NON23 DEF NON13 DEF PON23 * DEF PON23 DEF NON13 DEF NON23 DEF PON13 * PTN12 DEF PON13 DEF PON23 DEF PON13 DEF PON23 * * * * * * * * FLTBF EQU * FIXBF EQU * SUBBF EQU * MPYBF EQU * DIVBF EQU * ADDBF BYT 1,1 BYT 3,3 OCT 177777 * * * ACC. TEST DATA & POINTERS * * ONDIA BSS 1 ONDIB BSS 1 ONDIC BSS 1 ODSEL BSS 1 OPSEL BSS 1 TPSEL BSS 1 ACBFP BSS 1 BUFP1 BSS 1 USED AS POINTER TO 1ST BUFFER FOR ACC. OPNS HWBUF DEF HWBF1 SWBUF DEF SWBF1 HWBFP BSS 1 SWBFP BSS 1 STKP BSS 1 BUFP BSS 1 NBUFS BSS 1 EFLAG BSS 1 * ACOPI BSS 1 INDEX POINTER ACOPZ DEF ACOP1 BASE ADDR ACOP1 DEF ACOD1 ACOP2 DEF ACOD2 ACOP3 DEF ACOD3 ACOP4 DEF ACOD4 ACOP5 DEF ACOD5 ACOP6 DEF ACOD6 ACOP7 DEF ACOD7 ACOP8 DEF ACOD8 * * MBUFZ DEF MBUF1 BASE ADDR OF MANUAL ENTRY INSTR. BUFFERS MBUF1 DEF MBF11 MBUF2 DEF MBF12 MBUF3 DEF MBF13 MBUF4 DEF MBF14 ¯pþú MBUF5 DEF MBF15 MBUF6 DEF MBF16 MBUF7 DEF MBF17 MBUF8 DEF MBF18 * * * IFZ ORG 2500B XIF * BFBGM EQU * OCT 77777,100000,77777,100000,0 OCT 77600,77600,77600,77600,0 OCT 74170,74170,74170,74170,0 OCT 63146,64146,63146,63146,0 OCT 70707,16161,43434,70707,0 OCT 76037,03701,170174,17476,0 OCT 44444,111111,22222,44444,0 OCT 52525,52525,52525,52525,0 OCT 42104,42104,42104,42104,0 OCT 73567,73567,73567,73567,0 OCT 66666,155555,133333,66666,0 OCT 77401,175007,170037,140177,0 OCT 61430,143061,106143,14306,0 OCT 60606,14141,103030,60606,0 OCT 74747,117171,163636,74747,0 BFBGR EQU * BFBGE EQU * OCT 76340,140403,176170,35700,0 OCT 41437,37701,161603,57200,0 BFNDE EQU * OCT 40000,377,177777,177777,0 OCT 100000,377,177777,177777,0 BFNDR EQU * OCT 41020,102041,4102,10204,0 OCT 75736,173675,167573,157367,0 OCT 0,0,0,0,0 OCT 77777,177777,177777,177777,0 OCT 137777,177777,177777,177777,0 OCT 40100,40100,40100,40100,0 OCT 77577,77577,77577,77577,0 * OCT 70160,70160,70160,70160,0 OCT 76174,76174,76174,76174,0 * OCT 52525,63146,70707,40404,0 OCT 40001,40001,40001,40001,0 BFNDM EQU * * BFBGO OCT 40000,377,177777,177777,177 1/2 * 2**127 OCT 40000,377,177777,177777,176 OCT 40000,7,77,777,177600 3 OCT 40000,377,177777,177777,177601 OCT 100000,5,25,525,177 5/8 * 2**14 OCT 100000,377,177777,177777,176 OCT 100000,13,57,731,177600 OCT 100000,377,177777,177777,177601 OCT 77777,177777,177777,177777,177 OCT 77777,177777,177777,177777,176 OCT 137777,177777,177777,177777,177 OCT 137777,177777,177777,177777,176 OCT 77777,177777,177777,177777,177600 OCT 77777,177777,177777,177777,177601 OCT 137777ž_þú,177777,177777,177777,177600 OCT 137777,177777,177777,177777,177601 * OCT 40000,123,357,246,0 OCT 40000,377,177777,177777,1 OCT 77777,177777,177777,177777,0 OCT 100000,351,715,34726,0 OCT 137777,177777,177777,177777,0 OCT 137777,177777,177777,177777,1 * OCT 40000,370,37037,3073,177000 1/2 OCT 40000,54,3627,77035,777 OCT 100000,377,7760,170000,777 OCT 100000,53,7751,2357,177000 OCT 77777,177777,177777,177777,777 OCT 137777,177777,177777,177777,777 OCT 137777,177777,177777,177777,177000 BFNDO OCT 77777,177777,177777,177777,177000 * * * MBF11 BSS 8 MAN. ENTRY INSTR BUFS MBF12 BSS 8 MBF13 BSS 8 MBF14 BSS 8 MBF15 BSS 8 MBF16 BSS 8 MBF17 BSS 8 MBF18 BSS 8 * ACOD1 BSS 5 ACOD2 BSS 5 ACOD3 BSS 5 ACOD4 BSS 5 ACOD5 BSS 5 ACOD6 BSS 5 ACOD7 BSS 5 ACOD8 BSS 5 * * * * * BUF1A OCT 105000 N WORD FPOPN DEC 2 DEF ACOD1 DEC 2 DEF ACOD2 OCT 0 DEC 0 DEF 0 * BUF1B OCT 105110 FIXS,ACC DEC 0 DEF 0 DEC 0 DEF 0 OCT 0 DEC 0 DEF 0 * BUF1C OCT 105130 FLTS,ACC DEC 0 DEF 0 DEC 0 DEF 0 OCT 0 DEC 2 DEF RST13 * BUF1D OCT 105010 FPOPN, ACC1 DEC 0 DEF 0 DEC 2 DEF ACOD3 OCT 0 DEC 0 DEF 0 * BUF1E OCT 105004 FPOPN, ACC2 DEC 2 DEF ACOD4 DEC 0 DEF 0 OCT 0 DEC 2 DEF RST13 * BUF1F OCT 105014 FPOPN, ACC,ACC DEC 0 DEF 0 DEC 0 DEF 0 OCT 0 DEC 2 DEF RST13 * BUF2B OCT 105114 FIXD,ACC DEC 0 DEF 0 DEC 0 DEF 0 OCT 0 DEC 0 DEF 0 * BUF2C OCT 105134 FLTD,ACC DEC 0 DEF 0 DEC 0 DEF 0 OCT 0 DEC 0 á¢þú DEF 0 * BUF3B OCT 105100 FIXS DEC 2 DEF ACOD3 DEC 0 DEF 0 OCT 0 DEC 1 DEF ACOD5 * BUF4B OCT 105104 FIXD DEC 2 DEF ACOD3 DEC 0 DEF 0 OCT 0 DEC 2 DEF ACOD5 * BUF5C OCT 105120 FLTS DEC 1 DEF ACOD5 OCT 0,0,0,0,0 * BUF6C OCT 105124 FLTD DEC 2 DEF ACOD5 OCT 0,0,0,0,0 * * BUF0 OCT 0,0,0,0,0,0,0,0 * BACB1 OCT 105000 2 WORD ADD 0+0 DEC 2 DEF BUF0 DEC 2 DEF BUF0 OCT 0 DEC 2 DEF RST13 * * BACH1 OCT 105000 HANG THE BOX-- NO OPNDS OCT 0,0,0,0,0,0,0 * BACH2 OCT 105021 HANG-- SEND 1 OPND DEC 3 DEF ACOD1 OCT 0,0,0,0,0 * BACH3 OCT 105062 HANG IT, 6 OUT OF 8 WORDS DEC 4 DEF ACOD1 DEC 2 DEF ACOD1 OCT 0,0,0 * * * * * ASCII DATA BUFFERS * * OPER1 ASC 28,EXXX XXXX X WD OPCODE= XXXXXX ASC 6, / OPER2 ASC 28,INSTRUCTION: X WD XXXX OPCODE XXXXXX ASC 2, / OPER3 ASC 28,1ST OPERAND XXXXXX XXXXXX XXXXXX XXXXXX XXXXXX ASC 2, / OPER4 ASC 28,2ND OPERAND XXXXXX XXXXXX XXXXXX XXXXXX XXXXXX ASC 2, / OPER5 ASC 28,ACTUAL RESULT XXXXXX XXXXXX XXXXXX XXXXXX XXXXXX ASC 8,XXXXXX XXXXXX OPER6 ASC 28,ACTUAL OVERFLOW X ASC 2, / OPER7 ASC 28,EXPECTED RESULT XXXXXX XXXXXX XXXXXX XXXXXX XXXXXX ASC 8,XXXXXX XXXXXX / OPER8 ASC 28,EXPECTED OVFLW X ASC 2, / BLKLN EQU * OPER9 ASC 2, / * * * BCMBG ASC 9,BEGIN BASIC TEST / BCM1 ASC 6,OVFW TEST / BCM2 ASC 6,RETN TEST / BCM6 ASC 6,BUSY TEST / BCM8 ASC 6,DATA TEST / BCM10 ASC 6,SIS1 TEST / BCM11 ASC 6,SIS2 TEST / * BCMFL ASC 10,E000 FATAL ERROR / BCMND ASC 8,END BASIC TEST / * * MSGAD ASC 6,ADD TEST / MSGSB ASC 6,SUB TEST / MSGMP ASC 6,MPY TEST / MSGDV ASC 6,DIV TEST / MSGXS ASC øþú6,FIXS TEST / MSGXD ASC 6,FIXD TEST / MSGTS ASC 6,FLTS TEST / MSGTD ASC 6,FLTD TEST / MSGAC ASC 6,ACC TEST / MSGS1 ASC 6,SIS1 TEST / MSGS2 ASC 6,SIS2 TEST / * MSGE ASC 3, EXP / MSGR ASC 3, RND / MSGO ASC 3, OVF / MSGM ASC 3, MIX / * *SGEM ASC 5,MPY EXP / *SGOM ASC 5,MPY OVF / *SGMM ASC 5,MPY MIX / * *SGED ASC 5,DIV EXP / *SGOD ASC 5,DIV OVF / *SGMD ASC 5,DIV MIX / * *SGEX ASC 5,FIX EXP / *SGMX ASC 5,FIX MIX / *SGET ASC 5,FLT EXP / *SGMT ASC 5,FLT MIX / * MSGSP ASC 7,SHORT PASSES / MSGLP ASC 7,LONG PASSES / * * MAMSG ASC 10,MANUAL ENTRY TEST / MAINS ASC 6,OPCODE: _ / MAOD1 ASC 5,1ST OPND / MAOD2 ASC 5,2ND OPND / MAWDS ASC 6,NWORDS: _ / MAWRD ASC 6,WORD : _ / MARIN ASC 8,RSLT OPCODE: _ / MARST ASC 6,NRSLTS: _ / MALPS ASC 5,LOOP?: _ / * ACER1 ASC 28,BUFR1 ASC 8, ASC 1,/ ACER2 ASC 28,BUFR2 ASC 8, ASC 1,/ ACER3 ASC 28,BUFR3 ASC 8, ASC 1,/ ACER4 ASC 28,BUFR4 ASC 8, ASC 1,/ ACER5 ASC 28,BUFR5 ASC 8, ASC 1,/ ACER6 ASC 28,BUFR6 ASC 8, ASC 1,/ * ACER7 ASC 28,OPND1 ASC 4, ASC 1,/ ACER8 ASC 28,OPND2 ASC 4, ASC 1,/ ACER9 ASC 28,OPND3 ASC 4, ASC 1,/ ACE10 ASC 28,OPND4 ASC 4, ASC 1,/ ACE11 ASC 28,OPND5 ASC 4, ASC 1,/ ACE12 ASC 28,OPND6 ASC 4, ASC 1,/ * ACE13 ASC 28,ANSW1 ASC 4, ASC 1,/ ACE14 ASC 28,ANSW2 ASC 4, ASC 1,/ ACE15 ASC 28,RSLT1 ASC 4, ASC 1,/ ACE16 ASC 28,RSLT2 ASC 4, ASC 1,/ * * * SCIENTIFIC INSTRUCTION SET OPERANDS AND ANSWERS * TANBF EQU * TAN BUFFERS OCT 40000,0,42755,36400 OPND,ANSWER OCT 40000,2,61654,110402 OCT 100001,2,42756,135404 OCT 100001,0,116125,22402 OCT 40000,40 OPERAND ASC 2,09OR DEC -1 TERMINATOR * * SQTBF EQU * SQRT BUFFERS OCT 0,0,0,0 OCT 40000,377,40000,0 œPþú OCT 44000,4,60000,2 OCT 100001,0 OPERAND ASC 2,03UN DEC -1 TERMINATOR * * ALGBF EQU * ALOG BUFFERS OCT 40000,0,123506,172000 OCT 60000,0,133132,74377 OCT 0,0 OPERAND ASC 2,02UN ANSWER OCT 100001,0 ASC 2,02UN DEC -1 * * ATNBF EQU * OCT 0,0,0,0 OCT 40000,0,73261,116377 OCT 40000,377,76555,154775 OCT 100001,4,125445,166002 DEC -1 TERMINATOR * * COSBF EQU * OCT 40000,0,70124,120000 DEC -1 * * SINBF EQU * OCT 40000,0,75273,120777 OCT 40000,2,65665,50400 OCT 100001,0,112113,34000 OCT 40000,40 ASC 2,05OR DEC -1 TERMINATOR * * EXPBF EQU * OCT 40000,0,64604,123402 OCT 40000,2,53374,26004 OCT 123100,16,0,0 OCT 100000,16,0,0 OCT 40000,20 ASC 2,07OF OCT 40000,40 ASC 2,07OF DEC -1 * * ALTBF EQU * OCT 40000,0,131357,131777 DEC -1 * * TNHBF EQU * OCT 40000,377,76545,176775 OCT 40000,2,60573,166000 OCT 40000,10,40000,2 OCT 100001,10,100000,0 DEC -1 * * * * * BASIC TEST * * TESTS BASIC OPERATION OF FPP FOR CABLES, ROMS, ETC. * TSTBC NOP CCA SET TSTN TO -1 STA TSTN JSB ZINIT,I SET PARMS,ETC LDA BASN SET FCTN STA FCTN JSB MSGC,I "BEGIN, OVFLW TEST" DEF BCMBG,I DEF BCM1 CLA CLEAR WORDS STA WRDS STA WDIN STA WDOUT STA ECODE ALSO ECODE ISZ OPNDN ISZ ECODE LDA NEG16 STA CNT BC01L CLO SOC IF OVFLW STILL SET, ERROR JMP BCE1 ISZ CNT JMP BC01L JMP YC02,I BCE1 CLA NO INSTR JSB ZCERR,I JMP YATAL,I OH AND HE NEVER RETURNED... ”¨HFBBHÿÿ ÿýx‰ ÿ12740-18003 1822 S C0122 FPP-SIS              H0101 Ómþú* BC02 ISZ OPNDN ISZ STSTN JSB ZTSTI,I ISZ ECODE JSB MSGC,I DEF BCM2 "RETN TESTS" BCI2 FDA 2 WORD ADD OPN RSS DONT CARE ABOUT OPNDS JMP BC03 CORRECT RETURN LDA BCI2 INSTR JSB ZCERR,I NOT EVEN AN E JMP YATAL,I NO, HE NEVER RETURNED.... * BC03 ISZ OPNDN ISZ ECODE BCI3 XAD 3 WORD ADD DEF RST13 RESULT ADDR NOP BAD RETURN IF HERE RSS ANOTHER BAD RETURN JMP BC04 YOU GOT THE RIGHT ROMS IN THERE, MAYBE LDA BCI3 JSB ZCERR,I JMP YATAL,I AND HIS FATE IS STILL UNLEARNED.... * BC04 ISZ OPNDN ISZ ECODE BCI4 TAD DEF RST13 NOP ERROR RETURN RSS ERROR JMP BC05 OK LDA BCI5 JSB ZCERR,I JMP YATAL,I POOR OLD CHARLIE.... * BC05 ISZ OPNDN ISZ ECODE XPD EXPANDED EXPONENT MACRO BCI5 EAD 5 WORD ADD DEF RST13 NOP RSS ERROR JMP BC06 OK LDA BCI5 JSB ZCERR,I JMP YATAL,I HE MAY RIDE FOREVER.... * BC06 ISZ OPNDN ISZ STSTN JSB ZTSTI,I ISZ ECODE JSB MSGC,I "BUSY TEST" DEF BCM6 JSB ZLANS,I JSB ZLRST,I BCI6 STK STACK MICRO DEF *+3 DEF BACB1 2 WORD ADD, 0+0 DEF BUF0 JMP BCE7 BOX HUNG... SOC IF OVFLW, SET ISZ RST1O JMP BCT8 CHECK THE ANSWER * BCE7 LDA YCI6,I ERROR JSB ZCERR,I * BCT8 ISZ OPNDN ISZ STSTN JSB ZTSTI,I ISZ ECODE JSB MSGC,I "DATA TESTS" DEF BCM8 LDA CLS0 NOW AN ADD IOR BIT0 STA CLASF LDA POS2 SET WRDS,ETC STA WRDS STA WDIN STA WDOUT LDA YCI6,I INSTR LDX ZERO OPNDS=0 LDY ZERO JSB ZCMPR,æÐþúI COMPARE RESULT TO KNOWN VALUE DEF BUF0 =0 * BC09 ISZ OPNDN ISZ STSTN JSB ZTSTI,I ISZ ECODE LDA CLS0 CHANGE TO FIXD IOR BIT1 IOR BIT3 IOR BIT5 STA CLASF JSB ZLRST,I CLEAR RESULT DLD F2.M1 FP -1 BCI9 FXD DOUBLE FIX DST RST13 PUT IN RSLT SOC CHECK OVFLW ISZ RST1O LDA BCI9 TEST LDX D2.M1 LDY D2.M1 JSB ZCMPR,I DEF I2.M1 INT. -1 * BC010 LDA IC IF IC BIT 15 NOT SET, DON'T TRY IT AND BIT15 SZA JMP YBCND,I ISZ OPNDN ISZ STSTN JSB ZTSTI,I ISZ ECODE JSB MSGC,I "SIS 1 TEST" DEF BCM10 LDA CLS0 NOW SIS1 IOR BIT6 STA CLASF JSB ZLRST,I CLEAR RESULT CLA CLB STA RST13+2 CLEAR RTN BCI10 TAN SP TAN ISZ RST13+2 ERROR RETURN DST RST13 SOC CHECK OVFLW ISZ RST1O LDX ZERO LDY ZERO LDA YCI10,I JSB ZCMPR,I TEST DEF BUF0 SHOULD BE =0 * BC011 ISZ OPNDN ISZ STSTN JSB ZTSTI,I ISZ ECODE JSB MSGC,I DEF BCM11 "SIS 2 TEST LDA CLS0 NOW SIS2 IOR BIT7 STA CLASF JSB ZLRST,I CLEAR RESULT CLA CLB STA RST13+2 BCI11 SQT SP SQRT ISZ RST13+2 ERROR DST RST13 SOC CHECK OVFLW ISZ RST1O LDX ZERO LDY ZERO LDA YCI10,I JSB ZCMPR,I TEST DEF BUF0 * TBCND JSB MSGC,I "END BASIC TEST" DEF BCMND JMP XSTBC,I * FATAL JSB ERMS,I TELL HIM IT'S OVER DEF BCMFL * IFZ HLT 0 JMP *-1 JUST IN CASE HE DIDN'T SEE THE LIGHT YET XIF * IFN JSB DNPUX WHAT NOW GUY? DEF *+1 JMP XSTBC,I XIF * * * * * SKP xþú * * ROUTINE TO LOAD INSTR AMD CALL WRANS * BCERR NOP STA INSTR JSB MSGC,I SEND BLANK LINE DEF BLKLN CLA TRY 0 CLB SO THAT IF ITS AN E, 105006=>0+0 JSB ZRANS,I JMP BCERR,I DONE * * * ROUTINE TO COMPARE ANSW1, RSLT1, AND CALL WRANS IF ERROR * BCMPR NOP STA INSTR SAVE INSTR LDA BCMPR,I GET ADDR OF ANSWER ISZ BCMPR SET RTN POINT LDB ANSW1 MVW POS6 LDA ANSW1 LDB RSLT1 CMW POS6 JMP BCMPR,I NOP JSB MSGC,I SEND BLANK LINE FIRST DEF BLKLN CLA JSB ZRANS,I ERROR JMP BCMPR,I * * * SKP * * ADD TEST ROUTINE * TST04 EQU * * * ROUTINE TO TEST HFP ADD OPERATIONS * TSTAD NOP JSB ZINIT,I SET PARMS, ETC. FOR TEST, CALL CWCNF LDA ADDN STA FCTN SAVE OPCODE # ADA OPBAS FORM OPCODE STA OPCOD LDA ZDDOP SET UP SW ROUTINE ADDR STA OPADR LDA PTNAD SET UP PATTERN START POINT STA PTNST * JSB ZSGI,I "ADD" DEF MSGAD * JSB TSTAS GO TO COMMON ADD,SUB TEST SECTION JMP TSTAD,I RETURN * * TST05 EQU * TSTSB NOP ROUTINE TO TEST SUBTRACT OPERATIONS JSB ZINIT,I INIT PARMS, CALL CWCNF CLA SET CLASS# LDA SUBN FORM OPN# STA FCTN SAVE ALF SHIFT OPCODE TO BITS 6-4 ADA OPBAS FORM HFP OPCODE BASE STA OPCOD LDA ZUBOP SET UP SW ROUTINE ADDRESS STA OPADR LDA PTNSB SET UP PATTERN START POINT STA PTNST * JSB ZSGI,I "SUB" DEF MSGSB * JSB TSTAS GO TO COMMON TEST ROUTINE FOR ADD, SUB JMP TSTSB,I * * TSTAS NOP ADD,SUB TEST ROUTINE * LDA PASSF IF SHORT PASS, GO DIRECTLY TO MIXED MODE SZA JMP TSEMA LDA IC USE CW BITS 13,14 TO BYPASS SUBTESTS Õðþú ALF,RAR MOVE TO LOW BITS AND POS3 STA STSTX SZA IF=0, EXECUTE ALL SUBTESTS CPA POS1 IF =1, ONLY TSTEA JSB TSTEA LDA STSTX SZA CPA POS2 IF=2, ONLY RND JSB TSTRA LDA STSTX SZA CPA POS3 IF=3, ONLY OVFL JSB TSTOA LDA STSTX SZA,RSS TSEMA JSB TSTMA JMP TSTAS,I DONE * * * TEST EXPONENTS-- ADD 2 NUMBERS WITH SAME EXP, EXP: -512,511 * TSTEA NOP JSB ZSGD,I DEF MSGE LDA POS1 JSB ZFINI,I LDA POS2 ONLY OPNDS TRUNC TO 2 WORDS STA OWRDS LDA NG513 LOW EXP-1 STA EXPNT ODEAR CLA,CLE RESET GETOP JSB ZETOP,I DEF BFBGE DEF BFNDE ODEAL CLA,INA GET OPND JSB ZETOP,I JMP ODEAR IF OUT OF OPNDS, START OVER LDA EXPNT SET EXPS INA STA EXPNT CPA PS512 OUT OF RANGE, DONE JMP TSTEA,I NEXT TEST STA OND13+4 PT EXPS IN PLACE STA OND23+4 JSB WIEXA TEST THE HW JMP ODEAL BACK FOR ANOTHER * * * TEST FOR CORRECT ROUNDING-- EXP DIFFERENCE FROM 1 TO 64 * TSTRA NOP JSB ZSGD,I DEF MSGR LDA POS2 JSB ZFINI,I INIT SUB FUNCTION LDA POS2 SET OWRDS STA OWRDS LDA NEG32 SET BASE EXP. STA EXPNT ODRAR CLA,CLE JSB ZETOP,I RESET GETOP DEF BFBGR DEF BFNDR ODRAL CLA,INA GET OPNDS JSB ZETOP,I JMP ODRAR START OVER WITH OPNDS LDA EXPNT NEW BASE CPA PS480 IF OUT OF RANGE, NEXT TEST JMP TSTRA,I NEXT TEST ADA POS64 STA EXPNT LDA NEG64 RESET EXP OFFSET STA EXPOF XORAL LDA EXPOF SET EPXS ARS ADA EXPNT STA OND13+4 LDA EXPOF CMA,INA ADA OND13+4 STA OND23+4 JSB WIEXA TEST HW LDA OND13+4 NOW WITH COMPLEMENTED EXŸCþúPS CMA STA OND13+4 LDA OND23+4 CMA STA OND23+4 JSB WIEXA TEST ISZ EXPOF NEXT OFFSET JMP XORAL JMP ODRAL IF=0, GET NEXT OPNDS, EXP BASE * * * TEST OVERFLOW RANGES, ADD/SUB * TSTOA NOP JSB ZSGD,I DEF MSGO LDA POS3 JSB ZFINI,I LDA POS2 STA OWRDS CLA,CLE RESET GETOP JSB ZETOP,I DEF BFBGO DEF BFNDO ODOAL CLA,INA GET NEXT OPND PAIR JSB ZETOP,I JMP TSTOA,I NEXT TEST JSB WIEXA TEST HW JMP ODOAL * * * * TSTMA NOP JSB ZSGD,I DEF MSGM LDA POS4 JSB ZFINI,I LDA POS1 #STARTING # OF OPND WORDS-1, FOR TRUNC. STA OWRDS * BWMAL LDA OWRDS TEST #WORDS IN OPNDS CPA POS5 IF=MAX, DONE LOOPING JMP TSTMA,I DONE WITH TEST INA STA OWRDS #WORDS OPERANDS TRUNCATED TO STA WRDS #WORDS FOR OPERATION ISZ LPCNT CLA,CCE CLEAR OPND BUFFER POINTERS,INDEX MODE JSB ZETOP,I DEF BFBGM DEF BFNDM ODMAL CLA,INA GET NEXT BASE OPNDS JSB ZETOP,I JMP BWMAL IF NO MORE OPNDS, INC OPND WORD COUNT * LDB OPND1 MIX IT UP JSB ZPMIX,I ISZ EVNOD LDB OPND2 JSB ZPMIX,I THE 2ND ONE TOO ISZ EVNOD JSB WIEXA LOOP FROM OWRDS TO 5, EXEC., CMPR JMP ODMAL GET NEXT OPNDS * * WIEXA NOP ROUTINE TO LOOP FROM OWRDS TO 5, COMP & CMPR ANS. ISZ OPNDN LDA OWRDS TRUNCATE OPNDS TO CORRECT # WORDS LDB OPND1 CBX JSB ZRNC5,I LDA OWRDS LDB OPND2 CBY JSB ZRNC5,I JSB ZDTST,I TEST OPNDS FOO RANGE, SET ODFLG JMP WIEXA,I IF 5 WORD OVFL, NO GO LDA OPND1 MOVE OPNDS INTO WORKING BUFFER LDB POND1 CBX SET X,Y TO OPND ADDRS LDY POND2 MVW POS10 LDB ‚þúANSW JSB OPADR,I COMPUTE S/W ANSWER IN ANSW LDB PTNST RUN 1ST PATTERN JSB ZRDLP,I TEST WITH DIFFERENT WORD LENGTHS LDB ANSW COMPLEMENT ANSWER JSB ZOM5,I LDB PTNST 2ND PATTERN ADB POS4 JSB ZRDLP,I RUN AGAIN LDA OPND1 RESTORE OPNDS LDB POND1 CBX SET X,Y TO OPND ADDRS LDY POND2 MVW POS10 LDB POND2 COMPLIMENT 2ND OPND=> X-Y JSB ZOM5,I LDB ANSW PUT ANSWER IN ANSW JSB OPADR,I CALCULATE 1ST OPND- 2ND OPND LDB PTNST PATTERN 3 ADB POS8 JSB ZRDLP,I LDB ANSW COMPLEMENT RESULT JSB ZOM5,I LDB PTNST PATTERN 4 ADB POS12 JSB ZRDLP,I JMP WIEXA,I * * SKP * ROUTINE TO TEST HFP MPY OPERATIONS * * TST06 EQU * TSTMP NOP JSB ZINIT,I SET PARMS, CALL CWCNF CLA SET UP CLASS# LDA MPYN STA FCTN SAVE OPCODE # ALF SHIFT OPCODE TO BITS 6-4 ADA OPBAS FORM OPCODE STA OPCOD LDA ZPYOP SET UP SW ROUTINE ADDR STA OPADR LDA PTNMD SET UP PATTERN START POINT STA PTNST * JSB ZSGI,I "MPY" DEF MSGMP * LDA PASSF IF SHORT PASS, ONLY MIXED SZA JMP TSEMM LDA IC USE CW BITS 13,14 TO PICK A SUBTEST ALF,RAR AND POS3 STA STSTX SZA IF=0, ALL CPA POS1 JSB TSTEM IF=1, ONLY TSTEM LDA STSTX SZA CPA POS2 IF=2, ONLY TSTOM JSB TSTOM LDA STSTX SZA CPA POS3 IF=3, MIXED ONLY TSEMM JSB TSTMM JMP TSTMP,I DONE * * * EXPONENT MULTIPLY TEST * TSTEM NOP JSB ZSGD,I DEF MSGE LDA POS1 JSB ZFINI,I CLA STA EXPNT LDA POS2 SET OPND WORDS STA OWRDS ODEMR CLA,CLE JSB ZETOP,I RESET POINTERS DEF BFBGE ‡úþú DEF BFNDE ODEML CLA,INA JSB ZETOP,I GET OPND PAIR JMP ODEMR LDA EXPNT INC EXP INA STA EXPNT CPA PS256 CHECK FOR DONE JMP TSTEM,I STA OND13+4 PUT EXP IN OPNDS STA OND23+4 JSB WIEXM TEST HW ISZ OND23+4 TRY IT AGAIN WITH 2ND OP INCED NOP JSB WIEXM TEST IT LDA OND13+4 COMLEMENT 1ST OPND CMA STA OND13+4 JSB WIEXM TEST LDA OND23+4 COMPL 2ND OPND CMA STA OND23+4 JSB WIEXM ISZ OND23+4 INC 2ND OP NOP JSB WIEXM TEST JMP ODEML BACK FOR THE NEXT BASE * * OVERFLOW MULTIPLY TEST * TSTOM NOP LDA POS2 JSB ZFINI,I JSB ZSGD,I DEF MSGO LDA POS2 SET OWRDS STA OWRDS CLA,CLE CLEAR GETOP JSB ZETOP,I DEF BFBGO DEF BFNDO ODOML CLA,INA GET OPND PAIR JSB ZETOP,I JMP TSTOM,I NEXT TEST JSB WIEXM TEST HW JMP ODOML TRY NEXT PAIR * * * * * MIXED MULTIPLY TEST * TSTMM NOP JSB ZSGD,I DIAG. INFO DEF MSGM LDA POS3 JSB ZFINI,I LDA POS1 # OPERAND WORDS-1 STA OWRDS * BWMML LDA OWRDS TEST #WORDS IN OPNDS CPA POS5 IF=MAX, DONE LOOPING JMP TSTMM,I NEXT TEST INA STA OWRDS #WORDS OPERANDS TRUNCATED TO STA WRDS #WORDS FOR OPERATION ISZ LPCNT CLA,CCE CLEAR OPND BUFFER POINTERS JSB ZETOP,I DEF BFBGM DEF BFNDM ODMML CLA,INA GET NEXT BASE OPNDS JSB ZETOP,I JMP BWMML IF NO MORE OPNDS, INC OPND WORD COUNT LDB OPND1 MIX IT UP JSB ZPMIX,I ISZ EVNOD 2ND OPND LDB OPND2 JSB ZPMIX,I ISZ EVNOD JSB WIEXM RUN THROUGH WORDS, ETC. JMP ODMML GET NEXT OPNDS * WIEXM NOP ISZ OPNDN LDA OWRDS TRUNCATE O³þúPNDS TO CORRECT # WORDS LDB OPND1 JSB ZRNC5,I LDA OWRDS LDB OPND2 JSB ZRNC5,I JSB ZDTST,I TEST OPNDS FOR RANGE JMP WIEXM,I 5WD OVFLW, NO GO LDA OPND1 MOVE OPNDS INTO WORKING BUFFER LDB POND1 CBX SET X,Y TO OPND ADDRS LDY POND2 MVW POS10 LDB ANSW JSB OPADR,I COMPUTE S/W ANSWER IN ANSW LDB PTNST RUN 1ST PATTERN JSB ZRDLP,I TEST WITH DIFFERENT WORD LENGTHS LDB PTNST 2ND PATTERN ADB POS4 JSB ZRDLP,I RUN AGAIN LDB ANSW COMPLEMENT ANSWER JSB ZOM5,I LDB PTNST PATTERN 3 ADB POS8 JSB ZRDLP,I LDB PTNST PATTERN 4 ADB POS12 JSB ZRDLP,I JMP WIEXM,I * * * ROUTINE TO TEST HFP DIV OPERATIONS * * TST07 EQU * * TSTDV NOP JSB ZINIT,I SET PARMS, CALL CWCNF CLA SET UP CLASS# LDA DIVN STA FCTN SAVE OPCODE # ALF SHIFT OPCODE TO BITS 6-4 ADA OPBAS FORM OPCODE STA OPCOD LDA ZIVOP SET UP SW ROUTINE ADDR STA OPADR LDA PTNMD SET UP PATTERN START POINT STA PTNST * JSB ZSGI,I "DIV" DEF MSGDV * * LDA PASSF IF SHORT PASS, ONLY MIXED SZA JMP TSEMD LDA IC CW BITS 13,14 TO PICK A SUBTEST ALF,RAR AND POS3 STA STSTX SZA IF=0, ALL CPA POS1 JSB TSTED IF=1, ONLY TSTED LDA STSTX SZA CPA POS2 IF=2, ONLY TSTOD JSB TSTOD LDA STSTX SZA CPA POS3 IF=3, ONLY TSTMD TSEMD JSB TSTMD JMP TSTDV,I DONE * * * EXPONENT DIVIDE TEST * TSTED NOP LDA POS1 JSB ZFINI,I JSB ZSGD,I DEF MSGE CLA STA EXPNT LDA POS2 SET OPND WORDS STA OWRDS ODEDR CLA,CLE JSB ZETOP,I RESET POINTERS DEF BFBGE pgþú DEF BFNDE ODEDL CLA,INA JSB ZETOP,I GET OPND PAIR JMP ODEDR LDA EXPNT INC EXP INA STA EXPNT CPA PS256 CHECK FOR DONE JMP TSTED,I STA OND13+4 PUT EXP IN OPNDS STA OND23+4 JSB WIEXD TEST HW ISZ OND23+4 TRY IT AGAIN WITH 2ND OP INCED NOP JSB WIEXD TEST IT LDA OND13+4 COMLEMENT 1ST OPND CMA STA OND13+4 JSB WIEXD TEST LDA OND23+4 COMPL 2ND OPND CMA STA OND23+4 JSB WIEXD ISZ OND23+4 INC 2ND OP NOP JSB WIEXD TEST JMP ODEDL BACK FOR THE NEXT BASE * * OVERFLOW DIVIDE TEST * TSTOD NOP LDA POS2 JSB ZFINI,I JSB ZSGD,I DEF MSGO LDA POS2 STA OWRDS CLA,CLE CLEAR GETOP JSB ZETOP,I DEF BFBGO DEF BFNDO ODODL CLA,INA GET OPND PAIR JSB ZETOP,I JMP TSTOD,I NEXT TEST JSB WIEXD TEST HW JMP ODODL TRY NEXT PAIR * * * * MIXED DIVIDE TEST * TSTMD NOP JSB ZSGD,I DEF MSGM LDA POS3 JSB ZFINI,I LDA POS1 # OPERAND WORDS-1 STA OWRDS * BWMDL LDA OWRDS TEST #WORDS IN OPNDS CPA POS5 IF=MAX, DONE LOOPING JMP TSTMD,I NEXT TEST INA STA OWRDS #WORDS OPERANDS TRUNCATED TO STA WRDS #WORDS FOR OPERATION ISZ LPCNT CLA,CCE CLEAR OPND BUFFER POINTERS JSB ZETOP,I DEF BFBGM DEF BFNDM ODMDL CLA,INA GET NEXT BASE OPNDS JSB ZETOP,I JMP BWMDL IF NO MORE OPNDS, INC OPND WORD COUNT LDB OPND1 MIX UP OPNDS JSB ZPMIX,I ISZ EVNOD LDB OPND2 JSB ZPMIX,I ISZ EVNOD * JSB WIEXD TEST HW JMP ODMDL LOOP AGAIN * WIEXD NOP DIVIDE WORD INC+TEST ROUTINE ISZ OPNDN LDA OWRDS TRUNCATE OPNDS TO CORRECT # WORD…@þúS LDB OPND1 JSB ZRNC5,I LDA OWRDS LDB OPND2 JSB ZRNC5,I JSB ZDTST,I TEST OPND RANGES JMP WIEXD,I 5WD OVFLW, NO GO LDA OPND1 MOVE OPNDS INTO WORKING BUFFER LDB POND1 CBX SET X,Y TO OPND ADDRS LDY POND2 MVW POS10 LDB ANSW JSB OPADR,I COMPUTE S/W ANSWER IN ANSW LDB PTNST RUN 1ST PATTERN JSB ZRDLP,I TEST WITH DIFFERENT WORD LENGTHS LDB ANSW COMPLEMENT ANSWER JSB ZOM5,I LDB PTNST 2ND PATTERN ADB POS8 JSB ZRDLP,I RUN AGAIN LDA OPND1 RESTORE OPNDS LDB POND1 CBY THIS TIME ITS Y/X LDX POND2 MVW POS10 LDB ANSW COMPUTE ANSWER JSB OPADR,I LDB PTNST PATTERN 3 ADB POS4 JSB ZRDLP,I LDB ANSW COMPLEMENT ANSWER JSB ZOM5,I LDB PTNST PATTERN 4 ADB POS12 JSB ZRDLP,I JMP WIEXD,I DONE * * SKP * * * ROUTINE TO TEST HFP FIX SINGLE AND DOUBLE OPERATIONS * S/D SELECTED BY EVEN/ODD TEST # * * TST00 EQU * TST01 EQU * TSTFX NOP JSB ZINIT,I SET PARMS, CALL CWCNF LDA TSTIX SET INTWD ACCORDING TO SINGLE OR DOUBLE ADA TSTN LDA A,I AND POS1 STA INTWD LDB FIXN STB FCTN SAVE OPCODE # BLF ADB OPBAS FORM OPCODE SZA IF DOUBLE, SET BIT 3 OF INSTR ADB POS4 STB OPCOD LDA ZIXOP SET UP SW ROUTINE ADDR STA OPADR * LDA PTNAD SET UP PATTERN START POINT STA PTNST * LDA INTWD SEND MSG FOR FIXS,FIXD SZA JMP *+4 JSB ZSGI,I "FIXS-D" DEF MSGXS JMP *+3 JSB ZSGI,I DEF MSGXD * * LDA PASSF IF SHORT PASS, ONLY MIXED SZA JMP TSEMX LDA IC USE CW BIT 14,13 TO PICK A SUBTEST ALF,RAR AND POS3 ST&ìB@0 ISZ STKP GET # WORDS LDA STKP,I ISZ STKP POINT TO ADDR SZA,RSS IF #WORDS=0, GO HOME JMP SWSOP,I LDA STKP,I ELSE MOVE IN BUFFER MVW POS5 B HAS ADDRESS LDA FCTNT IF FLOAT, THATS ALL CPA FLTN JMP SWSOP,I LDA WRDS ELSE UNPACK # ADB NEG5 JSB ZNPK5,I JMP SWSOP,I DONE! * * SWSEN LDA XWSTK,I JUMP OVER ERROR RETURN ADA POS1 JMP A,I RETURN TO CALLER * * SKP * * ROUTINE TO TEST SIS TAN * * * SIS TESTS * TESTS SIS TAN,SQRT,ALOG,ATAN,COS,SIN,EXP,ALOGT, AND TANH ROUTINES * * TSTS1 TESTS TAN,ALOG,ATAN,COS,SIN,ALOGT * TST09 EQU * TSTS1 NOP JSB ZINIT,I SET PARMS, CALL CWCNF LDA SISN SET FCTN STA FCTN * JSB ZSGI,I "SIS1" DEF MSGS1 * LDA NEG16 LOOP ON TESTS 16 TIMES STA TSTLP SS1LP JSB ZSTTN,I TAN JSB ZSTAL,I ALOG JSB ZSTAT,I ATAN JSB ZSTCS,I COS JSB ZSTSN,I SIN JSB ZSTLT,I ALOGT * ISZ TSTLP INC LOOP COUNT JMP SS1LP NOT DONE YET JMP TSTS1,I DONE NOW * * * 2ND MODULE SIS TESTS, FOR SQRT,EXP,TANH * TST10 EQU * TSTS2 NOP JSB ZINIT,I SET PARMS, ETC LDA SISN SET FCTN STA FCTN LDA NEG16 LOOP COUNT STA TSTLP * ÝÊþú JSB ZSGI,I "SIS2" DEF MSGS2 * SS2LP JSB ZSTSQ,I SQRT JSB ZSTXP,I EXP JSB ZSTTH,I TANH * ISZ TSTLP TEST FOR LOOP COUNT JMP SS2LP NOT DONE YET JMP TSTS2,I * * TSTTN NOP LDA TANN SET UP FUNCTION NUMBER STA STSTN ALSO SUB TEST# LDA TANOP SET UP MACRO * LDB TANBF GET ADDR OF OPND-ANSWER BUFFER JSB ZSTSI,I GO TEST AS OTHERS DEF TANBF JMP TSTTN,I DONE, GO TO NEXT TEST * * * ROUTINE TO TEST SIS SQRT * TSTSQ NOP LDA SQTN SAME AS FOR TANGENT STA STSTN LDA SQTOP * LDB SQTBF JSB ZSTSI,I GO TEST IT DEF SQTBF JMP XSTSQ,I * * * ROUTINE TO TEST SIS ALOG * TSTAL NOP LDA ALGN ON AND ON STA STSTN LDA ALGOP * LDB ALGBF JSB ZSTSI,I DEF ALGBF JMP TSTAL,I * * * ROUTINE TO TEST SIS ARCTANGENT * *TST12 EQU * TSTAT NOP LDA ATNN STA STSTN LDA ATNOP * LDB ATNBF JSB ZSTSI,I DEF ATNBF JMP XSTAT,I * * * ROUTINE TO TEST SIS COSINE * TSTCS NOP LDA COSN STA STSTN LDA COSOP * LDB COSBF JSB ZSTSI,I DEF COSBF JMP TSTCS,I * * * ROUTINE TO TEST SIS SINE * * TSTSN NOP LDA SINN STA STSTN LDA SINOP * LDB SINBF JSB ZSTSI,I DEF SINBF JMP TSTSN,I * * * ROUTINE TO TEST SIS EXP * TSTXP NOP LDA EXPN STA STSTN LDA EXPOP * LDB EXPBF JSB ZSTSI,I DEF EXPBF JMP TSTXP,I * * * ROUTINE TO TEST SIS ALOGT * TSTLT NOP LDA ALTN STA STSTN LDA ALTOP * LDB ALTBF JSB ZSTSI,I DEF ALTBF JMP TSTLT,I * * * ROUTINE TO TEST SIS TANH * TSTTH NOP LDA TNHN STA STSTN LDA TNHOP * LDB TNHBF JSB ZSTSI,I DEF TNHBF JMP TSTTH,I * [Âþú * * * * ROUTINE TO TEST SIS FIRMWARE, COMMON SECTION * ON ENTRY, A=OPERATION MACRO, B=ADDR OF OPND-ANSWER BUFFER * TSTSI NOP STA INSTR SAVE INSTRUCTION STA YIOPN,I SET UP MACRO LDB XSTSI,I GET ADDR OF BUFFER ISZ ZSTSI,I INC RTN ADDR RO PROPER PLACE STB SIBFP SAVE POINTER TSTSL ISZ OPNDN INC OPND IDENT LDA SIBFP SAVE BUFFER POINTER IN CASE LOOPING STA SIBFS SISLP LDA ZERO CLEAR ANSWER LDB ANSW1 MVW POS6 LDA ZERO CLEAR RESULT LDB RSLT1 MVW POS6 LDA SIBFP PUT OPERAND ADDRESS IN X CAX LDA SIBFP,I GET NEXT OPND INA,SZA,RSS IF=-1, DONE JMP XSTSI,I ADA NEG1 NO, GO ON CLO SET OR CLEAR OVERFLOW, DEPENDING ON PASS LDB TSTLP SLB STO ISZ SIBFP GET 2ND WORD LDB SIBFP,I ISZ SIBFP SIOPN NOP GET FIRMWARE RESULT ISZ RST13+2 IF ERROR RETURN,WORD=1 SISCP RSS NORMALLY COMPARE ANSWERS, ETC. JMP SIELP IF CW BIT 10 SET, GO CHECK LOOPING STA RST13 SAVE RESULT STB RST13+1 LDA SIBFP,I GET CORRECT ANSWER STA ANS13 SAVE LDB STSTN IF ATAN OR TANH, ALWAYS "ERROR" RETURN CPB ATNN JMP SIERN CPB TNHN JMP SIERN CLE,ELA IF 1ST WORD UPPER BITS=00, BUT NOT=0 SEZ,SSA,RSS THEN OVERFLOW, ERROR RETURN SZA,RSS JMP SIAOV ISZ ANS1O SIERN ISZ ANS13+2 SIAOV SOC SET FIRMWARE OVERFLOW ISZ RST1O ISZ SIBFP GET 2ND WORD OF ANSWER LDA SIBFP,I STA ANS13+1 * JSB ACPRT PRINT ALL ISZ SIBFP POINT TO NEXT WORD (1ST OF NEXT OPND) LDA ANSW1 COMPARE RESULTS LDB RSLT1 CMW POS6 JMP SIELP IF=, TEST FOR LOOPING NOP ERROR LDA POS2 2 WORD OPERATIONS STA WRDS STA WDIN STA WDOUT LDf þúA POS8 FORM ERROR CODE ADA STSTN STA ECODE CLA 1ST TRY, A=0 JSB ZRANS,I PRINT ERROR MESSAGE SIELP RSS NORMALLY GO TO NEXT OPERANDS JMP SISTT IF LOOP MODE, TEST CW JMP YSTSL,I GET NEXT OPND SISTT JSB ZWCHK,I TEST CW, SET PARMS LDA SIBFS SET POINTER BACK TO THIS OPERATION STA SIBFP JMP SISLP REPEAT LAST OPERATION * * * SKP * * ROUTINE TO TEST 5 WORD UNPACKED OPERANDS FOR RANGE * SETS ODFLG BASED ON THE MOST RESTRICTIVE OPERAND AS FOLLOWS * ODFLG= 0 NO RESTRICTIONS, STD OR 5 WORD FORMAT * 1 STD. OPERAND CANNOT BE COMPLEMENTED (5 WORD CAN) * 2 STD. OPERAND OVERFLOW, 5 WORD O.K. * 3 STD. OVERFLOW, 5 WORD CANNOT BE COMPLEMENTED * 4 STD. AND 5 WORD OVERFLOW * * STD. OVERFLOW: EXP.>127 OR <-128 * 5 WD OVERFLOW: EXP.>512 OR <-512 * NO COMPLIMENT: EXPONENT= MAX POS & OPERAND= -1 * OR MAX NEG 1/2 * * OPERAND ADDRESSES IN X,Y * RESULT RETURNED IN ODFLG, IF=4, NO SKIP OTHERWISE 1 INSTR SKIPPED * A,B,E MODIFIED * ODTST NOP CXB CHECK 1ST OPND FOR RANGE JSB ODCHK STA TMP SAVE ODFLG CYB CHECK 2ND OPND JSB ODCHK LDB TMP CMB,INB PUT HIGHER OF 2 VALUES IN ODFLG ADB ODFLG SSB LDA TMP STA ODFLG CPA POS4 IF 5 WORD OVERFLOW, NO SKIP JMP ODTST,I ISZ ODTST IF NOT TOTALLY FATAL, SKIP INSTR JMP ODTST,I * * SKP * * ROUTINE TO TEST AN OPERAND FOR RANGE * B=ADDR OF OPND, RETURN WITH VALUE IN A REG. AND ODFLG * ODCHK NOP CLA CLEAR ODFLG STA ODFLG ADB POS4 A=EXPONENT LDA B,I SSA,RSS IF POS, A=-EXP CMA ADA PS127 TEST FOR EXP<127 AND >-128 SSA,RSS JMP ODCEX IF SO, DONE INA,SZA,RSS TEST FOR EXP=127,-128 JMÙÚþúP ODLMT IF SO, TEST MANTISSA ISZ ODFLG ELSE ODFLG>=2, TEST FOR 5 WRD CASE ISZ ODFLG ADA PS383 127+1+383=511 = 5 WD EXP. TEST SSA,RSS TEST FOR EXP<511 AND >-512 JMP ODCEX IF SO, DONE INA,SZA,RSS ELSE TEST IF=511 OR -512 JMP ODLMT IF SO, TEST MANTISSA LDA POS4 ELSE 5 WD OVERFLOW STA ODFLG PUT VALUE IN FLAG JMP ODCEX ODLMT ADB NEG4 TEST MANT FOR = 1/2 OR -1 LDA B,I A=MOST SIG WORD OF MANT CPA BIT14 TEST FOR 1/2 JMP ODCH0 IF SO TEST OTHER WORDS=0 CPA BIT15 TEST FOR -1 JMP ODCH0 IF SO TEST OTHER WORDS=0 JMP ODCEX IF NOT, DONE ODCH0 INB ADDR OF 2ND WORD LDA B,I SZA JMP ODCEX IF NOT=0, DONE INB TEST 3RD WORD LDA B,I SZA JMP ODCEX INB TEST 4TH WORD LDA B,I SZA,RSS ISZ ODFLG IF ALL WERE=0, INCREMENT ODFLG ODCEX LDA ODFLG A REG. = RETURN VALUE JMP ODCHK,I DONE * * SKP * * * ROUTINE TO LOOP FROM OWRDS TO 5, TESTING HFP * ON ENTRY, B=ADDR OF 1ST OF 2 PAIRS OF OPERANDS TO EXECUTE (SAME RESULT) * A,B,X,Y,E MODIFIED * WRDLP NOP STB OPNDS SAVE ADDR OF OPND PAIRS LDA OWRDS SET START # WORDS LDB WDFLG =#WRDS>=OPWRDS CPA POS2 IF=2, READY JMP YWDLP,I BRS IF=3, START THERE CPA POS3 JMP YWDLP,I BRS CPA POS4 JMP YWDLP,I BRS IWDLP STB WDFLL SAVE ROTATED WDFLG STA WRDS STA WDIN SET #INPUT AND OUTPUT WORDS TO SAME STA WDOUT SLB,RSS IF LSB=0, DONT TEST ON THIS #WORDS JMP YRDUP,I ADA NEG2 FORM INSTRUCTION ADA OPCOD STA INSTR JSB ZZOPN,I ROUND,TRUNC & PACK S/W ANSWER JSB ZWOND,I SET POND1,NOND1,POND2,NOND2 LDA OPNDS,I X,Y = ADDRS OF 1ST OPNDS CAX /‚þúLDA OPNDS ADA POS1 LDA A,I CAY JSB ZWTST,I GET & COMPARE HFP RESULTS LDA OPNDS ADA POS2 LDA A,I CAX LDA OPNDS ADA POS3 LDA A,I CAY JSB ZWTST,I GET & COMPARE HFP RESULTS WRDUP LDB WDFLL GET NEXT WORD FLAG BRS LDA WRDS A=#WRDS INA INC FOR NEXT TIME SZB IF=0, NO MORE LOOPS JMP YWDLP,I ELSE TRY AGAIN JMP XRDLP,I IF SO, DONE-- RETURN * SKP *ROUTINE TO ROUND, CHECK, AND PACK SW ANSWERS * WITH BIT 7 =0,1 *GENERAL ANSWER IN ANSW *ANSWERS RETURNED IN ANSW1,ANSW2 *A,B,E LOST * SWOPN NOP * LDA FCTN TEST FOR FIX,FLOAT CPA FIXN JMP SWFIX CPA FLTN JMP SWFLT * LDA ANSW MOVE GEN. ANS INTO WORKING BUFFER LDB ANSW1 MVW POS5 LDB ANSW1 STD. ANSWER LDA WRDS ROUND ANSWER TO # OF WORDS JSB ZND5,I LDA ANSW1 MOVE ANSWER TO ANSW2 ALSO LDB ANSW2 MVW POS5 LDA WRDS CHECK FOR OVERFLOW-- BIT 7=0 LDB ANSW1 CLE FOR BIT 7=0 JSB ZXPCK,I CLA TEST OVERFLOW SOC INA STA ANS1O LDA WRDS PACK ANSW1 JSB ZAK5,I * LDA WRDS CHECK FOR OVERFLOW-- BIT 7=1 LDB ANSW2 CCE FOR BIT 7=1 JSB ZXPCK,I CLA TEST FOR OVERFLOW SOC INA STA ANS2O LDA WRDS PACK ANSW2 JSB ZAK5,I JMP SWOPN,I DONE * * * SWFIX DLD ANSW+1 PUT ANSWER IN ANSW1,2 DST ANS13 DST ANS23 LDA ANSO SAVE OVERFLOW STA ANS1O STA ANS2O JMP SWOPN,I ALL DONE * * * SWFLT LDA ANSW MOVE ANSWER INTO WORKING BUFFER LDB ANSW1 MVW POS5 LDB ANSW1 PACK ANSWER LDA WRDS JSB ZAK5,I LDA ANSW1 PUT SAME IN ANSW2 LDB ANSW2 MVBFEND, RESET PTR2 AND ADVANCE PTR1 ADA BFEND SSA,RSS JMP YNCNT,I ELSE GET OPERAND INCP1 LDA PTR1 ADVANCE PTR1 ADA ONDUP GPBEX STA PTR1 STA PTR2 PTR2=PTR1 CMA,INA IF PTR1>BFEND, RETURN WITHOUT SKIP ADA BFEND AND WITHOUT OPND SSA JMP GETOP,I RETURN W/O SKIP, ALSO YESET,I GPCNT... INCNT ISZ GPCNT RTNOP LDA PTR1 PUT 1ST OPND IN OPND1 LDB OPND1 CBX XR=OPND1 ADDR MWP1 MVW POS5 LDA PTR2 PUT 2ND OPND IN OPND2 LDB OPND2 CBY YR=OPND2 ADDR MWP2 MVW POS5 ISZ ZETOP,I NORMAL EXIT WITH SKIP JMP XETOP,I LAND HO, MATESìþú * * THIS SECTION RETURNS INDEXED OPERANDS * INXOP LDA OPTR GET INDEXES TO OPERANDS ADA GPCNT LDA A,I SSA IF INDEX<0, DONE WITH THIS PART JMP YSET2,I SET UP FOR ALL COMB TEST STA INXP SAVE INDEX WORD AND LWBYT A=INDEX OF 2ND OPND IN TABLE LDB A MPY INDEX BY 5 TO GET OFFSET ALS,ALS ADA B ADA BFBGN FORM PTR2 STA PTR2 LDA INXP HIGH BYTE HAS 1ST OPND ADDR ALF,ALF AND LWBYT LDB A MPY INDEX BY 5 TO GET OFFSET ALS,ALS ADA B ADA BFBGN FORM PTR1 STA PTR1 JMP YNCNT,I INC COUNT AND PUT OPNDS IN OPND1 & 2 * *INITIALIZATION SECTION * RESET CLA CLEAR COUNTER STA GPCNT STA INXF =0 FOR INDEXED OPNS, 1 FOR EXHAUSTIVE * LDA GETOP,I GET OPND BUFFER LIMITS STA BFBGN ISZ GETOP LDA GETOP,I STA BFEND ISZ GETOP * LDA INXBF SET UP INDEX POINTER ADA FCTN ADD IN CODE OF OPERATION LDA A,I GET ADDR OF BUFFER FOR CURRENT OPERATION SEZ,RSS IF E=0, NO INDEXING LDA ONES STA OPTR JMP XETOP,I THATS ALL FOR NOW RSET2 LDA BFBGN SET PTR1 TO BFBGN, ISZ INXF SET UP FOR EXHAUSTIVE TEST JMP YPBEX,I SET PTR1, PTR2 TO BFBGN, GET OPNDS * * * * ROUTINE TO ADJUST STANDARD OPERANDS, BOTH MANTISSA AND EXPONENT * USES PASS COUNT, WDCNT * * ON ENTRY BREG=ADDR OF OPERAND * * MODIFIES A,B,E * OPMIX NOP LDA B,I IF MANT=0, DON'T CHANGE IT SZA,RSS JMP OPMIX,I ADB POS4 FORM EXP. ADDR STB TMPB SAVE IT LDA EVNOD IF ODD, USE LAST OPNDS BASE SLA JMP OPMBS * JSB ZANF,I GET FP #, A=EXP, B=MANT STA BASSV SAVE IT JSB ZANF,I ANOTHER ADA BASSV STA BASSV OPMBS JSB ZANF,I AGAIN ADA BASSV -45= A REG * ASCNV NOP CCA,CLE START WITH UPPER BYTE, OCTAL LDB INBUZ JSB AS2N,I CONF. ROUTINE JMP ASCNV,I THATS IT! * * * * * SKP * * * SUBR TO SET UP NUMBERS FOR ERROR MESSAGES * CLEARS BUFFERS AND LOADS IN OPNDS,RESULTS, AND CALLS ERMS * OPERR NOP * LDA FCTN IF ACC. OPN, NO OPERANDS CPA ACCN JMP LDRST LDA WDIN SET UP NUMBER OF INPUT WORDS STA WRDSL LDA OTND1 LOAD ASCII OF 1ST OPND LDB PPER3 JSB ZTROP,I LDA FCTN IF FIX OR FLOAT, NO 2ND OPND CPA FIXN JMP LDRST CPA FLTN JMP LDRST LDA OTND2 2ND OPERAND LDB PPER4 JSB ZTROP,I LDRST LDA WDOUT SET UP NUMBER OF OUTPUT WORDS STA WRDSL LDA ARSLT ACTUAL RESULT LDB PPER5 JSB ZTROP,I STB TMPB NOW PUT ACTUAL OVFLW IN BUFFER AFTER IT LDA ASCOF STA TMPB,I ISZ TMPB LDA ASCOF+1 STA TMPB,I ISZ TMPB LDA AOVFL ADA ASC0 ADA UBLNK STA TMPB,I ISZ TMPB ISZ TMPB SKIP OVER BLANK FIELD LDA CLASF TEST FOR SIS AND BT6.7 SZA,RSS JMP OPAND LDA ASCRT PUT ASCII OF ERROR RETN IN BUFFER STA TMPB,I ISZ TMPB LDA ASCRT+1 STA TMPB,I ISZ TMPB LDA RST13+2 GET RETN FLAG CMA IF LSB SET, NO SKIP AND POS1 ADA POS1 RTN=1 OR 2 ÀŒB@< ADA ASC0 STA TMPB,I ISZ TMPB ISZ TMPB OPAND LDA MSGND PUT TERM. AFTER LAST WORD STA TMPB,I LDA ERSLT EXPECTED RESULT LDB PPER7 JSB ZTROP,I STB TMPB PUT EXPECTED OVFLW IN BUFFER LIKEWISE LDA ASCOF STA TMPB,I ISZ TMPB LDA ASCOF+1 STA TMPB,I ISZ TMPB LDA EOVFL ADA ASC0 ADA UBLNK STA TMPB,I ISZ TMPB ISZ TMPB LDA CLASF AND BT6.7 SZA,RSS JMP YPEND,I LDA ASCRT STA TMPB,I ISZ TMPB LDA ASCRT+1 STA TMPB,I ISZ TMPB LDA ANS13+2 CMA AND POS1 ADA POS1 ADA ASC0 STA TMPB,I ISZ TMPB ISZ TMPB OPEND LDA MSGND STA TMPB,I * JMP XPERR,I * * SKP * SUBR TO STORE N WORDS IN BUFFER, AR=FROM ADDR,BR=TO ADDR * N TAKEN FROM WRDSL * STROP NOP STA TMPA SAVE ADDR OF NUMBERS ADB POS8 SAVE ADDR OF BUFFER LDA WRDSL CMA,CLE,INA STA CNT SET CNT= -#WORDS STRLP STB TMPB SAVE CURRENT POINTER LDA TMPA,I STORE NUMBER JSB O2AS,I ISZ TMPA GET NEXT NUMBER LDB TMPB GET NEXT LOCATION ADB POS4 ISZ CNT TEST FOR DONE ‘=Bÿÿ ÿý|Œ ÿ12740-18007 1822 S C0122 FPP-SIS              H0101 ×mþú JMP STRLP NO -- PROCESS NEXT WORD LDA MSGND PUT TERM. AFTER BUFFER STA B,I JMP XTROP,I PULL ANCHOR & SET THE MIZZEN * * SKP * SUBR TO PUT ASCII OF ERROR CODE IN A BUFFER * * STHLT NOP LDA ETYPS GET ERROR TYPE ADA TSTN LDA A,I STA ETYPE LDA TSTBT IF ASMDXT, COMPUTE ECODE AND BT0.7 SZA,RSS JMP STHLD LDA TSTN ECODE=(AND(TSTN,3)*12+TRYN*4+WRDS-2 AND POS3 MPY POS12 LDB TRYN BLR,BLR ADA B ADA WRDS ADA NEG2 USE WRDS-2 STA ECODE STHLD LDA ETYPE NOW MAKE ASCII ADA ASC0 ADA UPE UPPER BYTE="E" STA PPER1,I PUT IN ERROR BUFFER LDA ECODE NOW FOR ERROR CODE AND POS7 ADA ASC0 LDB ECODE BRS,BRS BRS ADB ASC0 BLF,BLF MOVE TO UPPER BYTE ADA B PUT IN A TOO LDB PPER1 GET ADDR INB STA B,I PUT ASCII OF ERROR IN BUFFER JMP XTHLT,I NOW WE CAN RELAX * SKP * * SUBR TO STORE MNEMONIC OF OPERATION IN BUFFER * BR= ADDR OF BUFFER, FCTN IS USED AS INDEX * STRFN NOP LDB PPER1 GET INSTR MNEMONIC ADDR ADB POS3 STB TMPB SAVE ADDR OF BUFFER LDA ASCTX STORE FUNCTION NAME IN BUFFER ADA TSTN LDA A,I ADA STSTN ADA STSTN LDB A,I B=1ST WORD STB TMPB,I PUT IN BUFFER INA NEXT WORD TOO LDB A,I ISZ TMPB STB TMPB,I JMP STRFN,I JIBE HO! * * * * * ROUTINE TO INITALIZE PARAMETERS FOR ALL TESTS, ETC. * TINIT NOP LDA CLASX SET UP CLASF ADA TSTN LDA A,I STA CLASF * LDA DBIT0 SET BIT IN TSTBT FOR THIS TEST ADA TSTN LDA A,I STA TSTBT * * CLA CLEAR OPNDN STA OPNDN STA TRYN STA LPCNT SUB LOOP COUNT STA EVé§þúNOD STA OPNNL CLEAR LOG. OPN# STA STSTN STA SFCTN SUB FUNCTION STA TECNT ALSO TEST ERROR COUNT LDA POS1 SET LOWRD, HIWRD STA LOWRD LDA POS5 STA HIWRD LDA POS15 ALSO WDFLG STA WDFLG JSB ZTSTI,I SET UP STSTB * * JSB ZANFI,I INIT RANF FOR PASSL * * JSB ZWCHK,I TEST & GET CW JSB ZWCNF,I * JMP TINIT,I DONE * * * ROUTINE TO SET STSTB FROM STSTN * STSTI NOP LDA STSTN ADA DBIT0 LDA A,I STA STSTB * JMP STSTI,I * * * ROUTINE TO INITIALIZE SUB FUNCTIONS-- CLEAR OPNDN, SET SFCTN * ON ENTRY, A=SFCTN * SFINI NOP STA SFCTN CLA STA OPNDN JSB ZANFI,I INIT. RAND.# GEN. JMP SFINI,I * * ROUTINE TO HANDLE LOGICAL PASS COUNT, CALLED FROM CNTL SECTION * PASSL IS DECREMENTED IF CW BIT 9 IS SET (ITS INC'D IN CNTL SECTION) * PASND NOP LDA IC CHECK CW BIT 9 AND BIT9 SZA,RSS IF NOT SET, JUST RETURN JMP PASND,I LDA PASSL IF SET, DEC IT, SINCE IT WAS INC'D ALREADY ADA NEG1 STA PASSL JMP PASND,I * * * ROUTINE TO SET PASS FLAG FOR SHORT OR LONG PASSES, ALSO ONDUP * PASST NOP * IFZ LIA 1 GET SW XIF * IFN LDA IS XIF * * AND BIT8 IF BIT 8 SET, SHORT PASSES CPA PASSF IF SAME, DON'T CHANGE ANYTHING JMP PASST,I GO HOME STA PASSF ELSE SAVE NEW FLAG SZA,RSS TEST FOR LONG PASSES JMP PSLNG LDA POS15 SHORT, SPACE BETWEEN OPNDS STA ONDUP LDA NEG64 STA ACLPS JSB MSGC,I TELL OPERATOR DEF MSGSP JMP PASST,I DONE * PSLNG LDA POS5 USE ALL OPNDS STA ONDUP LDA N1000 STA ACLPS JSB MSGC,I TELL OPERATOR DEF MSGLP "LONG" JMP PASST,I DONE NOW * * * * * * „WþúROUTINE TO SET PARAMETERS BASED ON CONFIGURATION WORD (CW) * * MODIFIES A,B,E * CWCHK NOP * IFZ LIA 1 TEST FOR SR BIT 7 SET AND BIT7 SZA,RSS IF NOT, DONE JMP XWCHK,I LDA ICEN TEST PRIV. FLAG SZA,RSS IF NOT SET, IGNORE JMP XWCHK,I LDA IC GET CW LDB PASSL B REG=PASSL INB INC FOR USER HLT 67B WAIT FOR OPERATOR STA IC SAVE ADB NEG1 DEC PASSL FOR USER STB PASSL SAVE NEW PASSL JSB CWCNF NOW SET ACCORDINGLY JMP XWCHK,I DONE XIF * IFN IF SYSTEM VERSION--- JSB IFBRK TEST FOR USER CHANGES DEF *+1 SZA,RSS IF NOT, TEST FOR CHANGE JMP CWTST JSB DNPUX ELSE GET INPUT PARAMS DEF *+1 LDA IC UPDATE ICOLD, GO TO CWCNF CWUPD STA ICOLD JSB CWCNF JMP XWCHK,I DONE * CWTST LDA IC TEST FOR CHANGE CPA ICOLD JMP XWCHK,I SAME, DONE JMP CWUPD UPDATE, CONF. XIF * CWCNF NOP LDA IC GET CONF. WORD LDB POS1 SLA IF LSB SET, SET PRIV FLAG STB ICEN SLA,RSS IF BIT0=0, MASK OFF ALL BIT 15 AND BIT15 RAR,RAR SET UP LOWRD STA TMPA SAVE ROTATED WORD CMA BIT SET FOR EXECUTION AND POS15 ONLY WORD BITS STA WDFLG SAVE IN FLAG WORD CLB FIRST CLEAR LOWRD,HIWRD STB LOWRD STB HIWRD SLA,RAR IF BIT SET HIWRD=2 LDB POS2 SLA,RAR LDB POS3 SLA,RAR LDB POS4 SLA LDB POS5 STB HIWRD SLA,RAL NO BACK FOR LOWRD LDB POS4 SLA,RAL LDB POS3 SLA,RAL LDB POS2 SLA LDB POS1 STB LOWRD LDA TMPA TEST FOR DIRECT OPNS RAR,RAR RAR,RAR STA TMPA LDB RSS Ðþú NORMALLY, PUT RSS IN LOCS SLA CLB IF BIT SET, USE NOPS STB Z.D21,I STB Z.D31,I STB ZIX21,I STB ZIX31,I STB ZLT21,I STB ZLT31,I STB ZPAN1,I * LDA TMPA SIMILARLY FOR BIT7, INDIRECTS RAR STA TMPA LDB RSS SLA CLB STB Z.D22,I STB Z.D32,I STB ZIX22,I STB ZIX32,I STB ZLT22,I STB ZLT32,I STB ZPAN2,I * LDA TMPA AND FOR BIT 8, THE 3RD OPERATION RAR STA TMPA LDB RSS SLA CLB STB Z.D23,I STB Z.D33,I STB ZIX23,I STB ZIX33,I STB ZLT23,I STB ZLT33,I STB ZPAN3,I STB ZCBT7,I * * LDA TMPA IF BIT 9 SET, OPNDS WON'T VARY FROM PASS TO PASS RAR STA TMPA NOT DONE HERE, SEE PASND * * * * * LDA TMPA BIT 10, TEST FOR SHORT ERROR MESSAGES RAR STA TMPA LDB RSS SLA CLB STB ZRAST,I * LDA TMPA BIT11, IF SET DON'T COMPARE HW & SW ANSWERS RAR STA TMPA LDB RSS NORMALLY RSS= COMPARE SLA CLB STB YTDCP,I ASMDXT COMPARE STB YCCCP,I ACC. OPNS STB YISCP,I SIS TESTS * * * LDA TMPA TEST FOR BIT 12 CLEAR RAR STA TMPA SLA IF SET, DON'T DO ANYTHING JMP XWCNF,I LDB RSS IF CLEAR, STOP LOOPS STB ZTELP,I STB ZCELP,I STB ZIELP,I * JMP XWCNF,I * * * SKP * * ROUTINE TO INIT. RANF FOR PASSL (EXEC. PASSL TIMES) * RANFI NOP LDA SEED SET UP START PARM STA LAST LDA PASSL CMA,INA,SZA,RSS IF=0, DONE JMP RANFI,I STA CNT JSB ZANF,I DO IT ISZ CNT CHECK IF DONE JMP *-2 NO JMP RANFI,I YES * RANF NOP RANF1 CLA SET SHIFT COUNT STøRþúA RFCNT LDA LAST GENERATE A NEW 30-BIT RANDOM NUMBER MPY SEED RRR 3 STA LAST RRL 6 * * LEFT-JUSTIFY NUMBER IN (B,A) * ELB,CLE,ERB CLEAR SIGN SZB,RSS JMP RANF3 IF B=0, RESTART SEQUENCE RANF2 RRL 1 ISZ RFCNT SSB,RSS JMP RANF2 RRR 1 HIGH BIT IS IN B<14> * AND UPBYT CLEAR EXPONENT FIELD * STA TMPRF SAVE * * INSERT EXPONENT = - SHIFT COUNT * LDA RFCNT SHIFT COUNT + 1 CMA,INA EXP - 1 INA EXP * RAL FORMAT IT * AND LWBYT * IOR TMPRF INSERT INTO NUMBER * RRR 16 SWITCH A,B JMP XANF,I EXIT * * SEQUENCE HAS DEGENERATED, RESTART IT * RANF3 LDA SEED STA LAST ISZ RSCNT TALLY JMP RANF1 JMP RANF1 * * * ROUTINE TO PRINT DIAG. INFO MSGES IF CW BIT 1 NOT SET * CALL WITH JSB MSGI, DEF MSG. * MSGI NOP LDA MSGI,I GET ADDR OF MESSAGE STA DFMSI STORE FOLLOWING JSB MSGC ISZ MSGI POINT TO RETURN ADDR LDA IC CHECK FOR SEND RAR,SLA IF BIT1 OF CW SET, NO SEND JMP MSGI,I RETURN JSB MSGC,I SEND MESSAGE DFMSI BSS 1 JMP MSGI,I DONE * * * * ROUTINE TO PRINT DIAG. MSGS IF CW BIT 1 NOT SET, BUT PRIV. MODE * CALL WITH JSB MSGD, DEF MSG. * MSGD NOP LDA MSGD,I GET MSG ADDR STA DFMSD STORE ADDR AFTER JSB ISZ MSGD POINT TO RETN ADDR LDA IC TEST FOR PRINT SLA IF NOT PRIV, OR CW BIT1 SET, NO GO RAR,SLA JMP MSGD,I JSB MSGC,I SEND IT DFMSD BSS 1 JMP MSGD,I * * SKP * * * S/W ARITHMETIC ROUTINES * UNL * * SUBR TO MPY TWO 5 WORD OPNDS B=XR+YR * B,XR YR ARE DEFS TO BUFS * A IS LOST * *E MPYOP NOP STB RSLT RESULT =ADDR OF RSLT BUFFR STX MPX SAVE X ADDR džþú CLA,CLE CLEAR SIGN COUNTER STA SIGN LDB MPX,I A=X3 SSB,RSS IF X3<0, X3=-X3,B=1 JMP TSTY1 TEST Y LDB MPX A=X ADDR JSB ZOM5,I * ISZ SIGN TSTY1 LBY 0 B=Y3 CLE,SSB,RSS IF Y3<0 Y3=-Y3,A=A+1 JMP CLRA ELSE CONTINUE CYB B=ADDR OF Y JSB ZOM5,I * ISZ SIGN * CLRA CLA,CLE CLEAR ACC LDB ACC STA B,I INB STA B,I INB STA B,I INB STA B,I LDX ACC X=ACC ADDR LDA NEG63 CNT=-63 STA MPCNT MPYLP LDB MPX B=X ADDR JSB ZR4,I X=X/2,E=LSB LDB ACC B=ACC ADDR SEZ,CLE IF LSB=1, THEN ACC=ACC+Y JSB ZUMOP,I * JSB ZR4,I ACC=ACC/2 CLE IGNORE LSB ISZ MPCNT IF 63 TIMESD, DONE JMP MPYLP ELSE LOOP LDX MPX XR=X LAX 4 A=XEXP LBY 4 B=BEXP ADA B A=AEXP+YEXP LDB RSLT ADB POS4 B=REXP STA B,I REXP=XEXP+YEXP+1 CLA,CLE RSLT=ACC STA MVWP+2 LDA ACC LDB RSLT MVWP MVW POS4 LDB RSLT NORM RESULT LDA SIGN IF SIGN ODD, RSLT=-RSLT CLE,SLA JSB ZOM5,I * JSB ZORM5,I * JMP MPYOP,I DRIVE HER HOME, BOYS * SKP * * THIS HERE IS A SUBROUTINE TO COMPLEMENT (NOT COMPLIMENT) A * 5 WORD OPERAND, WHOSE ADDRESS IS IN B * YOU WILL LOSE A! * POSSIBLE PROBLEM-- RETURNS 1.1000.... FOR COMPL. OF 0.1000.... * *E COM5 NOP STB TMP SAVE RSLT ADDR ADB POS3 X0=-X0 LDA B,I CMA,CLE,INA STA B,I LDB TMP X1=X1'+COUT(X0) ADB POS2 LDA B,I CMA,SEZ,CLE INA STA B,I LDB TMP X2=X2'+COUT(X0) ADB POS1 LDA B,I CMA,SEZ,CLE INA STA B,I LDB TMP LDA B,ΠþúI X3=X3'+COUT(X2) CMA,SEZ,CLE,RSS IF NO CIN, DONE JMP STX3 SSA,INA ELSE INC, & CHECK FOR OVFLW JMP TNRM IF XIN WAS +, CHECK FOR NORM. OUTPUT CCE,SSA,RSS CHECK FOR SIGN CHANGE, SET E CLE,RSS IF SO, OK-- CLEAR E & STORE X3 RAR X3 WAS -1, SHIFT RIGHT & BUMP EXP STX3 STA TMP,I ADB POS4 B=EXP ADDR SEZ,CLE BUMP EXP IF OVFLW ISZ B,I JMP *+1 IN CASE THE TUKEY TRIES TO SKIP LDB TMP RESTORE TMP ADDR JMP XOM5,I I'LL TAKE A COLD BEER AFTER ALL THAT WORK TNRM STA TMP,I SAVE X0 CLE,ELA CHECK FOR BIT 14=1 SSA,RSS IF NOT, THATS ALL FOR NOW JMP XOM5,I RETURN STA TMP,I ELSE NORMALIZE NUMBER ADB POS4 DECREMENT EXPONENT LDA B,I ADA NEG1 STA B,I LDB TMP RESTORE B REG. JMP XOM5,I * SKP * * SUBR TO SHIFT A 4 WRD OPND RIGHT 1 BIT, MSB=E,E=LSB * OPND ADDR IN B, A LOST * *E * * AR4 NOP STB TMP LDA AR4 SET UP RETURN POINT FROM ER4 STA ER4 LDA B,I DO FIRST WORD, THEN JOIN ER4 ERA,RAL ARS JMP YAR4,I USE THE OTHER CODE * * * ER4 NOP STB TMP SAVE OPND ADDR LDA B,I A=X3,I ERA X3=E,X3/2 EAR4 STA B,I INB LDA B,I X2=X2/2 ERA STA B,I INB LDA B,I X1=X1/2 ERA STA B,I INB LDA B,I X0=X0,2 E=LSB ERA STA B,I LDB TMP JMP XR4,I * SKP * * SUBR TO A 4 WORD OPND LEFT 1 BIT, LSB=E, E=MSB * MODIFIES A * * *E * * EL4 NOP STB TMP SAVE OPND ADDR ADB POS3 LOW MANT LDA B,I ELA STA B,I LDB TMP GET 2ND MANT ADDR ADB POS2 LDA B,I ELA STA B,I LDB TMP ADB POS1 LDA B,I ELA è°þú STA B,I LDB TMP LDA B,I ELA STA B,I JMP EL4,I * SKP * SUBR TO NORMALIZE A 5 WRD OPERAND * ADDR OF OPND IN B, A LOST * *E NORM5 NOP LDA NEG64 INITIALIZE COUNTER STA NMCNT * NMLP LDA B,I ELA CHECK MOST SIG. BITS FOR NORMALIZATION CMA,SEZ,SSA,RSS JMP NMZD IF BITS=01, NORMALIZED SEZ,CLE,SSA JMP NMZD OR IF BITS=10 JSB ZL4,I IF NOT NORM. SHIFT LEFT & TEST AGAIN ISZ NMCNT CHECK FOR MANT=0 JMP NMLP IF NOT CONTINUE STO IF SO, SET OVFLW,E EXP=0 CLA ADB POS4 STA B,I ADB NEG4 CCE JMP NORM5,I NMZD ADB POS4 RSLT EXP= OPND EXP-#SHIFTS LDA NMCNT ADA POS64 A=#SHIFTS CMA,INA ADA B,I STA B,I ADB NEG4 JMP NORM5,I * SKP * * SUBR TO ADD TWO 4 WORD OPNDS B=XR+YR+E * RETURNS COUT,OVFLW, A LOST * * *E SUMOP NOP STB TMP SAVE X,Y,TMP STX SMX STY SMY * LDA SMX LOW MANT ADA POS3 LDA A,I LDB SMY ADB POS3 SEZ,CLE IF CIN, INC WORD INA ADA B,I ADD IN 2ND OPND LDB TMP PUT IN RSLT ADB POS3 STA B,I * LDA SMX ADA POS2 LDA A,I LDB SMY ADB POS2 SEZ,CLE INA ADA B,I LDB TMP ADB POS2 STA B,I LDA SMX 3RD MANT ADA POS1 LDA A,I LDB SMY ADB POS1 SEZ,CLE INA ADA B,I LDB TMP ADB POS1 STA B,I * CLO LDA SMX,I A=X3 LDB SMY,I B=Y3 SEZ,CLE IF CIN INC RSLT(3) INA SOC IF OVFLW, MUST DO SPECIAL ADD JMP SPAD ADA B A=X3+Y3+COUT(2) STA TMP,I RSLT(3)=A LDB TMP B=ADDR OF TMP JMP SUMOP,I THATS ¤ÜþúALL FOLKS SPAD ADA B A=X3+Y3+COUT(2) STA TMP,I RSLT(3)=A SSA,RSS IF A>0, THEN Y3<0-- CLEAR OVFLW CLO LDB TMP RESTORE TMP ADDR JMP SUMOP,I GO HOME * SKP * * SUBR TO ADD 2 5 WORD OPNDS BR=XR+YR * MODIFIES A,E,OVFLW * * *E ADDOP NOP STB RSLT SAVE RESULT ADDR CXA GET MOST SIG. WORD OF 1ST OPND LDA A,I CLE,SZA,RSS IF NOT=0, CHECK 2ND OPND JMP AZERO IF=0, RSLT EXP=YEXP CYA A=MOST SIG. WORD OF 2ND OPND LDA A,I SZA,RSS IF NOT=0, EQUALIZE OPNDS JMP *+2 ELSE RSLT EXP=XEXP JSB ZQLZ5,I EQUALIZE OPNDS LAX 4 RSLT EXP = XEXP LDB RSLT STEXP ADB POS4 STA B,I LDB RSLT JSB ZUMOP,I ADD OPNDS SOC IF OVFLW, ADJUST RSLT JSB ZOVFW,I JSB ZORM5,I JMP ADDOP,I AZERO LAY 4 A=YEXP JMP STEXP * SKP * * SUBR TO EQUALIZE 2 5 WORD OPERANDS, XR&YR, WHICH ARE DEFS TO BUFS * MODIFIES A,B,E * * *E EQLZ5 NOP LBX 4 A=XEXP LAY 4 B=-YEXP CMA,INA ADA B A=XEXP-YEXP SSA,RSS IF +, COMPL & TEST JMP XGTY ADA POS64 A=XEXP-YEXP+64 LBY 4 XEXP=YEXP SBX 4 CXB B=XR SSA IF<0,SWAMP-- X=0 JMP YET0,I JMP YHIFT,I ELSE SHIFT Y RIGHT * XGTY CMA,INA A=YEXP-XEXP+64 ADA POS64 LBX 4 YEXP=XEXP SBY 4 CYB B=YR SSA IF <0, SWAMP-- Y=0 JMP YET0,I SHIFT ADA NEG65 B= =#SHIFTS-1 STA CNT SAVE COUNT CLA CLEAR STICKY BIT STA STICK LDA B,I SIGN=OPND(3) STA SIGN SHLP ISZ CNT IF CNT=0, DONE SHIFTING JMP *+2 JMP SHEND CLE,SSA IF Y<0, SET E=1 CCE JSB ZR4,I SHIFT OPND RIGHT SEZ míþú IF LOST BIT=1, SET STICKY BIT ISZ STICK LDA SIGN RESTORE A=SIGN OF OPND JMP SHLP NOT DONE YET SHEND LDA STICK CHECK FOR BIT LOST CLE,SZA,RSS IF NO BIT, DONE E=0 FOR SUMOP CALL FROM ADDOP JMP XQLZ5,I ADB POS3 OPND(0)=IOR(OPND(0),1) LDA B,I IOR POS1 STA B,I JMP XQLZ5,I * SET0 CLA CLEAR OPND STA B,I INB STA B,I INB STA B,I CLE,INB E=0 FOR SUMOP CALL FROM ADDOP STA B,I JMP XQLZ5,I * SKP * * SUBR TO ADJUST OPND AFTER MANT OVERFLOW, OPND ADDR IN B * MODIFIES A,E * *E MOVFW NOP STB RSLT SAVE OPND ADDR JSB ZR4,I SHIFT OPND BACK ONE BIT LDA B,I A=OPND(3) ADB POS3 B=OPND(0) ADDR SEZ,CLE,RSS IF LSB=1, CHECK FOR SIGN OF OPND JMP EXPUP SSA,RSS IF A<0, SET LSB OF OPND=1 JMP EXPUP LDA B,I IOR POS1 STA B,I EXPUP INB B=EXP ADDR ISZ B,I EXP =EXP + 1 JMP *+1 IT COULD SKIP LDB RSLT RESTORE OPND ADDR (BE KIND TO YOUR PARENTS) JMP MOVFW,I NOW GET OUT OF THIS HOLE * SKP * * SUBR TO DIVIDE TWO 5 WORD OPERANDS, BR=XR/YR * * *E DIVOP NOP STB RSLT SAVE REGS STX DVX STY DVY CLA,CLE STA SIGN CLEAR SIGN COUNTER STA ACC0 CLEAR Q STA ACC0-1 STA ACC0-2 STA ACC0-3 STA ACC0+1 LDB P4096 B=EXP OVERFLOW, IE TOO LARGE -- 4096 LDA DVY,I A=MOST SIG. WORD OF 2ND OPND SZA,RSS IF NOT=0, CHECK 2ND OPND JMP YXIT0,I IF 2ND OPND=0, RSLT EXP=TOO LARGE --OVFLW LDA DVX,I A=MOST SIG. WORD OF 1ST OPND SZA,RSS IF=0, RETURN ZERO JMP YTN0,I IF=0, CLEAR RESULT LDA DVY YCOM=YR LDB YCOM MWP6 MVW POS5 LDA DVX,I SSA,RSS IF XR<0, XR=-XR, INC SIGN COUNT ÈB@0, Q0=1, X=X-Y LDB YCOM IF X<0, X=X+Y,Q0=0 CBY PUT Y OR Y' IN YR LDB DVX JSB ZUMOP,I X=X+-Y CLE NO SHIFT IN JSB ZL4,I X=X*2 CME Q0=-SIGN OF X LDB ACC JSB ZL4,I Q=Q*2 DIVSH LDA DVX,I IF 2 HIGH BITS =00 OR 11, CONTINUE SHIFT ELA CMA,SEZ,SSA,RSS IF BITS=01, DONE JMP YVASB,I SEZ,SSA CHECK 00,10,11 JMP YVASB,I IF =10, DONE LDB ACC Q0=SIGN OF X JSB ZL4,I * LDB DVX JSB ZL4,I SHIFT X, E=0 FROM ABOVE .–Bÿÿ ÿý} ÿ12740-18008 1822 S C0122 FPP-SIS              H0101 Ømþú ISZ DVCNT CHECK FOR LAST BIT JMP DIVSH NO -- SHIFT IT AGAIN TRSLT LDA ACC RSLT=ACC LDB RSLT MWP8 MVW POS4 TSTR LDB RSLT JSB ZORM5,I NORMALIZE RESULT ADB POS3 INDUCE ROUND FOR ANY LOW BITS IF NEG LDA B,I IE,SET LSB OF LAST WORD IOR POS1 STA B,I LDB RSLT LDA SIGN IF SIGN ODD, RSLT=-RSLT CLE,SLA JSB ZOM5,I LDX DVX SET EM UP JOE LDY DVY JMP XIVOP,I IS IT SOUP YET? * DVASB ISZ DVCNT X WAS NORMALIZED, CHECK IF DONE JMP YIVLP,I NO -- PLAY IT AGAIN SAM LDB ACC YES -- BUT Q NEEDS ONE MORE SHIFT JSB ZL4,I DONT CARE ABOUT LSB-- WE HAVE ENOUGH EXTRA JMP YRSLT,I EXIT0 LDA RSLT STORE ILLEGAL EXP IN RESULT EXP ADA POS4 A=EXP ADDR STB A,I LDB RSLT JMP XIVOP,I THAT SHOULD DO IT FOR NOW! * RTN0 LDA ACC ZERO OUT RESULT LDB RSLT MVW POS5 LDB RSLT JMP XIVOP,I * SKP * * SUBR TO SUBTRACT TWO 5 WORD OPERANDS BR=XR-YR * * *E SUBOP NOP STB RSLT SAVE RESULT ADDR CYB JSB ZOM5,I X-Y=X+(-Y), Y=-Y LDB RSLT JSB ZDDOP,I * JMP SUBOP,I * SKP * *ROUTINE TO ROUND 2,3, AND 4 WORD FLOATING POINT NUMBERS * *E RND5 NOP STB RSLT STX RNX STY RNY CPA POS5 IF WRDS=5, SET TO 4 LDA POS4 STA WRDAJ CCA,CCE SET UP ROUNDING WORD STA ACC0 WORDS 0 TO N-1 SET TO -1 STA ACC1 WORD N = 177B CLA WORDS N+1 TO 4,N<=4 SET TO 0 STA ACC2 STA ACC3 LDB ACC ADB WRDAJ ADB NEG2 STA B,I INB LDA PS127 STA B,I LDA RSLT,I A='SIGN' OF OPND ELA E=CIN=1 IF OPND >=0 IE ADD 200B CME LDB RSLT LDX RSLT LDY ACC JSB ZUMOP,I RSLT=RSLT+ROUND WORD SOC KÇþú JSB ZOVFW,I * CLA,CLE LDB WRDAJ RBR,SLB,RBL IF 4 WORDOP, NO WORDS TO CLEAR JMP WDCLR WDMSK ADB NEG1 MASK OFF LOWER 8 BITS OF LOW WORD ADB RSLT LDA B,I AND UPBYT STA B,I LDA RSLT,I CHECK FOR UNNORMALIZED NUMBER LDB RSLT ELA SEZ,SSA ONLY PROBLEM IF NEG, IE 1011111...+1 JSB ZORM5,I * LDX RNX LDY RNY JMP RND5,I * WDCLR SLB,RSS SAX 2 CLEAR OPND1 IF 2WDS SAX 3 CLEAR OPND0 IF NOT 4 WDS JMP WDMSK * SKP * SUBR TO PACK 5 WORD FP#S INTO 2,3, AND 4 WORD #S * OPERAND ADDR IN B, #WORDS IN A * * *E PAK5 NOP STB RSLTL STA WRDS ADB POS4 A=OPND EXP LDA B,I RAL PUT SIGN IN LSB STA B,I PUT ROTATED EXPONENT BACK AND LWBYT ONLY WANT LOW 8 BITS OF EXP STA TMP SAVE THE EXP HALF ADB NEG5 GET THE LOWER MANTISSA WORD ADB WRDS LDA B,I AND UPBYT THROW AWAY LOWER HALF IOR TMP OR IN THE EXP STA B,I REPLACE LOW WORD LDB RSLTL JMP PAK5,I THATS ALL THERE IS TO IT! * * SKP * SUBR TO UNPAK 2,3, AND 4 WORD OPERANDS INTO 5 WORDS * B=ADDR OF OPERAND, A=# WORDS * *E UNPK5 NOP STB TMP STA WRDS STX UPX ADB NEG1 B=LOW MANT ADDR ADB WRDS CPA POS5 IF 5 WORDS, SPECIAL JMP UP5WD STB RSLTL LDA B,I A=LOW OPND WORD AND LWBYT FORM EXPONENT HALF SLA,RAR MOVE SIGN TO BIT 15, EXTEND IF NECESSARY IOR NEGXP LDB TMP STORE EXP IN 5TH WORD ADB POS4 STA B,I ADB NEG5 TRUNCATE LOW MANT TO UPPER BYTE ADB WRDS TRMNT LDA B,I AND UPBYT STA B,I CLB LDX TMP CLEAR OUT EXTRA WORDS LDA WRDS ERA,SLA,RAR IF 2 OR 3WDS, CLEAR OPND3 SBX 3 þú SEZ,SLA,RSS IF 2WDS, CLEAR OPND2 SBX 2 LDX UPX LDB TMP JMP UNPK5,I SET THE CHUTE AND LET IT FLY UP5WD LDA B,I ADJUST EXPONENT-- ROTATE RIGHT 1 BIT RAR STA B,I ADB NEG1 NOW TRUNCATE MANTISSA JUST IN CASE JMP TRMNT * SKP * SUBR TO CHECK FOR OVERFLOW & UNDERFLOW & SET O IF SO * BR=ADDR OF OPND, E=0 FOR NORMAL, 1 FOR EXPANDED EXPONENT * *E * EXPCK NOP LDA PS128 A=STANDARD MAX. EXPONENT (127) SEZ IF NORMAL, STORE IT, ELSE USE EXPANDED EXPONENT LDA PS512 EXPANDED EXPONENT MAX. (512 ) STA EXPMX STB TMP STX XPX ADB POS4 LDA B,I A=OPND EXP CLE SSA,RSS IF EXP>0,A=-EXP CMA ADA EXPMX CLO SSA,RSS IF EXP IN RANGE GO HOME JMP RSTRB STO OVERFLOW FLAG LDA B,I CHECK SIGN OF EXP SSA IF <0, UNDERFLOW JMP UNFLW LDA PS127 ELSE SET TO MAX + STA B,I LDB TMP SET 1ST WORD TO 32767 LDA POSMX STA B,I INB CCA,CLE SET NEXT 2 WORDS TO -1 STA B,I INB STA B,I INB LDA UPBYT 4TH WORD= UPPER 8 BITS ONLY STA B,I LDX XPX RSTRB LDB TMP JMP EXPCK,I * UNFLW CLA LDB TMP XBX X=RSLT ADDR SAX 0 CLEAR OPND SAX 1 SAX 2 SAX 3 SAX 4 XBX RESTORE X,B JMP EXPCK,I SET SAILS FOR THE INDIES * SKP * * ROUTINE TO CONVERT 5 WORD FP#S INTO 1 AND 2 WORD INTEGERS * ON ENTRY B=OPERAND ADDR, A=0 FOR SINGLE, 1 FOR DOUBLE INTEGER * * *E FIXOP NOP STA INTWD SAVE SINGLE-DOUBLE FLAG STB RSLT SAVE OPERAND ADDR SZA IF DOUBLE, A=16-- #SHIFTS=15+16*INTWD-EXP LDA NEG16 A<=-#SHIFTS ADA NEG15 ADB POS4 ADD EXP ADA B,I STA CNT CNT=«“þú-#SHIFTS CLO CLEAR OVERFLOW FOR RETURN (SET LATER) CLA CLEAR OUT STICKY BIT & EXPONENT STA STICK STA B,I LDB RSLT LDA CNT TEST IF CNT NEG SZA,RSS IF CNT=0,CHECK FOR ROUND JMP FXTRD SSA,RSS IF CNT>0, OVERFLOW JMP YIXOV,I GO TEST FIXLP JSB ZR4A,I SHIFT OPND RIGH 1 BIT, ARITHMETICALLY SEZ IF LSB-1=1, INC STICKY BIT ISZ STICK ISZ CNT CHECK FOR DONE SHIFTING JMP FIXLP NO-- LOOP AGAIN FXTRD ADB INTWD B POINTS TO LSW OF INTEGER, CHECK FOR ROUND LDA RSLT,I IF #>=0, CLEAR & RETURN SSA,RSS ELSE CHECK FOR ROUND JMP YXCLR,I INB B=ADDR OF 1ST ROUND WORD CLA CLEAR A FOR COMPARES CPA B,I IF WORD NOT=0, ROUND JMP *+2 JMP YIXRD,I INB AND AGAIN CPA B,I JMP *+2 JMP YIXRD,I INB ONE MORE TIME (COULD BE EXP, BUT=0) CPA B,I JMP *+2 JMP YIXRD,I LDB RSLT CPA STICK NOW TEST FOR LOST BITS JMP XIXOP,I IF=0, RETURN * FIXRD LDB RSLT ADB INTWD GET LSW OF RESULT ISZ B,I IF NOT=0, DONE-- CLEAR REST & RETURN JMP YXCLR,I CPB RSLT IF SINGLE INTEGER, CLEAR & RETURN JMP YXCLR,I ISZ RSLT,I ELSE ROUND UPPER WORD JMP *+1 IT COULD SKIP! FXCLR INB NOW CLEAR LOWER WORDS CLA CLEAR A STA B,I INB STA B,I INB STA B,I COULD BE EXP-- OK LDB RSLT JMP XIXOP,I * * FIXOV LDA POSMX A=32767=OVERFLOW # LDB INTWD B=0 FOR SINGLE, -1 FOR DOUBLE INTEGER CMB,INB B= -INTWD DST RSLT,I PUT IN RESULT STO OVERFLOW RETURN LDB RSLT SET UP FPR FXCLR FXCLS ADB INTWD B=ADDR OF LOWER RESULT WORD JMP YXCLR,I * SKP * * ROUTINE TO CÎ ONVERT SINGLE & DOUBLE INTEGERS TO 5 WORD FP #S * A=0 FOR SINGLE, 1 FOR DOUBLE, B=OPND ADDR * A,E LOST * * NOTE: CALLER MUST TRUNCATE RESULT IF DOUBLE FLOAT TO 32 BITS! * *E * FLTOP NOP STB RSLT SAVE RSLT ADDR ADB POS4 EXP=15+INTWD*16 SZA LDA POS16 ADA POS15 STA B,I LDB RSLT NORMALIZE EXP, GET FP # JSB ZORM5,I * JMP XLTOP,I * SKP * * ROUTINE TO TRUNCATE A 5 WORD OPERAND TO 2,3,4, OR 5 WORDS (FP) * ON ENTRY A=#OUTPUT WORDS, B=OPERAND ADDRESS * A,E LOST * *E TRNC5 NOP STB TMP SAVE OPND ADDR STA WRDS SAVE #WORDS ADA NEG4 IF 4 OR 5 WORDS, SPECIAL SSA,RSS JMP TRC45 ADA POS3 MASK OFF LOWER 8 BITS OF LSW OF MANT ADB A LDA B,I AND UPBYT STA B,I INB CLEAR NEXT WORD CLA STA B,I LDB TMP JMP *+2 NOW CLEAR 4TH WORD TRC45 LDA UPBYT MASK LOW 8 BITS OF MANT WORD 4 ADB POS3 AND B,I STA B,I LDB TMP JMP TRNC5,I * FWAA EQU * FIRST WORD OF AVAIL. MEM END CÁÿÿ ÿý~ ˆ ÿ12892-18001 1705 S 0122 MEMORY PROTECT DIAGNOSTIC              H0101 à"þúASMB,A,B,L,C HED 2100 OR 12892A/B MEMORY PROTECT-PARITY ERROR DIAGNOSTIC ORG 0 DSN 102305 20 JANUARY 77 REV 1705 SUP * GENERAL OPERATING PROCEDURE * * A. LOAD THE DIAGNOSTIC CONFIGURATOR AND CONFIGURE IT. * B. LOAD THE DIAGNOSTIC MAIN PROGRAM * C. LOAD ADDRESS 100B. * D. LOAD THE SWITCH REG. WITH SELECT CODE & OPTIONS * E. PRESS RUN AND WAIT FOR HALT 102074. * F. LOAD SWITCH REGISTER * IF SET, BIT * 15 = HALT AT END OF EACH TEST SECTION * 14 = SUPPRESS ERROR HALTS * 13 = LOOP ON LAST TEST SECTION * 12 = LOOP ON DIAGNOSTIC * (SUPPRESS ALL OPERATOR INTERVENTION) * 11 = SUPPRESS ERROR MESSAGES * 10 = SUPPRESS NON-ERROR MESSAGES * 9 = GO TO USER TEST SELECTION * AT END OF PRESENT TEST * 8 = SUPPRESS OPERATOR INTERVENTION TESTS * 7-0 = RESERVED * * * * G. PRESS RUN. * H. TO RESTART - LOAD ADDRESS 2000B * I. TO RECONFIGURE - LOAD ADDRESS 100B * AND GO TO STEP D. * * GENERAL COMPUTER HALTS * * 1020XX E OR H 000 TO 060 * 1060XX E OR H 100 TO 115 ** 1070XX E OR H 300 TO 314 * * CONTROL PROGRAM HALT MESSAGES * * 102077 END OF DIAG (A = PASS COUNT) * 102076 END OF TEST (A = TEST #) * 102075 USER TEST SELECTION REQUEST * 102074 SELECT CODE INPUT COMPLETE * 102073 USER SELECT CODE ERROR * 102072 RESERVED * 102071 RESERVED * 102070 RESERVED * * 106077 TRAP CELL HALT * * 106070 - * 106076 CONFIGURATOR HALTS. SEE DIAG CONFIG. MANUAL. HED CONFIGURATOR LINKAGE AREA A EQU 0 A REGISTER REFERENCE INTP EQU ÄÏþú0 B EQU 1 B REGISTER REFERENCE SR EQU 1 SWITCH REGISTER REFERENCE DMAIN EQU 2 PFCNT EQU 4 VREG EQU 5 MPT EQU 5 PERR EQU 5 FENC EQU 5 MTRAP EQU 5 PTRAP EQU 5 DMACH EQU 6 CH EQU 10B SPC 2 ORG 100B JMP CFIG,I GO TO CONFIGURATION SECTION BSS 1 FAST INPUT (PHOTO READER) SLOP BSS 1 SLOW OUTPUT (LIST) BSS 1 FAST OUTPUT (DUMP OR PUNCH) BSS 1 SLOW INPUT (KEYBOARD) DEF FWAA FIRST WORD OF AVBL. MEMORY 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 CPTO BSS 1 COMPUTER TYPE/OPTIONS USSC NOP USER CARD TYPE AND SELECT CODE MEMO BSS 1 MEMORY SIZE AND TYPE BSS 1 INTERNAL SWITCH REGISTER BSS 1 1 MILL SEC TIMER 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 102305 DIAGNOSTIC SERIAL NUMBER FMTR BSS 1 FORMATTER * * CONTROL LINKAGE AND DATA REFERENCES * CFIG DEF ZCONF CONFIGURATION SECTION MSGC DEF ZMSGC MESSAGE WITH NO HALT ERMS DEF ZERMS ERROR MESSAGE SWRT DEF SWRTX TSTN OCT 0 CURRENT TEST NUMBER IOIP DEF IODP TSTP DEF TSTD STDA OCT 033777 STANDARD TEST RUN STDB OCT 0 HED DIAGNOSTIC DATA TSTD DEF TST00 DEF TST01 DEF TST02 DEF TST03 DEF TST04 DEF TST05 DEF TST06 DEF TST07 TS08D DEF TST08 DEF TST09 DEF TST10 DEF TST11 DEF TST12 DEF TST13 M1 DEC -1 SPC 3 RTNPJ JMP CHKIN+1 RTNJS JSB CHKIN JMP35 JMP ERR35 JMP37 JMP ERR37 JMP42 JMP E42 JMP43 JMP E43 JSB51 JSB ERR51 JMP52 JMP ERR52 JS102 JMP JX102,I JX102 DEF ER102 DEF ER103 Ó€þú DEF ER104 DEF ER105 DEF ER106 JS107 JMP JX107,I JX107 DEF ER107 DEF ER110 JS112 JMP JX112,I JX112 DEF ER112 JS113 JMP JX113,I JX113 DEF ER113 JS301 JMP JX301,I JX301 DEF ER301 JS302 JMP JX302,I JX302 DEF ER302 JS305 JMP JX305,I JX305 DEF ER305 DEF ER306 JS307 JMP JX307,I JX307 DEF ER307 JS313 JMP JX313,I JX313 DEF ER313 JS314 JMP JX314,I JX314 DEF ER314 GOD12 JMP RTN12,I RTN12 DEF RET12 VIJSB DEF VAJSB VIJSX DEF VIJS2 INLN2 DEF LINE2 MPX30 DEF MSP30+4 MXPTR DEF MX2+8 SAVEA NOP SAVEB NOP SAVED BSS 2 ADMOD NOP LASTA OCT 77777 SPSP ASC 1, RTLF ASC 1,// HOLDI NOP MCNTR NOP EXPVR NOP TMODE NOP INPNT NOP BUFPT NOP FENCE NOP USRSC NOP PTRIN NOP MLIMT NOP PECHG NOP SAVSR NOP SAVS2 NOP B5000 OCT 5000 BIT0 OCT 1 BIT1 OCT 2 BIT2 OCT 4 BIT6 OCT 100 B1777 OCT 1777 B4000 OCT 4000 BIT12 OCT 10000 BIT13 OCT 20000 BIT14 OCT 40000 BIT15 OCT 100000 B1512 OCT 110000 B170K OCT 170000 M2 DEC -2 M10 DEC -10 M100 DEC -100 STCOV OCT 103000 SAVA BSS 2 CFMEM OCT 6000 MOMSK OCT 70000 ZS812 OCT 10400 FIVE OCT 5 JARTN JMP A,I SPTST NOP JBRTN JMP B,I IPNTR DEF VILST FENP1 NOP B1000 OCT 1000 MAXMT NOP RTNJP JMP PETST,I RTNJX JMP PFAR1,I RTNJY JMP PFAR2,I PFAR1 DEF RTNX PFAR2 DEF RTNY VIINS DEF VIOLT PETST DEF PECON MBX1 DEF MX1+5 MBX2 DEF MX2+5 MBX3 DEF MX3+12 MX53 DEF MS053+17 PX103 DEF MX103 MEMVL DEF VIOLM LECOD DEF LENCD TPNT1 DEF PETD1 TPNT2 DEF PETD2 TPNT6 DEF PETD6 EA001 DEF TH001 EA002 DEF TH002 EA003 DEF TH003 EXA01 DEF THT10 EXT20 JMP TSI20,I TSI20 DEF RET20 J4 JSB *+1,I DEF INT4 SPC 3 IODP DEF IO.01 DEF IO.02 DEF IO.03 DEC -1 * BUF DEF *+1 BUFFER FOR DMA BSS 20 TRANSFER IN TEST 12 SKP * * VIOLATING INSTRUCTION LIST * VILST ISZ 2 JSB 2 JMP 2 STA 2 STB 2 OCT 104400 DST ,Öþú OCT 101740 SAX OCT 101750 SAY OCT 105740 SBX OCT 105750 SBY OCT 105743 STX OCT 105753 STY OCT 105772 JPY OCT 105762 JLY OCT 105774 CBS OCT 105773 SBS OCT 105777 MVW OCT 105765 MBT OCT 105764 SBT VIOLT CLC 2 CLF 2 LIA 2 LIB 2 MIA 2 MIB 2 OTA 2 OTB 2 SFC 2 SFS 2 STC 2 STF 2 MIN1 DEC -1 END OF LIST SPC 3 * PARITY TEST ADDRESSES INPTR DEF *+1 DEF PEAD1 DEF PEAD2 DEF CHKP1 DEF INHLT DEC -1 HED DIAGNOSTIC SUBROUTINES ******************************************************************** * *CHKIN* CHECKS MEMORY PROTECT AND PARITY ERROR * INTERRUPT INFORMATION TO DETERMINE IF THE * VIOLATION REGISTER CONTENTS IS CORRECT. * * PARAMETERS PASSED: * * A-REG = EXPECTED VIOLATION REGISTER * (BIT 15 ALWAYS CLEAR). * CHKIN NOP CLF 0 TURN OFF INTERRUPT SYSTEM. DST SAVA SAVE A AND B REG LDB TMODE TMODE=0 IF MPT TEST. LDA EXPVR GET EXPECTED VIOLATION REG. CLE,SZB IS THIS THE MPT TEST? IOR BIT15 NO! SET BIT 15 FOR PE VR CHECK. LIB VREG GET ACTUAL VIOLATION REGISTER. CPB A ACTUAL VR = EXPECTED VR? JMP CHKRN YES! GO SETUP RETURN ADDRESS. DST SAVEA NO! SAVE EXPECTED/ACTUAL VR. LDB SPSP GET ASCII DOUBLE SPACE. CLE,SSA MPT VIOLATION? LDB RTLF NO! FORM CR-LF. STB MXPTR,I PUT ASCII IN MESSAGE. SSA PARITY ERROR EXPECTED? JMP SETBF YES! GO PRINT VR DATA. LDB SAVEB NO! GET LDB B,I VIOLATING INSTRUCTION. CPB HLT31 WAS IT A HLT 31B ? JMP NOMPV YES! GO PRINT NO MPV. LDA FENCE NO! GET FENCE VALUE AND LDB MPX30 CONVERðMþúT IT TO JSB O2AS,I ASCII. SETBF LDA SAVEA GET EXPECTED VR. LDB MBX1 BUFFER ADDRESS IN ERROR MESSAGE. JSB O2AS,I CONVERT EXPECTED VR TO BUFFER LDA SAVEB GET ACTUAL VR VALUE LDB MBX2 BUFFER ADDR IN ERROR MESSAGE. JSB O2AS,I CONVERT ACTUAL VR INTO BUFFER. DLD SAVEA RESTORE EXPECTED-ACTUAL VR. E030 JSB ERMS,I PRINT MESSAGE WITH DEF MS030 RESPECTIVE HALT CODE. SSA EXPECT MPT VIOLATION? JMP NOMPT NO! SKIP FENCE HALT. DOFEN LDA FENCE GET FENCE REG SETTING. LDB B4000 SUPPRESS ERROR JSB SWRT,I MESSAGES? RSS YES! CHECK SUPPRESS. JMP NOMPT NO! SKIP HALT LDB BIT14 SUPPRESS JSB SWRT,I ERROR HALTS? RSS YES! DON'T HALT. E060 HLT 60B NO! HALT(A=FENCE) NOMPT LDA SAVEA SETUP SSA PARITY ERROR TEST MODE? JMP NOINC YES! DON'T ALTER CHKIN RETURN. AND LASTA NO! SETUP RETURN INA ADDRESS. STA CHKIN SAVE IT. CHKRN LDB SPTST GET SPECIAL TEST INDICATOR. SZB IS THIS A SPECIAL TEST? JMP INCRT YES! GO UPDATE RETURN. SSA,RSS PARITY ERROR TEST? ISZ CHKIN NO! INC CHKIN PAST HLT 31. JMP NOINC YES! GO RETURN. INCRT LDA CHKIN GET RETURN NOP CONTENTS. ADA BIT2 ADD 4 TO GET PAST INST. CONSTANTS. STA CHKIN SAVE NEW NOP VALUE. NOINC DLD SAVA RESTORE A AND B REGISTERS. JMP CHKIN,I RETURN TO TESTING. NOMPV LDB MBX3 BUFFER POINTER IN MESSAGE. JSB O2AS,I CONVERT A-REG TO ASCII. LDA SAVEA GET EXPECTED VIOLATION ADDR. JSB ERMS,I PRINT ERROR MESSAGE FOR DEF MS032 NO MPT INTERRUPT. * A=EXPECTED VIOLATION ADDRESS JMP DOFEN RETURN TO TESTING **************************************************************** * *INTMP* INITIALIZES MEMOR“þúY PROTECT BY SETTING THE * FENCE REGISTER AND RETURN JUMP IN THE TRAP CELL. * * PARAMETERS PASSED: * * A-REG = DESIRED MEMORY PROTECT TRAP * CELL CONTENTS. * * B-REG = FENCE VALUE TO BE OUTPUT. * * INTMP NOP CLC 0,C CLEAR I-O. OTB FENC OUTPUT TO FENCE REGISTER. STA MTRAP SET UP MP TRAP CELL. STB FENCE SAVE ACTUAL FENCE VALUE. STF 0 TURN ON INTERRUPT SYSTEM. JMP INTMP,I RETURN TO TEST. * ******************************************************************** SKP **************************************************************** * * INITIALIZE MEMORY LOCATIONS USED IN * THE PARITY ERROR TEST. * CHPAR NOP CLA CLEAR PE STA PTRAP TRAP CELL. LDA PEBUF GET INITIAL ADDRESS. DSLOP LDB A,I GET A DATA WORD. STB A,I STORE CURRENT PARITY. CPA B1777 END OF TEST BLOCK? JMP DSBLK-1 YES! GO STORE INDIVIDUAL DATA INA NO! MOVE ADDRESS POINTER AND JMP DSLOP UPDATE MORE DATA. INA DSBLK ADA B1000 MOVE TO NEXT HALF PAGE. LDB A,I GET A DATA WORD. STB A,I STORE CURRENT PARITY. CPA MAXMT END OF CONSTANTS? RSS YES! GO CHANGE INDIVIDUAL WORDS. JMP DSBLK NO! CHANGE MORE ADDRESSES. LDA INPTR GET INDIVIDUAL LIST PNTR. STA PTRIN SAVE IT. INLOP LDA PTRIN,I GET A WORD FOR PARITY CHANGE. CPA MIN1 END OF LIST? JMP CHPAR,I YES! RETURN TO TESTING. LDB A,I GET WORD TO BE INITIALIZED. STB A,I STORE CURRENT PARITY. ISZ PTRIN MOVE POINTER. JMP INLOP GO CHANGE ANOTHER WORD. *************************************************************** CHKDO NOP LDA CPTO GET COMPUTER TYPE SSA,RSS SKIP IF 2100 JMP CHKDO,I EXIT CURRENT TEST LDA USSC IS THIS A SSA òžþú 12892B UNDER TEST? ISZ CHKDO INCR RTN ADDR JMP CHKDO,I RETURN TO TEST. SKP * TONIO CALLING FORMAT- * * A=I-O SELECT CODE * JSB TONIO * TONIO NOP STA USRSC,I SET UP I-O TRAP CELL. IO.01 STC CH TURN ON I-O IO.02 STF CH TO INTERRUPT. STF 0 TURN ON INTERRUPT SYSTEM. JMP TONIO,I RETURN. * IO.03 CLF CH * * EXIT CURRENT TEST IF SR 8 OR 12=1 * CHKSW NOP LDB ZS812 YES! CHECK IF OPERATOR NEEDED. JSB SWRT,I IS SW.REG. 8 OR 12 SET? JMP CHKSW,I YES! EXIT P+1 ISZ CHKSW NO! INCR RTN ADDR JMP CHKSW,I RTN P+2 ***************************************************************** PEBUF DEF *+1 PETD1 NOP PETD2 NOP PETD3 NOP PETD4 NOP PETD5 NOP PETD6 OCT 100644 INDIRECT POINTER. * END OF PARITY ERROR TESTS CONSTANTS. HED MEMORY PROTECT TESTS SKP * * TEST THAT A HALT IS NOT ALLOWED BY MPT. * TST00 EQU * NOP CLB FENCE WILL BE ZERO. LDA RTNJS PREPARE TRAP CELL INSTRUCTION. JSB INTMP INITIALIZE MPT. LDA EA001 GET EXPECTED VIOLATION ADDRESS. STA EXPVR SAVE IT. STC5 STC MPT TURN ON MPT. NOP SHOULD NOT INTERRUPT HERE. LDB BIT14 SUPPRESS JSB SWRT,I ERROR HALTS? RSS YES! DON'T HALT. TH001 HLT 26B MPT SHOULD NOT ALLOW HALT HERE. CLC 0,C TRY INT HERE IF NO MPV ON HALT. JMP TST00,I SKP * * TRY TO STORE AT AND BELOW FENCE. * TST01 EQU * NOP LDA 3 SAVE CONTENTS OF ADDR 3 STA SAVED FOR TEST COMPARISON. LDA RTNJS PREPARE TRAP CELL JSB. LDB BIT2 FENCE WILL BE SET TO 4 JSB INTMP INITIALIZE MPT. LDA EA002 GET EXPECTED VIOLATION ADDRESS. STA EXPVR SAVE IT. LDB 4 TEST PATTERN IN B-REG. STC MPT TURN ON MPT. STB 4 NO VIOÿþúLATION SHOULD OCCUR HERE. TH002 STB 3 VIOLATION OCCURS HERE. HLT31 HLT 31B SHOULD NEVER HALT HERE. LDB 3 GET ADDR 3 DATA. CPB SAVED WAS ADDRESS STORED? JMP TST01,I NO! GO DO NEXT TEST LDA EA002 YES! GET STB LOCATION. JSB ERMS,I REPORT FAILURE. DEF MS033 MEMORY ALTERED BY ILLEGAL STB. * A=VIOLATION ADDRESS. JMP TST01,I SKP * * INSURE AN I/O INSTRUCTION (NOT A HALT) IS NOT ALLOWED. * TST02 EQU * NOP LDA RTNJS GET JSB TO CHKIN. JSB INTMP GO INITIALIZE MPT. LDA EA003 GET EXPECTED VIOLATION ADDRESS. STA EXPVR SAVE IT. CCB PREPARE FOR TEST. STF 0 TURN ON INT SYSTEM. STC MPT TURN ON MPT. TH003 LIB 0 SHOULD CAUSE INTERRUPT. HLT 31B SHOULD NEVER HALT HERE. SZB,RSS WAS B-REG ALTERED? JMP TST02,I YES! CONTINUE TESTING. LDA EA003 NO! GET LIB ADDRESS. JSB ERMS,I REPORT ERROR. DEF MS034 B-REG ALTERED BY ILLEGAL LIB. * A=LIB ADDRESS. JMP TST02,I SKP SKP * * INSURE NO VIOLATION OCCURS WITHOUT A STC 5 AND * VERIFY SELECT CODE 5 IS DECODED PROPERLY. * TST03 EQU * NOP CLB FENCE WILL BE ZERO. LDA JMP35 ERROR RETURN JSB. JSB INTMP INITIALIZE MPT. LIA 0 NO INTERRUPT - MPT OFF. SZA DID LIA 0 EXECUTE. JMP ERR36 NO! REPORT ERROR. JMP CON03 YES! START SC 5 TEST. ERR35 JSB ERMS,I REPORT ERROR. DEF MS035 INTERRUPT WITH MPT OFF. JMP CON03 CONTINUE TEST. ERR36 JSB ERMS,I REPORT ERROR. DEF MS036 LIA NOT ALLOWED WITH MPT OFF. CON03 CLC 0,C CLEAR I-O. CLA CLEAR OTA 6 DMA OTA 7 SELECT CODES STF 0 INTERRUPT SYSTEM ON. LDA JMP37 SET UP MPT Èþú STA MTRAP TRAP CELL. DLD IOSTC GET STC AND CLC INSTRUCTIONS. DST INLIN PUT THEM IN LINE. LDB STCOV SET UP COMPLETION INDICATOR. SCLOP LDA INLIN GET STC INSTRUCTION. CPA STC5 IS IT A STC 5? JMP INCIO YES! SKIP TO NEXT SELECT CODE. INLIN STC 1 NO! EXECUTE TO VERIFY NO SC5. INLI2 CLC 1 INTERRUPT IF ILLEGAL SC 5. INCIO ISZ INLIN MOVE TO NEXT SELECT CODE ISZ INLI2 FOR STC AND CLC. CPB INLIN WAS THAT THE LAST SELECT CODE? JMP TST03,I YES! GO TO NEXT TEST. JMP SCLOP NO! CONTINUE SC TEST. ERR37 LDA INLIN GET INSTRUCTION THAT TURNED ON JSB ERMS,I MPT LIKE A STC 5. DEF MS037 ILLEGAL DECODE OF SELECT CODE 5. * A=STC INSTRUCTION THAT ENABLED MPT. JMP TST03,I SKP * * TEST ABILITY OF AN I/O INSTRUCTION IN A TRAP * CELL NOT TO SHUT OFF MPC * TST04 EQU * NOP CLC 0,C TURN OFF I-O LDA J4 SET UP JSB STA MTRAP IN MPT TRAP CELL LDA TSTD SET OTA FENC UP STA FENCE FENCE LDA IO.03 CLF CH JSB TONIO TURN ON I-O DEVICE STC MTRAP TURN ON MPT NOP NOP CLF0 CLF 0 MPT SHOULD OCCUR HERE JMP E054 CLF 0 DID'NT CAUSE MPT VIOLATION SPC 3 INT4 NOP MPT ROUTINE CLF 0 TURN OFF INTP SYST CLC 0,C TURN OFF I-O LIA MTRAP READ VIOLATION REG LDA A,I GET VIOLATING INSTR CPA CLF0 COMPARE WITH EXPECTED VIOLATING INSTR JMP TST04,I OK - EXIT TEST E054 JSB ERMS,I REPORT ERR DEF MS054 JMP TST04,I EXIT TEST SKP * * * THIS SECTION VERIFIES A MULTI-LEVEL INDIRECT * INSTRUCTION WILL BE INTERRUPTED DURING THE * THIRD LEVEL. * TST05 EQU * NOP LDA JMP43 I-O TRAP CELL VALUE JSB TONIO TURN ON I-O. JMP *+1,I STAR<:6T MULTI-LEVEL DEF *+1 INDIRECT. NO INTERRUPT. CLC 0,C CLEAR INT SYSTEM. LDA JMP42 I-O TRAP CELL VALUE. JSB TONIO TURN ON I-O. JMP *+1,I MULTI-LEVEL INDIRECT DEF *+1,I (TWO LEVELS-NO INTERRUPT). DEF *+1 CLC 0,C CLEAR INT. SYSTEM. LDA EXIT6 I-O TRAP CELL VALUE. JSB TONIO TURN ON I-O. JMP *+1,I THREE DEF *+1,I LEVEL DEF *+1,I INDIRECT. DEF *+1 INTERRUPT HERE. CLC 0,C NO INTERRUPT OCCURRED. JSB ERMS,I PRINT ERROR MESSAGE. DEF MS044 NO I/O INT ON INDIRECT CHAIN. JMP TST05,I GO DO NEXT TEST. E42 JSB ERMS,I REPORT ERROR. DEF MS042 INT AFTER 2ND LEVEL INDIRECT. JMP TST05,I E43 JSB ERMS,I REPORT ERROR. DEF MS043 INT AFTER 1ST LEVEL INDIRECT. EXIT6 JMP TST05,I zX<ÿÿ ÿýŽ ÿ12892-18002 1705 S 0122 MEMORY PROTECT DIAGNOSTIC              H0101 á"þú SKP * * THIS SECTION CHECKS THE MEMORY EXPANSION LOGIC ASSOCIATED * WITH MPT * TST06 EQU * NOP LDA CPTO GET COMPUTER TYPE. SSA,RSS IS THIS A 2100? JMP TST06,I YES! DON'T EXECUTE TEST. LDA USSC GET OPTIONS AND BIT14 TEST FOR DMS SZA,RSS IS DMS AVAIB. JMP AUXME NO! GO DO AUXILIARY TEST. LDA JMP52 SET UP RETURN STA MTRAP IN TRAP CELL. CLA CLEAR FOR MAPPING. STF 0 INTERRUPT SYSTEM ON. STC MPT TURN ON MPT. VIOLM XMA MEM VIOLATION. HLT 27B SHOULD FORCE INTERRUPT ERR52 LIA VREG GET VIOLATION ADDRESS. CPA MEMVL VIOLATION IN RIGHT PLACE? JMP MORME YES! PROCESS FURTHER. JSB ERMS,I NO! REPORT ERROR DEF MS052 NO MEM VIOLATION. MORME SFS MPT SHOULD SKIP ON MEM VIOLATION. JMP ERR46 NO SKIP? REPORT ERROR. SFC MPT SHOULD NOT SKIP. JMP NOSKP NO SKIP? CONTINUE TEST. JSB ERMS,I SKIP? REPORT ERROR. DEF MS047 SKF ON SFC 5 AFTER MEM VIOL. NOSKP CLA CLEAR STA MTRAP MPT TRAP CELL. STF 0 INTERRUPT SYSTEM ON. STC MPT CLEAR MEM/MPT VIOLATION FF. HLT 27B FORCE INTERRUPT. MEM LOGIC CLEAR JMP AUXME CONTINUE TESTING. ERR46 JSB ERMS,I REPORT ERROR. DEF MS046 NO SKF ON SFS 5 AFTER MEM VIOL. AUXME SFS MPT SHOULD NOT SKIP. JMP SKPOK DIDN'T SKIP. CHECK NEXT SKIP. JSB ERMS,I REPORT ERROR. DEF MS050 ILLEGAL SKF ON SFS 5 - NO MEM SKPOK SFC MPT SHOULD SKIP. RSS DIDN'T SKIP. REPORT FAILURE JMP TST06,I SKIP OK! GO CONTINUE TEST. JSB ERMS,I REPORT ERROR. DEF MS051 NO SKF ON SFC 5 WITH NO MEM VIOL JMP TST06,I SKP * * THIS SECTION TESTS THE VIOLATION AND FENCE REGISTERS * AND THE MEMORY VIOLATION LOGIC. * TST07 EQU * Ð8þú NOP LDA MAXMT GET MEMORY MODULE SIZE. RAL IS MEMORY > 16K? SSA CHECK BIT 14 OF ADDR. LDA BIT15 SET MEMORY TO 20K LIMIT. RAR RESTORE MODULE VALUE. STA MLIMT SAVE IT. LDA RTNJS SET UP TRAP STA MTRAP CELL RETURN. LDA TS08D SET UP INITIAL FENCE STA FENCE REGISTER SETTING. TLOOP LDA FENCE GET PRESENT FENCE. ADA LECOD ADD LENGTH OF TEST MODULE. CPA MLIMT END OF MEMORY? JMP EXITT YES! REPLACE ORIGINAL DATA. LDB NLNCD NO! MOVE DATA OUT OF AREA STB MCNTR SAVE MOVE COUNT IN WORDS. LDB BUFAD GET ADDRESS OF SAVE BUFFER STB BUFPT SAVE IT. ADA NLNCD RESET FENCE VALUE. JSB MOVE MOVE DATA BLOCK. LDA STCOD MOVE TEST MODULE IN AREA LDB FENCE JUST REMOVED. STB BUFPT SAVE MODULE ADDRESS. LDB NLNCD GET MOVE COUNT. STB MCNTR SAVE IT. JSB MOVE MOVE DATA BLOCK. JMP FENCE,I TRANSFER CONTROL TO TEST. RLOOP LDA BUFAD RESTORE DATA WHERE TEST MODULE LDB FENP1 IS RESIDING. STB BUFPT SAVE IT. LDB NLNCD GET MOVE COUNT. STB MCNTR SAVE IT. JSB MOVE MOVE DATA BLOCK. JMP TLOOP CONTINUE TEST. EXITT JMP TST06,I CONTINUE TO NEXT TEST SECTION. * * MOVE SUBROUTINE * MOVE NOP MLOOP LDB A,I GET A WORD. STB BUFPT,I STORE IT. INA MOVE ISZ BUFPT POINTERS. ISZ MCNTR DONE YET? JMP MLOOP NO! GO MOVE ANOTHER WORD. JMP MOVE,I YES! EXIT. SKP ***************************************************************** * * TEST MODULE * STCOD DEF *+1 BELOW LDA FENCE GET OLD FENCE VALUE. STA FENP1 SAVE IT. INA INCREMENT AND STA FENCE SAVE NEW VALUE. OTA FENC OUTPUT TO FENCE REGISTER. ADA OFSTM GEø¯þúT EXPECTED INTERRUPT ADDRESS. STA EXPVR SAVE IT. STF 0 INTERRUPT SYSTEM ON. STC MPT TURN ON MPT. STA FENCE,I STORE AT FENCE. NO INTERRUPT. MPTVL STA FENP1,I STORE BELOW FENCE. INTERRUPT. HLT 31B FORCE INT IN CASE OF BAD FENCE. JMP RLOOP TRANSFER CONTROL BACK TO TEST. ***************************************************************** ENCOD EQU * LENCD EQU ENCOD-BELOW NLNCD ABS BELOW-ENCOD OFSET EQU MPTVL-BELOW-1 OFSTM DEF OFSET BUFAD DEF *+1 BSS LENCD SUP * * MESSAGES WHICH CANNOT BE ALTERED * BY THE TEST MODULE. * MS030 ASC 16,E030 INVALID VIOLATION REGISTER OCT 6412 MX1 ASC 08,EXPECTED= XXXXXX OCT 6412 MX2 ASC 09,ACTUAL = XXXXXX/ MSP30 ASC 08,FENCE = XXXXXX/ MS032 ASC 16,E032 NO MEMORY PROTECT INTERRUPT ASC 07, ON VIOLATING OCT 6412 MX3 ASC 16,INSTRUCTION AT ADDRESS XXXXXX/ SKP * * TEST ALL NON-VIOLATING INSTRUCTIONS * * TST08 EQU * NOP LDB FIVE FENCE VALUE. LDA JSB51 TRAP CELL RETURN JSB. JSB INTMP INITIALIZE MPT. STC MPT TURN ON MPT. * * TEST MEMORY REFERENCE INSTRUCTIONS. * IOR B NO INTERRUPT SHOULD OCCUR ADA B UNTIL HLT31 AT THE END OF ADB A THIS LIST OF NON-VIOLATING AND B INSTRUCTIONS. CPA A CPB B CLA ISZ A CLB ISZ B LDB B LDB A STA B STB A XOR B * * TEST SHIFT-ROTATE FUNCTIONS * ALS,ALS NOP BLS,BLS ARS,ARS BRS,BRS RAL,RAL RBL,RBL RAR,RAR RBR,RBR ALR,ALR BLR,BLR ERA,ERA ERB,ERB ELA,ELA ELB,ELB ALF,ALF BLF,BLF * * TEST ALTER-SKIP FUNCTIONS * CMA B7000 CMB CME CLE CCE INA INB CCA CCB RSS NOþúP SEZ SLA SLB SSA SSB SZA SZB * * TEST I/O INSTRUCTIONS * CLO SOS STO SOC LIA 1 LIB 1 MIA 1 MIB 1 OTA 1 OTB 1 IOSTC STC 1 CLC 1 * * TEST EAU INSTRUCTIONS * DIV FIVE DLD SAVEA MPY FIVE ASL 5 ASR 5 LSL 5 LSR 5 RRL 5 RRR 5 * * TEST EXTENDED INSTRUCTION GROUP * LDA CPTO GET COMPUTER TYPE. SSA,RSS IS THIS A 2100? JMP TOFLT YES! SKIP EIG TEST. ADX FIVE ADY FIVE CAX CAY CBX CBY CXA CXB CYA CYB DSX DSY ISX ISY LAX FIVE LAY FIVE LBX FIVE LBY FIVE LDX FIVE LDY FIVE XAX XAY XBX XBY LBT SFB NOP OCT 105775 TBS DEF BIT2 DEF BIT2 CLA,INA CLB,INB CMW FIVE COMPARE WORDS NOP JMP FLTCK * * TEST FLOATING POINT INSTRUCTIONS * TOFLT LDA CPTO GET OPTIONS WORD. AND BIT6 STRIP TO FLT PT BIT. SZA,RSS FLOATING POINT AVAILABLE? JMP JSBCK NO! SKIP TEST FOR 2100. FLTCK OCT 105000 FAD DEF BIT0 OCT 105060 FDV DEF BIT0 OCT 105100 FIX OCT 105120 FLT OCT 105040 FMP DEF BIT0 OCT 105020 FSB DEF BIT0 * * NOW TEST JSB 0 AND JSB 1 * JSBCK CLA STA MTRAP NOP MPT TRAP CELL. HLT 31B FORCE INTERRUPT. MPC OFF. LDB JARTN SET UP RETURN IN CASE OF ERROR. LDA JSB51 REINITIALIZE STA MTRAP TRAP CELL. STC MPT MPC ON. JSB A SHOULD RETURN TO NEXT INST. CLA STA MTRAP CLEAR TRAP AND HLT 31B FORCE INTERRUPT. MPC OFF. LDA JBRTN SET UP STA 2 Óœþú RETURN. LDA JSB51 REINITIALIZE MPT STA MTRAP TRAP CELL. STC MPT MPC TURNED ON. JSB B SHOULD RETURN TO NEXT INST. CLA CLEAR MPT STA MTRAP TRAP CELL AND HLT 31B SHUT OFF MPC. JMP TST08,I CONTINUE WITH NEXT TEST. ERR51 NOP CLE FOR O2AS ROUTINE. LIA VREG GET VIOLATION ADDRESS. LDB MX53 GET DESTINATION BUFFER ADDRESS JSB O2AS,I CONVERT A-REG TO ASCII LIB VREG GET VIOLATION ADDRESS. LDA B,I GET INSTRUCTION. JSB ERMS,I REPORT ERROR. DEF MS053 LEGAL INSTRUCTION CAUSED MPV * A=VIOLATING LEGAL INSTRUCTION. * B=ADDRESS OF VIOLATING INSTRUCTION. LIA VREG GET VIOLATING ADDRESS INA NEXT INSTRUCTION STA ERR51 STC MPT TURN ON MPT JMP ERR51,I RETURN TO TEST SKP * TEST ALL VIOLATING INSTRUCTIONS * * * IN THE 2100/21MX WHEN A MPT VIOLATION OCCURES WITH * A "P-REG" MODIFING INSTRUCTION, THAT IS "JSB" "JMP" ETC. * THE P-REG IS CARRIED TO THE INTERRUPT ROUTINE, HOWEVER, * IN A 21MX-E THE P-REG IS LOST AND THE TARGET ADDRESS * OF THE VIOLATING INSTRUCTION IS STORED INTO THE * INTERRUPT ROUTINE. IN A 21MX-E THE ADDRESS OF THE * VIOLATING INSTRUCTION MUST BE OBTAIN FROM THE * VIOLATION REGISTER.. * TST09 EQU * NOP LDA RTNJS TRAP CELL RETURN TO ERR 32. STA SPTST SPECIAL TEST MARKER. LDB FIVE FENCE REGISTER WILL EQUAL FIVE JSB INTMP INITIALIZE MPT. LDA IPNTR GET INSTRUCTION LIST POINTER. STA INPNT SAVE IT. LDA CPTO GET COMPUTER TYPE. SSA,RSS 2100? JMP NOEIG YES! DON'T CLEAR INDEX REGISTERS. CLA CLEAR CAX INDEX CAY REGISTERS. NOEIG LDA HLT31 PUT STA 2 HALTS IN STA 3 VIþúOLATED MEMORY. VILOP STF 0 TURN ON INTERRUPT SYSTEM. LDA INPNT,I GET AN INSTRUCTION. CPA MIN1 END OF LIST? JMP EXT10 YES! GO TO END OF MPT TEST, STA THT10 NO! PUT INSTRUCTION IN LINE. LDA CPTO GET COMPUTER TYPE WORD. SSA 2100? JMP DOCHK NO! GO DO TEST. LDA INPNT,I GET INSTRUCTION AGAIN. AND B7000 MASK TO IR 9-11. CPA B5000 EIG INSTRUCTION? JMP MOVLT YES! SKIP IT. CPA B1000 EIG INSTRUCTION? JMP MOVLT YES! SKIP IT. DOCHK LDA EXA01 EXPECTED VIOLATION ADDRESS. STA EXPVR SAVE IT. LDA CPTO TEST FOR 21MX-E AND B170K SEE NOTE ABOVE: XOR B1512 SZA * JMP CHK1 * LDA EXPVR * INA * STA CHKIN * LDA RTNPJ * LDB FIVE * JSB INTMP * CHK1 LDA BIT1 GET VALUE = 2. STA THT10+1 STORE IT IN STA THT10+2 LINE. STC MPT TURN ON MPT. LDA BIT2 SET A TO BYTE ADDR 4. LDB BIT2 SET B TO BYTE ADDR 4. THT10 NOP VIOLATION SHOULD OCCUR HERE. OCT 2 CONSTANT IF NEEDED BY INST. OCT 2 CONSTANT IF NEEDED BY INST. NOP NOP IF NEEDED BY INST. HLT 31B FORCE INT. IF NONE OCCURRED. NOP SPACE FOR INSTRUCTIONS THAT NOP RETURN HERE. MOVLT ISZ INPNT MOVE INSTRUCTION POINTER. JMP VILOP TEST MORE INSTRUCTIONS. EXT10 CLA CLEAR SPECIAL STA SPTST TEST INDICATOR. JMP TST09,I SPC 4 * TEST PATTERNS FOR PE TEST * ORG 1770B NOP OCT 125252 OCT 52525 OCT 111111 OCT 21444 OCT 156333 OCT 66666 DEC -1 HED DIAGNOSTIC CONTROL ORG 2000B ZSTEX CLC INTP,C TURN INT SYSTEM OFF CLA CLEAR THE âþúPE STA PTRAP TRAP CELL. STA MFLAG CLEAR MESSAGE FLAG STA XFLAG STA HLT74 INSURE H74 FOR ANY RECONFIGURATION JSB MSGC,I OUTPUT HEADER MESSAGE DEF HDMS CLA CLEAR PASS STA ZEOLC COUNT LDB B1000 CHECK FOR USER JSB SWRT,I SELECTION REQUEST. JMP ZUSR YES? GO HALT. ZNUSR LDA STDA GET STANDARD TEST LDB STDB SELECTION. JMP ZEXC ZUSR LIA SR GET SW REG AND SRM MASK OFF BIT 9 OTA SR OUTPUT TO SW REG LDA ZSINA RETRIEVE PREVIOUS LDB ZSINB TEST SELECTION. HLT 75B WAIT FOR USER INPUT ZEXC STA ZUINA SAVE STB ZUINB USER STA ZSINA TEST STB ZSINB SELECTION. JSB CHPAR CHANGE PARITY STATE. CLA CLEAR TEST INDICATOR TO STA TMODE MPT TEST MODE. CCA SET TEST NUMBER STA TSTN =-1 STA ZCFTT CLA CLEAR STA ZTSTA TEST RUN FLAG ZEXCL LDA ZUINA RESTORE A REG. LDB ZUINB RESTORE B REG. ERA,RAL ROTATE ERB FIRST ERA TEST BIT STA ZUINA SAVE POSITIONS STB ZUINB ISZ TSTN MOVE TEST UP ONE NOP ZXCL1 LDA TSTN GET TEST NUMBER. ADA TSTP GET IT'S LDA A,I ADDRESS CPA M1 IS IT THE END OF TESTS? JMP ZEOL YES! EXIT. LDB ZUINB GET TEST INDICATOR. SSB,RSS SHOULD TEST BE RUN? JMP ZEXCL NO! CHECK NEXT TEST. STA ZTSTA YES! SAVE TEST ADDRESS JSB ZITCH INITIALIZE TRAP CELL HALTS CLC 0,C CLEAR I-O. CLA CLEAR MPT-PE STA PTRAP TRAP CELL. STF PERR ENABLE PARITY ERROR LOGIC. JSB ZTSTA,I GO DO TEST JSB ZITCH INITIALIZE TRAP CELLS. CLF 0 TURN OFF INT SYSTEM Û¡þúLDA TSTN DISPLAY TEST NUMBER IF HALTED LDB BIT15 CHECK FOR HALT AT JSB SWRT,I THE END OF TEST. HLT 76B YES? WAIT FOR OPERATOR LDB B1000 CHECK FOR JSB SWRT,I USER SELECTION REQUEST. JMP ZUSR YES? GO HALT. LDB BIT13 CHECK FOR LOOP ON JSB SWRT,I TEST SECTION. JMP ZXCL1 YES? GO LOOP. JMP ZEXCL NO? CONTINUE. ZEOL CLA CLEAR STA PECHG TEST LDA ZTSTA CHECK IF ANY TESTS SZA,RSS WERE RUN. JMP ZNUSR NO? PICK UP STANDARD RUN LDA ZEOLC UPDATE INA PASS STA ZEOLC COUNT. CCE LDB ZPSCA GET PASS COUNT ADB BIT1 ADDRESS JSB O2AS,I CONVERT IT TO ASCII JSB MSGC,I CALL PRINT ROUTINE ZPSCA DEF ZPSC LDB BIT12 CHECK FOR LOOP JSB SWRT,I ON DIAGNOSTIC. JMP ZEOL1 YES? GO LOOP. JSB CHPAR NO? INITIALIZE PARITY. JSB JMG TELL OPERATOR TO CHANGE JUMPERS LDA ZEOLC GET PASS COUNT. HLT 77B HALT AND DISPLAY PASS COUNT ZEOL1 LDA ZSINA RESTORE ORIGINAL LDB ZSINB PROGRAM JMP ZEXC GO DO ANOTHER PASS. * JMG NOP LDA MFLAG HAS TEST(S) 11,12,13 BEEN EXECUTED ? SZA,RSS JMP JMG,I NO! EXIT CLA YES! CLEAR STA MFLAG FLAG STA XFLAG LIA SR GET SW-REG STA SAVSR STORE SW-REG LDA RTNJY PUT RETURN JUMP STA PFCNT PFAR TRAP CELL JSB MSGC,I PRINT DEF MS062 MESSAGE HLT 62B HALT FOR OPERATOR RTNY LDA SAVSR RESTORE OTA 1 SW-REG STC PFCNT SET CNTL 4 FF JMP JMG,I EXIT * * MESSAGE OUTPUT WITH OUT HALT * ZMSGC NOP ENTRY JSB ZMSG OUTPUT MESSAGE OCT 2000 SWITCH REG 10 CHECK JMP ZMSGC,I RETURN TO CALLER Ž£þú SKP * * ERROR MESSAGE WITH HALT * ZERMS NOP JSB ZMSG OUTPUT MESSAGE OCT 4000 SWITCH REG 11 CHECK CLA LDB BIT14 CHECK SWR BIT 14 TO JSB SWRT,I SUPPRESS HALT. STA *+3 NO? PUT HALT IN PLACE LDA ZSAVA RESTORE A & B LDB ZSAVB ZHLT NOP WAIT FOR OPERATOR. JMP ZERMS,I RETURN TO CALLER ZMSG NOP STA ZSAVA SAVE A AND STB ZSAVB B-REG CLA SFS 0 CCA STA HOLDI CLF 0 TURN OFF INT SYSTEM LDB ZMSG,I GET SWITCH REGISTER BIT LDA ZMSG ADA M2 DECREMENT RETURN ADDRESS STA ZMSG JSB SWRT,I CHECK TO SUPPRESS MESSAGE JMP ZMSG0 YES? DON'T PRINT. LDA ZMSG,I CHECK IF ERROR LDA A,I MESSAGE LDA A,I IS HEADED ALF,ALF BY AN AND Z.177 EXXX. CPA ZA.E IS IT? JSB ZCFTN YES! OUTPUT TEST NUMBER LDA ZMSG,I NO! RETRIEVE FORMAT LDB A,I ADDRESS CLA,CLE JSB FMTR,I PRINT MESSAGE ZMSG0 LDA ZMSG,I CONVERT HALT CODE LDB A,I FROM ASCII STRING CCA,CCE JSB AS2N,I STA ZEXTA SAVE RESULT AND Z.300 DECODE LDB ZH2 HALT CODE CPA BIT6 LDB ZH6 CPA Z.200 LDB STCOV CPA Z.300 LDB ZH7 LDA ZEXTA GET HALT NUMBER AND Z.77 IOR B STA ZHLT SAVE IT ISZ ZMSG,I ADJUST RETURN POINTERS ISZ ZMSG ISZ ZMSG ISZ ZMSG LDA HOLDI SZA,RSS STF 0 LDA ZSAVA RESTORE A AND B REGISTERS LDB ZSAVB JMP ZMSG,I RETURN. ZCFTN NOP LDA TSTN GET TEST NUMBER CPA ZCFTT IS IT THE SAME ONE? JMP ZCFTN,I YES! SKIP OUTPUT STA ZCFTT NO! THEN UPDATE IT CLE LDB ZBUFI JSB I2AS,I Æ<:6 LDB ZBUF1 STB ZTSTN CLA DO A CRLF JSB SLOP,I CLA,CLE INDICATE START OF FORMAT LDB ZTSTF JSB FMTR,I PRINT TEST NUMBER. JMP ZCFTN,I RETURN _<ÿÿ ÿý€ ÿ12892-18003 1705 S 0122 MEMORY PROTECT DIAGNOSTIC              H0101 â"þú SKP ZSAVA NOP ZSAVB NOP ZEOLC NOP ZEXTA NOP ZIOAD NOP ZIOSC NOP ZTSTA NOP ZSINA NOP ZSINB NOP ZUINA NOP ZUINB NOP Z.7 OCT 7 Z.77 OCT 77 Z.177 OCT 177 SRM OCT 176777 MFLAG OCT 0 XFLAG OCT 0 ZTSH OCT 106077 ZIOM OCT 177700 Z.200 OCT 200 Z.300 OCT 300 ZH2 OCT 102000 ZH6 OCT 106000 ZH7 OCT 107000 ZCFTT DEC -1 ZTSTF DEF *+1 ASC 3,TEST ZTSTN ASC 2,XX// ZPSC ASC 6,PASS XXXXXX/ ZA.E OCT 105 ZBUFI DEF ZBUF ZBUF OCT 0 OCT 0 ZBUF1 ASC 1,XX HED DIAGNOSTIC SUBROUTINES * * SWITCH REGISTER CHECK * SWRTX NOP STA SAVS2 SAVE A-REG. LIA SR GET SWITCH REG AND B MASK OUT TEST BIT(S). SZA,RSS ANY SWITCHES UP? ISZ SWRTX NO! UPDATE RETURN TO P+2. LDA SAVS2 YES! GET ORIGINAL A-REG. JMP SWRTX,I RETURN. SPC 2 ZITCH NOP LDA ZTSH GET HALT 106077. LDB BIT1 GET ADDRESS POINTER. ZTSHL STA B,I STORE HALT IN A TRAP CELL. CPB Z.77 LAST TRAP CELL STORED? JMP ZITCH,I YES! RETURN. INB NO! UPDATE ADDR POINTER. JMP ZTSHL DO NEXT TRAP CELL. HED CONFIGURATION SECTION * CONFIGURATION SECTION * ZCONF CLC INTP,C TURN INT SYSTEM OFF CLB LDA USSC SZA,RSS IS SC SPECIFIED BY CONFIGURATOR ? STB HLT74 NO! THEN HALT 74 SZA,RSS YES! GET SC FROM USSC LIA SR GET SW. REG. CONTENTS. STB *-2 USE SR FOR ANY NEW CONFIGURATION OTB SR STA USSC SAVE IT AND Z.77 MASK AND STA USRSC SAVE SELECT CODE. LDB A CMB,INB IS ADB Z.7 SC SSB >7? JMP CONF1 YES! GO ON. EO73 HLT 73B NO! ERROR HALT. JMP ZCONF TRY AGAIN CONF1 LDA MEMO GET MEMORY MOD SIZE. AND MOMSK MASK TO MOD. IOR CFMEM MERGE IN OCTAL 6000 STA MAXMT SAVE IT.ÍÏþú LDA USRSC GET SC BACK AGAIN. LDB IOIP INITIALIZE TEST I/O STA ZIOSC SAVE SELECT CODE STB ZIOAD SAVE TABLE ADDRESS ZIOL LDB ZIOAD,I GET ADDRESS OF LOCATION CPB M1 IS IT THE TERMINATOR JMP HLT74 YES! RETURN TO CALLER LDA B,I NO! GET CONTENTS AND ZIOM MASK OFF OLD SELECT CODE IOR ZIOSC ADD IN NEW SELECT CODE STA B,I RESTORE IT ISZ ZIOAD MOVE TO NEXT ADDRESS JMP ZIOL DO IT HLT74 RSS HLT 74B ALLOW OPERATOR TO ALTER SR. JMP ZSTEX GO TO EXEC CONTROL SECTION HED PARITY ERROR TESTS * PARITY ERROR SECTION * * SUBTEST 10.1 * TST10 EQU * NOP T10.1 JSB CHKSW CHECK SR 8 & 12. JMP TST10,I EXIT TEST CLF PERR TURN OFF PE. CCA SET STA XFLAG MESSAGE FLAG LDA RTNJP PUT RETURN JUMP STA PFCNT IN PFAR TRAP CELL. STA PECHG SET PARITY INDICATOR. LIA SR SAVE THE STA SAVSR SW.REG. DURING PF. JSB MSGC,I DEF MS100 INFORM OPERATOR TO SET UP INHLT OCT 106000 HARDWARE FOR TESTING. * * HLT 106000 INSTRUCTS THE OPERATOR TO SET THE PE * SWITCH TO THE HALT MODE,FORCE EVEN PARITY ON THE * MEMORY CONTROLLER,PFAR SWITCH TO AUTO RESTART,PRESS * RUN.. * CHKP1 OCT 5 PARITY HALT SHOULD OCCUR HERE * * IN A 2100 OR 21MX M-SERIES COMPUTER THE ABOVE DATA SHOULD * CAUSE THE COMPUTER TO HALT WITH A 5B DISPLAYED IN THE * T-REGISTER. IF COMPUTER IS 21MX E-SERIES THE T-REGISTER * VALUE WILL BE INVALID FOR THIS TEST. THE OPERATOR * MUST DETERMINE IF THE CPU HAS HALTED AT THE PROPER LOACTION * IN MEMORY. THE PARITY LAMP SHOULD BE ON. * SET THE PE SWITCH TO INT-IGNORE, PRESS PRESET, THE PARITY * LAMP (AND PARITY BIT IN 2100) SHOULD GO OUT. * PRESS RUN.. * (NOTE- NO HALT INDICATES EITHER PRESET DID NOT ENABLE PE * OR THE PE DETECTION LOGIC FAILED.) * JSB CHPAR þú INITIALIZE MEMORY FOR TEST. OCT 106001 * * HALT 106001 INSTRUCTS THE OPERATOR TO REMOVE THE JUMPER * FROM THE MEMORY CONTROLLER,POWER DOWN THE COMPUTER,IF 12892B * IS UNDER TEST CHANGE THE STATE OF THE SEL1,INT AND JSB * JUMPERS,POWER UP THE COMPUTER AND THE TEST WILL CONTINUE * AUTOMATICALLY. * * INSURE NO PE INTERRUPT WITH CONTROL 4 CLEAR. * PECON LDA SAVSR RESTORE THE OTA 1 SW. REGISTER. STF PERR ENABLE PARITY ERROR CCA,CLE STA TMODE SET PE TEST MODE LDA JS102 INITIALIZE TRAP CELL STA PTRAP FOR PE INTERRUPT. LDA PETD1 PETD1 CONTAINS EVEN PARITY. JMP CON12 CONTINUE TEST. ER102 JSB ERMS,I REPORT ERROR. DEF MS102 PE INT WITH CNTL 4 CLEAR. STF PERR ENABLE PARITY ERROR. CON12 LDA CPTO GET COMPUTER TYPE. CLE,SSA IS THIS A 2100? JMP MXTST NO! DO 21MX TEST. SPC 3 * * TEST ABILITY OF PE TO INTERRUPT. * ISZ PTRAP ADJUST PE TRAP CELL. STC PFCNT SET CNTL 4 FF. NOP ALLOW TIME TO INTERRUPT. CLC 0,C NO INTERRUPT! REPORT ERROR. LDA TPNT1 PUT EXPECTED LDB PX103 ADDRESS IN ERROR JSB O2AS,I MESSAGE. JSB ERMS,I REPORT ERROR. DEF MS103 NO PE INTERRUPT. * A=EXPECTED PE ADDRESS. JMP TSTNP DO NEXT TEST. ER103 LDA TPNT1 GET EXPECTED PE ADDR. STA EXPVR SAVE EXPECTED VIOLATION REG. JSB CHKIN GO CHECK INTERRUPT AND VR. JMP TSTNP DO NEXT TEST. MXTST CLA,CLE CLEAR THE STA PTRAP PE TRAP CELL. STC PFCNT ENABLE PF CONTROL. LDA GOD12 INITIALIZE PE STA PTRAP TRAP CELL. LDA TPNT2 GET EXPECTED PE ADDR. STF PERR ENABLE PARITY ERRORS. LDB PETD2 PETD2 CONTAINS BAD PARITY. NOP ALLOW TIME FOR PE TO INTERRUPT. CLC 0,C NO INTERRUPT! REPORT ERROR. Öþú LDB PX103 PUT EXPECTED PE ADDR JSB O2AS,I IN THE ERROR MESSAGE. JSB ERMS,I NO PE INTERRUPT. DEF MS103 A=EXPECTED PE ADDR. JMP NOPIN DO NEXT TEST. RET12 STA EXPVR SAVE EXPECTED VR. JSB CHKIN GO CHECK INTERRUPT. NOPIN LDA JS102 UPDATE THE INA PE STA PTRAP TRAP CELL. * * INSURE PE INTERRUPT TURNS OFF PE. * TSTNP ISZ PTRAP ADJUST PE TRAP CELL. LDA PETD3 GET BAD DATA. NO PE INTERRUPT JMP NXT12 BECAUSE LAST PE CLEARS PE INT. ER104 JSB ERMS,I REPORT ERROR IF PE INTERRUPTED. DEF MS104 PE NOT TURNED OFF BY PE INT. SKP * * INSURE STF 5 TURNS ON PE OR GOOD PARITY NOT RESTORED AFTER LDA-B * NXT12 STF PERR ENABLE PE. ISZ PTRAP ADJUST PE TRAP CELL. LDA PETD3 SHOULD GET PE FROM PETD3. JSB ERMS,I NO STF 5 OR GOOD PARITY DEF MS105 RESTORED ON LD*. ER105 STF PERR ENABLE PE. CLF PERR SHOULD TURN OFF PE. ISZ PTRAP ADJUST PE TRAP CELL. LDA PETD4 PE OFF.SHOULDN'T INTERRUPT. JMP T10.2 NO INTERRUPT. CONTINUE TESTING ER106 JSB ERMS,I REPORT ERROR. DEF MS106 CLF 5 FAILED. SKP * * SUBTEST 10.2 * * * INSURE PE DOES NOT OCCUR ON STA-B INSTRUCTION. * T10.2 LDA JS107 INITIALIZE PE STA PTRAP TRAP CELL. STF PERR ENABLE PE. STF 0 TURN ON INTP STA PETD5 NO PE ON ST* INSTRUCTION. JMP CON13 ER107 JSB ERMS,I REPORT ERROR. DEF MS107 PE ON STORE INSTRUCTION * * INSURE GOOD PARITY RESTORED AFTER * A STORE INSTRUCTION. * CON13 ISZ PTRAP ADJUST PE TRAP CELL. LDA PETD5 NO PE SHOULD OCCUR HERE. JMP T10.3 CONTINUE TESTING. ER110 JSB ERMS,I PARITY NOT RESTORED DEF MS110 AFTER STORE INSTRUCTION. SKP * * SUBTEST 10.3 * * * INSURE PE OVERRIDES MEMORY PROTECT * T10.3 CLA CLEAR Š þú STA PTRAP TRAP CELL STF PERR ENABLE PARITY ERROR. STF 0 TURN ON INTERRUPT SYSTEM. STC MPT TURN ON MPT. PEAD1 LIA 0 PE SHOULD OCCUR HERE. LIA VREG SHOULD GET PARITY ADDRESS. SSA VR15=1? JMP T10.4 YES! CONTINUE TESTING. JSB ERMS,I NO! PE DID NOT OVERRIDE MPT. DEF MS111 SKP * * SUBTEST 10.4 * * INSURE PE HOLDS OFF I/O INTERRUPTS. * T10.4 LDA CPTO GET COMPUTER TYPE. SSA,RSS IS THIS A 2100? JMP T10.5 YES! EXIT TEST. LDA PEAD2+1 INITIALIZE MPT STA MPT TRAP CELL WITH CLC 0,C INSTRUCTION STF PERR ENABLE PE. LDA JS112 INITIALIZE I-O JSB TONIO AND TRAP CELL. PEAD2 NOP PE OCCURS HERE. CLC 0,C TURN OFF INTERRUPTS. JMP T10.5 CONTINUE TESTING. ER112 JSB ERMS,I PE DID NOT HOLD DEF MS112 OFF I/O PRIORITY CHAIN. SKP * * SUBTEST 10.5 * * * INSURE NO PE OCCURS IN NON-EXISTENT MEMORY * T10.5 STF PERR ENABLE PE. LDB JS113 INITIALIZE PE STB PTRAP TRAP CELL. LDB MAXMT GET MAX MEMORY SIZE. NXMEM ADB BIT12 ADD 4K TO MEMORY. SSB REACHED 32K YET? JMP T10.6 YES! DONE WITH PE SECTION. LDA B,I GET A WORD FROM NON-EXISTENT JMP NXMEM MEMORY. NO PE SHOULD OCCUR. ER113 LDA B GET ADDRESS OF FAILURE. JSB ERMS,I REPORT ERROR. DEF MS113 PE FROM NON-EXISTENT MEMORY * A=ADDR OF NON-EXISTENT MEMORY * CAUSING THE PARITY ERROR. SKP * * SUBTEST 6 * * T10.6 JSB CHKDO GO CHECK IF REV B. JMP T10.7 EXIT TEST LDA JS301 START REV B TEST. * * THIS SECTION TESTS THE ABILITY OF THE VIOLATION REGISTER * TO CONTAIN THE PROPER INDIRECT PE ADDRESS. * STA PTRAP INITIALIZE TRAP CELL. LDA TPNT6,I FORCE INDIRECT PE. …þþú JSB ERMS,I REPORT ERROR. DEF MS301 NO INDIRECT PE. JMP T10.7 CONTINUE TEST. ER301 LDA TPNT6 EXPECTED VIOLATION ADDRESS. STA EXPVR SAVE IT. JSB CHKIN GO CHECK VIOLATION REGISTER SKP * * * SUBTEST 10.7 * * THIS SECTION VERIFIES PROPER OPERATION OF THE SEPERATE * PE VIOLATION REGISTER. * T10.7 LDA TSTD GET INITIAL ADDRESS OF TEST. STA TMODE ENABLE PE TEST MODE. STA ADMOD SET ADDRESS INCREMENT MODE. STA BUFPT SAVE IT IN POINTER. LDA JS302 INITIALIZE STA PTRAP PE TRAP CELL. PCKLP STF PERR ENABLE PARITY ERROR. LDA BUFPT,I FORCE PARITY ERROR INTERRUPT. NOP ALLOW PE TO OCCUR. CLF PERR SHUT OFF PARITY ERROR. CLE LDA BUFPT NO INTERRUPT. PUT ADDRESS LDB PX103 IN MESSAGE. JSB O2AS,I LDA BUFPT GET BAD PE ADDRESS. JSB ERMS,I REPORT ERROR. DEF MS103 NO PE INTERRUPT. * A=ADDR THAT DIDN'T CAUSE A PE. ER302 LDA BUFPT GET EXPECTED VR VALUE. STA EXPVR SAVE IT FOR CHECK. JSB CHKIN GO CHECK INTERRUPT AND VR. LDA BUFPT GET ADDRESS UNDER TEST. CPA MAXMT LAST ADDRESS? JMP CON20 YES! CONTINUE TESTING. CLB CLEAR INDICATOR. CPA B1777 ADDRESS 1777? JMP UPDAT YES! CLEAR INC INDICATOR. RETN1 LDB ADMOD NO! GET ADDR INC INDICATOR. SZB ADD OR INCREMENT ADDR? INA,RSS ADD ONE TO ADDRESS. ADA B1000 ADD 1000B TO ADDRESS. STA BUFPT SAVE UPDATED POINTER. JMP PCKLP GO TRY ANOTHER ADDRESS. CON20 JSB CHPAR RESTORE PARITY THROUGH MEMORY. JMP TST10,I EXIT TEST 10 * UPDAT STB ADMOD CLEAR ADDRESS. INA UPDATE ADDRESS. JMP RETN1 HED 12892B SPECIAL HARDWARE DIAGNOSTIC * TEST 11 * * SUBTEST 11.1 * * THIS SECTION VERIFIES THE ABILITY OF MPT TO þú* HOLD OFF JSB 0 AND JSB 1. * TST11 EQU * T11.1 NOP JSB CHKSW CHECK SR 8 & 12 JMP TST11,I EXIT TEST JSB CHKDO CHECK IF REV B. JMP TST11,I EXIT TEST LIA SR GET SW-REG STA SAVSR SAVE SW-REG LDA RTNJX PUT RETURN JUMP STA PFCNT IN PFAR TRAP CELL LDA XFLAG HAS THE JUMPERS BEEN SZA INSTALLED DURING TEST 10 ? JMP L1 YES! DON'T PRINT MESSAGE JSB MSGC,I NO! PRINT MESSAGE DEF MS061 HLT 61B HALT FOR OPERATOR RTNX LDA SAVSR RESTORE SW-REG OTA 1 OUTPUT TO SW-REG L1 STC PFCNT SET CNTL 4 FF CCA SET STA MFLAG MESSAGE FLAG LDB BIT2 INITIALIZE LDA JS305 MPT JSB INTMP TRAP CELL. LDB HLT31 SET UP HALT IN B. STC MPT TURN ON MPT. VAJSB JSB A VIOLATION HERE. ER305 LIA VREG GET VIOLATION REGISTER. CPA VIJSB VIOLATION AT RIGHT PLACE? JMP CON21 YES! CONTINUE NEXT TEST. JSB ERMS,I NO! REPORT ERROR. DEF MS305 ILLEGAL JSB 0 ALLOWED. CON21 LDA HLT31 INITIALIZE FOR STA 2 JSB 1 . STF 0 TURN INTERRUPT SYSTEM ON. ISZ MTRAP ADJUST MPT TRAP CELL. STC MPT TURN ON MPT. VIJS2 JSB B VIOLATION HERE ER306 LIA VREG GET VIOLATION REGISTER. CPA VIJSX WAS JSB 1 ALLOWED? JMP T11.2 NO! CONTINUE WITH NEXT TEST. JSB ERMS,I YES! REPORT ERROR. DEF MS306 ILLEGAL JSB 1 ALLOWED. SKP * SUBTEST 11.2 * * THIS SECTION INSURES ALL I/O INSTRUCTIONS * EXCEPT HALT ARE ALLOWED BY MPT. * T11.2 LDA JS307 INITIALIZE MPT CLB,CLE FENCE WILL BE 0. JSB INTMP INITIALIZE MPT. LDB VIINS GET I/O INSTRUCTION LIST POINTER STB MCNTR SAVE IT. STC MPT TURN ON MPT. IOCCK LDA MCNTR,I GET I/O INSTRUCTION CPA MIN1 EN±OþúD OF LIST? JMP CON22 YES! DO NEXT TEST. STA INLN2,I NO! PUT INST. IN LINE. LINE2 NOP NO VIOLATION SHOULD OCCUR ISZ MCNTR MOVE INSTRUCTION LIST PNTR. JMP IOCCK DO ANOTHER INSTRUCTION. ER307 LDA INLN2 PUT VIOLATION LDB MX53 ADDRESS IN JSB O2AS,I MESSAGE. LDB INLN2 GET VIOLATING ADDRESS LDA B,I GET VIOLATING INSTRUCTION JSB ERMS,I REPORT ERROR. DEF MS053 LEGAL INSTRUCTION CREATED MPV * A=LEGAL I-O INSTRUCTION THAT CAUSED MPT. * B=ADDRESS OF VIOLATING INSTRUCTION JMP T11.3 CON22 CLA CLEAR MPT STA MTRAP TRAP CELL. HLT 31B SHOULD NOT HALT HERE. JMP T11.3 SKP * SUBTEST 11.3 * * THIS SECTION VERIFIES THAT WHEN THE "INT" * JUMPER IS REMOVED FROM THE 12892B BOARD, * AN I-O INTERRUPT WILL OCCUR IMMEDIATELY * AFTER A STC 5 INSTRUCTION. * T11.3 LDA EXT20 INITALIZE I-O JSB TONIO TRAP CELL STC MPT TURN ON MPT. JMP *+1,I INTERRUPT IMMEDIATELY. DEF *+1 CLC 0,C TURN OFF I/O. JSB ERMS,I REPORT ERROR. DEF MS302 MPT INDIRECT LOGIC HELD OFF I/O. RET20 JMP TST11,I EXIT TEST 11 * HED TEST THAT DMA TRANSFERS ARE ALLOWED INTO PROTECTED MEMORY */ * THIS SECTION INSURES THAT DMA TRANSFERS INTO PROTECTED * MEMORY ARE ALLOWED. * TST12 EQU * NOP LDA CPTO GET OPTIONS WORD. AND BIT2 MASK TO DMA BIT. SZA,RSS IS DMA AVAILABLE? JMP TST12,I NO! GO DO NEXT TEST. LDA USRSC GET SC. IOR BIT13 MERGE CONTROL BIT OTA DMACH CONTROL WORD TO DMA LDB A INITIALIZE LDA JS313 MEMORY JSB INTMP PROTECT. CLC DMAIN OUTPUT LDA BUF CW2 TO IOR BIT15 DMA OTA DMAIN CHANNEL. STC DMAIN OUTPUT LDA MIt-þúN1 CW3 TO OTA DMAIN DMA. LDA T19 STA DMACH CLEAR DMA TRAP CELL. JSB TONIO INITIALIZE I-O. STC DMACH,C TURN ON DMA T19 STC MPT TURN ON MPT. NOP NO MEMORY PROTECT SHOULD OCCUR. HLT 31B FORCE MPT INTERRUPT. ER313 LIA VREG GET VIOLATION REGISTER. LDB A,I GET INSTRUCTION. CPB HLT31 WAS THERE A MPV DURING DMA XFER? JMP TST12,I NO! GO DO NEXT TEST. JSB ERMS,I YES! REPORT ERROR. DEF MS313 MPV DURING DMA XFER. * A=ADDRESS OF ILLEGAL VIOLATION. * B=ILLEGAL VIOLATION INSTRUCTION. JMP TST12,I HED TEST PRESET TO CLEAR MPT * * THIS SECTION TESTS THE ABILITY OF PRESET TO * CLEAR MPT. * TST13 EQU * NOP JSB CHKSW CHECK SR 8 OR 12. JMP TST13,I EXIT TEST LDA JS314 STA 2 SET TEST DATA IN 2. LDB BIT2 FENCE WILL BE 4. JSB INTMP INITIALIZE MPT. JSB MSGC,I DEF MP314 PRESS HALT,PRESET,RUN STC MPT TURN ON MPT. LDB M100 SET COUNTER. STO SET OVERFLOW NOTEF ISZ A WAIT ABOUT JMP *-1 A SECOND. SOS HAS PRESET CLEARED OVER FLOW ? JMP TST13,I YES! EXIT TEST CME FLASH E-REG. ISZ B 10 SECONDS UP? JMP NOTEF NO! WAIT SOME MORE. LDA 2 GET TEST DATA FROM 2. SZA WAS ADDR 2 STORED? JMP TST13,I YES! EXIT TEST. ER314 CLA FLASH CMA THE OTA SR SWITCH INB,SZB FOREVER. JMP *-1 JMP ER314+1 HED MESSAGES ** MESSAGES ** * HDMS OCT 6412 ASC 20,MEMORY PROTECT-PARITY ERROR DIAGNOSTIC/ MS033 ASC 17,E033 MEMORY ALTERED BY ILLEGAL STB ASC 07, INSTRUCTION/ MS034 ASC 20,E034 B-REGISTER ALTERED BY ILLEGAL LIB/ MS035 ASC 19,E035 INTERRUPT ON LIA 0 WITH MPT OFF/âyþú MS036 ASC 17,E036 LIA NOT ALLOWED WITH MPT OFF/ MS037 ASC 20,E037 ILLEGAL DECODE OF SELECT CODE FIVE/ MS042 ASC 16,E042 I-O INTERRUPT AFTER SECOND ASC 08,LEVEL INDIRECT/ MS043 ASC 15,E043 I-O INTERRUPT AFTER FIRST ASC 08, LEVEL INDIRECT/ MS044 ASC 18,E044 NO I-O INTERRUPT ON MULTI-LEVEL ASC 05, INDIRECT/ MS046 ASC 15,E046 NO SKF ON SFS 5 AFTER MEM ASC 06, VIOLATION/ MS047 ASC 18,E047 ILLEGAL SKF ON SFC 5 AFTER MEM ASC 05,VIOLATION/ MS050 ASC 17,E050 ILLEGAL SKF ON SFS 5 WITH NO ASC 07,MEM VIOLATION/ MS051 ASC 16,E051 NO SKF ON SFC 5 WITH NO MEM ASC 06, VIOLATION/ MS052 ASC 11,E052 NO MEM VIOLATION/ MS053 ASC 20,E053 LEGAL INSTRUCTION AT ADDRESS XXXXXX MS054 ASC 15,E054 I-O TRAP CELL INSTR ERR/ OCT 6412 ASC 12,CAUSED A MPT VIOLATION/ MS100 OCT 6412 ASC 18,H100 FORCE EVEN PARITY ON THE MEMORY ASC 06, CONTROLLER OCT 6412 ASC 13,SET PE SWITCH TO HALT MODE OCT 6412 ASC 14,PFAR SWITCH TO AUTO-RESTART OCT 6412 ASC 11,PRESS PRESET(INT), RUN OCT 6412 ASC 18,CPU HALTS WITH 5 OR 106000 IN T-REG OCT 6412 ASC 07,PARITY LAMP ON OCT 6412 ASC 15,SET PARITY HALT SWITCH TO INTP OCT 6412 ASC 15,PRESS PRESET,RUN - HALT 106001 ASC 07, SHOULD OCCUR. OCT 6412 ASC 15,FOLLOW INSTRUCTION IN MOD FOR ASC 07, HALT 106001/ MS061 OCT 6412 ASC 12,H061 POWER DOWN COMPUTER OCT 6412 ASC 19, INSTALL JUMPERS PER TABLE 3-5 IN MOD OCT 6412 ASC 10, POWER UP COMPUTER/ MS062 OCT 6412 ASC 12,H062 POWER DOWN COMPUTER OCT 6412 ASC 17, SET JUMPERS TO INITIAL SETTINGS OCT 6412 ASC 11, PER TABLE 3-1 IN MOD OCT 6412 ASC 10, POWER UP COMPUTER/ MS102 ASC 15,E102 PE INT WITH CNTL 4 CLEAR/ MS103 ASC 19,E103 NO PE INTP WHEN ACCESSING ADDRESS MX103 ASC 04,XXXXXX/ MS104 ASC 17,E104 PE NOT TURNED OFF BY PE INTP/ MS105 ASC 16,EæÓB@<105 STF 5 DOESN'T ENABLE PE OR OCT 6412 ASC 19,LOAD INSTRUCTION RESTORED GOOD PARITY/ MS106 ASC 09,E106 CLF 5 FAILED/ MS107 ASC 15,E107 PE ON STORE INSTRUCTION/ MS110 ASC 17,E110 PARITY NOT RESTORED BY STORE ASC 06,INSTRUCTION/ MS111 ASC 15,E111 PE DID NOT OVERRIDE MPT/ MS112 ASC 19,E112 PE DID NOT BREAK PRIORITY CHAIN/ MS113 ASC 17,E113 PE FROM NON-EXISTENT MEMORY/ MS301 ASC 14,E301 NO PE INTP ON INDIRECT/ MS302 ASC 16,E302 MPT INDIRECT LOGIC HELD OFF ASC 05, I-O INTP/ MS305 ASC 10,E305 JSB 0 ALLOWED/ MS306 ASC 10,E306 JSB 1 ALLOWED/ MS313 ASC 20,E313 MPT VIOLATION DURING DCPC TRANSFER/ MP314 OCT 6412 OCT 6412 OCT 003407 BELL OCT 003407 OCT 003407 ASC 19,H314 PRESS HALT,PRESET AND RUN WITHIN ASC 05,30 SECONDS OCT 003407 OCT 003407 ASC 1,// FWAA EQU * END * ÿÿ ‚»Bÿÿ ÿý‘ ÿ12907-18004 1632 S 0122 FFP DIAGNOSTIC 2100              H0101 Fþú* ******************************************************************** * SPECIAL TEST TABLE XMPY TEST ******************************************************************** * MLHD1 EQU * DEC 4 * MLBS1 EQU * OCT 073017 +0.170141183461E+20 OCT 022476 UPPER BOUNDARY-OUTER RANGE OCT 156600 * OCT 042543 +0.999999999999E+19 OCT 110602 OCT 042600 * OCT 077777 +0.170141183460E+39 OCT 177777 OCT 177776 * * OCT 104760 -0.170141183461E+20 OCT 155301 LOWER BOUNDARY-OUTER RANGE OCT 021600 * OCT 042543 +0.999999999999E+19 OCT 110602 OCT 042600 * OCT 100000 -0.170141183460E+39 OCT 0 OCT 000376 * * OCT 067405 +0.146936793852E-20 OCT 132635 UPPER BOUNDARY-INNER RANGE OCT 034167 * OCT 044711 +0.100000000000E-17 OCT 073507 OCT 044613 * OCT 0 0.00E00 OCT 0 OCT 0 * * OCT 067405 +0.146936793853E-20 OCT 132635 LOWER BOUNDARY-INNER RANGE OCT 035567 * OCT 133066 -0.100000000000E-17 OCT 104270 OCT 133613 * OCT 0 0.00E00 OCT 0 OCT 0 * * ******************************************************************** * * * * * ******************************************************************** * SPECIAL TEST TABLE XDIV TEST ******************************************************************** * * DVHD1 EQU * DEC 6 * DVBS1 EQU * OCT 073017 +0.170141183461E+20 OCT 022476 UPPER BOUNDARY-OUTER RANGE OCT 156600 * OCT 045616 +0.999999999999E-21 OCT 150050 OCT 035167 * OCT 077777 +0.170141183460E+39 OCT 177777 OCT 177776 * * OCT 104760 -0.170141183461E+20 OCT 155301 LOWER BOUNDARY-OUTER RANGE OCT 021600 * OCT 045616Ü,þú +0.999999999999E-21 OCT 150050 OCT 035167 * OCT 100000 -0.170141183460E+39 OCT 0 OCT 000376 * * OCT 067405 +0.146936793852E-20 OCT 132635 UPPER BOUNDARY-INNER RANGE OCT 034167 * OCT 067405 +0.999999999999E+18 OCT 132635 OCT 035570 * OCT 0 +0.00E+00 OCT 0 OCT 0 * * OCT 110372 -0.146936793852E-20 OCT 045142 LOWER BOUNDARY-INNER RANGE OCT 144167 * OCT 067405 +0.999999999999E+18 OCT 132635 OCT 035570 * OCT 0 +0.00E+00 OCT 0 OCT 0 * * OCT 073017 +0.170141183466E+20 OCT 022476 DIVIDE BY 0 OCT 166200 * OCT 0 +0.00E+00 OCT 0 OCT 0 * OCT 077777 +0.170141183460E+39 OCT 177777 OCT 177776 * * OCT 104760 -0.170141183466E+20 OCT 155301 DIVIDE BY 0 OCT 012200 * OCT 0 +0.00E+00 OCT 0 OCT 0 * OCT 100000 -0.170141183460E+39 OCT 0 OCT 000376 * * ******************************************************************** * * * ******************************************************************** * TABLES FOR DBLE TESTS ******************************************************************** * DBHED DEC 9 NR. OF TABLE ENTRIES. EACH ENTRY * CONSISTS OF 5 WORDS. * WORD 1 - 1ST WORD OF INPUT * WORD 2 - 2ND WORD OF INPUT * WORD 3 - 1ST WORD OF EXPECTED OUTPUT * WORD 4 - 2ND WORD OF EXPECTED OUTPUT * WORD 5 - 3RD WORD OF EXPECTED OUTPUT * * DBBAS EQU * OCT 077777 0.1701412E+39 OCT 177776 UPPER BOUNDARY-OUTER RANGE * OCT 077777 0.170141163178E+39 OCT 177400 OCT 000376 * * OCT 100000 -0.1701412E+39 OCT 000376 LOWER BOUNDARY-OUTER RANGE * OCT 100000 -0.1701411õšþú83460E+39 OCT 0 OCT 000376 * * OCT 040000 0.1469368E-38 OCT 1 UPPER BOUNDARY-INNER RANGE * OCT 040000 0.146936793853E-38 OCT 0 OCT 1 * * OCT 137777 -0.1469369E-38 OCT 176401 LOWER BOUNDARY-INNER RANGE * OCT 137777 -0.146936898950E-38 OCT 176400 OCT 1 * * OCT 076612 0.9046138E+19 OCT 053576 * OCT 076612 0.904613845903E+19 OCT 053400 OCT 000176 * * OCT 057302 0.7403148E+00 OCT 121400 * OCT 057302 0.740314841270E+00 OCT 121400 OCT 0 * * OCT 040762 0.1117218E-18 OCT 166205 * OCT 040762 0.111721805266E-18 OCT 166000 OCT 000205 * * OCT 115330 -0.2091832E-22 OCT 060153 * OCT 115330 -0.209183192871E-22 OCT 060000 OCT 000153 * * OCT 131524 -0.2209911E+20 OCT 006202 * OCT 131524 -0.220991105949E+20 OCT 006000 OCT 000202 * * * ******************************************************************** * * * ******************************************************************** * TABLE FOR SNGL TESTS ******************************************************************** * * SGHED DEC 18 NR. OF ENTRIES. * EACH ENTRY CONSISTS OF 5 WORDS. * * FIRST 3 WORDS - INPUT * SECOND 2 WORDS - OUTPUT * SGBAS EQU * OCT 054173 +0.287135603715E+35 OCT 000526 OCT 106346 * OCT 054173 +0.2871356E+35 OCT 000746 * * OCT 056172 +0.447201649260E+27 OCT 124176 OCT 170262 * OCT 056172 +0.4472016E+27 OCT 124262 * * OCT 060557 +0.214263410162E+15 OCT 105471 OCT 136540 * OCT 060557 +0.2142634E+15 OCT 105540 * * OCT 046047 +0.998174653012E+07 OCT 114503 {Yþú OCT 155460 * OCT 046047 +0.9981746E+07 OCT 114460 * * OCT 041443 +0.209814274109E+01 OCT 176076 OCT 165004 * OCT 041443 +0.2008143E+01 OCT 176004 * * OCT 061147 +0.187692645130E-03 OCT 127056 OCT 023351 * OCT 061147 +0.1876926E-03 OCT 127351 * * OCT 053416 +0.791765024518E-10 OCT 032105 OCT 060677 * OCT 053416 +0.7917650E-10 OCT 032277 * * OCT 073326 +0.100659253781E-18 OCT 062211 OCT 043603 * OCT 073326 +0.1006593E-18 OCT 062603 * * OCT 047131 +0.791117549280E-26 OCT 033165 OCT 011525 * OCT 047131 +0.7911175E-26 OCT 033125 * * OCT 076101 +0.912876403313E-37 OCT 014640 OCT 110413 * OCT 076101 +0.9128764E-37 OCT 015013 * * OCT 123006 -0.222764026459E+30 OCT 136521 OCT 001304 * OCT 123006 -0.2227640E+30 OCT 136704 * * OCT 135273 -0.623901549812E+18 OCT 123304 OCT 122570 * OCT 135273 -0.6239015E+18 OCT 123570 * * OCT 116745 -0.200918547392E+06 OCT 027173 OCT 142044 * OCT 116745 -0.2009186E+06 OCT 027044 * * OCT 103050 -0.111893657122E-37 OCT 114715 OCT 057405 * OCT 103050 -0.1118937E-37 OCT 115005 * * OCT 125123 -0.211198476202E-29 OCT 162564 OCT 107075 * OCT 125123 -0.2111985E-29 OCT 162475 * * OCT 137263 -0.432109685454E-21 OCT 110363 OCT 136565 * OCT 137263 -0.4321097E-21 OCT 110565 * * OCT 123016 -0.998563210089E-14 OCT 131465 OCT 001245 * OCT 123016 -0.9985632E-14 OCT 131645 * * OCT 115506 -0.600354780987E-05 OCT 172540 OCT 004737 * OCQ'þúT 115506 -0.6003548E-05 OCT 172737 * * * ******************************************************************** * * * ******************************************************************** * TABLE FOR XADD TEST ******************************************************************** * ADHED DEC 18 NR. OF ENTRIES. EACH ENTRY * CONSISTS OF 9 WORDS. * * 1ST WORD - 1ST WORD OF 1ST OPERAND * 2ND WORD - 2ND WORD OF 1ST OPERAND * 3RD WORD - 3RD WORD OF 1ST OPERAND * * 4TH WORD - 1ST WORD OF 2ND OPERAND * 5TH WORD - 2ND WORD OF 2ND OPERAND * 6TH WORD - 3RD WORD OF 2ND OPERAND * * 7TH WORD - 1ST WORD OF RESULT * 8TH WORD - 2ND WORD OF RESULT * 9TH WORD - 3RD WORD OF RESULT * ADBAS EQU * OCT 072423 0.389056288128E+38 OCT 147144 OCT 010772 * OCT 0 0.00E+00 OCT 0 OCT 0 * OCT 072423 0.380056288128E+38 OCT 147144 OCT 010772 * * OCT 045526 0.100141183460E+39 OCT 076612 OCT 022776 * OCT 132251 -0.100141183460E+39 OCT 101165 OCT 155776 * OCT 0 0.00E+00 OCT 0 OCT 0 * * OCT 074151 0.298123765034E+30 OCT 043132 OCT 137704 * OCT 046764 0.772036481090E+30 OCT 126337 OCT 167710 * OCT 066016 0.107016024612E+31 OCT 177166 OCT 117710 * * OCT 066352 0.200912867305E+22 OCT 041353 OCT 051216 * OCT 066217 0.100128749347E+22 OCT 047614 OCT 103214 * OCT 050630 0.301041616652E+22 OCT 172530 OCT 145620 * * OCT 046602 0.213054823012E+14 OCT 043321 OCT 036132 * OCT 043116 0.773023549017E+14 OCT 055547 OCT 075536 * OCT 054656 0.986078372029E+14 OCT 166433 OCT 145136 * * OCT 065712 0.220756933711E+06 OCT 116740 OCT 17G9þú3044 * OCT 057141 0.386579030127E+06 OCT 030173 OCT 063446 * OCT 045043 0.607335963838E+06 OCT 037665 OCT 170450 * * OCT 044776 0.289045238812E+00 OCT 157147 OCT 141777 * OCT 052642 0.669023651899E+00 OCT 110450 OCT 112000 * OCT 075242 0.958068890712E+00 OCT 000134 OCT 073000 * * OCT 113621 -0.330954612881E+32 OCT 131403 OCT 143322 * OCT 135020 -0.443266128566E+32 OCT 117647 OCT 031324 * OCT 102731 -0.774220741446E+32 OCT 074451 OCT 012724 * * OCT 104621 -0.559274621027E+24 OCT 124573 OCT 125636 * OCT 134546 -0.333392230092E+24 OCT 142537 OCT 137636 * OCT 120574 -0.892666851119E+24 OCT 033555 OCT 132640 * * OCT 130355 -0.556432098326E+16 OCT 017101 OCT 100552 * OCT 125166 -0.300954281811E+16 OCT 130653 OCT 017550 * OCT 103050 -0.857386380138E+16 OCT 073427 OCT 010152 * * OCT 132014 -0.398201765439E+08 OCT 106756 OCT 114064 * OCT 125400 -0.222815023671E+08 OCT 134150 OCT 101062 * OCT 104614 -0.621016789110E+08 OCT 165042 OCT 154464 * * OCT 040030 +0.530193762998E-22 OCT 131703 OCT 005557 * OCT 051064 +0.339991276308E-22 OCT 070321 OCT 106555 * OCT 064462 +0.870185039307E-22 OCT 166053 OCT 151157 * * OCT 043026 +0.778120659375E-14 OCT 036646 OCT 157245 * OCT 050071 +0.111332091996E-14 OCT 022545 OCT 124237 * OCT 050035 +0.889452751371E-14 OCT 061123 OCT 111645 * * OCT 075774 +0.923761080010E-06 OCT 030143 OCT 155731 * OCT 042047 +0.991776928998E-09 Ãlþú OCT 103065 OCT 033707 * OCT 076036 +0.924752856939E-06 OCT 042046 OCT 173331 * * OCT 131214 -0.391022576801E-26 OCT 146301 OCT 152523 * OCT 123204 -0.225889001134E-26 OCT 021076 OCT 142121 * OCT 102716 -0.616911577934E-26 OCT 156741 OCT 033523 * * OCT 123541 -0.600519744432E-18 OCT 000547 OCT 174611 * OCT 113413 -0.711198003215E-18 OCT 131367 OCT 166211 * OCT 117466 -0.131171774765E-17 OCT 055057 OCT 171213 * * OCT 111035 -0.499701254438E-10 OCT 050771 OCT 033675 * OCT 134377 -0.322876411235E-10 OCT 126206 OCT 163675 * OCT 122616 -0.822577665673E-10 OCT 077500 OCT 007677 * * OCT 100734 -0.769881020151E-02 OCT 154575 OCT 155363 * OCT 133440 -0.111198022357E-02 OCT 010516 OCT 052357 * OCT 133722 -0.881079042509E-02 OCT 067350 OCT 133765 * * ******************************************************************** * * * ******************************************************************** * TEST TABLE FOR XSUB TEST ******************************************************************** * SBHED DEC 7 NR. OF ENTRIES. EACH ENTRY * CONSISTS OF 9 WORDS * SBBAS EQU * OCT 077777 +0.170141183460E+39 OCT 177777 OCT 177776 * OCT 077777 +0.170141183460E+39 OCT 177777 OCT 177776 * OCT 0 +0.00E+00 OCT 0 OCT 0 * * OCT 040000 +0.146936793854E-38 OCT 0 OCT 001001 * OCT 040000 +0.146936793854E-38 OCT 0 OCT 001001 * OCT 0 +0.00E+00 OCT 0 OCT 0 * * OCT 051245 +0.999127650234E+26 OCT 054730 OCT 045256 * ¹¬0.* OCT 044756 +0.111723012883E+26 OCT 116524 OCT 152650 * OCT 044547 +0.887404637351E+26 OCT 103055 OCT 127656 * * OCT 054207 +0.398701183404E+18 OCT 104722 OCT 102566 * OCT 107115 -0.512054382698E+18 OCT 012007 OCT 154566 * OCT 062435 +0.910755566102E+18 OCT 035345 OCT 053170 * * OCT 043026 +0.778120659375E-14 OCT 036646 OCT 157245 * OCT 050071 +0.111332091996E-14 OCT 022545 OCT 124237 * OCT 074036 +0.666788567379E-14 OCT 030764 OCT 051243 * * Ê0ÿÿ ÿý‚ ÿ12907-18005 1632 S 0122 FFP DIAGNOSTIC 2100              H0101 Gþú OCT 042047 +0.991776928998E-09 OCT 103065 OCT 033707 * OCT 100412 -0.923761080009E-09 OCT 005743 OCT 075305 * OCT 040721 +0.191553800901E-08 OCT 040041 OCT 136711 * * OCT 107005 -0.351227790163E-30 OCT 021403 OCT 141067 * OCT 132331 -0.231579889015E-30 OCT 014163 OCT 140467 * OCT 131130 -0.119647901148E-30 OCT 012440 OCT 001065 * * ******************************************************************** * * * * * ******************************************************************** * TABLE FOR XMPY TESTS ******************************************************************** MLHED DEC 18 NR. OF ENTRIES. EACH ENTRY * * CONSISTS OF 9 WORDS. * * FIRST 3 WORDS - 1ST OPEAND * SECOND 3 WORDS - 2ND OPEAND * LAST 3 WORDS - EXPECTED OUTPUT * MLBAS EQU * OCT 070130 +0.259048713216E+21 OCT 027501 OCT 057210 * OCT 0 +0.00E+00 OCT 0 OCT 0 * OCT 0 +0.00E+00 OCT 0 OCT 0 * * OCT 104305 -0.671190053874E+17 OCT 147543 OCT 015160 * OCT 0 +0.00E+00 OCT 0 OCT 0 * OCT 0 +0.00E+00 OCT 0 OCT 0 * * OCT 123061 -0.444697001151E+30 OCT 132061 OCT 165706 * OCT 132376 -0.300015997644E+03 OCT 174745 OCT 002422 * OCT 064477 +0.133416214449E+33 OCT 030237 OCT 161726 * * OCT 051200 +0.510669117427E+29 OCT 143630 OCT 053700 * OCT 047776 +0.199987005543E+02 OCT 125533 OCT 126412 * OCT 063437 +0.102127187617E+31 OCT 041136 OCT 071710 * * OCT 054441 +0.980022398709E+14 OCT 166261 OCT 154136 * OCT 055553 +0.599117266542E+07 ̶þú OCT 002252 OCT 054456 * OCT 077521 +0.587148340664E+21 OCT 043703 OCT 172612 * * OCT 041726 +0.444590012834E+07 OCT 146040 OCT 155456 * OCT 043316 +0.290016541196E+06 OCT 004250 OCT 136446 * OCT 045415 +0.128938457772E+13 OCT 051722 OCT 127522 * * OCT 077600 +0.510008296672E+03 OCT 103756 OCT 142022 * OCT 075775 +0.154988760012E+02 OCT 131263 OCT 067410 * OCT 075602 +0.790455534971E+04 OCT 034255 OCT 114032 * * OCT 060463 +0.221008901154E-10 OCT 061737 OCT 005273 * OCT 053346 +0.434501999876E+02 OCT 100234 OCT 157414 * OCT 040775 +0.960288095417E-09 OCT 110433 OCT 151707 * * OCT 061000 +0.340011987202E-15 OCT 072331 OCT 035233 * OCT 050777 +0.200192506734E-01 OCT 132256 OCT 166367 * OCT 076620 +0.680678520374E-17 OCT 021141 OCT 121217 * * OCT 064022 +0.550960071891E-20 OCT 145524 OCT 113173 * OCT 072360 +0.697011278004E-05 OCT 064014 OCT 067737 * OCT 057424 +0.384025383838E-25 OCT 100033 OCT 044131 * * OCT 052700 +0.113490887012E-20 OCT 052206 OCT 064567 * OCT 046617 +0.551103480763E-12 OCT 114157 OCT 011661 * OCT 063753 +0.625452228671E-33 OCT 145654 OCT 027045 * * OCT 122556 -0.522100769010E+20 OCT 010565 OCT 136604 * OCT 064733 +0.433599800126E+06 OCT 176315 OCT 050446 * OCT 132430 -0.226382789088E+26 OCT 120703 OCT 160252 * * OCT 063353 +0.622105439987E+26 OCT 030262 OCT 006254 * OCT 106603 -0.166601987643E-08 OCT 010601 OCT 056707 * Ö•þú OCT 121762 -0.103644002825E+18 OCT 012407 OCT 020162 * * OCT 136736 -0.346709115603E+08 OCT 154016 OCT 011064 * OCT 065256 +0.266700199801E+02 OCT 014667 OCT 134412 * OCT 110705 -0.924673904043E+09 OCT 030437 OCT 165074 * * OCT 103464 -0.900006521306E-06 OCT 001353 OCT 001331 * OCT 057561 +0.111111600077E-07 OCT 131402 OCT 040315 * OCT 122755 -0.100001164662E-13 OCT 046445 OCT 115645 * * OCT 135233 -0.300947600112E-16 OCT 030162 OCT 146225 * OCT 042374 +0.411197650034E-05 OCT 146771 OCT 125737 * OCT 132462 -0.123748945949E-21 OCT 143463 OCT 017161 * * OCT 103660 -0.199034120660E-21 OCT 173053 OCT 153561 * OCT 075724 +0.900994750110E-09 OCT 167475 OCT 160705 * OCT 105633 -0.179328697807E-30 OCT 164310 OCT 016065 * * OCT 047711 +0.600237011542E-34 OCT 000721 OCT 050037 * OCT 105475 -0.222697990123E-03 OCT 175523 OCT 002751 * OCT 133470 -0.133671576068E-37 OCT 163311 OCT 072007 * * * ******************************************************************** * HED SUBROUTINES * * SUBROUTINE TO TURN ON MEMORY PROTECT LOGIC. * * ENTER WITH (B)=FENCE ADDRESS. * MEMTN NOP LDA PMMTN SET INTERRUPT ADDRESS. STA MPPAR CLA STA MPIND RESET INDICATOR. INA ANNOUNCE THAT WE ARE DOING STA MPTES A MEM. PROTECT TEST. OTB MPPAR LOAD FENCE REGISTER. STF INTP STC MPPAR TURN ON MEM. PROTECT LOGIC. JMP MEMTN,I * * * * MEMORY PROTECT VIOLATION ROUTINE. * * MPCHK NOP CLF INTP CLF MPPAR TURN OFF PARITY LOGIC. LIA MPPAR GET VIOLATION REGIÀþúSTER. SSA JMP MPCK1 PARITY ERROR! LDA TRHLT MEMORY PROTECT VIOLATION! STA MPPAR RESTORE TRAP CELL HALT. CLA,INA SET INDICATOR. STA MPIND STF MPPAR TURN ON PARITY LOGIC. JMP MPCHK,I RETURN. * MPCK1 EQU * OCT 106077 HALT ON PARITY ERROR. JMP *-1 * * HED CONSTANTS AND STORAGE * * ORG 140B IOIP DEF IOID TSTP DEF TSTD POINTER TO TEST TABLE HDMP DEF HDMS POINTER TO HEADER MESSAGE STDA OCT 17777 STDB OCT 0 * * * * ORG 150B ******************************************************************** * * MAPPING CODES FOR MACRO * .XFER EQU 220B .GOTO EQU 221B ..MAP EQU 222B .ENTR EQU 223B .ENTP EQU 224B .SETP EQU 227B DBLE EQU 201B SNGL EQU 202B .XMPY EQU 203B .XDIV EQU 204B .DFER EQU 205B .XADD EQU 213B .XSUB EQU 214B ******************************************************************** * MTRY BSS 1 TO CHECK IF FENCE IS RESTORED PMTRY DEF * * * * OUTPUT STORED HERE * POUTP DEF OUTPT OUTPT BSS 1 OUTP1 BSS 1 BSS 1 POUT1 DEF OUTP1 * * MPPAR EQU 5 ZPSTX DEF ZSTEX CONTROL SECTION POINTER HDMS ASC 15,START 2100A-S FFP DIAGNOSTIC/ * IOID EQU * DEF OTATB DEF STCTB DEF CLCTB DEC -1 TEMP BSS 9 DEC -6,-5,-4,-3,-2,-1 . DEC 0,1,2,3,4,5,6,7,8,9 BIT14 OCT 40000 BIT15 OCT 100000 INDIC BSS 1 PADHD DEF ADHED PADBS DEF ADBAS PADB1 DEF ADBS1 PADH1 DEF ADHD1 PADH2 DEF ADHD2 PADB2 DEF ADBS2 TBGSC NOP TBGTR JSB *+1,I DEF TBGIN B77 OCT 77 P40 DEC 40 P8 DEC 8 P15 DEC 15 J BSS 1 M16 DEC -16 M17 DEC -17 M15 DEC -15 PINTR DEF INNTR PINTP DEF INNTP PPROV DEF PROVN PRNTY DEF RNTY1 INNTR RAM .ENTR INSERTS DEF TTB1 FOR RSS .ENTR TEST * INNTP NOP INSERTS NOP FOR RAM .ENTP .ENTP DEF TTB1 ºþú TEST * PMMTN JSB *+1,I INSERT FOR TRAP CELL DEF MPCHK OF MEMORY PROTECT, IF MEM. * PROTECT IS USED. TRHLT OCT 106077 INSERT FOR TRAP CELL OF MEM. * PROTECT, IF IT IS NOT USED. MPTES BSS 1 MPIND BSS 1 TBIND BSS 1 TBGAD BSS 1 TBTIM BSS 1 TBGLP DEC -18 TBGN1 BSS 1 PSBHD DEF SBHED PSBBS DEF SBBAS PSGHD DEF SGHED PSGBS DEF SGBAS PSGH1 DEF SGHD1 PSGB1 DEF SGBS1 PSGH2 DEF SGHD2 PSGB2 DEF SGBS2 PMPH2 DEF MPHD2 PMPB2 DEF MPBS2 PDBHD DEF DBHED PDBBS DEF DBBAS PDVH1 DEF DVHD1 PDVB1 DEF DVBS1 PMPH3 DEF MPHD3 PMPB3 DEF MPBS3 PMP2D DEF MAP2D PMP3D DEF MAP3D PMLHD DEF MLHED PMLBS DEF MLBAS PDVHD DEF DVHED PDVBS DEF DVBAS PMLH1 DEF MLHD1 PMLB1 DEF MLBS1 PNTRP BSS 1 PNTRY DEF ENTRY PERMS DEF ERMES PRMSN DEF RMSSN PMPER DEF MPERR PDATC DEF DATCK PCLCT DEF CLCTB PTBCK DEF TBCHK PTBST DEF TBGST PXAD2 DEF XADD2 PXMP4 DEF XMPY4 PMEMT DEF MEMTN PR142 DEF E142 PR162 DEF E162 PPRNN DEF PRNIN B60 OCT 60 * * ERROR AND NON-ERROR MESSAGES * MMS01 ASC 8,H030 .GOTO TEST/ MMS02 ASC 8,H050 .ENTR TEST/ MMS03 ASC 8,H060 .ENTP TEST/ MMS04 ASC 8,H100 .SETP TEST/ MMS05 ASC 8,H110 ..MAP TEST/ MMS06 ASC 8,H120 SNGL TEST/ MMS07 ASC 8,H130 DBLE TEST/ MMS08 ASC 8,H140 .XADD TEST/ MMS09 ASC 8,H150 .XSUB TEST/ MMS10 ASC 8,H160 .XMPY TEST/ MMS11 ASC 8,H200 .XDIV TEST/ MMS12 ASC 8,H210 .DFER TEST/ MMS13 ASC 8,H220 .XFER TEST/ * * * BUFFER FOR DATA ERROR MESSAGES FOR * DBLE XADD XSUB * XMPY XDIV * TESTS. * RMS00 ASC 8,XXXX DATA ERROR OCT 6412 CR-LF ASC 2,ACT RMAC1 ASC 11,XXXXXX XXXXXX XXXXXX OCT 6412 ASC 2,EXP RMEX1 ASC 12,XXXXXX XXXXXX XXXXXX/ PRAC1 DEF RMAC1 PREX1 DEF RMEX1 PERN1 DEF ERNR1 PERN2 DEF ERNR2 PERN3 DEF ERNR3 PERN4 DEF ERNR4 PERN5 DEF ERNR5 ERNR1 ASC 2,E130 ERNR2 ASC 2,E140 ERNR3 ASC 2,E150 ERNR4 ASC 2,E160 ERNR5 ASC 2,E200 RM úþúS01 ASC 18,E030 FAILED FOR INDIRECT ADDRESSING/ RMS02 ASC 10,E031 FAILED FOR J=0/ RMS03 ASC 11,E032 FAILED FOR J=NEG/ RMS04 ASC 11,E033 FAILED FOR J>16/ RMS05 ASC 10,E034 FAILED FOR J=8/ RMS06 ASC 18,E050 FAILED FOR ACTUAL NR OF PARAM. ASC 7, ALLOWED NR/ * * BUFFER TO OUTPUT ERROR MESSAGE "NO CHECK ON MEM PROT VIOLATION" * * RMS09 ASC 18,XXXX NO CHECK ON MEM PROT VIOLATION/ E053 ASC 2,E053 E211 ASC 2,E211 E131 ASC 2,E131 E104 ASC 2,E104 PR053 DEF E053 PR211 DEF E211 PR131 DEF E131 PR104 DEF E104 * RMS10 ASC 18,E060 FAILED FOR ACTUAL NR OF PARAM. ASC 7,< ALLOWED NR/ RMS11 ASC 15,E100 A-REG. NOT=0 UPON RETURN/ RMS12 ASC 17,E101 B-REG. DOES NOT CONTAIN LAST ASC 11,ADDRESS+1 UPON RETURN/ RMS13 ASC 14,E102 INCORRECT VALUE STORED/ RMS14 ASC 16,E103 MORE LOCATIONS FILLED THAN ASC 5,REQUESTED/ RMS15 ASC 6,E210 FAILED/ RMS16 ASC 6,E220 FAILED/ RMS17 ASC 17,E054 RETURN ADDRESS NOT STORED IN ASC 9,CORRECT LOCATION/ * * BUFFER TO OUTPUT "OVERFLOW NOT SET". * RMS18 ASC 11,XXXX OVERFLOW NOT SET/ E121 ASC 2,E121 E141 ASC 2,E141 E161 ASC 2,E161 E201 ASC 2,E201 PR121 DEF E121 PR141 DEF E141 PR161 DEF E161 PR201 DEF E201 * * * BUFFER FOR DATA ERROR MESSAGES FOR SNGL * RMS19 ASC 8,E120 DATA ERROR OCT 6412 CR-LF ASC 2,ACT R19AC ASC 7,XXXXXX XXXXXX OCT 6412 ASC 2,EXP R19EX ASC 8,XXXXXX XXXXXX/ P19AC DEF R19AC P19EX DEF R19EX * RMS20 ASC 16,E055 RETURN ADDR. NOT IN A-REG/ RMS21 ASC 15,E056 INCORRECT ADDR. IN B-REG/ * * BUFFER TO OUTPUT "OVERFLOW SET" * RMS22 ASC 9,XXXX OVERFLOW SET/ E123 ASC 2,E123 E143 ASC 2,E143 PR123 DEF E123 PR143 DEF E143 * ****************RMS23 MESSAGE ON OTHER PAGE * * BUFFER FOR ERROR MESSAGES FOR ..MAP TESTS * RMS24 ASC 8,E110 DATA ERROR OCT 6412 CR-LF ÀÔþú ASC 2,ACT R24AC ASC 3,XXXXXX OCT 6412 CR-LF ASC 2,EXP R24EX ASC 4,XXXXXX/ P24AC DEF R24AC P24EX DEF R24EX ****************RMS25 MESSAGE ON OTHER PAGE RMS27 ASC 13,E122 FENCE ADDR NOT SAVED/ * HED SUBROUTINES * * SUBROUTINE TO PRINT "OVERFLOW SET" * ENTER WITH (B)=POINTER TO ERROR NUMBER STRING * PROVS NOP LDA B,I MOVE STA RMS22 ERROR INB NUMBER LDA B,I INTO STA RMS22+1 MESSAGE BUFFER. * JSB ERMS,I PRINT ERROR MESSAGE. DEF RMS22 JMP PROVS,I EXIT. * * * * SUBROUTINE TO START UP THE TBG(IF PRESENT) IN * TIME INTERVALS OF 0.1 MS. * TBGTN NOP STA TEMP+8 SAVE (A). LDA TBGTR SET TRAP CELL STA TBGSC,I INSTRUCTION. LDA TBGLP SET TIMING LOOP. STA TBTIM CLA RESET INDICATOR. STA TBIND OTATB OTA CH START UP TBG. STCTB STC CH,C LDA TEMP+8 RESTORE (A). STF INTP TURN ON INTERRUPTS. ISZ TBTIM LOOP. JMP *-1 JMP TBGTN,I EXIT. * * HED TEST DATA TABLES * * ******************************************************************** * TABLE FOR XDIV TESTS ******************************************************************** * DVHED EQU * DEC 17 NR. OF TABLE ENTRIES. EACH ENTRY * CONSISTS OF 9 WORDS. * * * FIRST 3 WORDS - 1ST OPERAND * SECOND 3 WORDS - 2ND OPERAND * LAST 3 WORDS - EXPECTED OUTPUT * DVBAS EQU * OCT 062646 +0.412336000120E+34 OCT 007535 OCT 145340 * OCT 042272 +0.900813201144E+07 OCT 001001 OCT 073460 * OCT 057250 +0.457737519385E+27 OCT 066051 OCT 066662 * * OCT 072235 +0.881109231566E+25 OCT 022130 OCT 030646 * OCT 071116 +0.234100876999E+06 OCT 116020 OCT 060044 * OCT 040512* 0.* +0.376380149815E+20 OCT 121346 OCT 140204 * * OCT 056370 +0.511110388901E+14 OCT 067242 OCT 060534 * OCT 076377 +0.399994678903E+04 OCT 111406 OCT 020030 * OCT 057463 +0.127779297041E+11 OCT 173575 OCT 001104 * * OCT 070262 +0.721269304566E+04 OCT 142655 OCT 141432 * OCT 057544 +0.119238671105E+02 OCT 012160 OCT 105410 * OCT 045634 +0.604895457055E+03 OCT 123625 OCT 107024 * * OCT 045015 +0.666998765432E+18 OCT 037276 OCT 175170 * OCT 047362 +0.222213812456E+17 OCT 035177 OCT 110156 * OCT 074020 +0.300160803715E+02 OCT 073537 OCT 073012 * * OCT 052443 +0.991134896977E-08 OCT 044560 OCT 156715 * OCT 076717 +0.239967811234E-03 OCT 167465 OCT 171751 * OCT 053236 +0.413028269033E-04 OCT 044516 OCT 013345 * * OCT 054147 +0.221007761103E+02 OCT 030732 OCT 044012 * OCT 064254 +0.113489002136E-16 OCT 152477 OCT 004221 * OCT 066032 +0.194739364118E+19 OCT 020313 OCT 130572 * * #Ç0ÿÿ ÿýƒ ÿ12907-18006 1632 S 0122 FFP DIAGNOSTIC 2100              H0101 Hþú OCT 074025 +0.388012009141E-24 OCT 075200 OCT 021537 * OCT 042534 +0.211678009126E-02 OCT 153241 OCT 162361 * OCT 067314 +0.183302937676E-21 OCT 140567 OCT 137561 * * OCT 064401 +0.336015800197E+04 OCT 041626 OCT 104430 * OCT 070140 +0.911697334097E+04 OCT 014152 OCT 032742 * OCT 073632 +0.368560691832E-30 OCT 151411 OCT 020467 * * OCT 045430 +0.216450126987E+20 OCT 121027 OCT 121202 * OCT 131634 -0.111161366901E-08 OCT 044430 OCT 027707 * OCT 101052 -0.194717043359E+29 OCT 142161 OCT 132274 * * OCT 104244 -0.880691123011E+22 OCT 161600 OCT 047222 * OCT 041315 +0.334011980776E+02 OCT 064725 OCT 116414 * OCT 106646 -0.263670518933E+21 OCT 130440 OCT 020610 * * OCT 065170 +0.665431209112E+01 OCT 007764 OCT 106006 * OCT 102772 -0.346801235431E-11 OCT 165764 OCT 175665 * OCT 110120 -0.191876827741E+13 OCT 017746 OCT 013522 * * OCT 040240 +0.200012067011E+29 OCT 116103 OCT 161676 * OCT 136726 -0.999803245095E+25 OCT 126231 OCT 031650 * OCT 101367 -0.200051428111E+04 OCT 142601 OCT 025426 * * OCT 120520 -0.666301256707E+16 OCT 014773 OCT 034552 * OCT 055365 +0.200019760222E+15 OCT 056540 OCT 144140 * OCT 136540 -0.333117715953E+02 OCT 057571 OCT 032414 * * OCT 060543 +0.345990123677E-12 OCT 033503 OCT 072657 * OCT 121570 -0.110302660799E-04 OCT 127430 OCT 003341 * OCT 136243 -0.313673415647E-07 OCT 117441 OCT 137321 * * OCT 131643 -0.555610345980E-09 ü™þú OCT 031347 OCT 160305 * OCT 045777 +0.996110388604E+07 OCT 043761 OCT 065060 * OCT 137661 -0.557779893008E-16 OCT 037111 OCT 013627 * * OCT 116412 -0.900016501999E-10 OCT 144640 OCT 106677 * OCT 074541 +0.333650123667E+14 OCT 113327 OCT 013132 * OCT 113645 -0.269748589362E-23 OCT 062306 OCT 111545 * * * ******************************************************************** * * HED FFP DIAGNOSTIC - TEST TABLE ORG 4000B * TSTD EQU * DEF TST00 .GOTO TEST DEF TST01 .ENTR TEST DEF TST02 .ENTP TEST DEF TST03 .SETP TEST DEF TST04 ..MAP DEF TST05 SNGLE TEST DEF TST06 DBLE TEST DEF TST07 .XADD TEST DEF TST08 .XSUB TEST DEF TST09 .XMPY TEST DEF TST10 .XDIV TEST DEF TST11 .DFER TEST DEF TST12 .XFER TEST DEC -1 * HED FFP DIAGNOSTIC - TEST 1 * ********* * .GOTO * ********* TST00 EQU * XGOTO NOP JSB MSGC,I OUTPUT MESSAGE. DEF MMS01 CLA RESET INDICATOR. STA INDIC * * CHECK 16 INDIRECTS (CHECKS SUBR. "GETQ1") * LDA M16 FILL LOCATIONS 1-16 OF STA TEMP LDB PTTB1 TEST TABLE WITH LDA PTTB2 STA TEMP+1 "DEF NEXT LOCATION,I". XGOT3 EQU * LDA TEMP+1 IOR BIT15 STA B,I INB ISZ TEMP+1 ISZ TEMP JMP XGOT3 LDA JNGOT STORE "JMP RETURN" IN LOC. 17 STA TTB17 CLA,INA SET SELECTION NR. STA J JMP XGOT1 GO TO MICRO-CODE. * * ******************************************************************** XGOT1 EQU * RAM .GOTO CALLING SEQUENCE FOR DEF *+18 ".GOTO" FIRMWARE. DEF J PTTB1 DEF TTB1 PTTB2 DEF TTB2 PTTB3 DEF TTB3 PTTB4 DEF TTB4 PTTB5 DEF TTB5 LþúPTTB6 DEF TTB6 PTTB7 DEF TTB7 PTTB8 DEF TTB8 PTTB9 DEF TTB9 PTB10 DEF TTB10 PTB11 DEF TTB11 PTB12 DEF TTB12 PTB13 DEF TTB13 PTB14 DEF TTB14 PTB15 DEF TTB15 PTB16 DEF TTB16 ******************************************************************** ******************************************************************** PTB17 DEF TTB17 PTB18 DEF TTB18 TTB18 EQU * * * AFTER COMPLETION OF A SUBTEST, CONTROL WILL COME HERE TO * DETERMINE WHICH SUBTEST HRS TO BE EXECUTED NEXT. * NGOT EQU * LDA INDIC ADA DNGOT LDA A,I JMP A,I * DNGOT DEF *+1 DEF NGOT1 DEF NGOT2 DEF NGOT3 DEF NGOT4 DEF NGOT5 * * NGOT1 EQU * TEST FOR 16 INDIRECTS IS OK. CLA,INA SET INDIC=1. STA INDIC * * NOW CHECK FOR J=0 * LDA JRGOT FILL LDB M16 STB TEMP LOCATIONS OF LDB PTTB1 NGT11 EQU * TEST TABLE WITH STA B,I INB "JMP TO ERROR". ISZ TEMP JMP NGT11 * LDA JNGOT STORE "JMP TO RETURN" STA TTB1 IN LOC. 1. CLA SET SEL. NR AND STA J GO TO MIRCO-CODE. JMP XGOT1 * NGOT2 EQU * TEST FOR J=0 IS O.K. LDA .+2 SET INDIC=2. STA INDIC * * NOW CHECK FOR J<0 * CCA SET SEL. NR. AND STA J GO TO MICRO-CODE. JMP XGOT1 * NGOT3 EQU * TEST FOR J<0 IS O.K. LDA .+3 SET INDIC=3. STA INDIC * * NOW CHECK FOR J>16 * LDA JRGOT STORE "JMP ERROR" IN LOC. 1. STA TTB1 LDA JNGOT STORE "JMP RETURN" IN LOC. 16. STA TTB16 LDA P40 SET LOC. OF SEL. NR. AND STA J GO TO MIRCO-PROGRAM. JMP XGOT1 * NGOT4 EQU * TEST FOR J>16 IS OK. LDA .+4 SET INDIC=4. STA INDIC * * NOW CHECK FOR J=8 * LDA JRGOT STORE "JMP ERROR" IN LOC. 16. STA TTB1Ùßþú6 LDA JNGOT STORE "JMP RETURN" IN LOC. 8 STA TTB8 LDA P8 GET SEL. NR. AND STA J GO TO MICRO. JMP XGOT1 * * NGOT5 EQU * JMP XGOTO,I RETURN. * * * * UPON DETECTING AN ERROR(IF FIRMWARE RETURNS TO * A TEST TABLE LOCATION!!!), CONTROL WILL COME HERE * TO DETERMINE WHICH ERROR MESSAGE HAS TO BE PRINTED. * RGOT EQU * LDA INDIC ADA DRGOT LDA A,I JMP A,I * DRGOT DEF *+1 DEF RGOT1 DEF RGOT2 DEF RGOT3 DEF RGOT4 DEF RGOT5 * RGOT1 EQU * * * TEST FAILED FOR 16 INDIRECTS * JSB ERMS,I PRINT ERROR MESSAGE. DEF RMS01 JMP NGOT1 GO DO NEXT SUBTEST. * RGOT2 EQU * * * TEST FAILED FOR J=0 * JSB ERMS,I PRINT ERROR MESSAGE. DEF RMS02 JMP NGOT2 DO NEXT SUBTEST. * RGOT3 EQU * * * TEST FAILED FOR J<0 * JSB ERMS,I PRINT ERROR MESSAGE. DEF RMS03 JMP NGOT3 DO NEXT SUBTEST. * RGOT4 EQU * * * TEST FAILED FOR J>16 * JSB ERMS,I PRINT ERROR MESSAGE. DEF RMS04 JMP NGOT4 DO NEXT SUBTEST. * RGOT5 EQU * * * TEST FAILED FOR J=8 * JSB ERMS,I PRINT ERROR MESSAGE. DEF RMS05 JMP XGOTO,I TEST.DONE. EXIT. * JRGOT JMP RGOT USED TO JUMP TO "ERROR ROUTINE" JNGOT JMP NGOT USED TO JUMP AFTER NON-ERROR EXIT * * * ****************** *** TEST TABLE *** ****************** * TTB1 BSS 1 TTB2 BSS 1 TTB3 BSS 1 TTB4 BSS 1 TTB5 BSS 1 TTB6 BSS 1 TTB7 BSS 1 TTB8 BSS 1 TTB9 BSS 1 TTB10 BSS 1 TTB11 BSS 1 TTB12 BSS 1 TTB13 BSS 1 TTB14 BSS 1 TTB15 BSS 1 TTB16 BSS 1 TTB17 BSS 1 * ******************************************************************** ****************** ****************** ENTRY NOP THE TEST TABLE + THE FOLLOWING * 4 LOCATIONS FORM THE CALLING * SEQUENCEåžþú FOR .ENTR AND .ENTP RNTY1 BSS 1 "RAM .ENTR" INSERTED BSS 1 "DEF TTB1" INSERTED FOR .ENTR * NOP'S FOR .ENTP BSS 1 "RSS" FOR .ENTR * "RAM .ENTP" INSERTED BSS 1 "DEF TTB1" INSERTED FOR .ENTP * ******************************************************************** ******************************************************************** ******************************************************************** STA TEMP+2 SAVE (A). STB TEMP+3 SAVE (B). LDA MPTES MEM. PROTECT TEST? SZA JMP NNTR4 YES. LDA ENTRY GET CONTENTS OF "ENTRY". CPA PNTRP CORRECT RETURN ADDRESS? JMP ENTRY,I YES. GO ON. JSB ERMS,I NO. OUTPUT ERROR MESSAGE. DEF RMS17 JMP PNTRP,I EXIT TO CORRECT RETURN ADDRESS * * HED SUBROUTINES USED BY .ENTR AND .ENTP TESTS * * THIS SUBROUTINE IS USED BY .ENTR & .ENTP TESTS * ENTRP NOP LDA RENTR SAVE RETURN ADDRESS. STA PNTRP JSB ENTRY RENTR DEF *+17 PPTB1 DEF PTTB1 DEF PTTB2 DEF PTTB3 DEF PTTB4 DEF PTTB5 DEF PTTB6 DEF PTTB7 DEF PTTB8 DEF PTTB9 DEF PTB10 DEF PTB11 DEF PTB12 DEF PTB13 DEF PTB14 DEF PTB15 DEF PTB16 JMP ENTRP,I * * ENTF1 NOP LDA RNTF1 SAVE RETURN ADDRESS. STA PNTRP JSB ENTRY RNTF1 DEF *+18 PPB1 DEF PTTB1 DEF PTTB2 DEF PTTB3 DEF PTTB4 DEF PTTB5 DEF PTTB6 DEF PTTB7 DEF PTTB8 DEF PTTB9 DEF PTB10 DEF PTB11 DEF PTB12 DEF PTB13 DEF PTB14 DEF PTB15 DEF PTB16 DEF PTB17 JMP ENTF1,I * * ENTF2 NOP LDA RNTF2 SAVE RETURN ADDRESS. STA PNTRP JSB ENTRY RNTF2 DEF *+19 PPPT1 DEF PTTB1 DEF @ÊþúPTTB2 DEF PTTB3 DEF PTTB4 DEF PTTB5 DEF PTTB6 DEF PTTB7 DEF PTTB8 DEF PTTB9 DEF PTB10 DEF PTB11 DEF PTB12 DEF PTB13 DEF PTB14 DEF PTB15 DEF PTB16 DEF PTB17 DEF PTB18 JMP ENTF2,I * * HED FFP DIAGNOSTIC - TEST 2 * ********* * .ENTR * ********* TST01 EQU * XENTR NOP JSB MSGC,I OUTPUT MESSAGE. DEF MMS02 * CLA RESET INDICATORS. STA MPTES STA INDIC * LDA .-3 SET UP CALLING SEQUENCE. LDB PINTR JSB SETUP * * TEST FOR ACTUAL NR. OF PARAMETERS < ALLOWED NR. * OF PARAMETERS. * TEST ALSO IF RETURN ADDRESS IS PROPERLY STORED * IN CORRECT LOCATION. MICRO PROGRAM SHOULD PROPERLY * PROCESS B-REG. ON ENTRY. * CLB RESET ENTRY LOCATION. STB TTB17 RESET LPST LOCATION OF TEST TABL STB ENTRY GO TO MICRO CODE WITH (B)=0. JSB ENTRP EXECUTE TEST. LDB PTB17 CHECK REGISTERS. JSB NTRCK LDA M16 LDB PPTB1 JSB ERPCK CHECK RESULTS. JMP RNTR1 ERROR. * LDB TTB17 NO ERROR. SZB,RSS LAST LOCATION CHANGED? JMP NNTR1 NO. RNTR1 EQU * JSB ERMS,I YES. ERROR. DEF RMS06 * * TEST FOR ACTUAL NR. OF PARAMETERS = ALLOWED NR. * OF PARAMETERS. * NNTR1 EQU * JSB ENTF1 EXECUTE TEST. LDB PNTRY CHECK REGISTERS. JSB NTRCK LDA M17 LDB PPB1 JSB ERPCK CHECK RESULTS. RSS JMP NNTR2 NO ERROR. JSB ERMS,I ERROR. DEF RMS07 * * TEST FOR ACTUAL NR. OF PARAMETERS > ALLOWED NR. * OF PARAMETERS. * NNTR2 EQU * JSB ENTF2 EXECUTE TEST. LDB PNTRY CHECK REGISTERS. JSB NTRCK LDA M17 LDB PPPT1 JSB ERPCK CHECK RESULT. RSS JMP NNTR3 NO ERROR. JSB ERMS,IE~þú ERROR. DEF RMS08 * * TEST WITH MEMORY PROTECT VIOLATION. * SET FENCE ADDRESS ABOVE "ENTRY". NNTR3 EQU * LDB PRNTY SET UP FOR MEMORY PROTECT TEST, JSB PMEMT,I CLA,INA SAY THAT WE ARE DOING MEM. PROT. STA INDIC TEST #1. JSB ENTRP EXECUTE TEST. * * * RETURN CODE FROM MEMORY PROTECT TESTS. * NNTR4 EQU * LDA MPIND SZA DID MEM. PROT. INTERRUPT OCCUR? JMP NNTR5 YES. JSB MTNOF NO. TURN OFF MEM. PROTECT. LDB PR053 PRINT ERROR MESSAGE. JSB PRNMP JMP NNTR6 EXIT TEST. * * NNTR5 EQU * LDA INDIC SLA,RSS WHICH TEST? JMP NNTR6 TEST #2. EXIT TEST. * * TEST #1 JUST DONE. NOW DO TEST #2. * SET FENCE ADDRESS ABOVE TTB1. * LDB PTTB2 SET UP MEM. PROTECT. JSB PMEMT,I LDA .+2 SAY THAT WE'RE DOING TEST #2. STA INDIC JSB ENTRP EXECUTE TEST. * * NNTR6 EQU * JMP XENTR,I EXIT. * * * * * SUBROUTINE TO CHECK CONTENTS OF A- AND B-REGISTERS * ON EXIT FROM MICRO. * ENTER WITH (B)=EXPECTED CONTENTS. * NTRCK NOP STB TEMP+4 SAVE EXPECTED CONTENTS OF B. LDA TEMP+2 GET ORIGINAL CONTENTS OF A. CPA PNTRP =RETURN ADDRESS? JMP NTCK1 YES. JSB ERMS,I NO. OUTPUT ERROR MESSAGE. DEF RMS20 NTCK1 EQU * LDB TEMP+3 GET ORIGINAL CONTENTS OF B. CPB TEMP+4 CORRECT? JMP NTRCK,I YES. EXIT. JSB ERMS,I NO. OUTPUT ERROR MESSAGE. DEF RMS21 JMP NTRCK,I EXIT. * * * * * SUBROUTINE TO CHECK RESULTS OF EXECUTION * OF .ENTR & .ENTP TESTS. * ENTER WITH (A)=-NR. OF LOCATIONS TO BE CHECKED. * (B)=ADDRESS OF PTTB1 * ERPCK NOP STA TEMP SET COUNTER. LDA PTTB1 (A) POINTS TO TTB1. ERPK1 EQU * CPB A,I EQUAL? RSS JMP ERPCK,I NO. ERROR. INB YES. BUMP ADDRESS. Àzþú INA BUMP POINTER. ISZ TEMP DONE? JMP ERPK1 NO. ISZ ERPCK YES. BUMP RETURN ADDRESS AND JMP ERPCK,I EXIT. * * * * * SUBROUTINE TO SET UP CALLING SEQUENCE FOR * .ENTR & .ENTP TEST * * ENTER WITH (A)=-NR. OF WORDS TO BE INSERTED * AND (B)=STARTING ADDRESS OF INSERTIONS. * SETUP NOP STA TEMP SET COUNTER. LDA PRNTY SET DESTINATION POINTER. STA TEMP+1 STUP1 EQU * LDA B,I STORE FROM SOURCE INTO STA TEMP+1,I DESTINATION. INB BUMP POINTERS. ISZ TEMP+1 ISZ TEMP DONE? JMP STUP1 NO. JMP SETUP,I YES. * * * HED FFP DIAGNOSTIC - TEST 3 * ********* * .ENTP * ********* TST02 EQU * XENTP NOP JSB MSGC,I OUTPUT MESSAGE. DEF MMS03 CLA CLEAR INDICATOR STA MPTES * * * * .ENTP SUBROUTINE IS THE SAME SUBROUTINE AS .ENTR * BUT WITH A DIFFERENT ENTRY POINT. * SO DO JUST ONE TEST. * TEST FOR ACTUAL NR. OF PARAMETERS < ALLOWED NR. * OF PARAMETERS. * LDA .-4 SET UP CALLING SEQUENCE. LDB PINTP JSB SETUP CLB RESET RETURN ADDRESS LOCATION. STB TTB17 RESET LAST TEST TABLE LOCATION. STB ENTRY GO TO MICRO WITH (B)=0 JSB ENTRP EXECUTE TEST. * LDA M16 LDB PPTB1 JSB ERPCK CHECK RESULTS. JMP RNTP1 ERROR. * LDB TTB17 NO ERROR. SZB,RSS LAST LOCATION CHANGED? JMP RNTP2 NO. O.K. GO TO EXIT. RNTP1 EQU * JSB ERMS,I YES. OUTPUT ERROR MESSAGE. DEF RMS10 RNTP2 EQU * JMP XENTP,I EXIT. * * HED FFP DIAGNOSTIC - TEST 4 * * TST03 EQU * ********* * .SETP * ********* XSETP NOP JSB MSGC,I OUTPUT MESSAGE. DEF MMS04 * * DO REGULAR TEST * JSB STPPR PREPARE TEST TABLE. JSB STPGO GO TO MICRO. JSB STPCK CHECK RE©Î640SULTS. * * DO MEMORY PROTECT TEST. * LDB PTTB2 SET FENCE ADDRESS ABOVE "TTB1". JSB PMEMT,I JSB STPGO GO TO MICRO. * * RETURN FROM MICRO. * LDA MPIND SZA DID MEM. PROT. INTERRUPT OCCUR? JMP XSTP3 YES. EXIT. JSB MTNOF NO. TURN OFF MEM. PROTECT. LDB PR104 PRINT ERROR MESSAGE. JSB PRNMP * XSTP3 EQU * JMP XSETP,I EXIT. * * RÔ6ÿÿ ÿý„ ’ ÿ12907-18007 1632 S 0122 FFP DIAGNOSTIC 2100              H0101 Iþú* * * * SUBROUTINE TO SET UP THE PARAMETERS, EXECUTE THE * CALLING SEQUENCE FOR SETP MICRO. * STPGO NOP LDB P15 SET COUNT. STB K LDB PTTB1 SET POINTER. CLA SET (A)=0. * RAM .SETP CALLING SEQUENCE. DEF K * JMP STPGO,I EXIT. * K BSS 1 * * * SUBROUTINE TO PREPARE TEST TABLE LOCATIONS * A "0" WILL BE STORED IN EACH LOCATION * STPPR NOP LDB M16 SET COUNTER. STB TEMP CLA (A)=0. LDB PTTB1 SET POINTER. STPP1 EQU * STA B,I STORE. INB BUMP POINTER. ISZ TEMP DONE? JMP STPP1 NO. JMP STPPR,I YES. EXIT. * * * * SUBROUTINE TO CHECK RESULTS * STPCK NOP STB TEMP SAVE (B). SZA,RSS (A)=0? JMP STPC1 YES. JSB ERMS,I OUTPUT ERROR MESSAGE. DEF RMS11 STPC1 EQU * LDB TEMP RESTORE (B). CPB PTB16 (B)=LAST ADDRESS+1? JMP STPC2 YES. JSB ERMS,I OUTPUT ERROR MESSAGE. DEF RMS12 * * CHECK RESULTS * STPC2 EQU * CLA SET FOR INITIAL VALUE. STA TEMP LDA M15 SET COUNTER. STA TEMP+1 LDB PTTB1 SET POINTER. STPC3 EQU * LDA B,I GET CELL CONTENTS. CPA TEMP OK? JMP STPC4 YES. JSB ERMS,I OUTPUT ERROR MESSAGE. DEF RMS13 JMP STPCK,I EXIT. STPC4 EQU * ISZ TEMP BUMP VALUE. INB BUMP POINTER. ISZ TEMP+1 DONE? JMP STPC3 NO. LDA TTB16 YES. CHECK FOR "OVERRUN". SZA,RSS JMP STPCK,I OK! EXIT. JSB ERMS,I OUTPUT ERROR MESSAGE. DEF RMS14 JMP STPCK,I EXIT. * * * HED FFP DIAGNOSTIC - TEST 5 * ********* * ..MAP * ********* TST04 EQU * XMAP NOP * JSB MSGC,I OUTPUT MESSAGE. DEF MMS05 * * * TEST 2 DIMENSIONAL ARRAY * * -þú* INITIATE * LDA PMPH2,I SET CMA,INA STA INDIC COUNTER. LDA PMPB2 SET STA TEMP POINTER. * * SET UP FOR SUBTEST * XMAP1 EQU * STA TEMP+1 SET LDA PMP2D POINTERS STA TEMP+2 LDB .-4 TO XMAP2 EQU * LDA TEMP+1 PARAMETERS STA TEMP+2,I ISZ TEMP+2 INTO ISZ TEMP+1 INB,SZB CALLING JMP XMAP2 SEQUENCE. * LDB TEMP+1,I (B)=NR. OF WORDS. ISZ TEMP+1 SAVE POINTER TO EXPECTED OUTPUT. CLA (A)=0 * * CALL MICRO * RAM ..MAP CALLING SEQUENCE FOR 2 DIM. MAP2D EQU * BSS 1 POINTER TO BASE ADDRESS BSS 1 POINTER TO 1ST SUBSCRIPT BSS 1 POINTER TO 2ND SUBSCRIPT BSS 1 POINTER TO 1ST DIMENSION * * * EXIT FROM MICRO. CHECK RESULTS. * CPA TEMP+1,I RESULT AS EXPECTED? JMP XMAP3 YES. STA POUTP,I NO. ERROR! JSB PMPER,I GO TO ERROR ROUTINE. XMAP3 EQU * ISZ INDIC BUMP COUNTER. RSS JMP XMAP4 2 DIM. TESTS DONE. LDA TEMP NOT DONE. MOVE POINTER ADA .+6 TO NEXT ENTRY. STA TEMP JMP XMAP1 * * * TEST 3 DIMENSIONAL ARRAY * * * INITIATE * XMAP4 EQU * LDA PMPH3,I SET CMA,INA STA INDIC COUNTER. LDA PMPB3 SET STA TEMP POINTER. * * SET UP FOR SUBTEST * XMAP5 EQU * STA TEMP+1 SET LDA PMP3D POINTERS STA TEMP+2 LDB .-6 TO XMAP6 EQU * LDA TEMP+1 PARAMETERS STA TEMP+2,I ISZ TEMP+2 INTO ISZ TEMP+1 INB,SZB CALLING JMP XMAP6 SEQUENCE. * LDB TEMP+1,I (B)=NR. OF WORDS. ISZ TEMP+1 SAVE POINTER TO EXPECTED OUTPUT. CCA (A)=-1 * * CALL MICRO * RAM Ðìþú..MAP CALLING SEQUENCE FOR 3 DIM. MAP3D EQU * BSS 1 POINTER TO BASE ADDRESS BSS 1 POINTER TO 1ST SUBSCRIPT BSS 1 POINTER TO 2ND SUBSCRIPT BSS 1 POINTER TO 3RD SUBSCRIPT BSS 1 POINTER TO 1ST DIMENSION BSS 1 POINTER TO 2ND DIMENSION * * * EXIT FROM MICRO. CHECK RESULTS. * CPA TEMP+1,I RESULT AS EXPECTED? JMP XMAP7 YES. STA POUTP,I NO. ERROR! JSB PMPER,I GO TO ERROR ROUTINE. XMAP7 EQU * ISZ INDIC BUMP COUNTER. RSS JMP XMAP8 ALL TESTS DONE. LDA TEMP NOT DONE. MOVE POINTER TO ADA .+8 NEXT ENTRY. STA TEMP JMP XMAP5 * XMAP8 EQU * JMP XMAP,I HED FFP DIAGNOSTIC - TEST 6 * ********* * SNGL * ********* TST05 EQU * XSNGL NOP JSB MSGC,I OUTPUT MESSAGE. DEF MMS06 * * * DO STANDARD TEST TABLE * LDA PSGHD,I CMA,INA SET STA INDIC COUNTER. LDA PSGBS SET STA TEMP POINTER. * XSNG1 EQU * JSB SNSUB DO SUBTEST. * * EXIT FROM MICRO. CHECK RESULTS. * STA OUTPT SAVE OBTAINED VALUE. STB OUTPT+1 JSB SNPRC JMP XSNG1 DO NEXT SUBTEST. * * DO SPECIAL TEST TABLE * LDA PSGH1,I CMA,INA SET STA INDIC COUNTER. LDA PSGB1 SET STA TEMP POINTER. * XSNG5 EQU * CLO CLEAR OVERFLOW. JSB SNSUB DO SUBTEST. STA OUTPT SAVE OBTAINED VALUE. STB OUTPT+1 SOC CHECK OVERFLOW. JMP XSNG6 IF SET, CONTINUE. LDB PR121 IF NOT SET, OUTPUT JSB PPROV,I ERROR MESSAGE. LDA OUTPT RESTORE REGISTERS. LDB OUTPT+1 XSNG6 EQU * JSB SNPRC JMP XSNG5 DO NEXT SUBTEST. * * DO SECOND SPECIAL TEST TABLE * LDA PSGH2,I SET CMA,INA STA INDIC COUNTERYyþú. LDA PSGB2 SET STA TEMP POINTER. * XSNG7 EQU * STO SET OVERFLOW. JSB SNSUB DO SUBTEST. STA OUTPT SAVE OBTAINED VALUE. STB OUTPT+1 SOS CHECK OVERFLOW. JMP XSNG8 IF CLEAR, CONTINUE. LDB PR123 IF SET, OUTPUT JSB PROVS ERROR MESSAGE. LDA OUTPT RESTORE REGISTERS. LDB OUTPT+1 XSNG8 EQU * JSB SNPRC JMP XSNG7 DO NEXT SUBTEST. * * TEST IF FENCE REGISTER IS SAVED AND RESTORED * LDB PMTRY SET FENCE ABOVE LOC. "MTRY". JSB PMEMT,I TURN ON MEM. PROT. * * NOW DO A SUBTEST * LDA PDBBS SET POINTER TO INPUT. JSB DBSUB DO SUBTEST. * * DO NOT BOTHER TO CHECK RESULT * TRY TO STORE SOMETHING IN LOC. "MTRY" * CCA STA MTRY * LDA MPIND CHECK IF MEM. PROT. INTERRUPT SZA OCCURRED. JMP XSN10 YES. CONTINUE. JSB MTNOF NO. TURN OFF MEM. PROTECT LOGIC. JSB ERMS,I OUTPUT ERROR MESSAGE. DEF RMS27 * XSN10 EQU * JMP XSNGL,I EXIT. * * * * * SUBROUTINE TO SET UP SUBTEST AND CALL MICRO. * ENTER WITH (A)=POINTER TO INPUT * SNSUB NOP * SET UP FOR SUBTEST * STA SGINP INTO MICRO CALL. ADA .+3 STORE POINTER TO EXPECTED STA TEMP+1 OUTPUT. STA TEMP+2 * * CALL MICRO * RAM SNGL CALLING SEQUENCE. DEF *+2 SGINP BSS 1 POINTER TO INPUT LOCATION. * JMP SNSUB,I EXIT. * * * SUBROUTINE TO CHECK RESULTS * IF MORE SUBTESTS ARE TO BE MADE, EXIT TO (P+1) * OTHERWISE EXIT TO (P+2) * SNPRC NOP CPA TEMP+2,I 1ST WORDS COMPARE? RSS JMP SNPR2 NO. ERROR. ISZ TEMP+2 YES. 2ND WORDS COMPARE? CPB TEMP+2,I RSS JMP SNPR2 NO. ERROR. SNPR1 EQU * ISZ INDIC YES. BUMP COUNTER. JMP *+3 ISZ SNPRC DONE. EXIT TO (P+2). X<þú JMP SNPRC,I LDA TEMP NOT DONE. MOVE POINTER ADA .+5 TO NEXT ENTRY. STA TEMP JMP SNPRC,I EXIT TO (P+1). * SNPR2 EQU * JSB PRMSN,I OUTPUT ERROR MESSAGE. JMP SNPR1 * * HED FFP DIAGNOSTIC - TEST 7 * ********* * DBLE * ********* TST06 EQU * XDBL NOP * JSB MSGC,I OUTPUT MESSAGE. DEF MMS07 * * INITIATE * LDA PDBHD,I CMA,INA SET STA INDIC COUNTER. LDA PDBBS SET STA TEMP POINTER. XDBL1 EQU * JSB DBSUB DO SUBTEST. * * EXIT FROM MICRO. CHECK RESULTS. * LDA TEMP+1 SET POINTER TO EXPECTED OUTPUT. JSB PDATC,I CHECK RESULTS. JMP XDBL3 ERROR. XDBL2 EQU * ISZ INDIC BUMP COUNTER. RSS JMP XDBL4 ALL REGULAR TESTS DONE. LDA TEMP NOT DONE. MOVE POINTER ADA .+5 TO NEXT ENTRY. STA TEMP JMP XDBL1 DO NEXT SUBTEST. * XDBL3 EQU * LDB PERN1 JSB PERMS,I OUTPUT ERROR MESSAGE. JMP XDBL2 DO NEXT SUBTEST. * * * NOW DO A MEM. PROTECT TEST. * XDBL4 EQU * LDB POUT1 TURN ON MEM. PROTECT WITH FENCE JSB PMEMT,I ADDRESS ABOVE 1ST OUTPUT LOC. LDA PDBBS DO SUBTEST. JSB DBSUB LDA MPIND RETURN FROM MICRO. SZA DID MEM. PROT. VIOL. OCCUR? JMP XDBL5 YES. GO TO EXIT. JSB MTNOF NO. TURN OFF MEM. PROTECT. LDB PR131 PRINT ERROR MESSAGE. JSB PRNMP * * * END OF TESTS. EXIT. * XDBL5 EQU * JMP XDBL,I EXIT. * * * SUBROUTINE TO SET UP A SUBTEST AND CALL MICRO. * ENTER WITH (A)=POINTER TO INPUT DATA. * DBSUB NOP * * SET UP FOR SUBTEST * STA DBINP INTO MICRO CALL. ADA .+2 STORE POINTER TO EXPECTED STA TEMP+1 OUTPUT. * * CALL MICRO * RAM DBLE CALLING SEQUENCE. DEF *+3 DEF OUTPT POINTER TO OþúUTPUT LOCATION DBINP BSS 1 POINTER TO INPUT LOCATION JMP DBSUB,I HED FFP DIAGNOSTIC - TEST 8 * ********* * .XADD * ********* TST07 EQU * * * XXADD NOP JSB MSGC,I OUTPUT MESSAGE. DEF MMS08 * * DO STANDARD TEST TABLE * LDA PADHD,I SET CMA,INA STA INDIC COUNTER. LDA PADBS SET STA TEMP POINTER. * XADD1 EQU * JSB ADSUB DO SUBTEST. * JSB ADPRC JMP XADD1 DO NEXT SUBTEST. * * NOW DO SPECIAL TEST TABLE. * LDA PADH1,I SET CMA,INA STA INDIC COUNTER. LDA PADB1 SET STA TEMP POINTER. * XADD5 EQU * CLO CLEAR OVERFLOW. JSB ADSUB DO SUBTEST. SOC CHECK OVERFLOW. JMP XADD6 SET! CONTINUE. LDB PR141 NOT SET! OUTPUT JSB PPROV,I MESSAGE. XADD6 EQU * JSB ADPRC JMP XADD5 DO NEXT SUBTEST. * * DO SECOND SPECIAL TEST TABLE * LDA PADH2,I SET CMA,INA STA INDIC COUNTER. LDA PADB2 SET STA TEMP POINTER. * XADD7 EQU * STO SET OVERFLOW. JSB ADSUB DO SUBTEST. SOS CHECK OVERFLOW. JMP XADD8 IF CLEAR, CONTINUE. LDB PR143 IF SET, OUTPUT JSB PROVS ERROR MESSAGE. XADD8 EQU * JSB ADPRC JMP XADD7 DO NEXT SUBTEST. * * DO INTERRUPT TEST. * LDA TBGSC IF NOT CONFIG. SZA,RSS FOR TBG, EXIT. JMP XADD3 LDA PADB1 SET STA XADP3 POINTERS ADA .+3 IN STA XADP4 MICRO CALL. LDA PXAD2 SET ENTRY ADDRESS STA TBGAD INTO MICRO. ADA .+4 STA TBGN1 SET EXIT ADDRESS. JSB TBGTN TURN ON TBG. XADD2 EQU * RAM .XADD CALL MICRO. DEF OUTPT XADP3 BSS 1 XADP4 BSS 1 * CLF INTP JSB PTBCK,I …ZþúCHECK ON INTERRUPT. RSS JMP XADD3 INTERRUPTED. EXIT. JSB PTBST,I NOT INTERRUPTED. STOP TBG. LDB PR142 JSB PPRNN,I OUTPUT ERROR MESSAGE. * * END OF TESTS. EXIT. * XADD3 EQU * JMP XXADD,I EXIT. * * * SUBROUTINE TO SET UP SUBTEST AND CALL MICRO. * ENTER WITH (A)=POINTER TO INPUT. * ADSUB NOP STA XADP1 IN MICRO CALL. ADA .+3 SET POINTER TO 2ND OPERAND STA XADP2 IN MICRO CALL. ADA .+3 STORE POINTER TO EXPECTED STA TEMP+1 OUTPUT. * * * CALL MICRO * RAM .XADD CALLING SEQUENCE. DEF OUTPT POINTER TO OUTPUT LOCATION XADP1 BSS 1 POINTER TO 1ST OPERAND XADP2 BSS 1 POINTER TO 2ND OPERAND * JMP ADSUB,I EXIT * * * * SUBROUTINE TO DO SOME PROCESSING * IF MORE SUBTESTS ARE TO BE MADE, EXIT TO (P+1) * OTHERWISE EXIT TO (P+2) * ADPRC NOP LDA TEMP+1 CHECK JSB PDATC,I RESULTS. JMP ADPR2 ERROR. ADPR1 EQU * ISZ INDIC BUMP COUNTER. JMP *+3 ISZ ADPRC DONE. EXIT TO (P+2). JMP ADPRC,I LDA TEMP NOT DONE. MOVE POINTER ADA .+9 TO NEXT ENTRY. STA TEMP JMP ADPRC,I EXIT TO (P+1). * ADPR2 EQU * LDB PERN2 JSB PERMS,I OUTPUT ERROR MESSAGE. JMP ADPR1 * * HED FFP DIAGNOSTIC - TEST 9 * ********* * .XSUB * ********* * TST08 EQU * XXSUB NOP * JSB MSGC,I OUTPUT MESSAGE. DEF MMS09 * * INITIATE * LDA PSBHD,I SET CMA,INA STA INDIC COUNTER. LDA PSBBS SET STA TEMP POINTER. * * * SET UP FOR SUBTEST * XSUB1 EQU * STA XSBP1 IN MICRO CALL. ADA .+3 SET POINTER TO 2ND OPERAND STA XSBP2 IN MICRO CALL. ADA .+3 SET POINTER TO EXPECTED STA TEMP+1 OUTPUT. * * * * CALL MICRO * RAM .XSUB CALLING cåþúSEQUENCE. DEF OUTPT POINTER TO OUTPUT LOCATION XSBP1 BSS 1 POINTER TO 1ST OPERAND XSBP2 BSS 1 POINTER TO 2ND OPERAND * * * EXIT TO MICRO. CHECK RESULTS. * LDA TEMP+1 CHECK JSB PDATC,I RESULTS. JMP XSUB3 ERROR. XSUB2 EQU * ISZ INDIC BUMP COUNTER. RSS JMP XSUB4 ALL TESTS DONE. LDA TEMP NOT DONE. MOVE POINTER ADA .+9 TO NEXT ENTRY. STA TEMP JMP XSUB1 DO NEXT SUBTEST. * XSUB3 EQU * LDB PERN3 JSB PERMS,I OUTPUT ERROR MESSAGE. JMP XSUB2 * * END OF TESTS. EXIT. * XSUB4 EQU * JMP XXSUB,I EXIT. HED FFP DIAGNOSTIC - TEST 10 * ********* * .XMPY * ********* TST09 EQU * XXMPY NOP * JSB MSGC,I OUTPUT MESSAGE. DEF MMS10 * * DO STANDARD TEST TABLE * LDA PMLHD,I SET CMA,INA STA INDIC COUNTER. LDA PMLBS SET STA TEMP POINTER. * XMPY1 EQU * JSB MPSUB DO SUBTEST. * JSB MPPRC JMP XMPY1 DO NEXT SUBTEST. * * DO SPECIAL TEST TABLE * LDA PMLH1,I SET CMA,INA STA INDIC COUNTER. LDA PMLB1 SET STA TEMP POINTER. * XMPY5 EQU * CLO CLEAR OVERFLOW. JSB MPSUB DO SUBTEST. * SOC CHECK OVERFLOW. JMP XMPY2 SET! CONTINUE. LDB PR161 NOT SET! OUTPUT JSB PPROV,I MESSAGE. XMPY2 EQU * JSB MPPRC JMP XMPY5 DO NEXT SUBTEST. * * DO INTERRUPT TEST * LDA TBGSC IF NOT CONFIGURED FOR SZA,RSS TBG, EXIT. JMP XMPY3 LDA PMLB1 SET STA XMLP3 POINTERS ADA .+3 IN STA XMLP4 MICRO CALL. LDA PXMP4 SET ENTRY ADDRESS STA TBGAD INTO MICRO. ADA .+4 STA TBGN1 SET EXIT ADDRESS. JSB TBGTN TURN ON TBG. XMPY4 EQU * )z640 RAM .XMPY CALL MICRO. DEF OUTPT XMLP3 BSS 1 XMLP4 BSS 1 * CLF INTP JSB PTBCK,I CHECK ON INTERRUPT. RSS JMP XMPY3 INTERRUPTED. EXIT. JSB PTBST,I NOT INTERRUPTED. STOP TBG. LDB PR162 JSB PPRNN,I OUTPUT ERROR MESSAGE. * * END OF TEST. EXIT. * XMPY3 EQU * JMP XXMPY,I EXIT. * * * * SUBROUTINE TO SET UP SUBTEST AND CALL MICRO. * ENTER WITH (A)=POINTER TO INPUT * MPSUB NOP STA XMLP1 IN MICRO CALL. ADA .+3 SET POINTER TO 2ND OPERAND STA XMLP2 IN MICRO CALL. ADA .+3 SET POINTER TO EXPECTED STA TEMP+1 OUTPUT. * * CALL MICRO * RAM .XMPY CALLING SEQUENCE. DEF OUTPT POINTER TO OUTPUT LOCATION XMLP1 BSS 1 POINTER TO 1ST OPERAND XMLP2 BSS 1 POINTER TO 2ND OPERAND * JMP MPSUB,I EXIT. * * µ6ÿÿ ÿý… “ ÿ12907-18008 1632 S 0122 FFP DIAGNOSTIC 2100              H0101 Jþú* * SUBROUTINE TO DO SOME PROCESSING * IF MORE SUBTESTS ARE TO BE MADE, EXIT TO (P+1) * OTHERWISE EXIT TO (P+2) * MPPRC NOP LDA TEMP+1 CHECK JSB PDATC,I RESULTS. JMP MPPR2 ERROR. MPPR1 EQU * ISZ INDIC BUMP COUNTER. JMP *+3 ISZ MPPRC DONE. EXIT TO (P+2). JMP MPPRC,I LDA TEMP NOT DONE. MOVE POINTER ADA .+9 TO NEXT ENTRY. STA TEMP JMP MPPRC,I EXIT TO (P+1). * MPPR2 EQU * LDB PERN4 JSB PERMS,I OUTPUT ERROR MESSAGE. JMP MPPR1 * * * HED FFP DIAGNOSTIC - TEST 11 * ********* * .XDIV * ********* TST10 EQU * XXDIV NOP * JSB MSGC,I OUTPUT MESSAGE. DEF MMS11 * * DO STANDARD TEST TABLE * LDA PDVHD,I SET CMA,INA STA INDIC COUNTER. LDA PDVBS SET STA TEMP POINTER. * XDIV1 EQU * JSB DVSUB DO SUBTEST. * JSB DVPRC JMP XDIV1 DO NEXT SUBTEST. * * DO SPECIAL TEST TABLE * LDA PDVH1,I SET CMA,INA STA INDIC COUNTER. LDA PDVB1 SET STA TEMP POINTER. * XDIV5 EQU * CLO CLEAR OVERFLOW. JSB DVSUB DO SUBTEST. SOC CHECK OVERFLOW. JMP XDIV2 SET! CONTINUE. LDB PR201 NOT SET! OUTPUT JSB PPROV,I MESSAGE. XDIV2 EQU * JSB DVPRC JMP XDIV5 DO NEXT SUBTEST. * * END OF TEST. EXIT. * JMP XXDIV,I EXIT. * * * * SUBROUTINE TO SET UP SUBTEST AND CALL MICRO * ENTER WITH (A)=POINTER TO INPUT * DVSUB NOP STA XDVP1 SET POINTER TO 1ST OPERAND IN ADA .+3 MICRO CALL. SET POINTER TO STA XDVP2 2ND OPERAND IN MICRO CALL. ADA .+3 SET POINTER TO EXPECTED STA TEMP+1 OUTPUT. * * CALL MICRO * RAM .XDIV CALLING SEQUENCE. DEF OUTPT POINTER TO OUTPUT LOCATION XDVP1 BSS 1  ½þúPOINTER TO 1ST OPERAND XDVP2 BSS 1 POINTER TO 2ND OPERAND * JMP DVSUB,I EXIT. * * * * SUBROUTINE TO DO SOME PROCESSING * IF MORE SUBTESTS ARE TO BE MADE, EXIT TO (P+1). * OTHERWISE EXIT TO (P+2) * DVPRC NOP LDA TEMP+1 CHECK JSB PDATC,I RESULTS. JMP DVPR2 ERROR. DVPR1 EQU * ISZ INDIC BUMP COUNTER. JMP *+3 ISZ DVPRC DONE. EXIT TO (P+2). JMP DVPRC,I LDA TEMP NOT DONE. MOVE POINTER ADA .+9 TO NEXT ENTRY. STA TEMP JMP DVPRC,I EXIT TO (P+1). * DVPR2 EQU * LDB PERN5 JSB PERMS,I OUTPUT ERROR MESSAGE. JMP DVPR1 * * * HED FFP DIAGNOSTIC - TEST 12 * ********* * .DFER * ********* TST11 EQU * XDFER NOP JSB MSGC,I OUTPUT MESSAGE. DEF MMS12 * JSB XDSET SET UP TEST. * * NOW EXECUTE .DFER TEST. * RAM .DFER DEF TTB1 DESTINATION. DEF TTB4 SOURCE. * JSB XDCHK CHECK RESULTS. JMP XDFR3 NO ERROR. * JSB ERMS,I OUTPUT ERROR MESSAGE. DEF RMS15 * * * CHECK MEMORY PROTECT * XDFR3 EQU * LDB PTTB2 SET FENCE ADDRESS AND TURN ON JSB PMEMT,I MEM. PROTECT LOGIC. * RAM .DFER DEF TTB1 DESTINATION. DEF TTB4 SOURCE. * * RETURN FROM MICRO. * LDA MPIND DID MEMORY PROTECT INTERRUPT SZA OCCUR? JMP XDFR4 YES. GO TO EXIT. JSB MTNOF NO. TURN OFF MEM. PROTECT. LDB PR211 PRINT ERROR MESSAGE. JSB PRNMP XDFR4 EQU * JMP XDFER,I EXIT TEST. * * * * SUBROUTINE TO PREPARE TEST * XDSET NOP CCA STORE -1 IN SOURCE LOCATIONS. STA TTB4 STA TTB5 STA TTB6 CLA STORE 0 IN DESTINATION LOCATIONS STA TTB1 STA TTB2 STA TTB3 STA TTB7 JMP XDSET,I RETURN. * * * SUBROUTINE TO CHECK RESULTS U×þú* IF AN ERROR EXISTS, EXIT TO (P+2) * OTHERWISE EXIT TO (P+1) * XDCHK NOP LDA .-3 SET COUNTER. STA TEMP LDB PTTB1 GET POINTER. XDCK1 EQU * LDA B,I GET CONTENTS. CPA .-1 =-1? RSS JMP XDCK2 NO. ERROR. INB YES. BUMP POINTER. ISZ TEMP DONE? JMP XDCK1 NO. CPA TTB4 YES. IS (TTB4) STILL=-1? JMP XDCHK,I YES. EXIT TO (P+1). XDCK2 EQU * ISZ XDCHK NO. ERROR. EXIT TO (P+2). JMP XDCHK,I * * HED FFP DIAGNOSTIC - TEST 13 * ********* * .XFER * ********* TST12 EQU * XXFER NOP JSB MSGC,I OUTPUT MESSAGE. DEF MMS13 * JSB XDSET SET UP TEST. * * EXECUTE * LDA PTTB4 (A)=SOURCE ADDRESS. LDB PTTB1 (B)=DESTINATION ADDRESS. RAM .XFER * JSB XFCHK WRONG RETURN. ERROR! JSB XDCHK CHECK RESULTS. JMP XXFER,I NO ERROR. EXIT. * JSB ERMS,I OUTPUT ERROR MESSAGE. DEF RMS16 * XXFR1 EQU * JMP XXFER,I EXIT TEST. * * * * SUBROUTINE TO PRINT "RETURN AT INCORR LOC" * XFCHK NOP JSB ERMS,I OUTPUT ERROR MESSAGE. DEF RMS23 JMP XFCHK,I EXIT. * RMS23 ASC 13,E221 RETURN AT INCORR LOC/ * * HED SUBROUTINES * * SUBROUTINE TO DISABLE MEMORY PROTECT LOGIC AND * TO RESTORE TRAP CELL HALT. * MTNOF NOP CLC MPPAR DISABLE MEM. PROTECT LOGIC. LDA TRHLT RESTORE TRAP CELL HALT. STA MPPAR CLA RESET MEM. PROTECT TEST STA MPTES INDICATOR. CLF INTP TURN OFF INTERRUPT SYSTEM. JMP MTNOF,I EXIT. * * * * SUBROUTINE TO PRINT "NO CHECK ON MEM PROT VIOLATION". * ALSO TO TURN OFF MEM PROTECT LOGIC. * ENTER WITH (B)= POINTER TO ERROR NUMBER STRING * PRNMP NOP JSB MTNOF TURN OFF MEM PROTECT LOGIC. LDA B,I MOVE STA RMS09 ERROR INB ¾ÆþúNUMBER LDA B,I INTO STA RMS09+1 MESSAGE BUFFER. * JSB ERMS,I PRINT ERROR MESSAGE. DEF RMS09 JMP PRNMP,I EXIT. * * SKP * ORG 6000B * * * SUBROUTINE TO PROCESS DATA ERROR MESSAGES FOR * DBLE XADD XSUB * XMPY XDIV * TESTS. * * ENTER WITH (B)= POINTER TO ERROR NUMBER STRING. * PRIOR TO ENTERING THE FOLLOWING SHOULD BE SET UP: * (TEMP+1)=POINTER TO EXPECTED OUTPUT * (POUTP)= POINTER TO OBTAINED OUTPUT * ERMES NOP LDA B,I MOVE STA RMS00 ERROR NUMBER INB LDA B,I I INTO STA RMS00+1 MESSAGE BUFFER. * * MOVE ACTUAL DATA INTO BUFFER * LDA POUTP SET POINTER STA TEMP+5 TO OBTAINED OUTPUT. LDB .-3 LDA PRAC1 JSB CBNOC MOVE DATA. * * MOVE EXPECTED DATA INTO BUFFER * LDA TEMP+1 SET POINTER STA TEMP+5 TO EXPECTED OUTPUT. LDB .-3 LDA PREX1 JSB CBNOC MOVE DATA. * * OUTPUT MESSAGE * LDB POUTP INB STB TEMP+6 LDA POUTP,I (A)=1ST WORD OF OBTAINED OUTPUT. LDB B,I (B)=2ND WORD OF OBTAINED OUTPUT. JSB ERMS,I GO TO ERROR PRINTING ROUTINE. DEF RMS00 LDB BIT14 IF BIT#14 IS NOT SET, JSB SWRT,I JMP ERMES,I EXIT. ISZ TEMP+6 OTHERWISE SET (A)=3RD WORD LDB TEMP+6,I OF OBTAINED OUTPUT, CLB SET (B)=0 AND OCT 107000 HALT. * LDA TEMP+1,I SET (A)=1ST WORD OF EXPECTED ISZ TEMP+1 OUTPUT. LDB TEMP+1,I SET (B)=2ND WORD OF EXPECTED OCT 107001 OUTPUT AND HALT. * ISZ TEMP+1 SET (A)=3RD WORD OF EXPECTED LDA TEMP+1,I OUTPUT. CLB SET (B)=0 OCT 107002 AND HALT. JMP ERMES,I EXIT. * * * * SUBROUTINE TO CONVERT A SET OF BINARY NUMBERS * (STORED IN A BUFFE·æþúR) INTO OCTAL AND INSERT THEM * IN ASCII FORMAT INTO A MESSAGE BUFFER. * * ENTER WITH (A)= POINTER TO DESTINATION STRING * ENT (B)= -NR OF DATA ITEMS TO BE PROCESSED * * PRIOR TO ENTERING THE SUBROUTINE,LOCATION * (TEMP+5)MUST CONTAIN THE POINTER TO THE SOURCE STRING * (OBTAINED OR EXPECTED OUTPUT). * THE NUMBERS TO BE PRINTED ARE ASSUMED TO BE * SEPERATED BY TWO BLANKS. * CBNOC NOP STA TEMP+7 SAVE POINTER. STB TEMP+6 SET COUNTER. CBNC1 EQU * LDB TEMP+5,I (B)=BINARY NUMBER * * CONVERT AND INSERT. * STA TEMP+3 SET POINTER. LDA .-3 SET COUNTER. STA TEMP+4 * * FIRST PROCESS BIT#15. * CLA (A)=0. RBL,SLB IF BIT#15 IS SET, INA ADD 1. ADA B60 MAKE ASCII. ALF,ALF ROTATE INTO UPPER AND STORE. STA TEMP+3,I * * NOW PROCESS THE OTHER BITS. * CLE (E)=0. CBNC2 EQU * CLA (A)=0. ROTATE. RBL,SLB IF BIT IS SET, ADA .+4 ADD 4. RBL,SLB ROTATE. IF BIT IS SET, ADA .+2 ADD 2. RBL,SLB ROTATE. IF BIT IS SET, INA ADD 1. ADA B60 MAKE ASCII. ALF,ALF ROTATE 8 BITS. SEZ IF LOWER CHAR., JMP CBNC3 ROTATE 8 BITS ALF,ALF AND IOR TEMP+3,I "OR IN" DATA. CBNC3 EQU * STA TEMP+3,I * CME COMPLEMENT (E). SEZ,RSS IF UPPER CHAR. JUST DONE, JMP CBNC2 GO BACK. ISZ TEMP+3 IF LOWER CHAR. JUST DONE, ISZ TEMP+4 BUMP POINTER AND GO BACK. JMP CBNC2 NOT ALL BITS PROCESSED YET. * * ISZ TEMP+6 ALL DATA ITEMS PROCESSED? RSS JMP CBNOC,I YES. EXIT. ISZ TEMP+5 NO. BUMP LDA TEMP+7 POINTERS ADA .+4 AND STA TEMP+7 GO JMP CBNC1 BACK. * * * SUBROUTINE TO PRINT "0…þúOVERFLOW NOT SET". * ENTER WITH (B)= POINTER TO ERROR NUMBER STRING * PROVN NOP LDA B,I MOVE STA RMS18 ERROR INB NUMBER LDA B,I INTO STA RMS18+1 MESSAGE BUFFER. * JSB ERMS,I PRINT ERROR MESSAGE. DEF RMS18 JMP PROVN,I EXIT. * * * SUBROUTINE TO STOP TBG AND RESTORE * TRAP CELL HALT * TBGST NOP CLF INTP STOP INTERRUPTS. CLCTB CLC CH STOP TBG. LDA TRHLT RESTORE TRAP STA TBGSC,I CELL HALT. JMP TBGST,I EXIT. * * * SUBROUTINE TO DETERMINE IF TBG INTERRUPTED * IN MICRO CODE. IF SO, EXIT TO (P+2). * OTHERWISE EXIT TO (P+1). * TBCHK NOP LDA TBIND CHECK FOR THE(ALMOST IMPOSSIBLE) SZA CASE,THAT TBG DID NOT INTERRUPT. JMP TBCK1 INTERRUPTED. JSB TBGST DID NOT INTERRUPT YET. STOP TBG. JMP TBCHK,I EXIT TO (P+1). TBCK1 EQU * SLA,RSS INTERRUPTED IN MICRO? JMP TBCHK,I NO. EXIT TO (P+1). * ISZ TBCHK YES. EXIT TO (P+2). LDA TEMP+8 RESTORE (A). JMP TBCHK,I * * * * SUBROUTINE TO CHECK RESULTS OBTAINED BY * DBLE XADD XSUB * * XMPY XDIV * * MICRO CODE. * * ENTER WITH (A)=POINTER TO EXPECTED OUTPUT. * IF NO COMPARISON, EXIT TO (P+1). * OTHERWISE EXIT TO (P+2). DATCK NOP STA TEMP+2 SAVE POINTER EXPECTED OUTPUT. LDA POUTP STA TEMP+3 SET POINTER TO OBTAINED OUTPUT. LDB .-3 (B)=COUNTER DTCK1 EQU * LDA TEMP+2,I CPA TEMP+3,I COMPARE? RSS JMP DATCK,I NO. ERROR. EXIT TO (P+1). ISZ TEMP+2 YES. BUMP POINTERS. ISZ TEMP+3 INB,SZB DONE? JMP DTCK1 NO. ISZ DATCK YES. EXIT TO (P+2). JMP DATCK,I * * * TBG INTERRUPT SUBROUTINE * TBGIN NOP ISZ TBIND SET INDICATOR=1. STA TEMP+8 SAVE (A). JSB TBGST &{þú STOP TBG. RESTORE TRAP CELL HALT LDA TBGIN INTERRUPTED IN MICRO CODE? CPA TBGAD RSS YES. EXIT WITH INDICATOR=1. ISZ TBIND NO. SET INDICATOR=2. EXIT. JMP TBGN1,I EXIT. * * * * * SUBROUTINE TO PROCESS DATA ERROR MESSAGES * FOR SNGL TESTS. * * PRIOR TO ENTERING THE FOLLOWING SHOULD BE SET UP. * (TEMP+1)=POINTER TO EXPECTED OUTPUT * (POUTP)=POINTER TO OBTAINED OUTPUT * RMSSN NOP * * MOVE ACTUAL DATA INTO BUFFER * LDA POUTP SAVE POINTER STA TEMP+5 TO OBTAINED OUTPUT. LDB .-2 (B)=-2 LDA P19AC (A)=POINTER TO DESTINATION BUFR. JSB CBNOC MOVE DATA. * * MOVE EXPECTED DATA INTO BUFFER * LDA TEMP+1 SAVE POINTER STA TEMP+5 TO EXPECTED OUTPUT. LDB .-2 (B)=-2 LDA P19EX (A)=POINTER TO DESTINATION BUFR. JSB CBNOC MOVE DATA. * * OUTPUT MESSAGE * LDB POUTP LDA B,I (A)=1ST WORD OF OBTAINED OUTPUT. INB LDB B,I (B)=2ND WORD OF OBTAINED OUTPUT. JSB ERMS,I PRINT ERROR MESSAGE. DEF RMS19 LDB BIT14 IF BUT#14 IS NOT SET, JSB SWRT,I JMP RMSSN,I EXIT. LDB TEMP+1 OTHERWISE SET (A)=1ST WORD LDA B,I OF EXPECT OUTPUT. INB SET (B)=2ND WORD OF EXPECTED LDB B,I OUTPUT AND OCT 107000 HALT. JMP RMSSN,I EXIT. * * * * SUBROUTINE TO PROCESS DATA ERROR MESSAGES * FOR ..MAP TESTS * * PRIOR TO ENTERING THE FOLLOWING SHOULD BE SET UP. * (TEMP+1)= POINTER TO EXPECTED OUTPUT * (POUTP) = POINTER TO OBTAINED OUTPUT * MPERR NOP * * MOVE ACTUAL DATA INTO BUFFER * LDA POUTP SAVE POINTER STA TEMP+5 TO OBTAINED OUTPUT. CCB (B)=-1 LDA P24AC (A)=POINTER TO DESTINATION BUFR. JSB CBNOC MOVE DATA. * * MOVE EXPECTED DATA INTO BUFFER * LDA TEMPÓ%þú+1 SAVE POINTER STA TEMP+5 TO EXPECTED OUTPUT. CCB (B)=-1 LDB P24EX (A)=POINTER TO DESTINATION BUFR. JSB CBNOC MOVE DATA. * * OUTPUT MESSAGE * LDA POUTP,I (A)=OBTAINED OUTPUT. LDB TEMP+1,I (B)=EXPECTED OUTPUT. JSB ERMS,I PRINT ERROR MESSAGE. DEF RMS24 JMP MPERR,I EXIT. * * * * SUBROUTINE TO PRINT "NOT INTERRUPTABLE". * ENTER WITH (B)= POINTER TO ERROR NUMBER STRING. * PRNIN NOP LDA B,I MOVE STA RMS25 ERROR INB NUMBER LDA B,I INTO STA RMS25+1 MESSAGE BUFFER. * JSB ERMS,I PRINT ERROR MESSAGE. DEF RMS25 JMP PRNIN,I EXIT. * * * BUFFER TO OUTPUT "NOT INTERRUPTIBLE" * RMS25 ASC 12,XXXX NOT INTERRUPTIBLE/ E142 ASC 2,E142 E162 ASC 2,E162 * HED TEST DATA TABLES * * ******************************************************************** * TABLES FOR ..MAP TESTS ******************************************************************** * USED FOR 2 DIMENSIONAL ARRAY TESTS. ******************************************************************** * MPHD2 EQU * DEC 4 NR. OF TABLE ENTRIES. EACH ENTRY * CONSISTS OF 6 WORDS. * * WORD 1 - BASE ADDRESS * WORD 2 - 1ST SUBSCRIPT * WORD 3 - 2ND SUBSCRIPT * WORD 4 - LENGTH OF 1ST DIMENSION * WORD 5 - NR. OF WORDS/VARIABLE * WORD 6 - EXPECTED OUTPUT * MPBS2 EQU * OCT 4000 DEC 1 DEC 1 DEC 10 DEC 2 OCT 4000 * OCT 6000 DEC 1 DEC 10 DEC 10 DEC 2 OCT 6264 * OCT 7777 DEC 10 DEC 1 DEC 10 DEC 3 OCT 10032 * OCT 6500 DEC 10 DEC 10 DEC 10 DEC 1 OCT 6643 * * * * * ******************************************************************** * USED FOR 3 DIMENSIONAL ARRAY TEST. ïˆ640******************************************************************** * MPHD3 EQU * DEC 8 NR. OF TABLE ENTRIES. EACH ENTRY * CONSISTS OF 8 WORDS. * * WORD 1 - BASE ADDRESS * WORD 2 - 1ST SUBSCRIPT * WORD 3 - 2ND SUBSCRIPT * WORD 4 - 3RD SUBSCRIPT * WORD 5 - LENGTH OF 1ST DIMENSION * WORD 6 - LENGTH OF 2ND DIMENSION * WORD 7 - NR. OF WORDS/VARIABLE * WORD 8 - EXPECTED OUTPUT * MPBS3 EQU * OCT 4000 DEC 1 DEC 1 DEC 1 DEC 10 DEC 10 DEC 3 OCT 4000 * OCT 4000 DEC 10 DEC 1 DEC 1 DEC 10 DEC 10 DEC 3 OCT 4033 * OCT 4000 DEC 1 DEC 10 DEC 1 DEC 10 DEC 10 DEC 3 OCT 4416 * OCT 4000 DEC 10 DEC 10 DEC 1 DEC 10 DEC 10 DEC 3 OCT 4451 * OCT 4000 DEC 1 DEC 1 DEC 10 DEC 10 DEC 10 DEC 3 OCT 11214 * OCT 4000 DEC 1 DEC 10 DEC 10 DEC 10 DEC 10 DEC 3 OCT 11632 * OCT 4000 DEC 10 DEC 1 DEC 10 DEC 10 DEC 10 DEC 3 OCT 11247 * OCT 4000 DEC 10 DEC 10 DEC 10 DEC 10 DEC 10 DEC 3 OCT 11665 * * * ******************************************************************** * * * FWAA EQU * END øÅ6ÿÿ ÿý† ” ÿ12908-18001 1502 S 0122 WRITABLE CTRL STORE DIAG 12908 / 12978             H0101 KþúASMB,A,B,L,C HED 12908 WRITEABLE CONTROL STORE DIAGNOSTIC ORG 0 * * * OPERATING INSTRUCTIONS * * * 1.LOAD AND CONFIGURE THE DIAGNOSTIC CONFIGURATOR. * * 2.LOAD DIAGNOSTIC : * A.SET P=100. * B.SET THE SWITCH REGISTER TO : * * BITS 0 THRU 5 = SELECT CODE OF WCS PCA * BITS 6 THRU 11 = RESERVED * BITS 12THRU 15 = CONTROL STORE MODULE BEING REPLACED * * NOTE-IF MACHINE IS A 2100 AND HAS FLOATING POINT OPTION * INSTALLED,CONFIGURE WCS MODULE FOR MODULE 2 OR 3. DO * NOT CONFIGURE FOR MODULE 1. IF MACHINE IS A 21MX,THEN DO * NOT CONFIGURE FOR MODULES 0,1,2,16 OR 17(OCTAL). * * C.PRESS PRESET,RUN. * D.SUCCESSFUL CONFIGURATION IS A HALT 102074. * * 3.SELECT PROGRAM OPTIONS * A.SET SWITCH REGISTER TO : * * BIT 0 = SET TO ENTER TSTMM AND TEST ALL WCS MODULES * BIT 1 = SET TO ENTER TSTSS AND PERFORM SPECIAL TESTING * BIT 2 = SET TO HALT(102050) AFTER EACH STEP,A = STEP # * BIT 3 = SET TO LOOP ON LAST STEP * BIT 4 = SET TO SHORTEN ERROR REPORTING * BIT 5 = SET TO SHORTEN ERROR REPORTING BY SKIPPING * TO THE NEXT STEP (FASTER THAN BIT 4) * BIT 6 = SET TO ENTER TSTLL AND LOOP ON MICROCODE * BIT 7 = RESERVED * BIT 8 = NOT APPLICABLE * BIT 9 = SET TO HALT(102075) AND SPECIFY TESTS IN A&B * BIT 10 = SET TO SUPPRESS NON-ERROR MESSAGE PRINTOUT * BIT 11 = SET TO SUPPRESS ERROR MESSAGE PRINTOUT * BIT 12 = SET TO LOOP ON DIAGNOSTIC. CLEAR TO HALT(102077) * AFTER EACH PASS,A = PASS # * BIT 13 = SET TO LOOP ON LAST TEST * BIT 14 = SET TO SUPPRESS ERROR HALTS * BIT 15 = SET TO HALT(102076) AFTER EACH TEST,A = TEST # * * B.PRESS PRESET,RUN. * * NOTE-RESTART FROM ADDRESS 100 TO RECONFIGURE AND RESTAê@þúRT. * RESTART FROM ADDRESS 2000 TO RESTART USING EXISTING * CONFIGURATION. * * SEE ROUTINES LISTINGS FOR ADDITIONAL INFORMATION. * SKP * * * SPECIAL ROUTINE INSTRUCTIONS * * * 1. TSTMM-MULTIPLE WCS TESTING * * A.SET PROGRAM OPTION BIT 0. * B.PROGRAM HALTS 102060 AFTER CURRENT PASS. * C.SET A AND B REGISTERS TO : * * A REG : * * BITS 0 THRU 5 = SELECT CODE OF NEXT HIGHER ORDER WCS PCA * BITS 6 THRU 11 = RESERVED * BITS 12THRU 15 = CONTROL STORE MODULE BEING REPLACED * * B REG : * * BITS 0 THRU 5 = SELECT CODE OF HIGHEST ORDER WCS PCA * BITS 6 THRU 11 = RESERVED * BITS 12 THRU 15 = CONTROL STORE MODULE BEING REPLACED * * OR CLEAR FOR NONEXISTENT WCS * * D.PRESS RUN. * E.PROGRAM HALTS 102074 FOR SUCCESSFUL CONFIGURATION. * F.SELECT PROGRAM OPTIONS FROM STEP 3. IN THE * OPERATING INSTRUCTIONS. * G.PRESS PRESET,RUN. * * 2.TSTSS-LOOP ON WCS I/O ROUTINE **** * * * * A.SET PROGRAM OPTION BIT 1. * * * B.PROGRAM HALTS 102063. * **** * C.SET A AND B REGISTERS TO : **** * * * * * A REG : * * * **** * BITS 0 THRU 7 = 8 MOST SIGNIFICANT BITS OF DATA WORD * BITS 8 THRU 15 = 8 BIT WCS MODULE ADDRESS * * B REG : * * BITS 0 THRU 15 = 16 LEAST SIGNIFICANT BITS OF DATA WORD * * D.PRESS PRESET,RUN. * * 3.TSTLL-LOOP ON WCS MICROCODE ROUTIN * * A.SET PROGRAM OPTION BIT 6. * * NOTE-IF MACHINE IS A 2100 AND THE WCS BOARD UNDER TEST£¬þú * IS A 12908A,BE SURE BACKPLANE JUMPER ASSEMBLY,PART * NO. 12908-60005 IS CONNECTED ON THE BACKPLANE * SKP * * PROGRAM STARTING LOCATION AND DIAGNOSTIC CONFIGURATOR LINKS * ORG 100B JMP CNFIG,I C.101 EQU 101B FAST INPUT LINK C.102 EQU 102B SLOW OUTPUT LINK C.103 EQU 103B FAST OUTPUT LINK C.104 EQU 104B SLOW INPUT LINK C.105 ORG 105B FWAM = PROGRAM ENDING DEF PEND+1 ADDRESS + 1 C.106 EQU 106B LWAM C.107 EQU 107B RESERVED C.110 EQU 110B TIMER COUNTER C.111 EQU 111B FAST INPUT SELECT CODE C.112 EQU 112B SLOW OUTPUT SELECT CODE C.113 EQU 113B FAST OUTPUT SELECT CODE C.114 EQU 114B SLOW INPUT SELECT CODE C.115 EQU 115B COMPUTER TYPE AND OPTIONS C.116 EQU 116B DEVICE SELECT CODE C.117 EQU 117B MEMORY SIZE C.120 EQU 120B NOT USED C.121 EQU 121B TIMER LINK C.123 EQU 123B INTEGER TO ASCII LINK C.124 EQU 124B OCTAL TO ASCII LINK C.125 EQU 125B ASCII TO OCTAL,INTEGER LINK C.126 ORG 126B OCT 103105 DIAGNOSTIC SERIAL NUMBER C.127 EQU 127B FORMATTER LINK ORG 130B BEGIN JMP BEGIN,I DIAGNOSTIC SKP * * BASE PAGE LINKS * A EQU 0 A REGISTER B EQU 1 B REGISTER DMA EQU 6B DMA INTERRUPT ADDRESS WCS EQU 0 WCS PCA SELECT CODE IN LISTING CNFIG DEF INIT LINK TO CONFIGURATION ROUTINE BEGIN DEF START PROGRAM STARTING ADDRESS LINK PPASS DEF PM8 POINT TO PASS # IN PASS MSG JMP.1 JMP INTO,I DMA INTERRUPT INTO DEF T.104 INSTRUCTION FOR TEST1 ERADD DEF ERR3+1 CALLING ADDRESS FROM ERROR ROUT. PTAB DEF TABLE MESSAGE TABLE ADDRESS ETAB DEF ERTAB ERROR TABLE ADDRESS PP4AA DEF PM4AA LINK TO STEP # AREA OF E004 PP4 DEF MSG4 TABLE LINK TO MSG4 PP4A DEF PM4A LINK TO ADDRESS AREA OF E004 PP4B DEF PM4B LINK TO DATA READ AREA OF E004 PP4C DEF PM4C LINK TO DATA WRITT6.þúEN AREA OF E04 EP4C DEF PM4CE END OF DATA WRITTEN AREA OF E004 POCT1 DEF OCTA1 LINK TO 1ST HALF OF WORK AREA POCT2 DEF OCTA2 LINK TO 2ND HALF OF WORK AREA POCT3 DEF OCTA3 LINK TO PORTION OF WORK AREA POCT4 DEF OCTA2+1 LINK TO LAST 2 DIGITS OF # PP6A DEF PM6A LINK TO MODULE # AREA OF H030 PP6B DEF PM6B LINK TO ROUTINE AREA OF H030 PP6C DEF PM6C LINK TO STEP # AREA OF H030 BACK DEF RSTRT REPEAT PASS LINK PMSG4 DEF MS4 LINK TO MESSAGE E004 PTSTS DEF TSTSS LINK TO ROUTINE TSTSS PCNF1 DEF CONF1 LINK TO CONFIGURATION PTSTM DEF TSTMM LINK TO ROUTINE TSTMM PMRTN DEF MRTRN TSTMM RETURN POINT PP9A DEF PM9A LINK TO MACRO AREA OF H031 PP9B DEF PM9B LINK TO A AFTER AREA OF H031 PP9C DEF PM9C LINK TO EXPECTED A AREA OF H031 PP9D DEF PM9D LINK TO B AFTER AREA OF H031 PP9E DEF PM9E LINK TO EXPECTED B AREA OF H031 PP5 DEF PM5 LINK TO STEP # AREA OF E005 PP8 DEF PM8A LINK TO END OF PASS MESSAGE PP7 DEF PM7 LINK TO STEP # AREA OF E007 SRTRN DEF CONT LINK TO SKIP STEP RETURN PT. PTJMP DEF T.JMP LINK TO SKIP FOR STEP 21 MOD.2 DEF MA006 LINK TO 2100 MOD ADR 006 MOD.5 DEF MA017+2 LINK TO 2100 MOD ADR 020 PMOD2 DEF MI00B LINK TO 2100 MODIFICATION+1 MOD.3 DEF MA000+1 LINK TO 2100 MOD ADR 0(LAST 16) MODE1 DEF MA005+1 LINK TO MOD ADR 005+1 MODE3 DEF MA012+1 LINK TO 2100 MOD ADR 012 MODE4 DEF MA013 LINK TO 2100 MOD ADR 013 MODE2 DEF MA117+2 LINK TO 2100 MOD.ADR 120 PMOD1 DEF MI00A LINK TO 2100 MODIFICATION TABLE MOD.1 DEF MA000 LINK TO 2100 MOD ADR 000 MOD.6 DEF MA377 END OF 2100 MICROCODE PTSTL DEF TSTLL LINK TO ROUTINE TSTLL PMODX DEF MX00A LINK TO 21XX MICROCODE TABLE EMODX DEF X375A LINK TO 21XX END OF MODIFICATION PREMX DEF REMX LINK TO ROUTINE REMX SKP * * * DATA BUFFER POINTERS * * DBUF1 DEF *+1 ABUF1 DEF X2100 LINK TO 2100 MICROPROGRAM BUFFER DEF X2100+511 LAST WºþúORD IN 2100 BUFFER DEF X2100+256 MIDDLE OF 2100 BUFFER DEF X2100+510 2ND TO LAST WORD IN 2100 BUFFER DBUF2 DEF *+1 BBUF1 DEF X21XX LINK TO 21XX MICROPROGRAM BUFFER DEF X21XX+511 LAST WORD IN 21XX BUFFER DEF X21XX+256 MIDDLE OF 21XX BUFFER DEF X21XX+510 2ND TO LAST WORD IN 21XX BUFFER DBUF3 DEF *+1 PBUF1 BSS 1 LINK TO DATA BUFFER PBUF2 BSS 1 LAST WORD IN DATA BUFFER PBUF3 BSS 1 MIDDLE OF DATA BUFFER PBUF4 BSS 1 2ND TO LAST WORD IN DATA BUFFER * * * STEP ADDRESS TABLE * * STAB DEF *+1 DEF STP01+1 DEF STP02+1 LAST0 DEF STP03+1 DEF STP04+1 DEF STP05+1 LAST1 DEF STP06+1 DEF STP07+1 DEF STP10+1 DEF STP11+1 DEF STP12+1 DEF STP13+1 DEF STP14+1 DEF STP15+1 LAST2 DEF STP16+1 DEF STP17+1 DEF STP20+1 DEF STP21+1 LAST3 DEF STP22+1 SKP * * * TEST SECTION TABLE * * SECTN DEF *+1 DEF TST00 DEF TST01 DEF TST02 DEF TST03 * * * I/O INSTRUCTIONS TABLE * * IOTAB DEF *+1 DEF STF1 DEF STF2 DEF STF3 DEF STF4 DEF STF5 DEF STF6 DEF OTA1 DEF OTA2 DEF OTB1 DEF STC1 DEF LIA1 DEF LIB1 DEF CLF1 DEF CLF2 DEF CLF3 IOEND DEF * * * * TEST ROUTINE TABLE * * ROUT DEF *+1 ASC 01,00 TST00 ASC 01,01 TST01 ASC 01,02 TST02 ASC 01,03 TST03 SKP * * CONSTANTS AND STORAGE * ZERO OCT 0 B1 OCT 1 B2 OCT 2 B3 OCT 3 B4 OCT 4 B5 OCT 5 .5 EQU B5 B6 OCT 6 B7 OCT 7 .8 DEC 8 .9 DEC 9 B20 OCT 20 B24 OCT 24 B25 OCT 25 B36 OCT 36 B40 OCT 40 B100 OCT 100 B140 OCT 140 B153 OCT 153 B164 OCT 164 B532 OCT 532 B533 OCT 533 B535 OCT 535 B732 OCT 732 B733 OCT 733 B2000 OCT 20000 B7771 OCT 77771 M1 OCêSþúT -1 M2 OCT -2 M3 OCT -3 M4 OCT -4 .M5 DEC -5 M10 OCT -10 M16 OCT -16 M17 OCT -17 .M16 DEC -16 M26 OCT -26 .M96 DEC -96 .M128 DEC -128 .M256 DEC -256 M400 EQU .M256 .M512 DEC -512 BIT0 EQU B1 BIT1 EQU B2 BIT2 EQU B4 BIT3 EQU .8 BIT4 EQU B20 BIT5 EQU B40 BIT6 EQU B100 BIT9 OCT 1000 BIT10 OCT 2000 BIT11 OCT 4000 BIT12 OCT 10000 BIT13 EQU B2000 BIT14 OCT 40000 BIT15 OCT 100000 MASK0 OCT 77 MASK1 OCT 204 MASK2 OCT 377 MASK3 EQU .M256 MASK4 OCT 177700 MASK5 OCT 17 MASK6 OCT 170000 MASK7 EQU M2 MASK9 OCT 3777 LTEST EQU B3 MAKES LAST TEST SECTION = 3 IADDR OCT 400 INCREMENT LEFT 8 BITS PATTA OCT 252 A & B REGISTER FOR DATA PATTB OCT 125252 101010101010101010101010 AT 0 EMOD2 EQU ZERO ONES1 OCT 777 A REGISTER FOR ALL 1'S IN LOC 1 ONES0 EQU MASK2 A REGISTER FOR ALL 1'S IN LOC 0 ONES EQU M1 = ALL 1'S ZERO1 EQU IADDR A REGISTER FOR ALL 0'S IN LOC 1 DECPT OCT 56 ASCII DECIMAL PT. SPACE EQU BIT13 ASCII SINGLE SPACE ASTRX OCT 25000 ASCII ASTERIX LHJ SP2 OCT 20040 ASCII TWO SPACES ETRAP EQU MASK0 LAST TRAP CELL ADDRESS MOD NOP CURRENT CONTROL STORE MODULE # STEP BSS 1 CURRENT STEP # SAVES BSS 1 STEP RETURN POINT SPASS BSS 1 TSTMM RETURN POINT DMAFG NOP DMA FLAG(SET IF NO DMA PRESENT) SC EQU C.116 SELECT CODE OF WCS PCA POINT BSS 1 POINTER TO PARAMETERS IN E004 CFLAG NOP E004 REPORTING FLAG TBUFF BSS 1 TEMPORARY STORAGE OF BUFFER LOC. METAB BSS 1 = -ETAB + 1 PASS BSS 1 PASS # TEST BSS 1 TEST SECTION # EFLAG NOP MESSAGE H030 FLAG MMFLG NOP CONFIGURATION FLAG FOR TSTMM MFLAG NOP SET WHEN MODULE 1 HAS BASE SET MACH1 NOP SET WHEN COMPUTER IS 2100 MACH2 NOP SET WHEN COMPUTER IS 21XX TFLAG NOP TTY FLAG(SET IF NO TTY PRESENT) ERCNT NOP ERROR COUNTER CW1 9(þú OCT 120000 STC,CLC TO WCS SELECT CODE CW2 DEF TEMPA OUTPUT DATA,ALL 0'S CW3 EQU M2 2 WORD BLOCK CW1DW EQU CW1 DMA CONTROL CW2DW EQU PBUF1 WORDS TO WRITE CW3DW EQU .M512 DATA BUFFER ON WCS JBACI JMP BACK,I PASS INSTRUCTION JBACM JMP PTSTM,I TSTMM PASS INSTRUCTION LDA1A LDA M4 LDA INSTR. FOR 2100 LDA1B LDA PP4B LOAD INSTRUCTIONS LDA1C LDA PP4C FOR ROUTINE COMP LDA1D LDA M1 LDA INSTR. FOR 21XX TRSS RSS SKIP INSTRUCTION MSJMP OCT 37500 JMP TO SECONDARY JMP TABLE JMP16 OCT 37420 JMP *+16 IN MOD2 & 3 MAC0 OCT 105000 STARTING MACRO MAC1 OCT 105021 MOD1 MACRO TO CALL TSTM1 MAC2 OCT 105141 MOD2 MACRO TO CALL TSTM1 MAC3 OCT 105261 MOD3 MACRO TO CALL TSTM1 TMAC3 BSS 1 STORAGE FOR MAC03 BMAC BSS 1 MACRO USED WHEN E008 OCCURRED THLT OCT 106077 TRAP CELL HALT SHALT OCT 106000 2ND ERROR HALT TESTS OCT 17 STANDARD TEST RUN(TST00-TST03) SECT OCT 17 STARTING & CURRENT TESTS PTEST DEF *+1 TEST OCT 3 SECTION OCT 6 STEP OCT 16 NUMBERS TEMPA NOP TEMPORARY STORAGE TEMPB NOP FOR A & B REGISTERS TEMP0 BSS 1 TEMPORARY TEMP1 BSS 1 STORAGE TEMP2 BSS 1 TEMP3 BSS 1 TEMP4 BSS 1 TEMP5 BSS 1 TEMP6 BSS 1 TEMP7 BSS 1 TEMP8 BSS 1 TEMP9 BSS 1 SAVE0 BSS 1 SAVE1 BSS 1 SAVE2 BSS 1 SAVE3 BSS 1 SAVE4 BSS 1 SAVE5 BSS 1 SAVE6 BSS 1 SAVE7 BSS 1 SAVE8 BSS 1 SAVE9 BSS 1 AREG1 BSS 1 STORAGE FOR A&B AREG2 BSS 1 REGISTERS FOR BREG1 BSS 1 USE WITH HALT BREG2 BSS 1 DISPLAYS HED SWRG * * * SWITCH REGISTER ROUTINE * * * * CALLING SEQUENCE : * * LDB MASK * JSB SWRG * * RETURNS TO P IF MASK BIT(S) SET * RETURNS TO P+1 IF MASK BIT(S) CLEAR * SWRG NOP LIA 1 GET SW REG AND B MASK BIT(S) ±oþú SZA,RSS SET IN SWITCH REGISTER? ISZ SWRG NO. RETURN+1 JMP SWRG,I YES. RETURN HED WRITE,READ * * * WRITE INTO WCS VIA I/O ROUTINE * * * * WRITES ONE MICROINSTRUCTION OR DATA INTO WCS ADDRESS * SPECIFIED. * * CALLING SEQUENCE : * * LDA 1ST WORD (8 BIT ADDRESS)(8 MSB OF MICROWORD) * LDB 2ND WORD (16 LSB OF MICROWORD) * JSB WRITE * WRITE NOP STF1 STF WCS INITIALIZE DIRECTION FF OTA1 OTA WCS LOAD 1ST WORD IN WCS BUFFER OTB1 OTB WCS LOAD 2ND WORD IN WCS BUFFER STC1 STC WCS LOAD BUFFERS INTO RAM JMP WRITE,I * * * READ WCS VIA I/O ROUTINE * * * * READS WCS LOCATION INTO A & B REGISTERS * * CALLING SEQUENCE : * * LDA ADDRESS (8 BIT ADDRESS LHJ) * JSB READ * * RETURNS WITH A = 8 MSB,B = 16 LSB OF CONTENTS * READ NOP STF2 STF WCS INITIALIZE DIRECTION FF OTA2 OTA WCS LOAD ADDRESS IN WCS STF3 STF WCS RE-INITIALIZE DIRECTION FF LIA1 LIA WCS LOAD A W/8 MSB LIB1 LIB WCS LOAD B W/16 LSB JMP READ,I HED PRINT * * * MESSAGE REPORTING ROUTINE * * * * PRINTS MESSAGE ON SYSTEM SLOW OUTPUT DEVICE. * EXITS ROUTINE IF NO DEVICE PRESENT. * * CALLING SEQUENCE : * * LDA MESSAGE #(OCTAL) * JSB PRINT * PRINT NOP STA TEMP0 SAVE A LDA TFLAG CHECK FOR SZA PRESENCE OF JMP PRINT,I CONSOLE DEVICE LDA ERADD IS THIS AN CPA PRINT ERROR MESSAGE? RSS YES JMP PRIN1 NO LDB BIT11 EXIT IF JSB SWRG BIT11 JMP PRINT,I IS SET JMP PRIN2 PRIN1 EQU * LDB BIT10 EXIT IF JSB SWRG BIT 10 JMP PRINT,I IS SET PRIN2 EQU * CLA,CLE CAúÜþúLL LDB TEMP0 FORMATTER ADB PTAB,I TO PRINT LDB B,I MESSAGE JSB C.127,I JMP PRINT,I HED ERROR * * * ERROR ROUTINE * * * * DETERMINES ERROR BASED ON CALLING ADDRESS AND * REPORTS ERROR MESSAGE AND/OR HALTS DEPENDING * ON PROGRAM OPTIONS. * * CALLING SEQUENCE : * * EXXX JSB ERROR XXX = PROGRAM ERROR MESSAGE # * LOCATED IN ERROR TABLE.(NOT * NECESSARILY = STEP #) * ERROR NOP LDA STEP ERROR FROM CPA SAVE0 SAME STEP? JMP ERR0 YES STA SAVE0 NO JMP ERR5 CONTINUE ERR0 EQU * LDB BIT5 SHORTEN ERROR REPORTING JSB SWRG BY SKIPPING TO NEXT STEP? JSB NOERR YES LDB BIT4 NO,SHORTEN ERROR JSB SWRG REPORTING? RSS JMP ERR5 NO,CONTINUE LDA ERCNT YES,SHORTEN ERROR ADA M3 REPORTING FOR SSA THIS STEP? RSS JMP ERR6 YES ISZ ERCNT NO,INCREMENT ERROR COUNTER JMP ERR5 ERR6 EQU * JMP ERROR,I EXIT UNTIL NEXT STEP ERR5 EQU * LDA EFLAG REPORT SZA MESSAGE H030? JMP ERR4 NO LDA B6 REPORT MESSAGE H030 JSB PRINT "MODXX,TSTYY,STEP ZZ" ERR4 EQU * LDA ERROR LOOK UP LDB ETAB,I ERROR ERR1 EQU * NUMBER CPA B,I BASED ON JMP ERR2 CALLING INB ADDRESS JMP ERR1 ERR2 EQU * ADB METAB FORM MESSAGE SWP NUMBER ERR3 JSB PRINT REPORT IT LDA STEP ARE WE IN ADA M17 STEP 17-22? SSA JMP ERR7 NO LDA .9 YES,REPORT H031 JSB PRINT H031 ERR7 EQU * LDB BIT14 SUPPRESS JSB SWRG ERROR HALT? JMP ERROR,I YEX2<:6S,EXIT LDA HLTXX NO,FORM AND MASK4 HALT # IOR STEP FROM STA HLTXX STEP # LDA AREG1 LDB BREG1 HLTXX HLT 0 HLT XXB. XX = STEP # LDA TFLAG IS THERE A CONSOLE SZA,RSS DEVICE TO REPORT ERRORS? JMP HLTYY+1 YES,DON'T NEED 1060XX HALT LDA HLTXX NO,PREPARE AND MASK0 FOR ADDITIONAL HALT IOR SHALT STA HLTYY LDA AREG2 LOAD ADDITIONAL AND MASK2 INFORMATION LDB MOD IN A BLF,BLF AND B BLF REGISTERS IOR B LDB BREG2 HLTYY OCT 106000 HLT 1060XX. XX = STEP # CLA CLEAR STA AREG1 REPORTING STA BREG1 REGISTERS STA AREG2 STA BREG2 JMP ERROR,I HED STORE ¬:<ÿÿ ÿý‡– ÿ12908-18002 1502 S 0122 WRITABLE CTRL STORE DIAG 12908 / 12978             H0101 !Kþú* * * STORE INTO DATA BUFFER ROUTINE * * * * STORES A & B REGISTERS INTO DATA BUFFER STARTING * WITH BUFFER WORD 0. STORES A AND THEN B INTO NEXT * SUCCESSIVE LOCATION AND INCREMENTS POINTER. THE * NEXT CALL PUTS A & B INTO NEXT BUFFER WORD AND * WORD + 1 RESPECTIVELY. POINTER MUST BE SET TO * BUFFER WORD 0 UPON ENTRY INTO THIS ROUTINE. * * CALLING SEQUENCE : * * LDA PBUF1 SET BUFFER * STA TBUFF POINTER TO WORD 0 OF BUFFER * LDA 1ST WORD (8 BIT ADDRESS)(8 MSB OF MICROWORD) * LDB 2ND WORD (16 LSB OF MICROWORD) * JSB STORE * LDA NEXT WORD * LDB NEXT WORD+1 * FINISHED FILLING BUFFER? * JMP *-4 NO,LOOP UNTIL FINISHED * CONTINUE * STORE NOP STA TBUFF,I STORE A IN DATA ISZ TBUFF BUFFER WORD N STB TBUFF,I AND B IN DATA ISZ TBUFF BUFFER WORD N+1 JMP STORE,I HED WBUFF * * * WRITE DATA BUFFER ONTO WCS ROUTINE * * * * WRITES THE CONTENTS OF THE DATA BUFFER ONTO WCS * RAMS ACCORDING TO ADDRESSES CONTAINED IN THE * DATA. USES SUBROUTINE WRITE. * * CALLING SEQUENCE : * * JSB WBUFF * WBUFF NOP LDA .M256 SET ADDRESS STA TEMP3 COUNTER LDA PBUF1 AND DATA STA TBUFF BUFFER POINTER WLOOP EQU * LDA TBUFF,I LOAD A & B ISZ TBUFF REGISTERS WITH LDB TBUFF,I BUFFER CONTENTS ISZ TBUFF JSB WRITE WRITE ONTO WCS ISZ TEMP3 DONE? JMP WLOOP NO,CONTINUE JMP WBUFF,I YES HED COMP * * * COMPARISON ROUTINE * * * * READ WCS MODULE WORD BY WORD AND COMPARES CONTENTS * TO CORRESPONDING VALUE IN THE DATA BUFFER. REPORTS * Øþú MIS-COMPARISONS AS ERROR MESSAGE E004. USES * SUBROUTINES READ AND FORM. * * CALLING SEQUENCE : * * JSB COMP * COMP NOP LDA .M256 SET ADDRESS STA TEMP3 COUNTER LDA PBUF1 AND DATA STA TBUFF BUFFER POINTER CLOOP EQU * LDA TBUFF,I GET ADDRESS AND MASK3 LHJ IN A STA TEMP2 REGISTER & JSB READ READ CONTENTS AND MASK2 GET RID OF DON'T CARES IOR TEMP2 IN ADDRESS FIELD STA AREG1 SAVE STB BREG1 READINGS CPA TBUFF,I COMPARE RSS DATA IN JMP CERR1 A & B ISZ TBUFF REGISTERS CPB TBUFF,I TO DATA RSS THAT WAS JMP CERR2 CONTD ISZ TBUFF ISZ TEMP3 DONE? JMP CLOOP NO,CONTINUE CLA YES,CLEAR E004 STA CFLAG REPORTING FLAG STA EFLAG AND H030,H031 FLAG LDA PP4 RESTORE STA PMSG4,I FULL E004 MESSAGE JMP COMP,I CERR1 EQU * ISZ TBUFF ARRANGE FOR FORM CERR2 EQU * JSB FORM FORM PARAMETERS FOR MSG E004 ISZ CFLAG ALREADY PRINTED ENTIRE E004? JMP CCOMP NO,PRINT ENTIRE E004 LDA PP4A YES,ONLY PRINT E004 PARAMETERS STA PMSG4,I CCA SET HOLD OFF FLAG STA EFLAG FOR H030 AND H031 CCOMP EQU * LDA SP2 PUT SPACES LDB PP4A IN 1ST THREE STA B,I DIGITS OF INB ADDRESS PORTION LDA B,I OF ERROR AND MASK2 MESSAGE E004 IOR SPACE STA B,I E004 JSB ERROR "BAD COMPARISON + PARAMETERS" CCA RESET E004 STA CFLAG REPORTING FLAG JMP CONTD CONTINUE COMPARISONS HED FORM * * * FORM PARAMETERS ROUTINE * * * * CONVERTS AND PLACES ADDRESS AND DATA VALUES IN * APPROPRIATE P­±þúORTIONS OF MESSAGE E004. * * CALLING SEQUENCE : * * STA TEMP2 ADDRESS READ IN TEMP2 * LDA DATA READ * LDB DATA READ * JSB FORM * FORM NOP STA TEMPA SAVE STB TEMPB A & B CLE LDA LDA1B START WITH STA LDAIN DATA READ LDA TEMP2 GET ORIGINAL MODULE ADDRESS ALF,ALF CONVERT ADDRESS LDB PP4A TO ASCII AND JSB C.124,I PACK INTO MESSAGE E004 FLOOP EQU * CLE CONVERT 16 LSB TO LDA TEMPB ASCII AND PLACE LDB POCT3 INTO 2ND HALF JSB C.124,I OF WORK AREA CLE CONVERT LDA TEMPA 8 MSB TO AND MASK2 ASCII AND PLACE LDB POCT1 IN 1ST HALF OF JSB C.124,I WORK AREA LDA POCT2 POINT TO PORTION STA TEMP6 OF WORK AREA FOR E004 LDAIN NOP POINT INTO APPROPRIATE STA POINT AREA IN E004 LDA M3 SET STA TEMP5 COUNTER LDA TEMP6,I GET PARAMETER AND MASK2 VALUE ALF,ALF AND PACK ISZ TEMP6 INTO ERROR LDB TEMP6,I MESSAGE E004 SWP IN THE FORM: ALF,ALF AND MASK2 XXX.XXXXXX(OCTAL) IOR B STA POINT,I LDA TEMP6,I AND MASK2 ALF,ALF IOR DECPT ISZ POINT STA POINT,I FNEXT EQU * ISZ POINT ISZ TEMP6 LDA TEMP6,I STA POINT,I ISZ TEMP5 DONE? JMP FNEXT NO,CONTINUE ISZ POINT YES LDA POINT DONE CPA EP4C BOTH PARAMETERS? JMP FORM,I YES LDA LDA1C NO STA LDAIN LDB TBUFF GET DATA ADB M1 WRITTEN AND LDA B,I GO BACK AND LDB TBUFF,I PACK INTO STA TEMPA E004 STB TEMPB STA AREG2 STB BREG2 QkþúJMP FLOOP HED USELT * * * USER SELECTION ROUTINE * * * * ALLOWS USER TO SELECT TEST SECTIONS TO BE RUN. * PROGRAM HALTS 102075 AND USER ENTERS TESTS HE * DESIRES IN A REGISTER. SET BIT 0 MEANS RUN * TST00,BIT 1 MEANS RUN TST01,ETC. A REGISTER * CONTAINS CURRENT TESTS TO BE RUN WHEN HALTED * 102075. * * CALLING SEQUENCE : * * JSB USELT * USELT NOP GOOF LDA TESTS LOAD CURRENT TESTS CLB HLT75 HLT 75B HALT TO ENTER NEW TESTS AND MASK5 GET RID OF DON'T CARES STA TEMPA SZA,RSS IS ENTRY VALID? JMP GOOF NO,TRY AGAIN LDA TEMPA YES STA TESTS SAVE TEST STA SECT SELECTION LDB BIT9 CLEARED JSB SWRG BIT9? JMP GOOF NO,TRY AGAIN JMP BACK,I RESTART PASS WITH NEW TESTS HED TMSG * * * TEST MESSAGE ROUTINE * * * * PUTS CURRENT CONTROL STORE MODULE AND TEST ROUTINE * IN MESSAGE H030. * * CALLING SEQUENCE : * * LDA TEST ROUTINE # (0 THRU 5) * JSB TMSG * TMSG NOP LDB ROUT FIND CURRENT ADB A TEST ROUTINE LDA B,I AND PUT IT STA PP6B,I IN MESSAGE H030 CLE LDA MOD CONVERT CURRENT LDB POCT1 CONTROL STORE MODULE JSB C.124,I # TO ASCII IN WORK AREA LDB POCT4 PUT IT LDA B,I IN MESSAGE LDB PP6A H030 STA B,I JMP TMSG,I HED CSTEP * * * CURRENT STEP ROUTINE * * * * CHECKS FOR LOOP,HALT ON STEP AND/OR CAPTURES STEP * RETURN POINT,UPDATES STEP # AND PUTS STEP # IN H030 * DEPENDING ON ENTRY POINT. * * CALLING SEQUENCE : * * JSB CSTEP * * OR * * JSB SSTEP UPDATES STEP # Œþú * CSTEP NOP LDA STEP CHECK TO INSURE CURRENT SZA,RSS STEP # NOT = 0 JMP CNEXT STEP # = 0. GO DO STEP 1 FIRST LDB BIT2 HALT ON JSB SWRG STEP? RSS JMP HLT50+1 NO LDA STEP YES,GET STEP # CLB IN A REGISTER HLT50 HLT 50B CLA CLEAR ERROR STA ERCNT COUNTER LDB BIT3 LOOP ON JSB SWRG STEP? JMP SAVES,I YES JMP CNEXT SSTEP NOP SECOND ENTRY LDA SSTEP POINT STA CSTEP CNEXT EQU * LDA CSTEP SAVE CURRENT STA SAVES STEP RETURN POINT LDA STEP INCREMENT INA STEP # STA STEP CLE PUT LDB POCT1 STEP # IN JSB C.124,I H030 LDB POCT4 LDA B,I LDB PP6C STA B,I LDB PP4AA NOW PUT IT STA B,I IN E004 LDB PP7 NOW PUT IT STA B,I IN E007 LDB PP5 NOW PUT IT STA B,I IN E005 CLA CLEAR ERROR STA ERCNT COUNTER STA AREG1 CLEAR STA BREG1 REPORTING STA AREG2 REGISTERS STA BREG2 JMP CSTEP,I HED ROLL * * * ROLL UP BUFFER ROUTINE * * * * ROLLS DATA BUFFER UP ONE MICROWORD. RETURNS UNTIL * THE END OF BUFFER IS REACHED AND THEN RETURNS + 1. * * CALLING SEQUENCE : * * LDA START OF BUFFER * STA SAVE2 * LOOP EQU * * JSB ROLL * JMP LOOP * ROLL NOP LDA SAVE2,I GET THE ISZ SAVE2 WORD OF LDB SAVE2,I INTEREST ISZ SAVE2 STA SAVE1 STB SAVE3 LDA SAVE2 POINT BACK TO ADA M2 BUFFER LOCATION STA TBUFF WE CAME FROM LDA SAVE1 COMPLEMENT XOR MASK2 DATA PATTERN CMB À‘þú AND STORE IN JSB STORE FIRST LOCATION LDA SAVE1 MOVE WORD ADA IADDR OF INTEREST LDB SAVE3 UP ONE IN JSB STORE BUFFER LDA SAVE2 CPA PBUF4 END OF BUFFER? RSS YES JMP ROLL,I NO,RETURN ISZ ROLL JMP ROLL,I RETURN + 1 WHEN DONE ALL BUFFER HED ROTE * * * ROTATE DATA PATTERN ROUTINE * * * * ROTATES 24 BIT DATA PATTERN IN A & B REGISTERS. * DOES NOT AFFECT ADDRESS BITS IN A. * * CALLING SEQUENCE : * * LDA 1ST WORD (8 BIT ADDRESS)(8 BITS OF DATA PATTERN) * LDB 2ND WORD (16 BITS OF DATA PATTERN) * JSB ROTE * * RETURNS WITH 24 BIT DATA PATTERN ROTATED ONE LEFT. * ADDRESS BITS REMAIN THE SAME. * ROTE NOP STA TEMPA STB TEMPB ALF,ALF GET BIT 23 AND BIT15 OF MICROWORD RAL INTO STA SAVE1 STORAGE LDA TEMPB GET BIT 15 AND BIT15 OF MICROWORD RAL INTO STA TEMP2 STORAGE LDA TEMPA AND MASK3 SWP LDA TEMPA RAL AND MASK7 IOR TEMP2 AND MASK2 IOR B FORM STA TEMPA A REGISTER LDA TEMPB RAL AND MASK7 IOR SAVE1 FORM LDB A B REGISTER LDA TEMPA JMP ROTE,I HED DRITE * * * WRITE INTO WCS VIA DMA ROUTINE * * * * WRITES DATA BUFFER INTO WCS USING DMA CHANNEL 1. * * CALLING SEQUENCE : * * JSB DRITE * DRITE NOP LDA CW1DW INITIALIZE OTA 6B DMA TO CLC 2B TRANSFER THE LDA CW2DW 512 WORD DATA OTA 2B BUFFER TO STC 2B WCS LDA CW3DW OTA 2B STC 6B,C STF6 STF WCS CLF3 CLF WCS SFS 6B ÀþúDONE? RSS JMP DRITE,I YES,RETURN ISZ TEMP8 NOT YET,TIMED OUT? JMP CLF3+1 NO,KEEP TRYING E010 JSB ERROR YES,"DMA NOT COMP" JMP DRITE,I HED ALT * * * ALTERNATE DATA PATTERN ROUTINE * * * * COMPLEMENTS EACH PATTERN IN DATA BUFFER. ADDRESS * FIELD REMAINS UNCHANGED. * * CALLING SEQUENCE : * * JSB SET2 * JSB ALT * ALT NOP LDA .M256 SET STA TEMP1 COUNTER ALOOP EQU * LDA TBUFF,I GET BUFFER XOR MASK2 WORD AND COMPLEMENT STA TBUFF,I DATA PATTERN ISZ TBUFF LDB TBUFF,I DO NEXT CMB BUFFER WORD STB TBUFF,I ISZ TBUFF ISZ TEMP1 DONE ENTIRE BUFFER? JMP ALOOP NO,CONTINUE JMP ALT,I YES HED SET1,SET2,SET3 * * * SET COUNTERS ROUTINES * * * * SETS COUNTERS TO THE COUNT IN THE A REGISTER. * SETS TEMP1,4,7,8,9 OR POINTS TBUFF TO THE DATA * BUFFER DEPENDING ROUTINE USED. * * CALLING SEQUENCE : * * LDA COUNT * JSB SET1 INITALIZES TEMP1, TEPM4 & TBUFF * * OR * * JSB SET2 INITIALIZES TBUFF * * OR * * LDA COUNT * JSB SET3 INITIALIZES TEMP7, TEPM8 & TEMP9 * SET1 NOP STA TEMP1 INITIALIZE STA TEMP4 TEMP1 AND TEMP4 JMP SET1,I * SET2 NOP LDA PBUF1 SET TBUFF TO STA TBUFF POINT TO DATA BUFFER JMP SET2,I * SET3 NOP STA TEMP7 INITIALIZE STA TEMP8 TEMP7, STA TEMP9 TEMP8, JMP SET3,I AND TEMP9 HED IBUFF * * * INITIALIZE DATA BUFFER ROUTINE * * * * SETS POINTERS TO BUFFER TO BE USED FOR THE DATA * BUFFER BASED ON B REGISTER. * * CALLING SEQUENCE : * * œäþú LDB (POINTER TO BUFFER TO BE USED) * JSB IBUFF * * IF MACHINE IS A 2100,THE 21XX MICROPROGRAM BUFFER * AREA WILL BE USED AS THE DATA BUFFER. IF THE MACHINE * IS A 21XX,THE 2100 MICROPROGRAM BUFFER AREA WILL BE * USED AS THE DATA BUFFER. * IBUFF NOP LDA M4 SET STA TEMP0 COUNTER ILOOP EQU * LDA B,I GET POINTER INB STA DBUF3,I STORE IN DATA POINTER LOCATION ISZ DBUF3 ISZ TEMP0 DONE? JMP ILOOP NO LDA DBUF3 YES,RESET DBUF3 FOR POSSIBLE ADA M4 RESTART WITH STA DBUF3 CONFIGURATION JMP IBUFF,I HED NOERR * * * TURN OFF ERRORS UNTIL NEXT STEP ROUTINE * * * * LOOKS UP NEXT STEP ADDRESS AND JUMPS THERE. * * CALLING SEQUENCE : * * JSB NOERR * NOERR NOP LDB BIT3 TRYING TO LOOP JSB SWRG ON STEP? JMP NOERR,I YES,CONTINUE LOOP LDA SAVES GET CURRENT STEP RETURN POINT LDB STAB GET STEP TABLE POINTER NLOOP EQU * CPA B,I FOUND CURRENT STEP? JMP NN.1 YES INB NO,BUMP TABLE JMP NLOOP POINTER & LOOK AGAIN NN.1 EQU * CPA LAST0 ON LAST STEP IN TEST? JMP NN.2 YES CPA LAST1 JMP NN.2 CPA LAST2 JMP NN.2 CPA LAST3 LAST STEP? JMP NN.4 YES INB NO,GET LDA B,I NEXT STEP ADA M1 ADDRESS AND STA NOERR SAVE FOR JUMP NN.3 EQU * CLC 0,C TURN OFF INTERRUPT,CLEAR I/O LDA 5B RESTORE TRAP STA 6B CELL HALT LDA TRSS RESTORE SKIP INSTRUCTION STA PTJMP,I FOR STEP 21 CLA CLEAR STA EFLAG ERROR & COMP STA CFLAG FLAGS LDA PP4 RESTORE E004 FOR STA PMSG4,I POSSIBLE FUTURE USE ÌþúJMP NOERR,I JUMP TO NEXT STEP NN.2 EQU * LDA SRTRN SET TO STA NOERR RETURN IN START JMP NN.3 NN.4 EQU * LDA SRTRN SET TO RETURN STA NOERR IN START AND JSB REMOD RESTORE 2100 MICROCODE JSB PREMX,I RESTORE 21XX MICROCODE JMP NN.3 HED FPARM * * * FORM PARAMETERS ROUTINE * * * * FORMS ASCII VALUES FOR PARAMETERS IN MESSAGE H031. * * CALLING SEQUENCE : * * DEPENDS ON: * * TEMPA = A REG AFTER MACRO * TEMPB = B REG AFTER MACRO * TEMP7 = WHAT A REG SHOULD BE * TEMP8 = WHAT B REG SHOULD BE * BMAC = MACRO USED * * JSB FPARM * FPARM NOP LDA TEMPA FORM STA AREG1 A REG CLE AFTER MACRO LDB PP9B JSB C.124,I LDA TEMPB FORM STA BREG1 B REG CLE AFTER MACRO LDB PP9D JSB C.124,I CLE FORM LDA TEMP7 WHAT A LDB PP9C SHOULD BE JSB C.124,I CLE FORM LDA TEMP8 WHAT B LDB PP9E SHOULD BE JSB C.124,I LDA BMAC FORM STA BREG2 MACRO CLE LDB PP9A JSB C.124,I JMP FPARM,I HED ER005,ER007 * * * REPORT ERRORS E005 & E007 ROUTINES * * * * REPORTS E005 OR E007 DEPENDING ON WHICH IS * CALLED. * * CALLING SEQUENCE : * * STA TEMPA(A REG AFTER MACRO) * STB TEMPB(B REG AFTER MACRO) * LDA BAD MACRO(MACRO USED WHEN ERROR OCCURRED) * STA BMAC * JSB ER005 OR E007 * ER005 NOP JSB FPARM GO FORM PARAMETERS FOR H031 E005 JSB ERROR "NO MAC" JMP ER005,I * ER007 NOP JSB FPARM GO FORM PARAMETERS FOR H031 E007 JSB ERROR "BAD MAC" JMP aÙ<:6ER007,I HED L2100,L21XX €<ÿÿ ÿýˆ— ÿ12908-18003 1502 S 0122 WRITABLE CTRL STORE DIAG 12908 / 12978             H0101 "Kþú* * * LOAD 2100 MICROCODE ROUTINE * * * * LOADS 2100 MICROPROGRAM BUFFER INTO CURRENT WCS. * * CALLING SEQUENCE : * * JSB L2100 * L2100 NOP LDA ABUF1 PUT 2100 POINTER STA PBUF1 INTO PBUF1 JSB WBUFF WRITE ON WCS LDA BBUF1 RESTORE PBUF1 POINTER STA PBUF1 TO POINT TO 21XX BUFFER JMP L2100,I * * * LOAD 21XX MICROCODE ROUTINE * * * * LOADS 21XX MICROPROGRAM BUFFER INTO CURRENT WCS. * * CALLING SEQUENCE : * * JSB L21XX * L21XX NOP LDA BBUF1 PUT 21XX POINTER STA PBUF1 INTO PBUF1 JSB WBUFF WRITE ON WCS LDA ABUF1 RESTORE PBUF1 POINTER STA PBUF1 TO POINT TO 2100 BUFFER JMP L21XX,I HED REMOD * * * RESTORE 2100 MICROCODE FOR MODULE #1 ROUTINE * * * * RESTORES MICROCODE FOR 2100 FOR USE IN MODULE #1 * * CALLING SEQUENCE : * * JSB REMOD * REMOD NOP LDA PMOD1 SET STA TEMP7 POINTER LDB MOD.1 RM.1 LDA TEMP7,I DO FIRST STA B,I 16(DECIMAL) ISZ TEMP7 LOCATIONS INB CPB MOD.5 DONE? RSS JMP RM.1 NO ADB B140 YES,BUMP POINTER RM.2 LDA TEMP7,I DO SECONDARY STA B,I JMP TABLE ISZ TEMP7 INB CPB MODE2 DONE? RSS JMP RM.2 NO ADB B532 RM.3 LDA TEMP7,I DO ROUTINE STA B,I FORM ISZ TEMP7 INB CPB MOD.6 DONE? JMP REMOD,I YES,RETURN JMP RM.3 NO HED CMOD3 * * * CHANGE 2100 MICROCODE FOR MODULE #3 ROUTINE * * * * MODIFIES MICROCODE FOR 2100 FOR USE IN MODULE #3 * * CALLING SEQUENCE : * * JSB CMOD3 * CMOD3 NOP LDA PMOD2 SET STA TEMP7 POINTERS LDA MODE3 STA TEMP4 Ôþú LDB MOD.3 CM3.1 LDA TEMP7,I GET MICRO FROM AND MASK2 TABLE & STORE STA TEMP9 LEFT 8 BITS LDA JMP16 PUT NEW MICRO-JUMP STA B,I IN MICROCODE LDA TEMP4,I FORM NEW JUMPS AND MASK3 IN MICROCODE IOR TEMP9 STA TEMP4,I ISZ TEMP4 ISZ TEMP7 INB CPB MOD.2 DONE? JMP CM3.2 YES ISZ TEMP4 NO,BUMP ISZ TEMP7 POINTERS INB JMP CM3.1 CM3.2 LDA B,I PLACE ADDITIONAL IOR B2 NEW JUMPS FOR MOD #3 STA B,I INB LDA JMP16 STA B,I INB CPB MODE4 DONE? RSS JMP CM3.2 NO LDA TEMP7 YES,BUMP ADA B25 POINTERS STA TEMP7 ADB B153 CM3.3 LDA TEMP7,I GET MICRO FROM ADA BIT12 TABLE AND CHANGE STA B,I REMAINING 16 BITS ISZ TEMP7 INB CPB MODE2 DONE? JMP CM3.4 YES ISZ TEMP7 NO,BUMP INB POINTERS JMP CM3.3 CM3.4 ADB B535 BUMP POINTER LDA MSJMP FORM NEW MICRO STA B,I JMP CMOD3,I HED CMOD2 * * * CHANGE 2100 MICROCODE FOR MODULE #2 ROUTINE * * * * MODIFIES MICROCODE FOR 2100 FOR USE IN MODULE #2 * * CALLING SEQUENCE : * * JSB CMOD2 * CMOD2 NOP LDA MODE1 SET STA TEMP4 POINTERS LDA PMOD1 STA TEMP7 LDB MOD.1 CM2.1 LDA TEMP7,I GET MICRO FROM ADA M2 TABLE & CHANGE STA B,I LEFT 8 BITS ISZ TEMP7 INB LDA TEMP7,I GET MICRO FROM AND MASK2 TABLE & STORE STA TEMP9 LAST 8 BITS LDA JMP16 GET NEW MICRO STA B,I AND PUT IT IN MICROPROGRAM LDA TEMP4,I GET NEXT FIVE JMPS AND MASK3 IN MICROCODE AND IOR TEMP9 FORM NEW JUMPS STA TEMP4,I ISZ TEMPrþú7 INCREMENT ISZ TEMP4 POINTERS ISZ TEMP4 INB CPB MOD.2 DONE? RSS JMP CM2.1 NO LDA TEMP7 YES,RESET ADA B24 POINTERS STA TEMP7 ADB B164 CM2.2 LDA TEMP7,I GET MICRO FROM ADA M2 TABLE & CHANGE STA B,I LEFT 8 ISZ TEMP7 INB LDA TEMP7,I GET MICRO FROM ADA BIT12 TABLE & CHANGE STA B,I REMAINING 16 BITS ISZ TEMP7 INB CPB MODE2 DONE? RSS JMP CM2.2 NO ISZ TEMP7 YES,BUMP ADB B533 POINTERS LDA TEMP7,I GET MICRO AND ADA M400 CHANGE LAST 16 STA B,I ISZ TEMP7 INB LDA TEMP7,I GET MICRO AND ADA M2 CHANGE LEFT 8 STA B,I ISZ TEMP7 INB LDA TEMP7,I GET MICRO AND ADA BIT12 CHANGE LAST 16 STA B,I JMP CMOD2,I HED START * * * PROGRAM ENTRY * * * * SETS UP TRAP CELLS,INITIALIZES VARIABLES * AND CONTROLS TEST EXECUTION * ORG 2000B START NOP CLF 0 TURN OFF INTERRUPT SYSTEM CLA JSB PRINT "12908 WCS DIAGNOSTIC" LDA THLT SET UP LDB B2 TRAP CELL RTRAP STA B,I HALTS IN CPB ETRAP ADDRESS JMP STVAR LOCATIONS INB 2 THRU 77 JMP RTRAP STVAR EQU * INITIALIZE VARIABLES CLA STA TEMPA STA TEMPB STA SPASS STA MMFLG CLA,INA START WITH STA PASS PASS 1 LDA SAVE4 CONFIGURE ALF,ALF PROGRAM FOR ALF LOW ORDER WCS IOR SAVE5 MODULE JSB PCNF1,I JSB REMOD RESTORE 2100 MICROCODE JSB REMX RESTORE 21XX MICROCODE LDA MASK5 RESTORE STANDARD STA TESTS TEST RUN(ALL TESTS) RSTRT EQU * CLA œLþú START WITH STA TEST TEST SECTION 0 STA STEP START WITH STEP 1 LDA TESTS RESET TEST STA SECT SELECTION TLOOP EQU * LDB BIT6 PERFORM JSB SWRG TSTLL? JMP PTSTL,I YES LDB BIT1 PERFORM JSB SWRG TSTSS? JMP PTSTS,I YES LDB BIT9 USER SELECTION JSB SWRG OF TESTS? JSB USELT YES,GO GET TESTS DESIRED LDA SECT NO,USE CURRENT OR DEFAULT SET RAR PERFORM STA SECT THIS TEST SSA,RSS SECTION? JMP SKIP NO LDA TEST EXECUTE ADA SECTN CURRENT LDA A,I TEST JSB A,I SECTION CLA CLEAR ERROR STA ERCNT COUNTER LDB BIT2 HALT ON LAST STEP JSB SWRG IN TEST SECTION? RSS JMP HL50+1 NO LDA STEP YES,GET STEP # CLB IN A REGISTER HL50 HLT 50B LDA MACH1 IS THIS SZA A 2100? JMP *+3 YES LDA LDA1D NO. ONLY ONE STA T.LDA MACRO IN STEP 22 LDB BIT3 LOOP ON LAST JSB SWRG STEP IN TEST SECTION? JMP SAVES,I YES JMP CONT NO,CONTINUE SKIP EQU * LDA TEST GET ADA PTEST CURRENT LDB A,I STEP # STB STEP AND STORE IT CONT EQU * LDB BIT15 HALT AT JSB SWRG END OF TEST? RSS JMP NOHLT NO LDA TEST YES,GET TEST # CLB IN A REG AND CLEAR B REG HLT76 HLT 76B NOHLT EQU * LDB BIT13 LOOP JSB SWRG TEST? RSS JMP NOLP NO LDA SECT YES,POSITION RAL FOR TEST STA SECT SELECTION JMP TLOOP NOLP EQU * LDA TEST FINISHED CPA LTEST PASS? JMP CPASS YES INA NO,CONTINUE STA TEST Y8þú TEST JMP TLOOP SEQUENCE CPASS EQU * LDB BIT0 PERFORM JSB SWRG TSTMM? JMP PTSTM,I YES CLA NO,CLEAR TSTMM STA MMFLG CONFIGURATION FLAG LDA PP8,I RESTORE AND MASK2 NORMAL IOR SPACE PASS STA PP8,I MESSAGE LDA SAVE4 FORM UP LOW ORDER ALF,ALF WCS MODULE SELECT ALF CODE AND CONTROL IOR SAVE5 STORE MODULE # JSB PCNF1,I GO CONFIGURE PROGRAM LDA JBACI SET PROGRAM STA JBAC1 OPTION BIT12 STA JBAC2 TO NORMAL TESTING MRTRN EQU * CLE FINISHED A LDA PASS PASS. SET UP LDB PPASS PARAMETERS FOR JSB C.124,I PASS COUNT LDA .8 JSB PRINT "PASS XXXXXX" ISZ PASS BUMP PASS COUNTER LDB BIT12 LOOP ON JSB SWRG DIAGNOSTIC? JBAC1 BSS 1 YES,DO ANOTHER PASS LDA PASS NO ADA M1 GET PASS # IN CLB A REG AND CLEAR B REG HLT77 HLT 77B JBAC2 BSS 1 DO ANOTHER PASS HED TEST SECTION 0 * * * TEST SECTION 0 * * * * CHECKS I/O BUS. * * TESTS DMA FLAG AND INTERRUPT CIRCUITRY,IF PRESENT, * (DMA CHANNEL 1 ONLY) BY ATTEMPTING 2 WORD TRANSFERS. * * TST00 EQU * TEST0 NOP LDA TEST ARM MESSAGE JSB TMSG H030 LDA CW1 INITIALIZE AND MASK4 VARIABLES IOR SC STA CW1 STP01 JSB SSTEP STEP 1 LIA 0 I/O BUS SZA CLEAR? E001 JSB ERROR NO,"IO BUS NOT CLEAR" LDA DMAFG DMA SZA,RSS PRESENT? JMP T.105 YES,DO NEXT STEPS JSB CSTEP NO,SKIP DMA CHECK JSB CSTEP AND UPDATE SKIP # JMP TEST0,I T.105 EQU * STP02 JSB CSTEP STEP 2 LDA .M5 SET STA TEMP1 COUNTER LDA CW1 8aþú INITIALIZE DMA OTA 6B FOR WCS CLC 2B SELECT CODE, LDA CW2 STC TO WCS EACH DMA CYCLE, OTA 2B CLC TO WCS AT END OF BLOCK. STC 2B 2 WORD TRANSFER LDA CW3 CONTAINING OTA 2B ALL 0'S STC 6B,C START DMA TRANSFER STF4 STF WCS WRITE ON CLF1 CLF WCS WCS T.103 SFS 6B DMA FLAG? JMP T.101 NO,DELAY & TRY AGAIN,THEN ERROR JMP T.102 T.101 CLA,INA DELAY A JSB C.121,I MILLISECOND ISZ TEMP1 TRIED 5 TIMES? JMP T.103 NO,TRY AGAIN E002 JSB ERROR YES,"NO DMA FLAG" T.102 EQU * STP03 JSB CSTEP STEP 3 CLF 6B DISABLE DMA INTERRUPT SIGNAL LDA JMP.1 SET UP JMP INSTRUCTION IN STA DMA TRAP CELL FOR INTERRUPT STF 0 TURN ON INTERRUPT SYSTEM LDA CW1 RE-INITIALIZE OTA 6B DMA FOR CLC 2B 2 WORD TRANSFER LDA CW2 TO WCS OTA 2B STC 2B LDA CW3 OTA 2B STC 6B,C START DMA TRANSFER STF5 STF WCS WRITE ON CLF2 CLF WCS WCS LDA .5 DELAY ABOUT JSB C.121,I 5 MILLISECONDS CLF 0 TURN OFF INTERRUPT FOR E003 E003 JSB ERROR "NO DMA INT" T.104 EQU * DMA INTERRUPT RETURN POINT CLC 0,C TURN EVERYTHING BACK OFF LDA 5B RESTORE TRAP STA 6B CELL HALT JMP TEST0,I HED TEST SECTION 1 * * * TEST SECTION 1 * * * * ADDRESS TEST - WRITES AND READS EACH ADDRESS IN WCS * MODULE WITH ITS OWN ADDRESS,THEN COMPARES THEM. * TST01 EQU * TEST1 NOP LDA TEST ARM MESSAGE JSB TMSG H030 STP04 JSB SSTEP STEP 4 LDA .M16 SET STA TEMP7 COUNTER JSB SET2 SET BUFFER POINTER CLA BUILD UP DATA CLB BUFFER TO CONTAIN T.200 ZþúEQU * ADDRESSES 0 THRU 377 JSB STORE IN THOSE ADDRESSES ADA IADDR EXAMPLE-ADDRESS 174 HAS 174 INB IN THE DATA FIELD CPA EMOD2 DONE BUILDING UP BUFFER? RSS YES JMP T.200 NO,CONTINUE T.203 EQU * JSB WBUFF WRITE BUFFER ONTO WCS JSB COMP READ WCS,COMPARE TO BUFFER VALUE ISZ TEMP7 DONE IT 16 TIMES? JMP T.203 NO,CONTINUE NOP TEMPORARY STP05 JSB CSTEP STEP 5 LDA .M16 SET STA TEMP8 COUNTER T.204 EQU * LDA .M256 SET ADDRESS STA TEMP1 COUNTER AND DATA LDA PBUF2 BUFFER POINTER TO STA TBUFF START AT END OF BUFFER T.201 EQU * LDB TBUFF,I WRITE BUFFER LDA TBUFF ONTO WCS ADA M1 IN DESCENDING STA TBUFF ORDER LDA TBUFF,I JSB WRITE LDB TBUFF ADB M1 STB TBUFF ISZ TEMP1 DONE? JMP T.201 NO,CONTINUE JSB COMP YES,COMPARE DATA ISZ TEMP8 DONE IT 16 TIMES? JMP T.204 NO,CONTINUE STP06 JSB CSTEP STEP 6 LDA .M16 SET STA TEMP9 COUNTER T.205 EQU * JSB SET2 SET BUFFER POINTERS TO THE LDA PBUF3 BEGINNING AND MIDDLE OF THE STA TEMP4 DATA BUFFER LDA .M128 SET ADDRESS STA TEMP1 COUNTER T.202 EQU * LDA TBUFF,I WRITE BUFFER ISZ TBUFF INTO WCS LDB TBUFF,I ALTERNATING ISZ TBUFF ADDRESSES JSB WRITE UP AND DOWN LDA TEMP4,I IN MODULE ISZ TEMP4 LDB TEMP4,I ISZ TEMP4 JSB WRITE ISZ TEMP1 DONE? JMP T.202 NO, CONTINUE JSB COMP YES,COMPARE DATA ISZ TEMP9 DONE IT 16 TIMES? JMP T.205 NO,CONTINUE JMP TEST1,I HED TEST SECTION 2 * * * TEST SECTION 2 * * * ùMþú * PATTERN TESTS - WRITES A SERIES OF PATTERNS INTO * WCS,THEN READS THEM BACK AND COMPARES THEM. LAST * PATTERN IS REPEATED USING DMA,IF PRESENT. * TST02 EQU * TEST2 NOP LDA TEST ARM MESSAGE JSB TMSG H030 STP07 JSB SSTEP STEP 7 LDA .M96 SET JSB SET3 COUNTERS JSB SET2 CLA BUILD CLB DATA T.300 EQU * BUFFER TO JSB STORE CONTAIN ADA IADDR ALL 0'S CPA EMOD2 RSS JMP T.300 T.301 EQU * JSB WBUFF WRITE BUFFER JSB COMP READ AND COMPARE DATA ISZ TEMP7 DONE IT 96 TIMES? JMP T.301 NO STP10 JSB CSTEP STEP 10 LDA .M256 YES,SET JSB SET1 NEW COUNTERS LDA .M96 JSB SET3 JSB SET2 LDA MASK2 BUILD CCB DATA T.302 EQU * BUFFER TO JSB STORE CONTAIN ADA IADDR ALL 1'S ISZ TEMP1 JMP T.302 T.303 EQU * JSB WBUFF WRITE BUFFER JSB COMP READ AND COMPARE DATA ISZ TEMP8 DONE IT 96 TIMES? JMP T.303 NO STP11 JSB CSTEP STEP 11 LDA .M96 YES,SET JSB SET3 NEW COUNTERS LDA .M256 JSB SET1 JSB SET2 LDA MASK2 LDB M2 T.314 EQU * STA SAVE1 BUILD STB SAVE2 DATA T.304 EQU * BUFFER TO JSB STORE CONTAIN ADA IADDR A 0 IN A ISZ TEMP1 FIELD OF 1'S JMP T.304 JSB WBUFF WRITE BUFFER JSB COMP READ AND COMPARE DATA LDA .M256 RESET JSB SET1 COUNTERS JSB SET2 LDA SAVE1 ROTATE THE LDB SAVE2 0 ONE JSB ROTE TO THE LEFT ISZ TEMP8 DONE IT 96 TIMES? JMP T.314 NO STP12 JSB CSTEP STEP 12 LDA .M256 RESET JSB SET1 COUNTERS {¿þú LDA .M96 JSB SET3 JSB SET2 CLA LDB B1 T.315 EQU * STA SAVE1 BUILD STB SAVE2 DATA T.305 EQU * BUFFER TO JSB STORE CONTAIN ADA IADDR A 1 IN A ISZ TEMP1 FIELD OF 0'S JMP T.305 JSB WBUFF WRITE BUFFER JSB COMP READ AND COMPARE DATA LDA .M256 RESET JSB SET1 COUNTER JSB SET2 LDA SAVE1 ROTATE THE LDB SAVE2 1 ONE JSB ROTE TO THE LEFT ISZ TEMP9 DONE IT 96 TIMES? JMP T.315 NO STP13 JSB CSTEP STEP 13 LDA .M256 YES,SET JSB SET1 NEW COUNTERS JSB SET2 CLA BUILD CLB DATA JSB STORE BUFFER TO ISZ TEMP1 CONTAIN LDA ONES1 ALL 0'S IN CCB FIRST WORD, T.306 EQU * ALL 1'S IN JSB STORE REMAINDER ADA IADDR ISZ TEMP1 JMP T.306 LDA PBUF1 SET BUFFER STA SAVE2 POINTER T.307 EQU * JSB WBUFF WRITE BUFFER JSB COMP READ AND COMPARE DATA JSB ROLL ROLL BUFFER UP ONE MICROWORD JMP T.307 CONTINUE JSB WBUFF WRITE LAST BUFFER JSB COMP READ AND COMPARE DATA STP14 JSB CSTEP STEP 14 LDA .M256 RESET JSB SET1 COUNTERS JSB SET2 SET POINTER LDA ONES0 BUILD CCB DATA JSB STORE BUFFER TO ISZ TEMP4 CONTAIN LDA ZERO1 ALL 1'S IN CLB FIRST WORD T.308 EQU * AND ALL 0'S JSB STORE IN REMAINDER ADA IADDR ISZ TEMP4 JMP T.308 LDA PBUF1 SET BUFFER STA SAVE2 POINTER T.309 EQU * JSB WBUFF WRITE BUFFER JSB COMP READ AND COMPARE DATA JSB ROLL ROLL BUFFER UP ONE MICROWORD JMP T.30Ù<:69 CONTINUE JSB WBUFF WRITE LAST BUFFER JSB COMP READ AND COMPARE DATA STP15 JSB CSTEP STEP 15 LDA .M256 SET NEW JSB SET3 COUNTERS JSB SET2 LDA PATTA BUILD LDB PATTB DATA T.310 EQU * BUFFER TO JSB STORE CONTAIN ADA IADDR 101010101010101010101010 XOR MASK2 010101010101010101010101 CMB 101010101010101010101010 ISZ TEMP7 ETC. JMP T.310 JSB WBUFF WRITE BUFFER JSB COMP READ AND COMPARE DATA T.311 EQU * JSB SET2 RESET POINTER JSB ALT COMPLEMENT PATTERNS JSB WBUFF WRITE BUFFER JSB COMP READ AND COMPARE DATA ISZ TEMP8 DONE IT 256 TIMES? JMP T.311 NO STP16 JSB CSTEP STEP 16 LDA .M256 JSB SET3 SET COUNTER CLA CLEAR FOR POSSIBLE STA TEMP8 USE IN DMA TIME OUT LDA DMAFG DMA SZA PRESENT? JMP T.313 NO T.312 EQU * JSB DRITE YES,WRITE DATA VIA DMA JSB COMP READ AND COMPARE DATA JSB SET2 RESET POINTER JSB ALT COMPLEMENT PATTERNS ISZ TEMP9 DONE IT 256 TIMES? JMP T.312 NO T.313 EQU * JMP TEST2,I YES,RETURN HED TEST SECTION 3 Ç]<ÿÿ ÿý‰˜ ÿ12908-18004 1502 S 0122 WRITABLE CTRL STORE DIAG 12908 / 12978             H0101 #Kþú* * * TEST SECTION 3 * * * * LOADS MICROPROGRAMS AND EXECUTES THEM * TST03 EQU * TEST3 NOP LDA TEST ARM MESSAGE JSB TMSG H030 LDA TRSS ARM RSS STA T.JMP INSTRUCTION LDA MACH1 IS THIS SZA,RSS A 2100? JMP T.450 NO,JUMP TO 21XX TESTING LDA MOD YES,IS MODULE CPA B1 1 BEING USED? JMP T.400 YES,GET MODULE 1 MACROS CPA B2 NO,IS MODULE 2 BEING USED? JMP T.401 YES,GET MODULE 2 MACROS JSB CMOD3 NO,FORM MOD #3 MICROCODE LDA MAC3 GET MODULE 3 MACROS T.402 EQU * STA MAC01 FORM MACRO TO CALL TSTM1 MICRO ADA B20 STA MAC02 FORM MACRO TO CALL TSTM2 MICRO ADA B20 STA MAC03 FORM MACRO TO CALL TSTM3 MICRO STA TMAC3 SAVE IT JMP T.403 T.400 EQU * LDA MAC1 LOAD A WITH MOD1 MACRO JMP T.402 T.401 EQU * JSB CMOD2 FORM MOD #2 MICROCODE LDA MAC2 LOAD A WITH MOD2 MACRO JMP T.402 T.403 EQU * JSB L2100 LOAD MICROCODE FOR 2100 STP17 JSB SSTEP STEP 17 CCA SET A & B CCB TO ALL 1'S STA TEMP7 SAVE AS EXPECTED STA TEMP8 A & B REGISTERS MAC01 NOP CALL TSTM1 TO TEST MICROJUMP CPA ONES IS A OK? RSS YES JMP T.404 NO,GO REPORT E007 CPB ONES IS B OK? JMP T.405 YES GO TO NEXT STEP T.404 EQU * STA TEMPA NO,SAVE A & B STB TEMPB FOR E007 LDA MAC01 SAVE STA BMAC MACRO JSB ER007 GO REPORT E007 T.405 EQU * STP20 JSB CSTEP STEP 20 LDA ZERO FORM EXPECTED STA TEMP7 A & B REGISTERS LDB ONES STB TEMP8 CCA SET A & B CCB TO ALL 1'S MAC02 NOP CALL TSTM2 MICROPROGRAM JMP T.406 GO REPORT E005 CPA ZERO !ÄþúIS A OK? RSS YES JMP T.407 NO,GO REPORT E007 CPB ONES IS B OK? JMP T.408 YES,GO TO NEXT STEP T.407 EQU * STA TEMPA NO,SAVE A & B STB TEMPB FOR E007 LDA MAC02 SAVE STA BMAC MACRO JSB ER007 GO REPORT E007 JMP T.408 T.406 EQU * STA TEMPA SAVE A & B STB TEMPB FOR E005 LDA MAC02 SAVE STA BMAC MACRO JSB ER005 GO REPORT E005 T.408 EQU * STP21 JSB CSTEP STEP 21 CLA CLEAR STA TEMP4 COUNTER T.409 EQU * LDA MAC03 GET BITS 0-9 OF MACRO AND MASK9 FOR FORMING EXPECTED B REG AND ONES FORM IT STA TEMP9 SAVE IT STA TEMP8 SAVE AS EXPECTED B REG CCA SET A & B CCB TO ALL 1'S STA TEMP7 SAVE AS EXPECTED A REG MAC03 NOP CALL TSTM3 MICROPROGRAM JMP T.410 GO REPORT E005 CPA ONES IS A OK? RSS YES JMP T.411 NO,GO REPORT E007 CPB TEMP9 IS B OK? JMP T.412 YES T.411 EQU * STA TEMPA NO,SAVE A & B STB TEMPB FOR E007 LDA MAC03 SAVE STA BMAC MACRO JSB ER007 GO REPORT E007 JMP T.412 T.410 EQU * STA TEMPA SAVE A & B STB TEMPB FOR E005 LDA MAC03 SAVE STA BMAC MACRO JSB ER005 GO REPORT E005 T.412 EQU * ISZ TEMP4 IF IN STEP 22,THEN DONE? T.JMP RSS SKIP IN STEP21,JMP T.414 STEP22 JMP T.413 YES STP22 JSB CSTEP STEP 22 T.LDA LDA M4 SET STA TEMP4 COUNTER LDA TJMP ARM STA T.JMP JMP INSTRUCTION LDA TMAC3 INSURE MAC03 STA MAC03 IS CORRECT T.414 EQU * LDA MAC03 INCREMENT ADA B7 THE MACRO STA MAC03 BY 7 JMP T.409 GO DO NEW MACRO T.413 EQU * Éþú LDA LDA1A ARM LDA STA T.LDA INSTRUCTION LDA TRSS ARM STA T.JMP RSS INSTRUCTION JSB REMOD RESTORE 2100 MICROCODE JSB REMX RESTORE 2100 MICROCODE JMP TEST3,I T.450 EQU * LDA MOD FORM CMA,INA CORRECT LDB MAC0 MACRO ADB B40 FOR INA,SZA CURRENT JMP *-2 MODULE # ADB B1 STB MAC01 ADB B20 FORM STB MAC02 REMAINING ADB B7 MACROS STB MAC03 STB TMAC3 JSB CMODX FORM CURRENT MOD MICROCODE JSB L21XX LOAD MICROCODE FOR 21XX JMP STP17 TJMP JMP T.414 JMP TO T.414 INSTRUCTION HED TSTSS * * * SPECIAL TESTING ROUTINE * * * * ENTERED WHEN SWITCH REGISTER BIT 1 IS SET * DURING PROGRAM EXECUTION. ROUTINE HALTS AND * ACCEPTS INFORMATION IN THE A AND B REGISTERS. * WHEN HALTED,OPERATOR ENTERS : * * A REGISTER - (8 BIT WCS ADDRESS)(8 MSB OF MICROWORD) * * B REGISTER - (16 LSB OF MICROWORD) * * PRESS RUN. PROGRAM HANGS IN A LOOP,WRITING AND * READING THE PATTERN SPECIFIED AT THE LOCATION * SPECIFIED. LOOPING CONTINUES UNTIL SWITCH * REGISTER BIT 1 IS CLEARED. * TSTSS EQU * CLA CLEAR CLB REGISTERS HLT63 HLT 63B STA TEMP1 SAVE STB TEMP4 ENTRY SS.1 EQU * LDA TEMP1 WRITE THE LDB TEMP4 PATTERN JSB WRITE ON WCS AND MASK3 GET STA TEMP7 ADDRESS JSB READ READ WCS LOCATION LIA 1 CLEARED SW REG RAR,SLA BIT 1 YET? JMP SS.1 NO,LOOP JMP BACK,I YES,RETURN TO START HED TSTMM * * * MULTIPLE MODULE TESTING ROUTINE * * * * CONTROLS TESTING TO RUN DIAGNOSTIC ON ALL WCS * MîUþúODULES PRESENT. ENTERED WHEN SWITCH REGISTER * BIT 0 IS SET AND DIAGNOSTIC HAS COMPLETED * CURRENT PASS ON LOWEST ORDER WCS MODULE PRESENT. * WHEN HALTED,OPERATOR ENTERS : * * HALT 102060- * * A REGISTER : * * BITS 0 THRU 5 - SELECT CODE OF NEXT HIGHER ORDER * WCS MODULE PRESENT. * * BITS 6 THRU 11 - CLEARED * * BITS 12 THRU 15 - CONTROL STORE MODULE BEING USED. * * * * B REGISTER : * * BITS 0 THRU 5 - SELECT CODE OF HIGHEST ORDER * WCS MODULE PRESENT. * * BITS 6 THRU 11 - CLEARED * * BITS 12 THRU 15 - CONTROL STORE MODULE BEING USED * * IF THERE IS NO 3RD WCS MODULE AND ONLY 2 WCS MODULES * WILL BE TESTED,CLEAR THE B REGISTER. * * PRESS RUN. PROGRAM WILL PERFORM DIAGNOSTIC ON EACH * WCS MODULE PRESENT. IT WILL DO THE LOWEST ORDER WCS * MODULE,THEN NEXT HIGHER,NEXT HIGHER(IF PRESENT) AND * THEN REPORT A PASS. MULTIPLE MODULE TESTING * CONTINUES UNTIL SWITCH REGISTER BIT 0 IS CLEARED. * * NOTE** IF ONE MODULE IS MAKING ERRORS,HIGHER ORDER * MODULES MAY BE EFFECTED. * TSTMM EQU * LDA PASS IN SAME CPA SPASS PASS? JMP MM.4 YES STA SPASS NO,FIRST TIME THRU THIS PASS LDA MMFLG HAS TSTMM SZA BEEN CONFIGURED? JMP MM.3 YES LDA JBACM SET PROGRAM OPTION STA JBAC1 BIT12 FOR USE STA JBAC2 WITH TSTMM CLA CLEAR REGISTERS CLB FOR TSTMM ENTRIES HLT60 HLT 60B HALT FOR ENTRIES STA TEMP7 SAVE A REGISTER STB TEMP3 SAVE B REG AND MASK6 GET MODULE ALF # OF NEXT STA TEMP8 HIGHER ORDER WCS CMA,INA MAKE INTO -# ADA ¦ÞþúMOD IS IT HIGHER SSA,RSS THAN LOW ORDER WCS? JMP MM.8 NO,INVALID LDA TEMP3 YES,NOW AND MASK6 CHECK NEXT ALF HIGHER ORDER WCS SZA,RSS IS IT PRESENT? JMP MM.9 NO,SKIP CMA,INA ADA TEMP8 SSA OK? JMP MM.9 YES MM.8 EQU * LDA TEMP7 NO,LOAD LDB TEMP3 ENTRIES HLT54 HLT 54B JMP HLT60+1 TRY AGAIN MM.9 EQU * LDA TEMP7 JSB CONF1 GO CONFIGURE LDA MOD SAVE NEXT ORDER LDB SC WCS SELECT CODE STA SAVE6 AND CONTROL STORE STB SAVE7 MODULE # LDA TEMP3 LOAD B REG ENTRY SZA DEFAULT CASE? JMP MM.1 NO CLA YES,ONLY TWO WCS STA SAVE8 MODULES ARE PRESENT STA SAVE9 JMP MM.2 MM.1 EQU * JSB CONF1 GO CONFIGURE LDA MOD SAVE HIGH ORDER LDB SC WCS SELECT CODE STA SAVE8 AND CONTROL STORE STB SAVE9 MODULE # MM.2 EQU * CCA SET TSTMM STA MMFLG CONFIGURATION FLAG HL74 HLT 74B GOOD CONFIGURATION MM.3 EQU * LDA SAVE4 FORM UP LOW ORDER ALF,ALF WCS MODULE SELECT ALF CODE AND CONTROL IOR SAVE5 STORE MODULE # JSB CONF1 GO CONFIGURE PROGRAM JMP MM.5 MM.4 EQU * LDA MOD ARE WE ON CPA SAVE4 2ND TIME THRU? RSS YES JMP MM.6 NO LDA SAVE6 FORM UP NEXT HIGHER ALF,ALF ORDER WCS MODULE ALF SELECT CODE AND IOR SAVE7 CONTROL STORE MODULE # JSB CONF1 GO CONFIGURE PROGRAM JMP MM.5 MM.6 EQU * LDA SAVE8 THIRD TIME THRU SZA,RSS IS WCS PRESENT? JMP MM.7 NO CPA MOD COMPLETED PASS? JMP MM.7 YES ALF,ALF NO,FORM UP HIGH b#þúORDER ALF WCS MODULE SELECT IOR SAVE9 CODE AND CONTROL STORE MOD. # JSB CONF1 GO CONFIGURE MM.5 EQU * JMP BACK,I NO,GO DO IT MM.7 EQU * LDA PP8,I PUT ASTERIX AT AND MASK2 END OF PASS MSG IOR ASTRX TO INDICATE MULTIPLE STA PP8,I MODULE TESTING PASS JMP PMRTN,I REPORT PASS HED TSTLL * * * MICROCODE LOOP ROUTINE * * * * ENTERED WHEN SWITCH REGISTER BIT 6 IS SET DURING * PROGRAM EXECUTION. SELECTS MACROINSTRUCTION WHICH * CALLS LOOP IN MICROCODE OF CURRENT CONTROL STORE * MODULE. LOOPS UNTIL SWITCH REGISTER BIT 6 IS * CLEARED. * NOTE** IF A JMP MICROINSTRUCTION WON'T WORK(IE. * STEP 17 GIVES ERRORS),THEN THE PERFORMANCE OF * THIS ROUTINE IS UNPREDICTABLE. * TSTLL EQU * LDA MACH1 IS THIS SZA A 2100? JMP LL.0 YES LDA MOD NO,FORM CMA,INA MACRO LDB MAC0 TO ADB B40 CALL INA,SZA LOOP JMP *-2 IN 21XX ADB B36 STB MAC04 JMP LL.4 LL.0 EQU * LDA MOD GET CURRENT MODULE # ADA M2 SSA IS IT 1? JMP LL.1 YES ADA M1 NO SSA IS IT 2? JMP LL.2 YES LDA MAC3 NO,MUST BE 3 LL.3 EQU * ADA B100 FORM MACRO STA MAC04 TO CALL LOOP JMP LL.4 LL.1 EQU * LDA MAC1 USE MODULE 1 MACRO JMP LL.3 LL.2 EQU * LDA MAC2 USE MODULE 2 MACRO JMP LL.3 LL.4 EQU * MAC04 NOP CALL LOOP LIA 1 GET SW REG AND BIT6 IS BIT 6 SZA STILL SET? JMP LL.4 YES JMP BACK,I NO,RETURN TO START HED REMX * * * RESTORE 21XX MICROCODE ROUTINE * * * * RESTORES MICROC,5þúODE FOR 21XX FOR USE IN MODULE #3 * * CALLING SEQUENCE : * * JSB REMX * REMX NOP LDA BBUF1 INITIALIZE STA TEMP8 POINTERS LDB PMODX RMX.1 EQU * LDA B,I RESTORE HIGH STA TEMP8,I 8 BITS INB ISZ TEMP8 LDA B,I RESTORE LOW STA TEMP8,I 16 BITS INB ISZ TEMP8 CPB EMODX DONE UNCD JMPS? RSS YES JMP RMX.1 NO LDA TEMP8 BUMP ADA B732 POINTER STA TEMP8 LDA B,I RESTORE STA TEMP8,I THE INB CNDX JMP ISZ TEMP8 LDA B,I STA TEMP8,I JMP REMX,I HED CMODX * * * CHANGE 21XX MICROCODE ROUTINE * * * * MODIFIES MICROCODE FOR 21XX FOR USE IN CURRENT * CONTROL STORE MODULE. * * CALLING SEQUENCE : * * JSB CMODX * CMODX NOP LDA PMODX INITIALIZE STA TEMP7 VARIABLES LDA B2000 CMA,INA STA TEMP9 CLA STA TEMP1 LDA BBUF1 STA TEMP8 LDA B3 CMX.5 CPA MOD GOT MODULE #? JMP CMODX,I YES,RETURN STA TEMP4 NO,STORE IT LDB TEMP1 FORM ADB B2000 CURRENT STB TEMP1 MODIFICATION LDB TEMP7 POINT TO LOW INB 16 BITS OF MICROWORD ISZ TEMP8 CMX.1 EQU * CLE CLEAR EXTEND BIT LDA B,I CHANGE ADA TEMP1 LOW 16 BITS STA TEMP8,I OF MICROWORD SEZ,RSS EXTEND BIT SET? JMP CMX.2 NO LDA TEMP8 YES ADA M1 POINT BACK STA TEMP8 TO HIGH 8 ADB M1 BITS OF MICROWORD LDA B,I CARRY OVER INA OVERFLOW STA TEMP8,I INB BUMP ISZ TEMP8 POINTERS CMX.2 EQU * INB ISZ TEMP8 CPB EMODX DONE ALL UNCD JMPS»¼þú? JMP CMX.3 YES INB NO,BUMP ISZ TEMP8 POINTERS AGAIN JMP CMX.1 CMX.3 EQU * LDA B733 BUMP ADA TEMP8 POINTER STA TEMP8 TO MX375+1 INB BUMP POINTER LDA MOD NEED TO CHANGE SLA CNDX JMP? JMP CMX.0 NO LDA B,I CHANGE ADA TEMP9 MICROCODE STA TEMP8,I CMX.4 EQU * LDA BBUF1 STA TEMP8 LDA TEMP4 INA JMP CMX.5 CMX.0 EQU * LDA B7771 RESTORE CORRECT STA TEMP8,I CNDX JMP JMP CMX.4 HED INIT * * * INITIAL CONFIGURATION ROUTINE * * * * CONFIGURES WCS SELECT CODE INTO I/O INSTRUCTIONS. * INDICATES PRESENCE OF DMA AND CONSOLE DEVICE(SLOW * OUTPUT). SAVES CONTROL STORE MODULE # FOR PROGRAM * USE. * INIT NOP CLC 0,C INTERRUPT OFF,CLEAR I/O LDA ETAB FORM RELATIVE CMA ERROR TABLE STA METAB INDEX LDA C.112 IS THERE A CONSOLE SZA DEVICE IN SYSTEM? JMP *+3 YES CCA NO,SET STA TFLAG NO TTY FLAG LDA C.115 CHECK AND MASK1 FOR SZA DMA JMP INIT2 DMA IS THERE CCA STA DMAFG NO DMA INIT2 EQU * LDA C.115 GET COMPUTER AND MASK6 TYPE ALF ADA M10 IS IT SSA A 2100? JMP INIT5 YES CCA NO,MUST BE A 21XX STA MFLAG SET MODULE 1 FLAG STA MACH2 SET 21XX FLAG LDB DBUF1 GO USE 2100 MICROPROGRAM JSB IBUFF BUFFER FOR DATA BUFFER JMP INIT6 INIT5 EQU * CCA SET 2100 STA MACH1 FLAG LDB DBUF2 GO USE 21XX MICROPROGRAM JSB IBUFF BUFFER FOR DATA BUFFER INIT6 EQU * JSB CONF GO CONFIGURE PROGRAM LDA MOD SA3î640VE LOW ORDER LDB SC WCS SELECT CODE AND STA SAVE4 MODULE # FOR STB SAVE5 PROGRAM USE HLT74 HLT 74B CONFIGURATION COMPLETE JMP 130B GO START MAIN PROGRAM HED CONF * * * CONFIGURATION ROUTINE * * * * CONFIGURES CURRENT WCS SELECT CODE INTO I/O * INSTRUCTIONS. SAVE CONTROL STORE MODULE # FOR * PROGRAM USE. * * CALLING SEQUENCE : * * JSB CONF (INCLUDES LIA 1) * * OR * * LDA (MOD# & SELECT CODE) * JSB CONF1 * CONF NOP LIA 1 GET SW REG AND JMP INIT8 CONF1 NOP LDB CONF1 SET RETURN STB CONF ADDRESS INIT8 EQU * STA TEMP0 SAVE IT AND MASK0 IS SELECT ADA M10 CODE ENTRY SSA,RSS LESS THAN 10(OCTAL)? JMP INIT0 NO,OK CLB LDA TEMP0 LOAD BAD ENTRY HLT73 HLT 73B YES,SELECT CODE ENTERED WAS <7B JMP CONF+1 TRY AGAIN INIT0 EQU * LDA TEMP0 IS SELECT AND MASK0 CODE ENTRY ADA M26 GREATER THAN SSA 25 OCTAL? JMP INIT1 NO CLB LDA TEMP0 LOAD BAD ENTRY HLT51 HLT 51B YES,SELECT CODE ENTERED WAS >25B JMP CONF+1 TRY AGAIN INIT1 EQU * LDA TEMP0 AND MASK0 GET CURRENT WCS STA SC SELECT CODE LDA TEMP0 GET CURRENT AND MASK6 CONTROL STORE ALF MODULE # STA TEMP7 AND SAVE IT LDA MFLAG IS MACHINE SZA A 2100? JMP CONF2 NO,MUST BE 21XX LDA TEMP7 ADA M1 YES,TRYING TO SSA USE MODULE 0? ~{6ÿÿ ÿýŠ ˜ ÿ12908-18005 1502 S 0122 WRITABLE CTRL STORE DIAG 12908 / 12978             H0101 $Kþú JMP INIT4 YES,INVALID LDA TEMP7 NO,TRYING TO ADA M4 USE MODULE#>3? SSA JMP INIT7 NO,OK INIT4 EQU * CLB YES,INVALID LDA TEMP0 LOAD BAD ENTRY HLT53 HLT 53B JMP CONF+1 TRY AGAIN CONF2 EQU * LDA TEMP7 ADA M3 TRYING TO USE SSA MODULE #<3? JMP CONF3 YES,INVALID LDA TEMP7 NO ADA M16 TRYING TO USE SSA MODULE #>15(OCTAL)? JMP INIT7 NO,OK CONF3 EQU * CLB YES,INVALID LDA TEMP0 LOAD BAD ENTRY HLT52 HLT 52B JMP CONF+1 TRY AGAIN INIT7 EQU * LDA TEMP0 STORE CURRENT AND MASK6 CONTROL STORE ALF MODULE # STA MOD LDA IOTAB STA TEMP0 INIT3 EQU * LDA TEMP0 FORM LDB A,I SELECT LDA B,I CODE AND MASK4 INTO IOR SC APPLICABLE STA B,I I/O LDB TEMP0 INSTRUCTIONS INB STB TEMP0 CPB IOEND RSS JMP INIT3 JMP CONF,I HED ERROR AND MESSAGE TABLES,WORK BUFFER * * * ERROR TABLE * * ORG 4000B ERTAB DEF *+1 NOP HEADING DEF E001+1 E001 DEF E002+1 E002 DEF E003+1 E003 DEF E004+1 E0XX XX=STEP #(4 THRU 16) DEF E005+1 E0YY YY=STEP #(17 THRU 22) NOP H030 DEF E007+1 E0ZZ ZZ=STEP #(17 THRU 22) NOP PASS COUNT MESSAGE NOP H031 DEF E010+1 E016 * * * MESSAGE TABLE * * TABLE DEF *+1 DEF MSG0 DEF MSG1 DEF MSG2 DEF MSG3 MS4 DEF MSG4 DEF MSG5 DEF MSG6 DEF MSG7 DEF MSG8 DEF MSG9 DEF MSG10 * * * WORK AREA FOR MESSAGE PARAMETERS * * OCTA1 BSS 1 OCTA2 BSS 2 OCTA3 BSS 3 HED 2100 MICROCODE MODIFICATION TABLðñþúE * * * 2100 MICROCODE MODIFICATION TABLE * * MI00A OCT 377 JMP *+16 MI00B OCT 27420 OCT 777 JMP TSTM1 OCT 27430 OCT 1377 JMP TSTM2 OCT 27540 OCT 1777 JMP FORM OCT 27775 OCT 2377 JMP FORM OCT 27775 OCT 2777 JMP LOOP OCT 27700 OCT 3375 JMP *+256 OCT 37406 OCT 3775 JMP *+256 OCT 37407 OCT 4375 JMP *+256 OCT 37410 OCT 4775 JMP *+256 OCT 37411 OCT 5375 JMP *+256 OCT 37412 OCT 5777 JMP *+512 OCT 37413 OCT 6377 JMP *+512 OCT 37414 OCT 6777 JMP *+512 OCT 37415 OCT 7377 JMP *+512 OCT 37416 OCT 7777 JMP *+512 OCT 37417 OCT 40377 JMP GOOF OCT 27640 OCT 40777 JMP TSTM3 OCT 27600 OCT 41377 JMP GOOF OCT 27640 OCT 41777 JMP GOOF OCT 27640 OCT 42377 JMP GOOF OCT 27640 OCT 42777 JMP GOOF OCT 27640 OCT 43377 JMP TSTM3 OCT 27600 OCT 43777 JMP GOOF OCT 27640 OCT 44377 JMP TSTM3 OCT 27600 OCT 44777 JMP GOOF OCT 27640 OCT 45377 JMP GOOF OCT 27640 OCT 45777 JMP GOOF OCT 27640 OCT 46377 JMP GOOF OCT 27640 OCT 46777 JMP TSTM3 OCT 27600 OCT 47377 JMP GOOF OCT 27640 OCT 47777 JMP TSTM3 OCT 27600 OCT 176755 FORM ADR IOR S1 OCT 173777 OCT 177367 S1 JMP SJMP OCT 27500 HED 21XX MICROCODE MODIFICATION TABLE * * * 21XX MICROCODE MODIFICATION TABLE * * MX00A OCT 320 JMP UNCD TSTM1 OCT 62030 OCT 720 JMP UNCD TSTM2 OCT 64030 OCT 1320 JMP UNCD GOOF OCT 74030 OCT 1720  þú JMP UNCD GOOF OCT 74030 OCT 2320 JMP UNCD GOOF OCT 74030 OCT 2720 JMP UNCD GOOF OCT 74030 OCT 3320 JMP UNCD GOOF OCT 74030 OCT 3720 JMP UNCD GOOF OCT 74030 OCT 4320 JMP UNCD TSTM3 OCT 77230 OCT 4720 JMP UNCD GOOF OCT 74030 OCT 5320 JMP UNCD GOOF OCT 74030 OCT 5720 JMP UNCD GOOF OCT 74030 OCT 6320 JMP UNCD GOOF OCT 74030 OCT 6720 JMP UNCD GOOF OCT 74030 OCT 7320 JMP UNCD LOOP OCT 70030 OCT 7720 JMP UNCD TSTM3 OCT 77230 X375A OCT 176720 JMP CNDX TBZ OUT OCT 77771 HED MESSAGES * * * MESSAGES * * SUP MSG0 OCT 6412 ASC 11,12908 WCS DIAGNOSTIC / MSG1 ASC 11,E001 IO BUS NOT CLEAR/ MSG2 ASC 09,E002 NO DMA FLAG / MSG3 ASC 08,E003 NO DMA INT/ MSG4 ASC 01,E0 PM4AA BSS 1 ASC 08, BAD COMPARISON OCT 6412 ASC 12,MODULE DATA DATA OCT 6412 ASC 14,ADDRESS READ WRITTEN OCT 6412 OCT 6412 PM4A BSS 3 OCT 20040 PM4B BSS 5 OCT 20040 PM4C BSS 5 PM4CE ASC 01, / MSG5 ASC 01,E0 PM5 BSS 1 ASC 04, NO MAC/ MSG6 OCT 6412 ASC 04,H030 MOD PM6A BSS 1 ASC 02,,TST PM6B BSS 1 ASC 03,,STEP PM6C BSS 1 ASC 01, / MSG7 ASC 01,E0 PM7 BSS 1 ASC 05, BAD MAC / MSG8 ASC 03,PASS PM8 BSS 3 PM8A ASC 01, / MSG9 ASC 05,H031 MAC= PM9A BSS 3 OCT 6412 ASC 02, A= PM9B BSS 3 ASC 06, SHOULD BE= PM9C BSS 3 OCT 6412 ASC 02, B= PM9D BSS 3 ASC 06, SHOULD BE= PM9E BSS 3 ASC 01, / MSG10 ASC 09,E016 DMA NOT COMP/ HED 2100 DIAGNOSTIC MICROCODE AREA * * * 2100 MICROPROGRAM AREA * * X2100 EQU * MA000 OCT 377 JMP *+16 OCT 27420 MA001 OCT 777 JMP ÖÚþú TSTM1 OCT 27430 MA002 OCT 1377 JMP TSTM2 OCT 27540 MA003 OCT 1777 JMP FORM OCT 27775 MA004 OCT 2377 JMP FORM OCT 27775 MA005 OCT 2777 JMP LOOP OCT 27700 MA006 OCT 3375 JMP *+256 OCT 37406 MA007 OCT 3775 JMP *+256 OCT 37407 MA010 OCT 4375 JMP *+256 OCT 37410 MA011 OCT 4775 JMP *+256 OCT 37411 MA012 OCT 5375 JMP *+256 OCT 37412 MA013 OCT 5777 JMP *+512 OCT 37413 MA014 OCT 6377 JMP *+512 OCT 37414 MA015 OCT 6777 JMP *+512 OCT 37415 MA016 OCT 7377 JMP *+512 OCT 37416 MA017 OCT 7777 JMP *+512 OCT 37417 MA020 OCT 10377 CJMP OUT OCT 47730 MA021 OCT 10771 CR IOR A 0 OCT 177000 MA022 OCT 11373 CL IOR A 0 OCT 177000 MA023 OCT 11777 CJMP 0 OCT 47730 MA024 OCT 12371 CR IOR B 0 OCT 176400 MA025 OCT 12773 CL IOR B 0 OCT 176400 MA026 OCT 13377 IOR EOP OCT 177775 MA027 OCT 13777 IOR OCT 177777 MA030 OCT 14377 TSTM1 IOR EOP OCT 177775 MA031 OCT 14777 IOR OCT 177777 MA032 OCT 15377 IOR OCT 177777 OCT 15777 IOR OCT 177777 OCT 16377 IOR OCT 177777 OCT 16777 IOR OCT 177777 OCT 17377 IOR OCT 177777 OCT 17777 IOR OCT 177777 OCT 20377 IOR OCT 177777 OCT 20777 IOR OCT 177777 OCT 21377 IOR OCT 177777 OCT 21777 IOR OCT 177777 OCT 22377 IOR OCT 177777 OCT 22777 IOR OCT 177777 OCT 23377 IOR OCT 177777 OCT 23777 IOR OCT 177777 OCT 24377 IOR OCT 177777 OCT 24777 IOR OCT 177777 OCT 25377 IOR OCT 177777 OCT 25777 IOR OCT 177777 OCT 26377 -þú IOR OCT 177777 OCT 26777 IOR OCT 177777 OCT 27377 IOR OCT 177777 OCT 27777 IOR OCT 177777 OCT 30377 IOR OCT 177777 OCT 30777 IOR OCT 177777 OCT 31377 IOR OCT 177777 OCT 31777 IOR OCT 177777 OCT 32377 IOR OCT 177777 OCT 32777 IOR OCT 177777 OCT 33377 IOR OCT 177777 OCT 33777 IOR OCT 177777 MA070 OCT 34377 CJMP OUT OCT 47730 MA071 OCT 34771 CR IOR A 0 OCT 177000 MA072 OCT 35373 CL IOR A 0 OCT 177000 MA073 OCT 35777 CJMP OUT OCT 47730 MA074 OCT 36371 CR IOR B 0 OCT 176400 MA075 OCT 36773 CL IOR B 0 OCT 176400 MA076 OCT 37377 IOR EOP OCT 177775 MA077 OCT 37777 IOR OCT 177777 MA100 OCT 40377 JMP GOOF OCT 27640 MA101 OCT 40777 JMP TSTM3 OCT 27600 MA102 OCT 41377 JMP GOOF OCT 27640 MA103 OCT 41777 JMP GOOF OCT 27640 MA104 OCT 42377 JMP GOOF OCT 27640 MA105 OCT 42777 JMP GOOF OCT 27640 MA106 OCT 43377 JMP TSTM3 OCT 27600 MA107 OCT 43777 JMP GOOF OCT 27640 MA110 OCT 44377 JMP TSTM3 OCT 27600 MA111 OCT 44777 JMP GOOF OCT 27640 MA112 OCT 45377 JMP GOOF OCT 27640 MA113 OCT 45777 JMP GOOF OCT 27640 MA114 OCT 46377 JMP GOOF OCT 27640 MA115 OCT 46777 JMP TSTM3 OCT 27600 MA116 OCT 47377 JMP GOOF OCT 27640 MA117 OCT 47777 JMP TSTM3 OCT 27600 OCT 50377 IOR OCT 177777 OCT 50777 IOR OCT 177777 OCT 51377 IOR OCT 177777 OCT 51777 IOR OCT 177777 OCT 52377 IOR OCT 177777 OCT 52777 IOR OCT 177777 OCT 53377 IOR OCT 177777 OCT 53777 IOR OCT 177777ððþú MA130 OCT 54377 CJMP OUT OCT 47730 MA131 OCT 54771 CR IOR A 0 OCT 177000 MA132 OCT 55373 CL IOR A 0 OCT 177000 MA133 OCT 55777 CJMP OUT OCT 47730 MA134 OCT 56371 CR IOR B 0 OCT 176400 MA135 OCT 56773 CL IOR B 0 OCT 176400 MA136 OCT 57377 IOR EOP OCT 177775 MA137 OCT 57777 IOR OCT 177777 MA140 OCT 60371 TSTM2 CR IOR A 0 OCT 177000 MA141 OCT 60774 P INC P EOP OCT 114375 MA142 OCT 61377 IOR OCT 177777 OCT 61777 IOR OCT 177777 OCT 62377 IOR OCT 177777 OCT 62777 IOR OCT 177777 OCT 63377 IOR OCT 177777 OCT 63777 IOR OCT 177777 OCT 64377 IOR OCT 177777 OCT 64777 IOR OCT 177777 OCT 65377 IOR OCT 177777 OCT 65777 IOR OCT 177777 OCT 66377 IOR OCT 177777 OCT 66777 IOR OCT 177777 OCT 67377 IOR OCT 177777 OCT 67777 IOR OCT 177777 OCT 70377 IOR OCT 177777 OCT 70777 IOR OCT 177777 OCT 71377 IOR OCT 177777 OCT 71777 IOR OCT 177777 OCT 72377 IOR OCT 177777 OCT 72777 IOR OCT 177777 OCT 73377 IOR OCT 177777 MA167 OCT 73777 IOR OCT 177777 MA170 OCT 74377 CJMP OUT OCT 47730 MA171 OCT 74771 CR IOR A 0 OCT 177000 MA172 OCT 75373 CL IOR A 0 OCT 177000 MA173 OCT 75777 CJMP OUT OCT 47730 MA174 OCT 76371 CR IOR B 0 OCT 176400 MA175 OCT 76773 CR IOR B 0 OCT 176400 MA176 OCT 77377 IOR EOP OCT 177775 MA177 OCT 77777 IOR OCT 177777 MA200 OCT 100010 TSTM3 A RRS AND S1 OCT 143777 MA201 OCT 100466 B S1 AND A OCT 147377 MA202 OCT 101054 B ADR AND B EOP å4*($ OCT 146775 MA203 OCT 101774 P INC P OCT 114377 OCT 102377 IOR OCT 177777 OCT 102777 IOR OCT 177777 OCT 103377 IOR OCT 177777 OCT 103777 IOR OCT 177777 OCT 104377 IOR OCT 177777 OCT 104777 IOR OCT 177777 OCT 105377 IOR OCT 177777 OCT 105777 IOR OCT 177777 OCT 106377 IOR OCT 177777 OCT 106777 IOR OCT 177777 OCT 107377 IOR OCT 177777 OCT 107777 IOR OCT 177777 OCT 110377 IOR OCT 177777 OCT 110777 IOR OCT 177777 OCT 111377 IOR OCT 177777 OCT 111777 IOR OCT 177777 OCT 112377 IOR OCT 177777 OCT 112777 IOR OCT 177777 OCT 113377 IOR OCT 177777 OCT 113777 IOR OCT 177777 MA230 OCT 114377 CJMP OUT OCT 47730 MA231 OCT 114771 CR IOR A 0 OCT 177000 MA232 OCT 115373 CL IOR A 0 OCT 177000 MA233 OCT 115777 CJMP OUT OCT 47730 MA234 OCT 116371 CR IOR B 0 OCT 176400 MA235 OCT 116773 CL IOR B 0 OCT 176400 MA236 OCT 117377 IOR EOP OCT 177775 MA237 OCT 117777 IOR OCT 177777 MA240 OCT 120371 GOOF CR IOR S1 252 OCT 173652 MA241 OCT 120773 CL IOR A 252 OCT 177252 MA242 OCT 121027 A S1 IOR A OCT 177377 MA243 OCT 121437 A IOR B EOP OCT 176775 MA244 OCT 122374 P INC P OCT 114377 OCT 122777 IOR OCT 177777 É—*ÿÿ ÿý‹ — ÿ12908-18006 1502 S 0122 WRITABLE CTRL STORE DIAG 12908 / 12978             H0101 %Kþú OCT 123377 IOR OCT 177777 OCT 123777 IOR OCT 177777 OCT 124377 IOR OCT 177777 OCT 124777 IOR OCT 177777 OCT 125377 IOR OCT 177777 OCT 125777 IOR OCT 177777 OCT 126377 IOR OCT 177777 OCT 126777 IOR OCT 177777 OCT 127377 IOR OCT 177777 OCT 127777 IOR OCT 177777 OCT 130377 IOR OCT 177777 OCT 130777 IOR OCT 177777 OCT 131377 IOR OCT 177777 OCT 131777 IOR OCT 177777 OCT 132377 IOR OCT 177777 OCT 132777 IOR OCT 177777 OCT 133377 IOR OCT 177777 OCT 133777 IOR OCT 177777 MA270 OCT 134377 CJMP OUT OCT 47730 MA271 OCT 134771 CR IOR A 0 OCT 177000 MA272 OCT 135373 CL IOR A 0 OCT 177000 MA273 OCT 135777 CJMP OUT OCT 47730 MA274 OCT 136371 CR IOR B 0 OCT 176400 MA275 OCT 136773 CL IOR B 0 OCT 176400 MA276 OCT 137377 IOR EOP OCT 177775 MA277 OCT 137777 IOR OCT 177777 MA300 OCT 140000 LOOP A CIR RFI IOO RSS ICTR OCT 0 MA301 OCT 140777 IOR OCT 177777 MA302 OCT 141377 IOR EOP OCT 177775 MA303 OCT 141777 IOR OCT 177777 OCT 142377 IOR OCT 177777 OCT 142777 IOR OCT 177777 OCT 143377 IOR OCT 177777 OCT 143777 IOR OCT 177777 OCT 144377 IOR OCT 177777 OCT 144777 IOR OCT 177777 OCT 145377 IOR OCT 177777 OCT 145777 IOR OCT 177777 OCT 146377 IOR OCT 177777 OCT 146777 IOR OCT 177777 OCT 147377 IOR OCT 177777 OCT 147777 IOR OCT 177777 MA320 OCT 150377 CJMP OUT OCT 47730 MA321 OCT 150771 CR IOR A 0 OCT 1770wæþú00 MA322 OCT 151373 CL IOR A 0 OCT 177000 MA323 OCT 151777 CJMP OUT OCT 47730 MA324 OCT 152371 CR IOR B 0 OCT 176400 MA325 OCT 152773 CL IOR B 0 OCT 176400 MA326 OCT 153377 IOR EOP OCT 177775 MA327 OCT 153777 IOR OCT 177777 MA330 OCT 154377 OUT IOR EOP OCT 177775 MA331 OCT 154777 IOR OCT 177777 OCT 155377 IOR OCT 177777 OCT 155777 IOR OCT 177777 OCT 156377 IOR OCT 177777 OCT 156777 IOR OCT 177777 OCT 157377 IOR OCT 177777 OCT 157777 IOR OCT 177777 OCT 160377 IOR OCT 177777 OCT 160777 IOR OCT 177777 OCT 161377 IOR OCT 177777 OCT 161777 IOR OCT 177777 OCT 162377 IOR OCT 177777 OCT 162777 IOR OCT 177777 OCT 163377 IOR OCT 177777 OCT 163777 IOR OCT 177777 OCT 164377 IOR OCT 177777 OCT 164777 IOR OCT 177777 OCT 165377 IOR OCT 177777 OCT 165777 IOR OCT 177777 OCT 166377 IOR OCT 177777 OCT 166777 IOR OCT 177777 OCT 167377 IOR OCT 177777 OCT 167777 IOR OCT 177777 OCT 170377 IOR OCT 177777 OCT 170777 IOR OCT 177777 OCT 171377 IOR OCT 177777 OCT 171777 IOR OCT 177777 OCT 172377 IOR OCT 177777 MA365 OCT 172777 CJMP OUT OCT 47730 MA366 OCT 173371 CR IOR A 0 OCT 177000 MA367 OCT 173773 CL IOR A 0 OCT 177000 MA370 OCT 174377 CJMP OUT OCT 47730 MA371 OCT 174771 CR IOR B 0 OCT 176400 MA372 OCT 175373 CL IOR B 0 OCT 176400 MA373 OCT 175777 IOR EOP OCT 177775 MA374 OCT 176377 IOR OCT 177777 MA375 OCT 176755 FORM ADR IOR S1 OCT 17þþú3777 MA376 OCT 177367 S1 JMP SJMP OCT 27500 MA377 OCT 177777 IOR OCT 177777 HED 21XX DIAGNOSTIC MICROCODE AREA * * * 21XX MICROPROGRAM AREA * * X21XX EQU * MX000 OCT 320 JMP UNCD TSTM1 OCT 62030 MX001 OCT 720 JMP UNCD TSTM2 OCT 64030 MX002 OCT 1320 JMP UNCD GOOF OCT 74030 MX003 OCT 1720 JMP UNCD GOOF OCT 74030 MX004 OCT 2320 JMP UNCD GOOF OCT 74030 MX005 OCT 2720 JMP UNCD GOOF OCT 74030 MX006 OCT 3320 JMP UNCD GOOF OCT 74030 MX007 OCT 3720 JMP UNCD GOOF OCT 74030 MX010 OCT 4320 JMP UNCD TSTM3 OCT 77230 MX011 OCT 4720 JMP UNCD GOOF OCT 74030 MX012 OCT 5320 JMP UNCD GOOF OCT 74030 MX013 OCT 5720 JMP UNCD GOOF OCT 74030 MX014 OCT 6320 JMP UNCD GOOF OCT 74030 MX015 OCT 6720 JMP UNCD GOOF OCT 74030 MX016 OCT 7320 JMP UNCD LOOP OCT 70030 MX017 OCT 7720 JMP UNCD TSTM3 OCT 77230 OCT 10017 NOP OCT 136757 OCT 10417 NOP OCT 136757 OCT 11017 NOP OCT 136757 OCT 11017 NOP OCT 136757 OCT 11417 NOP OCT 136757 OCT 12017 NOP OCT 136757 OCT 12417 NOP OCT 136757 OCT 13017 NOP OCT 136757 OCT 13417 NOP OCT 136757 OCT 14017 NOP OCT 136757 OCT 14417 NOP OCT 136757 OCT 15017 NOP OCT 136757 OCT 15417 NOP OCT 136757 OCT 16017 NOP OCT 136757 MX035 OCT 16757 IMM CMLO A 377 OCT 176557 MX036 OCT 17353 IMM CMHI B 377 OCT 176517 MX037 OCT 17417 RTN OCT 136776 MX040 OCT 20017 TSTM1 RTN OCT 136776 OCT 20417 NOP OCT 136757 OCT 21017 NOP OCT 136757 OC*´þúT 21417 NOP OCT 136757 OCT 22017 NOP OCT 136757 OCT 22417 NOP OCT 136757 OCT 23017 NOP OCT 136757 OCT 23417 NOP OCT 136757 OCT 24017 NOP OCT 136757 OCT 24417 NOP OCT 136757 OCT 25017 NOP OCT 136757 OCT 25417 NOP OCT 136757 OCT 26017 NOP OCT 136757 OCT 26417 NOP OCT 136757 OCT 27017 NOP OCT 136757 OCT 27417 NOP OCT 136757 OCT 30017 NOP OCT 136757 OCT 30417 NOP OCT 136757 OCT 31017 NOP OCT 136757 OCT 31417 NOP OCT 136757 OCT 32017 NOP OCT 136757 OCT 32417 NOP OCT 136757 OCT 33017 NOP OCT 136757 OCT 33417 NOP OCT 136757 OCT 34017 NOP OCT 136757 OCT 34417 NOP OCT 136757 OCT 35017 NOP OCT 136757 OCT 35417 NOP OCT 136757 OCT 36017 NOP OCT 136757 MX075 OCT 36757 IMM CMLO A 377 OCT 176557 MX076 OCT 37353 IMM CMHI B 377 OCT 176517 MX077 OCT 37417 RTN OCT 136776 MX100 OCT 40357 TSTM2 IMM CMLO A 377 OCT 176557 MX101 OCT 40400 RTN INC P P OCT 75736 OCT 41017 NOP OCT 136757 OCT 42017 NOP OCT 136757 OCT 42417 NOP OCT 136757 OCT 43017 NOP OCT 136757 OCT 43417 NOP OCT 136757 OCT 44017 NOP OCT 136757 OCT 44417 NOP OCT 136757 OCT 45017 NOP OCT 136757 OCT 45417 NOP OCT 136757 OCT 46017 NOP OCT 136757 OCT 46417 NOP OCT 136757 OCT 47017 NOP OCT 136757 OCT 47417 NOP OCT 136757 OCT 50017 NOP ºBþú OCT 136757 OCT 50417 NOP OCT 136757 OCT 51017 NOP OCT 136757 OCT 51417 NOP OCT 136757 OCT 52017 NOP OCT 136757 OCT 52417 NOP OCT 136757 OCT 53017 NOP OCT 136757 OCT 53417 NOP OCT 136757 OCT 54017 NOP OCT 136757 OCT 54417 NOP OCT 136757 OCT 55017 NOP OCT 136757 OCT 55417 NOP OCT 136757 OCT 56017 NOP OCT 136757 OCT 56417 NOP OCT 136757 OCT 57017 NOP OCT 136757 OCT 57417 NOP OCT 136757 OCT 60017 NOP OCT 136757 OCT 60417 NOP OCT 136757 OCT 61017 NOP OCT 136757 OCT 61417 NOP OCT 136757 OCT 62017 NOP OCT 136757 OCT 62417 NOP OCT 136757 OCT 63017 NOP OCT 136757 OCT 63417 NOP OCT 136757 OCT 64017 NOP OCT 136757 OCT 64417 NOP OCT 136757 OCT 65017 NOP OCT 136757 OCT 65417 NOP OCT 136757 OCT 66017 NOP OCT 136757 OCT 66417 NOP OCT 136757 OCT 67017 NOP OCT 136757 OCT 67417 NOP OCT 136757 OCT 70017 NOP OCT 136757 OCT 70417 NOP OCT 136757 OCT 71017 NOP OCT 136757 OCT 71417 NOP OCT 136757 OCT 72017 NOP OCT 136757 OCT 72417 NOP OCT 136757 OCT 73017 NOP OCT 136757 OCT 73417 NOP OCT 136757 OCT 74017 NOP OCT 136757 OCT 74417 NOP OCT 136757 OCT 75017 NOP OCT 136757 OCT 75417 NOP OCT 136757 OCT 76017 NOP OCT 136757 MX175 OCT 76757 IMM CMLO A 377 OCT 176557 MX176 OCT 77353 IÇMþúMM CMHI B 377 OCT 176517 MX177 OCT 77417 RTN OCT 136776 MX200 OCT 100000 LOOP IOFF INC TAB TAB OCT 0 MX201 OCT 100777 ALL ONES OCT 177777 MX202 OCT 101017 RTN OCT 136776 OCT 101417 NOP OCT 136757 OCT 102017 NOP OCT 136757 OCT 102417 NOP OCT 136757 OCT 103017 NOP OCT 136757 OCT 103417 NOP OCT 136757 OCT 104017 NOP OCT 136757 OCT 104417 NOP OCT 136757 OCT 105017 NOP OCT 136757 OCT 105417 NOP OCT 136757 OCT 106017 NOP OCT 136757 OCT 106417 NOP OCT 136757 OCT 107017 NOP OCT 136757 OCT 107417 NOP OCT 136757 OCT 110017 NOP OCT 136757 OCT 110417 NOP OCT 136757 OCT 111017 NOP OCT 136757 OCT 111417 NOP OCT 136757 OCT 112017 NOP OCT 136757 OCT 112417 NOP OCT 136757 OCT 113017 NOP OCT 136757 OCT 113417 NOP OCT 136757 OCT 114017 NOP OCT 136757 OCT 114417 NOP OCT 136757 OCT 115017 NOP OCT 136757 OCT 115417 NOP OCT 136757 OCT 116017 NOP OCT 136757 OCT 116417 NOP OCT 136757 OCT 117017 NOP OCT 136757 OCT 117417 NOP OCT 136757 OCT 120017 NOP OCT 136757 OCT 120417 NOP OCT 136757 OCT 121017 NOP OCT 136757 OCT 121417 NOP OCT 136757 OCT 122017 NOP OCT 136757 OCT 122417 NOP OCT 136757 OCT 123017 NOP OCT 136757 OCT 123417 NOP OCT 136757 OCT 124017 NOP OCT 136757 OCT 124417 NOP OCT 136757 OCT 125017 NOP OCT 136757 OCT 125417 NOP OC\øþúT 136757 OCT 126017 NOP OCT 136757 OCT 126417 NOP OCT 136757 OCT 127017 NOP OCT 136757 OCT 127417 NOP OCT 136757 OCT 130017 NOP OCT 136757 OCT 130417 NOP OCT 136757 OCT 131017 NOP OCT 136757 OCT 131417 NOP OCT 136757 OCT 132017 NOP OCT 136757 OCT 132417 NOP OCT 136757 OCT 133017 NOP OCT 136757 OCT 133417 NOP OCT 136757 OCT 134017 NOP OCT 136757 OCT 134417 NOP OCT 136757 OCT 135017 NOP OCT 136757 OCT 135417 NOP OCT 136757 OCT 136017 NOP OCT 136757 MX275 OCT 136757 IMM CMLO A 377 OCT 176557 MX276 OCT 137353 IMM CMHI B 377 OCT 176517 MX277 OCT 137417 RTN OCT 136776 MX300 OCT 140355 GOOF IMM CMLO A 125 OCT 52557 MX301 OCT 140752 IMM CMHI B 252 OCT 124517 MX302 OCT 141017 L A OCT 126157 MX303 OCT 141417 IOR A B OCT 24557 MX304 OCT 142017 IOR B B OCT 24517 MX305 OCT 142400 RTN INC P P OCT 75736 OCT 143017 NOP OCT 136757 OCT 143417 NOP OCT 136757 OCT 144017 NOP OCT 136757 OCT 144417 NOP OCT 136757 OCT 145017 NOP OCT 136757 OCT 145417 NOP OCT 136757 OCT 146017 NOP OCT 136757 OCT 146417 NOP OCT 136757 OCT 147017 NOP OCT 136757 OCT 147417 NOP OCT 136757 OCT 150017 NOP OCT 136757 OCT 150417 NOP OCT 136757 OCT 151017 NOP OCT 136757 OCT 151417 NOP OCT 136757 OCT 152017 NOP OCT 136757 OCT 152417 NOP OCT 136757 OCT 153017 NOP Lpþú OCT 136757 OCT 153417 NOP OCT 136757 OCT 154017 NOP OCT 136757 OCT 154417 NOP OCT 136757 OCT 155017 NOP OCT 136757 OCT 155417 NOP OCT 136757 OCT 156017 NOP OCT 136757 OCT 156417 NOP OCT 136757 OCT 157017 NOP OCT 136757 OCT 157417 NOP OCT 136757 OCT 160017 NOP OCT 136757 OCT 160417 NOP OCT 136757 OCT 161017 NOP OCT 136757 OCT 161417 NOP OCT 136757 OCT 162017 NOP OCT 136757 OCT 162417 NOP OCT 136757 OCT 163017 NOP OCT 136757 OCT 163417 NOP OCT 136757 OCT 164017 NOP OCT 136757 OCT 164417 NOP OCT 136757 OCT 165017 NOP OCT 136757 OCT 165417 NOP OCT 136757 OCT 166017 NOP OCT 136757 OCT 166417 NOP OCT 136757 OCT 167017 NOP OCT 136757 OCT 167417 NOP OCT 136757 OCT 170017 NOP OCT 136757 MX361 OCT 170757 IMM CMLO A 377 OCT 176557 MX362 OCT 171353 IMM CMHI B 377 OCT 176517 MX363 OCT 171017 RTN OCT 136776 MX364 OCT 172347 TSTM3 IMM LOW CNTR 0 OCT 176157 MX365 OCT 172415 AND A A OCT 126557 MX366 OCT 173017 S1 ADR OCT 121017 MX367 OCT 173417 L S1 OCT 140157 MX370 OCT 174015 AND B B OCT 124517 MX371 OCT 174744 IMM LOW CNTR 0 OCT 257 MX372 OCT 175344 IMM ICNT LO S1 1 OCT 3023 MX373 OCT 175417 L S1 OCT 140157 MX374 OCT 176003 SUB CNTR OCT 12757 MX375 OCT 176720 JMP CNDX TBZ OUT OCT 77771 MX376 OCT 177355 IMM CMLO A 125 {×640 OCT 52557 MX377 OCT 177400 OUT RTN INC P P OCT 75736 PEND DEF * PROGRAM ENDING ADDRESS END Eš6ÿÿ ÿýŒ š ÿ12908-18007 1437 S 0122 07WRITABLE CTRL STORE DIAG 12908 / 12978             H0101 9fþú       ÏÃÔ ±´´±·     NÏP       ÏÃÔ ±36·5·       ÏÃÔ ±50±·     NÏP       ÏÃÔ ±36·5·       ÏÃÔ ±5´±·     NÏP       ÏÃÔ ±36·5·       ÏÃÔ ±60±·     NÏP       ÏÃÔ ±36·5· MØ035 ÏÃÔ ±6·5·     ÉMM    ÃMÌÏ A  3··       ÏÃÔ ±·655· MØ036 ÏÃÔ ±·353     ÉMM    ÃMHÉ B  3··       ÏÃÔ ±·65±· MØ03· ÏÃÔ ±·´±·           ÒÔN       ÏÃÔ ±36··6 MØ0´0 ÏÃÔ ²00±·     ÔSÔM± ÒÔN       ÏÃÔ ±36··6       ÏÃÔ ²0´±·     NÏP       ÏÃÔ ±36·5·       ÏÃÔ ²±0±·     NÏP       ÏÃÔ ±36·5·       ÏÃÔ ²±´±·     NÏP       ÏÃÔ ±36·5·       ÏÃÔ ²²0±·     NÏP       ÏÃÔ ±36·5·       ÏÃÔ ²²´±·     NÏP       ÏÃÔ ±36·5·       ÏÃÔ ²30±·     NÏP       ÏÃÔ ±36·5·       ÏÃÔ ²3´±·     NÏP       ÏÃÔ ±36·5·       ÏÃÔ ²´0±·     NÏP       ÏÃÔ ±36·5·       ÏÃÔ ²´´±·     NÏP       ÏÃÔ ±36·5·       ÏÃÔ ²50±·     NÏP       ÏÃÔ ±36·5·       ÏÃÔ ²5´±·     NÏP       ÏÃÔ ±36·5·       ÏÃÔ ²60±·     NÏP       ÏÃÔ ±36·5·       ÏÃÔ ²6´±·     NÏP       ÏÃÔ ±36·5·       ÏÃÔ ²·0±·     NÏP       ÏÃÔ ±36·5·       ÏÃÔ ²·´±·     NÏP       ÏÃÔ ±36·5·       ÏÃÔ 300±·     NÏP       ÏÃÔ ±36·5·       ÏÃÔ 30´±·     NÏP       ÏÃÔ ±36·5·       ÏÃÔ 3±0±·     NÏP       ÏÃÔ ±36·5·       ÏÃÔ 3±´±·     NÏP       ÏÃÔ ±36·5·       ÏÃÔ 3²0±·     NÏP       ÏÃÔ ±36·5·       ÏÃÔ 3²´±·     NÏP       ÏÃÔ ±36·5·       ÏÃÔ 330±·     NÏP       ÏÃÔ ±36·5·       ÏÃÔ 33´±·     NÏP       ÏÃÔ ±36·5·       ÏÃÔ 3´0±·     NÏP       ÏÃÔ ±36·5·       ÏÃÔ 3´´±·     NÏP       ÏÃÔ ±36·5·       ÏÃÔ 350±·     NÏP       ÏÃÔ ±36·5·       ÏÃÔ 35´±·     NÏP       ÏÃÔ ±36·5·       ÏÃÔ 360±·     NÏP       ÏÃÔ ±36·5· MØ0·5 ÏÃÔ 36·5·           ÉMM    ÃMÌÏ A 3··       ÏÃÔ ±·655· MØ0·6 ÏÃÔ 3·353           ÉMM    ÃMHÉ B 3··       ÏÃÔ ±·65±· MØ0·· ÏÃÔ 3·´±·               ÒÔN       ÏÃÔ ±36··6 Mر00 ÏÃÔ ´035·     ÔSÔM² ÉMM    ÃMÌÏ A 3··       ÏÃÔ ±·655· Mر0± ÏÃÔ ´0´00               ÒÔN ÉNàP  P       ÏÃÔ ·5·36       ÏÃÔ ´±0±·     NÏP       ÏÃÔ ±36·5·       ÏÃÔ ´²0±·     NÏP       ÏÃÔ ±36·5·       ÏÃÔ ´²´±·     c þúNÏP       ÏÃÔ ±36·5·       ÏÃÔ ´30±·     NÏP       ÏÃÔ ±36·5·       ÏÃÔ ´3´±·     NÏP       ÏÃÔ ±36·5·       ÏÃÔ ´´0±·     NÏP       ÏÃÔ ±36·5·       ÏÃÔ ´´´±·     NÏP       ÏÃÔ ±36·5·       ÏÃÔ ´50±·     NÏP       ÏÃÔ ±36·5·       ÏÃÔ ´5´±·     NÏP       ÏÃÔ ±36·5·       ÏÃÔ ´60±·     NÏP       ÏÃÔ ±36·5·       ÏÃÔ ´6´±·     NÏP       ÏÃÔ ±36·5·       ÏÃÔ ´·0±·     NÏP       ÏÃÔ ±36·5·       ÏÃÔ ´·´±·     NÏP       ÏÃÔ ±36·5·       ÏÃÔ 500±·     NÏP       ÏÃÔ ±36·5·       ÏÃÔ 50´±·     NÏP       ÏÃÔ ±36·5·       ÏÃÔ 5±0±·     NÏP       ÏÃÔ ±36·5·       ÏÃÔ 5±´±·     NÏP       ÏÃÔ ±36·5·       ÏÃÔ 5²0±·     NÏP       ÏÃÔ ±36·5·       ÏÃÔ 5²´±·     NÏP       ÏÃÔ ±36·5·       ÏÃÔ 530±·     NÏP       ÏÃÔ ±36·5·       ÏÃÔ 53´±·     NÏP       ÏÃÔ ±36·5·       ÏÃÔ 5´0±·     NÏP       ÏÃÔ ±36·5·       ÏÃÔ 5´´±·     NÏP       ÏÃÔ ±36·5·       ÏÃÔ 550±·     NÏP       ÏÃÔ ±36·5·       ÏÃÔ 55´±·     NÏP       ÏÃÔ ±36·5·       ÏÃÔ 560±·     NÏP       ÏÃÔ ±36·5·       ÏÃÔ 56´±·     NÏP       ÏÃÔ ±36·5·       ÏÃÔ 5·0±·     NÏP       ÏÃÔ ±36·5·       ÏÃÔ 5·´±·     NÏP       ÏÃÔ ±36·5·       ÏÃÔ 600±·     NÏP       ÏÃÔ ±36·5·       ÏÃÔ 60´±·     NÏP       ÏÃÔ ±36·5·       ÏÃÔ 6±0±·     NÏP       ÏÃÔ ±36·5·       ÏÃÔ 6±´±·     NÏP       ÏÃÔ ±36·5·       ÏÃÔ 6²0±·     NÏP       ÏÃÔ ±36·5·       ÏÃÔ 6²´±·     NÏP       ÏÃÔ ±36·5·       ÏÃÔ 630±·     NÏP       ÏÃÔ ±36·5·       ÏÃÔ 63´±·     NÏP       ÏÃÔ ±36·5·       ÏÃÔ 6´0±·     NÏP       ÏÃÔ ±36·5·       ÏÃÔ 6´´±·     NÏP       ÏÃÔ ±36·5·       ÏÃÔ 650±·     NÏP       ÏÃÔ ±36·5·       ÏÃÔ 65´±·     NÏP       ÏÃÔ ±36·5·       ÏÃÔ 660±·     NÏP       ÏÃÔ ±36·5·       ÏÃÔ 66´±·     NÏP       ÏÃÔ ±36·5·       ÏÃÔ 6·0±·     NÏP       ÏÃÔ ±36·5·       ÏÃÔ 6·´±·     NÏP       ÏÃÔ ±36·5·       ÏÃÔ ·00±·     NÏP       ÏÃÔ ±36·5·       ÏÃÔ ·0´±·     NÏP       ÏÃÔ ±36·5·       ÏÃÔ ·±0±·     NÏP       ÏÃÔ ±36·5·       ÏÃÔ ·±´±·     NÏP       ÏÃÔ ±3¹Gþú6·5·       ÏÃÔ ·²0±·     NÏP       ÏÃÔ ±36·5·       ÏÃÔ ·²´±·     NÏP       ÏÃÔ ±36·5·       ÏÃÔ ·30±·     NÏP       ÏÃÔ ±36·5·       ÏÃÔ ·3´±·     NÏP       ÏÃÔ ±36·5·       ÏÃÔ ·´0±·     NÏP       ÏÃÔ ±36·5·       ÏÃÔ ·´´±·     NÏP       ÏÃÔ ±36·5·       ÏÃÔ ·50±·     NÏP       ÏÃÔ ±36·5·       ÏÃÔ ·5´±·     NÏP       ÏÃÔ ±36·5·       ÏÃÔ ·60±·     NÏP       ÏÃÔ ±36·5· Mر·5 ÏÃÔ ·6·5·          ÉMM   ÃMÌÏ A  3··       ÏÃÔ ±·655· Mر·6 ÏÃÔ ··353          ÉMM   ÃMHÉ B  3··       ÏÃÔ ±·65±· Mر·· ÏÃÔ ··´±·             ÒÔN       ÏÃÔ ±36··6 Mز00 ÏÃÔ ±00000    ÌÏÏP ÉÏÆÆ ÉNàÔAB ÔAB       ÏÃÔ 0 Mز0± ÏÃÔ ±00···     AÌÌ ÏNÅS       ÏÃÔ ±····· Mز0² ÏÃÔ ±0±0±·            ÒÔN       ÏÃÔ ±36··6       ÏÃÔ ±0±´±·    NÏP       ÏÃÔ ±36·5·       ÏÃÔ ±0²0±·    NÏP       ÏÃÔ ±36·5·       ÏÃÔ ±0²´±·    NÏP       ÏÃÔ ±36·5·       ÏÃÔ ±030±·    NÏP       ÏÃÔ ±36·5·       ÏÃÔ ±03´±·    NÏP       ÏÃÔ ±36·5·       ÏÃÔ ±0´0±·    NÏP       ÏÃÔ ±36·5·       ÏÃÔ ±0´´±·    NÏP       ÏÃÔ ±36·5·       ÏÃÔ ±050±·    NÏP       ÏÃÔ ±36·5·       ÏÃÔ ±05´±·    NÏP       ÏÃÔ ±36·5·       ÏÃÔ ±060±·    NÏP       ÏÃÔ ±36·5·       ÏÃÔ ±06´±·    NÏP       ÏÃÔ ±36·5·       ÏÃÔ ±0·0±·    NÏP       ÏÃÔ ±36·5·       ÏÃÔ ±0·´±·    NÏP       ÏÃÔ ±36·5·       ÏÃÔ ±±00±·    NÏP       ÏÃÔ ±36·5·       ÏÃÔ ±±0´±·    NÏP       ÏÃÔ ±36·5·       ÏÃÔ ±±±0±·    NÏP       ÏÃÔ ±36·5·       ÏÃÔ ±±±´±·    NÏP       ÏÃÔ ±36·5·       ÏÃÔ ±±²0±·    NÏP       ÏÃÔ ±36·5·       ÏÃÔ ±±²´±·    NÏP       ÏÃÔ ±36·5·       ÏÃÔ ±±30±·    NÏP       ÏÃÔ ±36·5·       ÏÃÔ ±±3´±·    NÏP       ÏÃÔ ±36·5·       ÏÃÔ ±±´0±·    NÏP       ÏÃÔ ±36·5·       ÏÃÔ ±±´´±·    NÏP       ÏÃÔ ±36·5·       ÏÃÔ ±±50±·    NÏP       ÏÃÔ ±36·5·       ÏÃÔ ±±5´±·    NÏP       ÏÃÔ ±36·5·       ÏÃÔ ±±60±·    NÏP       ÏÃÔ ±36·5·       ÏÃÔ ±±6´±·    NÏP       ÏÃÔ ±36·5·       ÏÃÔ ±±·0±·    NÏP       ÏÃÔ ±36·5·       ÏÃÔ ±±·´±·    NÏP       ÏÃÔ ±36·5·       ÏÃÔ ±²00±·    NÏP   ÿþú    ÏÃÔ ±36·5·       ÏÃÔ ±²0´±·    NÏP       ÏÃÔ ±36·5·       ÏÃÔ ±²±0±·    NÏP       ÏÃÔ ±36·5·       ÏÃÔ ±²±´±·    NÏP       ÏÃÔ ±36·5·       ÏÃÔ ±²²0±·    NÏP       ÏÃÔ ±36·5·       ÏÃÔ ±²²´±·    NÏP       ÏÃÔ ±36·5·       ÏÃÔ ±²30±·    NÏP       ÏÃÔ ±36·5·       ÏÃÔ ±²3´±·    NÏP       ÏÃÔ ±36·5·       ÏÃÔ ±²´0±·    NÏP       ÏÃÔ ±36·5·       ÏÃÔ ±²´´±·    NÏP       ÏÃÔ ±36·5·       ÏÃÔ ±²50±·    NÏP       ÏÃÔ ±36·5·       ÏÃÔ ±²5´±·    NÏP       ÏÃÔ ±36·5·       ÏÃÔ ±²60±·    NÏP       ÏÃÔ ±36·5·       ÏÃÔ ±²6´±·    NÏP       ÏÃÔ ±36·5·       ÏÃÔ ±²·0±·    NÏP       ÏÃÔ ±36·5·       ÏÃÔ ±²·´±·    NÏP       ÏÃÔ ±36·5·       ÏÃÔ ±300±·    NÏP       ÏÃÔ ±36·5·       ÏÃÔ ±30´±·    NÏP       ÏÃÔ ±36·5·       ÏÃÔ ±3±0±·    NÏP       ÏÃÔ ±36·5·       ÏÃÔ ±3±´±·    NÏP       ÏÃÔ ±36·5·       ÏÃÔ ±3²0±·    NÏP       ÏÃÔ ±36·5·       ÏÃÔ ±3²´±·    NÏP       ÏÃÔ ±36·5·       ÏÃÔ ±330±·    NÏP       ÏÃÔ ±36·5·       ÏÃÔ ±33´±·    NÏP       ÏÃÔ ±36·5·       ÏÃÔ ±3´0±·    NÏP       ÏÃÔ ±36·5·       ÏÃÔ ±3´´±·    NÏP       ÏÃÔ ±36·5·       ÏÃÔ ±350±·    NÏP       ÏÃÔ ±36·5·       ÏÃÔ ±35´±·    NÏP       ÏÃÔ ±36·5·       ÏÃÔ ±360±·    NÏP       ÏÃÔ ±36·5· Mز·5 ÏÃÔ ±36·5·          ÉMM   ÃMÌÏ A  3··       ÏÃÔ ±·655· Mز·6 ÏÃÔ ±3·353          ÉMM   ÃMHÉ B  3··       ÏÃÔ ±·65±· Mز·· ÏÃÔ ±3·´±·             ÒÔN       ÏÃÔ ±36··6 MØ300 ÏÃÔ ±´0355    GÏÏÆ  ÉMM   ÃMÌÏ A  ±²5       ÏÃÔ 5²55· MØ30± ÏÃÔ ±´0·5²          ÉMM   ÃMHÉ B  ²5²       ÏÃÔ ±²´5±· MØ30² ÏÃÔ ±´±0±·                     Ì  A       ÏÃÔ ±²6±5· MØ303 ÏÃÔ ±´±´±·                ÉÏÒ  A  B       ÏÃÔ ²´55· MØ30´ ÏÃÔ ±´²0±·                ÉÏÒ  B  B       ÏÃÔ ²´5±· MØ305 ÏÃÔ ±´²´00            ÒÔN ÉNà P  P       ÏÃÔ ·5·36       ÏÃÔ ±´30±·    NÏP       ÏÃÔ ±36·5·       ÏÃÔ ±´3´±·    NÏP       ÏÃÔ ±36·5·       ÏÃÔ ±´´0±·    NÏP       ÏÃÔ ±36·5·       ÏÃÔ ±´´´±·    NÏP       ÏÃÔ ±36·5·       ÏÃÔ ±´50±·    NÏP       ÏÃÔ ±36·5·       ÏÃÔ ±´5´±·   Kþú  NÏP       ÏÃÔ ±36·5·       ÏÃÔ ±´60±·    NÏP       ÏÃÔ ±36·5·       ÏÃÔ ±´6´±·    NÏP       ÏÃÔ ±36·5·       ÏÃÔ ±´·0±·    NÏP       ÏÃÔ ±36·5·       ÏÃÔ ±´·´±·    NÏP       ÏÃÔ ±36·5·       ÏÃÔ ±500±·    NÏP       ÏÃÔ ±36·5·       ÏÃÔ ±50´±·    NÏP       ÏÃÔ ±36·5·       ÏÃÔ ±5±0±·    NÏP       ÏÃÔ ±36·5·       ÏÃÔ ±5±´±·    NÏP       ÏÃÔ ±36·5·       ÏÃÔ ±5²0±·    NÏP       ÏÃÔ ±36·5·       ÏÃÔ ±5²´±·    NÏP       ÏÃÔ ±36·5·       ÏÃÔ ±530±·    NÏP       ÏÃÔ ±36·5·       ÏÃÔ ±53´±·    NÏP       ÏÃÔ ±36·5·       ÏÃÔ ±5´0±·    NÏP       ÏÃÔ ±36·5·       ÏÃÔ ±5´´±·    NÏP       ÏÃÔ ±36·5·       ÏÃÔ ±550±·    NÏP       ÏÃÔ ±36·5·       ÏÃÔ ±55´±·    NÏP       ÏÃÔ ±36·5·       ÏÃÔ ±560±·    NÏP       ÏÃÔ ±36·5·       ÏÃÔ ±56´±·    NÏP       ÏÃÔ ±36·5·       ÏÃÔ ±5·0±·    NÏP       ÏÃÔ ±36·5·       ÏÃÔ ±5·´±·    NÏP       ÏÃÔ ±36·5·       ÏÃÔ ±600±·    NÏP       ÏÃÔ ±36·5·       ÏÃÔ ±60´±·    NÏP       ÏÃÔ ±36·5·       ÏÃÔ ±6±0±·    NÏP       ÏÃÔ ±36·5·       ÏÃÔ ±6±´±·    NÏP       ÏÃÔ ±36·5·       ÏÃÔ ±6²0±·    NÏP       ÏÃÔ ±36·5·       ÏÃÔ ±6²´±·    NÏP       ÏÃÔ ±36·5·       ÏÃÔ ±630±·    NÏP       ÏÃÔ ±36·5·       ÏÃÔ ±63´±·    NÏP       ÏÃÔ ±36·5·       ÏÃÔ ±6´0±·    NÏP       ÏÃÔ ±36·5·       ÏÃÔ ±6´´±·    NÏP       ÏÃÔ ±36·5·       ÏÃÔ ±650±·    NÏP       ÏÃÔ ±36·5·       ÏÃÔ ±65´±·    NÏP       ÏÃÔ ±36·5·       ÏÃÔ ±660±·    NÏP       ÏÃÔ ±36·5·       ÏÃÔ ±66´±·    NÏP       ÏÃÔ ±36·5·       ÏÃÔ ±6·0±·    NÏP       ÏÃÔ ±36·5·       ÏÃÔ ±6·´±·    NÏP       ÏÃÔ ±36·5·       ÏÃÔ ±·00±·    NÏP       ÏÃÔ ±36·5· MØ36± ÏÃÔ ±·0·5·          ÉMM    ÃMÌÏ A   3··       ÏÃÔ ±·655· MØ36² ÏÃÔ ±·±353          ÉMM    ÃMHÉ B   3··       ÏÃÔ ±·65±· MØ363 ÏÃÔ ±·±0±·              ÒÔN       ÏÃÔ ±36··6 MØ36´ ÏÃÔ ±·²3´·    ÔSÔM3 ÉMM    ÌÏ× ÃNÔÒ 0       ÏÃÔ ±·6±5· MØ365 ÏÃÔ ±·²´±5                 AND  A   A       ÏÃÔ ±²655· MØ366 ÏÃÔ ±·30±·                      S±  ADÒ       ÏÃÔ ±²±0±· MØ36· ÏÃßè$"Ô ±·3´±·                      Ì   S±       ÏÃÔ ±´0±5· MØ3·0 ÏÃÔ ±·´0±5                 AND  B   B       ÏÃÔ ±²´5±· MØ3·± ÏÃÔ ±·´·´´          ÉMM    ÌÏ× ÃNÔÒ 0       ÏÃÔ ²5· MØ3·² ÏÃÔ ±·53´´          ÉMM ÉÃNÔ ÌÏ   S± ±       ÏÃÔ 30²3 MØ3·3 ÏÃÔ ±·5´±·                      Ì   S±       ÏÃÔ ±´0±5· MØ3·´ ÏÃÔ ±·6003                 SUB      ÃNÔÒ       ÏÃÔ ±²·5· MØ3·5 ÏÃÔ ±·6·²0          ÊMP ÃNDØ ÔBZ    ÏUÔ       ÏÃÔ ····± MØ3·6 ÏÃÔ ±··355          ÉMM      ÃMÌÏ A  ±²5       ÏÃÔ 5²55· MØ3·· ÏÃÔ ±··´00    ÏUÔ       ÒÔN  ÉNà P  P       ÏÃÔ ·5·36 PÅND  DÅÆ ª         PÒÏGÒAM ÅNDÉNG ADDÒÅSS       ÅND KX$ÿÿ ÿý ˜ ÿ12920-18001 1805 S 0122 MPX DATA DIAGNOSTIC             H0101 PþúASMB,A,B,L,C HED 12920 MULTIPLEXER DATA DIAGNOSTIC ORG 0 DSN 103110 26 OCTOBER 1977 REV. 1805 SUP * GENERAL OPERATING PROCEDURE * * A. LOAD DIAGNOSTIC CONFIGURATOR AND SET IT UP. * B. LOAD DIAGNOSTIC MAIN PROGRAM * C. LOAD ADDRESS 100B. * D. LOAD SW REG BITS: 0-5 WITH SC. * 6-9,12-15 WITH PORT CHANNEL #. * 11 = 0 FOR 12920B, 1 FOR 12920A. * E. PRESS RUN AND WAIT FOR HALT 102074. * F. LOAD SWITCH REGISTER OPTIONS * 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 * 0 * * * * G. PRESS RUN. * H. RESTART - LOAD ADDRESS 2000B * I. RECONFIGURE IF TESTING I/O INTERFACE - LOAD ADDRESS 100B * * 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 * * CONTROL PROGRAM HALT MESSAGES * * 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 RESERVED * 102071 RESERVED * 102070 RESERVED * * 106077 TRAP CELL HALT * HED 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 * * ORG 100B * JMP CFGD 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 103110 DIAGNOSTIC SERIAL NUMBER FMTR BSS 1 FORMATTER * * * CONTROL LINKAGE AND DATA REFERENCES * CFIG DEF ZCONF CONFIGURATION SECTION MSGC DEF ZMSGC MESSAGE WITH NO HALT MSGH DEF ZMSGH MESSAGE WITH HALT ERMS DEF ZERMS ERROR MESSAGE SWRT DEF ZSWRT SWITCH REGISTER CHECK ROUTINE TSTN OCT 0 CURRENT TEST NUMBER EXRT DEF ZEXRT RETURN TO CONTROL PROGRAM NOP RESERVED * * IOIP DEF IOID SC INIT POINTER TSTP DEF TSTD POINT TO TESET TABLE HDMP DEF HDMS POINTER TO HEADER MESSAGE STDA OCT 377 STANDARD TESTS STDB OCT 0 HED EXECUTIVE CONTROL ORG 2000B ZSTEX CLC INTP,C TURN I/O SYSTEM OFF CLE LDA DSN LDB HDMX JSB O2AS,I JSB MSGC,I OUTPUT IT DEF HDMS CLA CLEAR PASS STA ZEOLC COUNT LDB ZSW9 CHECK FOR USER SELECTION REQ JSB ܬþúSWRT,I JMP ZUSR IT'S USERS CHOICE ZNUSR LDA STDA GET STANDARD TEST RUN LDB STDB * JMP ZEXC * ZUSR LIA SW AND MBT9 OTA SW LDA ZSINA RETRIEVE PREVIOUS RUN LDB ZSINB HLT 75B WAIT FOR USER INPUT ZEXC STA ZUINA SAVE STB ZUINB USER STA ZSINA INPUT STB ZSINB PROGRAM CCA SET TEST NUMBER STA TSTN =-1 STA ZCFTT CLA STA ZTSTA CLEAR TEST RUN FLAG * ZEXCL LDA ZUINA RESTORE A REG. LDB ZUINB RESTORE B REG. ERA,RAL ROTATE ERB FIRST ERA TEST BIT STA ZUINA SAVE POSITIONS STB ZUINB ISZ TSTN MOVE TEST UP ONE NOP ZXCL1 LDA TSTN ADA TSTP GET IT'S LDA A,I ADDRESS CPA Z.M1 IS IT END OF LIST JMP ZEOL YES LDB ZUINB SSB,RSS SHOULD IT BE RUN? JMP ZEXCL NO STA ZTSTA YES - SAVE TEST ADDRESS JSB ZITCH INITIALIZE TRAP CELL HALTS JSB ZTSTA,I GO DO TEST ZEXRT LDA TSTN DISPLAY TEST NUMBER IF HALTED LDB ZSW15 CHECK FOR HALT AT END OF TEST JSB SWRT,I HLT 76B YES WAIT FOR OPERATOR LDB ZSW9 CHECK FOR ABORT JSB SWRT,I JMP ZUSR YES LDB ZSW13 CHECK FOR LOOP ON ROUTINE JSB SWRT,I JMP ZXCL1 YES - LOOP JMP ZEXCL CONTINUE * ZEOL LDA ZTSTA CHECK IF ANY TESTS WERE RUN SZA,RSS ? JMP ZNUSR NO SO PICK UP STANDARD RUN LDA ZEOLC UP DATE PASS COUNT INA STA ZEOLC CCE LDB ZPSCA GET PASS COUNT ADB Z.2 ADDRESS JSB O2AS,I CONVERT IT JSB MSGC,I CALL PRINT ROUTINE ZPSCA DEF ZPSC LDB ZSW12 CHECK FOR LOOP ON DIAG. JSB SWRT,I JMP *+3 YES LDA ZEOLC HLT 77B NO WAI°ãþúT AND DISPLAY PASS COUNT LDA ZSINA RESTORE ORIGINAL LDB ZSINB PROGRAM JMP ZEXC DO IT ALL AGAIN * SKP * MESSAGE OUTPUT WITH OUT HALT * ZMSGC NOP ENTRY JSB ZMSG OUTPUT MESSAGE OCT 2000 SWITCH 10 CHECK JMP ZMSGC,I RETURN TO CALLER * * MESSAGE OUTPUT WITH HALT * ZMSGH NOP ENTRY JSB ZMSG OUTPUT MESSAGE OCT 2000 SWITCH 10 CHECK LDA ZHLT GET HALT CODE STA *+2 PUT IT IN PLACE LDA ZSAVA RESTORE A REGISTER NOP HALT FOR DISPLAY JMP ZMSGH,I RETURN TO CALLER * * ERROR MESSAGE WITH HALT * ZERMS NOP ENTRY JSB ZMSG OUTPUT MESSAGE OCT 4000 SWITCH 11 CHECK CLA LDB ZSW14 CHECK SWR BIT 14 TO SUPPRESS JSB SWRT,I HALT STA *+3 PUT HALT IN PLACE LDA ZSAVA RESTORE A & B LDB ZSAVB ZHLT NOP WAIT FOR OPERATOR JMP ZERMS,I RETURN TO CALLER SKP * OUTPUT MESSAGE * ZMSG NOP STA ZSAVA SAVE A AND B REGISTERS STB ZSAVB LDB ZMSG,I GET SWITCH REGISTER BIT LDA ZMSG ADA Z.M2 DECREMENT RETURN ADDRESS STA ZMSG JSB SWRT,I CHECK TO SUPPRESS MESSAGE JMP ZMSG0 YES LDA ZMSG,I CHECK IF ERROR LDA A,I LDA A,I IF SO ALF,ALF AND Z.177 CPA ZA.E JSB ZCFTN CHECK TO OUTPUT TEST NUMBER LDA ZMSG,I NO RETRIEVE FORMAT LDB A,I ADDRESS CLA,CLE JSB FMTR,I ZMSG0 LDA ZMSG,I CONVERT HALT CODE LDB A,I FROM ASCII STRING CCA,CCE JSB AS2N,I STA ZN2AO SAVE RESULT AND Z.300 DECODE LDB ZH2 HALT CODE CPA Z.100 LDB ZH6 CPA Z.200 LDB ZH3 CPA Z.300 LDB ZH7 LDA ZN2AO GET HALT NUMBER AND Z.77þú IOR B STA ZHLT SAVE IT ISZ ZMSG,I ADJUST RETURN POINTERS ISZ ZMSG ISZ ZMSG ISZ ZMSG LDA ZSAVA RESTORE A AND B REGISTERS LDB ZSAVB JMP ZMSG,I SKP ZCFTN NOP LDA TSTN GET TEST NUMBER CPA ZCFTT IS IT THE SAME ONE? JMP ZCFTN,I YES SKIP OUTPUT STA ZCFTT NO - THEN UPDATE IT JSB ZN2AO CONVERT IT STA ZTSTN PUT IT IN STRING CLA DO A CRLF JSB SLOP,I CLA,CLE INDICATE START OF FORMAT LDB ZTSTF JSB FMTR,I JMP ZCFTN,I RETURN * * * * ZSAVA NOP ZSAVB NOP ZEOLC NOP ZTSTA NOP ZSINA NOP ZSINB NOP ZUINA NOP ZUINB NOP ZBTMP NOP Z.2 OCT 2 Z.7 OCT 7 Z.10 OCT 10 Z.60 OCT 60 Z.77 OCT 77 Z.177 OCT 177 Z.M1 DEC -1 Z.M2 DEC -2 ZD100 DEC -100 ZIOM OCT 177700 ZSW15 OCT 100000 ZSW14 OCT 40000 ZSW13 OCT 20000 ZSW12 OCT 10000 ZS812 OCT 010400 ZSW9 OCT 1000 Z.100 OCT 100 Z.200 OCT 200 Z.300 OCT 300 ZH2 OCT 102000 ZH6 OCT 106000 ZH3 OCT 103000 ZH7 OCT 107000 ZCFTT DEC -1 ZTSTF DEF *+1 ASC 3,TEST ZTSTN ASC 2,XX// ZRTLF ASC 1,// ZPSC ASC 6,PASS XXXXXX/ ZA.E OCT 105 HED GENERAL ROUTINES * * ZN2AO NOP STA ZIOAD SAVE NUMBER AND Z.7 CONVERT FIRST IOR Z.60 NUMBER STA B SAVE IT LDA ZIOAD GET RAR,RAR SECOND RAR NUMBER AND Z.7 CONVERT IOR Z.60 IT ALF,ALF MOVE TO UPPER HALF IOR B ADD LOWER JMP ZN2AO,I AND RETURN * * * * SWITCH REGISTER CHECK * ZSWRT NOP STA ZN2AO SAVE A REGISTER LIA SW GET SWITCH REG. AND B MASK OUT BIT SZA,RSS IS IT UP? ISZ ZSWRT NO LDA ZN2AO RESTORE A REGISTER LIB SW LET B = SWITCH REGISTER JMP ZSWRT,I RETURN TO CALLER * * &dþú * * INITIALIZE TRAP CELL HALTS * ZITCH NOP LDA ZTSH GET STARTING TRAP CELL HALT LDB Z.2 GET FIRST TRAP CELL LOCATION ZTSHL STA B,I PUT IT IN PLACE CPB Z.77 AM I FINISHED JMP ZITCH,I YES INB NEXT ADDRESS JMP ZTSHL * ZTSH OCT 106077 SKP * PUT JSB INSTRUCTION IN TRAP CELL * ZTCJI NOP LDB ZJSBI GET INSTRUCTION STB ZIOSC,I PUT IT IN TRAP CELL LDA ZTCJI,I GET LOCATION STA 3B SAVE IT FOR JSB INSTRUCTION ISZ ZTCJI ADJUST RETURN JMP ZTCJI,I RETURN TO CALLER * ZJSBI JSB 3B,I JSB INSTRUCTION * * * INITIALIZE SELECT CODE I/O INSTRUCTIONS * ZISC NOP STA ZIOSC SAVE SELECT CODE STB ZIOAD SAVE TABLE ADDRESS ZIOL LDB ZIOAD,I GET ADDRESS OF LOCATION CPB Z.M1 IS IT THE TERMINATOR JMP ZISC,I YES RETURN TO CALLER LDA B,I NO - GET CONTENTS AND ZIOM MASK OFF OLD SELECT CODE IOR ZIOSC ADD IN NEW SELECT CODE STA B,I RESTORE IT ISZ ZIOAD MOVE TO NEXT ADDRESS JMP ZIOL DO IT * ZIOSC NOP ZIOAD NOP SKP * CONFIGURATION SECTION * ZCONF CLC INTP,C TURN I/O SYSTEM OFF LIA SW GET SELECT CODE AND OPTIONS STA USSC SAVE THEM AND Z.77 ELIMINATE OPTIONS LDB A CMB,INB CHECK THAT SC > 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 CLA OTA SW CLEAR SW REG HLT 74B ALLOW OPERATOR TO CHANGE SWIT JMP ZSTEX GO TO EXEC CONTROL SECTION 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 * ZB ÁþúIO 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/ 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 B´0.* 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 s0ÿÿ ÿýŽ › ÿ12920-18002 1805 S 0122 MPX DATA DIAGNOSTIC             H0101 €Pþú 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 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/ ¹xþú 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 TEtÞþúLL 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 CLF INTP TURN OFF ONTPS ZBS72 SFS CH 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 SKP 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 JMP ZBIO,I RETURN TO CALLER * ZBI70 NOP CONTROL FAILED CLF INTP TURN OFF INTPS INA JMP ZB70 * 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 08,H025 BI-O COMP/ SKP 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 DEF ZBS42 côþú 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 * HED 12920 MULTIPLEXER DATA DIAGNOSTIC ORG 150B IOID EQU * DEF CH22 DEF CH23 DEF CH24 DEF CH25 DEF CH26 DEF CH27 DEF CH28 DEF CH29 DEF CH30 DEF CH31 DEF CH32 DEF CH33 DEF CH34 DEF CH35 DEF CH38 DEF CH39 DEF CH40 DEF CH41 DEF CH42 DEF CH43 DEF CH45 DEF CH46 DEF CH47 DEF CH48 DEF CH49 DEF CH50 DEF CH53 DEF CH54 DEF CH55 DEF CH56 DEF CH59 DEF CH70 DEF CH71 DEF CH73 DEF CH74 DEF CH76 DEF DCH DEC -1 SPC 1 FRST DEF *+1 DEF CH60 DEF CH61 DEF CH62 DEF CH63 DEF CH64 DEF CH65 DEF CH66 DEF CH67 DEF CH68 DEF CH69 DEF CH72 DEF CH75 LST DEF *-1 SPC 1 TSTD EQU * DEF TST.0 DEF TST01 DEF TST02 DEF TST03 DEF TST04 DEF TST05 DEF TST06 DEF TST07 DEC -1 SKP ASCZZ ASC 1,00 POINT BSS 1 CWS BSS 1 CWR BSS 1 DS BSS 1 DR BSS 1 PORT BSS 1 PORT1 BSS 1 PORT2 BSS 1 CNT0 BSS 1 CNT1 BSS 1 CNT2 BSS 1 CVT1 BSS 1 CVT2 BSS 1 CVT3 BSS 1 SAVEA BSS 1 TEMP STORAGE OF A-REG SAVEB BSS 1 TEMP STORAGE OF B-REG SAVE BSS 1 SAVE1 BSS 1 TEMP5 BSS 1 SPC 1 MM1 DEC -1 MM2 DEC -2 MM5 DEC -5 MM8 DEC -8 MM10 DEC -10 MM100 DEC -100 M300 DEC -300 M1000 DEC -1000 D2 DEC 2 D7 DEC 7 D10 DEC 10 D16 DEC 16 D100 DEC 100 D1000 DEC 1000 BT4 OCT 20 SPC 1 OUT DEF OUTI MCLR DEF MCLRI SFS DEF SFSI RCH DEF RCHI STCH DEF STCHI CFGCH DEF CFGD ¸dþú CONFIGURE DEVICE CHANNEL CRL OCT 2 CRI DEF *+1 OCT 6400 CARRIAGE RETURN ERRA DEF ERRAI E27 ERRB DEF ERRBI E31 ERRC DEF ERRCI E43 ERRD DEF ERRDI E26 ERRE DEF ERREI E30 ERRF DEF ERRFI E32 ERRG DEF ERRGI E42 ERRH DEF ERRHI E45 M30A DEF M30+8 M31A DEF M31+9 M32A DEF M32+13 M32B DEF M32+20 M33A DEF M33+14 M33B DEF M33+21 M34A DEF M34+26 M34AA DEF M34+25 M34B DEF M34+18 M34BB DEF M34+17 M34C DEF M34+14 M46A DEF M46+19 M47A DEF M47+21 M50A DEF M50+11 SPC 1 * CH+1 INITIAL VALUE OF UPPER SC IO BSS 1 LOWER SELECT CODE BSS 1 UPPER SELECT CODE SRP NOP MPXCH NOP DCH NOP SPC 1 TIMC DEC 500 500 MS DELAY HDMX DEF HDM1+3 MBT9 OCT 176777 A17 OCT 17 A0077 OCT 77 B377 OCT 377 BIT8 OCT 400 B3407 OCT 003407 BT11 OCT 4000 BT14 OCT 40000 PT1 OCT 43600 PT4 OCT 43400 DAT1 OCT 43725 NULL OCT 43000 NULL BKNON OCT 43777 BREAK BIT NON-ZERO TEST DAT2 OCT 47777 B7600 OCT 76000 BT15 OCT 100000 B1760 OCT 176000 P7700 OCT 177700 PTYDA BSS 1 TEST DATA PTYIN BSS 1 SAVE DATA MASKC OCT 177 MASK FOR 7 BITS BT7 OCT 200 BIT 7 PYCNT BSS 1 COUNTER PYTYP BSS 1 PARITY TYPE B0TB6 OCT 177 MD8 DEC -8 SPC 1 * CONTROL WORD TABLE CONTAINS THE LOWER 11 BITS * OF THE CONTROL WORD. THE CHARACTER SIZE, DATA * FOR SEND AND RECEIVE AND BAUD RATE. THE WORD * IN THE TABLE IS ADDED TO THE UPPER 5 BITS IN * THE ROUTINE S/R-T. IE.: CWSX, CWRX, DSX, DRX. SPC 1 CWTB DEF *+1 CONTROL WORD TABLE I OCT 1405 9 BIT CHARACTER,2 STOPS 2400 BAUD OCT 3525 S/R DATA 525 = 101010101 II OCT 1405 9 BIT CHARACTER,2 STOPS 2400 BAUD OCT 3252 S/R DATA 252 = 010101010 COMP P-2 III OCT 1277 8 BIT CHARACTER,2 STOPS 75 BAUD OCT 3525 S/R DATA 125 = 01010101 IV OCT 1277 ¤Jþú 8 BIT CHARACTER,2 STOPS 75 BAUD OCT 3652 S/R DATA 252 = 10101010 COMP P-2 V OCT 0602 8 BIT CHARACTER,1 STOP 110 BAUD OCT 3525 S/R DATA 125 = 01010101 VI OCT 0027 7 BIT CHARACTER,1 STOP 600 BAUD OCT 3652 S/R DATA 52 = 0101010 VII OCT 3457 6 BIT CHARACTER,1 STOP 300 BAUD OCT 3725 S/R DATA 25 = 010101 VIII OCT 2137 3 BIT CHARACTER,1 STOP 150 BAUD OCT 3772 S/R DATA 2 = O/O SPC 1 CWRX OCT 120000 CWSX OCT 160000 DRX OCT 174000 DSX OCT 040000 SPC 1 NOP CW ENA PTY ECH DIAG CHAR BAUD CW1 OCT 141277 SEND 0 0 - 0 8 75 CW2 OCT 121277 REC 1 - 0 0 8 75 CW3 OCT 111277 REC 0 - 1 0 8 75 CW4 OCT 145277 SEND 0 0 - 1 8 75 CW5 OCT 105277 REC 0 - 0 1 8 75 CW6 OCT 151277 SEND 0 1 - 0 8 75 CW7 OCT 121005 REC 1 - 0 0 8 2400 CW8 OCT 151005 SEND 0 1 - 0 8 2400 SPC 1 MSK0 OCT 3777 SPC 1 CFGD JSB CFGG CONFIGURE PORT NUMBERS CF.1 LIA 1 INPUT SW-REG INA ADD ONE TO SC AND A0077 MASK OFF SC STA IO+1 SET UP UPPER SELECT CODE LDB FRST STB SRP L.2 LDB SRP,I LDA B,I AND P7700 IOR IO+1 STA B,I CPB LST,I FINISHED UPPER SELECT CODE ? JMP CFIG,I CONTINUE THE CONFIGURATION ISZ SRP NO JMP L.2 LOOP SKP * THIS ROUTINE CONFIGURES THE DEVICE PORTS TO BE * TESTED. THE TWO PORT NUMBERS ARE ENTERRED INTO * BIT 12-15 AND 6-9. THE NUMBERS ENTERRED MUST BE IN * OCTAL AND THE TEST CABLE MUST BE CONNECTED TO THE * SAME PORTS SPECIFIED. THE OPERATOR MAY OBTAIN * SEVEN (7) ADDITIONAL TEST CONNECTORS AND CONNECT * THEM AS SHOWN IN FIGURE 4-2 IN THE MOD AND SET * SWITCH REGISTER BIT 11 DURING THE CONFIGURATION * OkØþúF THE DEVICE CHANNEL. THE PROGRAM WILL TEST ALL * 16 PORTS IN SEQUENCE (CH0 - CH15). SPC 1 CFGG NOP RETURN ADDRESS CFSW LIA 1 READ SWITCH REG ALF,ALF RAL,RAL STA MPXCH STORE PORT NUMBERS JSB STCH,I SET CH NUM IN PORT 1&2 LDA PORT1 TEST PORT1 LDB PORT2 AND PORT2 CPA B SHOULD NOT BE EQUAL RSS JMP CFGG,I RETURN SZA,RSS CHECK FOR AUTO JMP CAUTO ALL 16 HLT 72B BOTH PORT NOS = SAME VALUE JMP CFSW TRY AGAIN CAUTO STA PORT1 INITIALIZE PORT NOS INA STA PORT2 LDA MPXCH SET AUTO BIT IOR BT4 STA MPXCH JMP CFGG,I RETURN SPC 1 SPC 1 CK21A NOP RETURN ADDRESS LDA USSC GET OPTIONS AND BT11 SZA JMP CK21A,I RETURN ISZ CK21A UPDATE RETURN JMP CK21A,I RETURN - 12921B SPC 1 HED BASIC I/O TESTS TST.0 NOP RETURN ADDRESS CLA CH60 OTA CH+1 INITIALIZE UPPER SLEECT CODE JSB TTST0,I DO BASIC I/O TEST JMP TST.0,I RETURN SPC 1 TTST0 DEF TST00 POINTER TO BASIC I/O TEST SKP HED INITIALIZATION PROGRAM - 12921 ASYNC MPX HED SEND/RECEIVE TEST * THE SEND/RECEIVE TEST SELECTS A CONTROL WORD FROM * THE CONTROL WORD TABLE (CWTB) AND SETS UP THE * S/R CHANNELS TO BE TESTED. THE CW IN THE TABLE * TESTS 5 DIFFERENT CHARACTER SIZES AND 6 * DIFFERENT BAUD RATES. THESE COMBITATIONS OF * TESTS CHECKS THE ABITILY TO SET AND RESET EACH * BIT WITHIN THE CHARACTER COUNTER AND BAUD RATE * COUNTER. SPC 1 ORG ZCEND TST01 EQU * SRTST NOP RETURN ADDRESS LDA MM8 STA CNT2 JSB STCH,I SET UP PORT NUMBERS SRT.4 LDA MM2 STA CNT1 SPC 1 SRT.2 JSB MCLR,I MASTER CLEAR MPX LDA CWTB GET ADDRESS OF CONTROL WORD TABLE STA POINT a°þú STORE ADDRESS IN POINT LDA MM8 NUMBER OF CW TO BE TESTED STA CNT0 SR LDA POINT,I GET CHARTER SIZE AND BAUD RATE ADA CWSX ADD TO SEND CONTROL WORD STA CWS SEND CONTROL WORD XOR CWSX DELETE SEND CONTROL WORD AND ADA CWRX ADD RECEIVE CONTROL WORD STA CWR RECEIVE CONTROL WORD ISZ POINT INCREMENT POINT ADDRESS IN TABLE LDA POINT,I GET SEND DATA ADA DSX ADD SEND DATA CONTROL WORD STA DS OUTPUT SEND DATA XOR DSX ADA DRX STA DR ISZ POINT INCREMENT POINT ADDRESS IN TABLE SPC 1 LDA CWS LOAD SEND CONTROL WORD LDB PORT1 SEND PORT NUMBER JSB OUT,I CONFIGURE SEND PORT LDA CWR LOAD RECEIVE CONTROL WORD LDB PORT2 RECEIVE PORT NUMBER CH22 CLF CH CLEAR MPX I/O FLAG JSB OUT,I CONFIGURE RECEIVE PORT LDA DS DATA WORD TO SEND LDB PORT1 PORT NUMBER TO SEND ON JSB OUT,I SEND DATA JSB SFS,I CHECK SEND PORT FOR INTERRUPT JSB ERRD,I E030 SEND PORT XX DIDN'T INT CH61 LIA CH+1 READ STATUS SLA IS S/R BIT SET JMP CH23 CONTINUE JSB ERMS,I S/R BIT =0 SHOULD BE=1 DEF M35 CH23 LIA CH READ STATUS AND B7600 MASK OFF PORT NUMBER ALF,ALF POSITION PORT NUMBER RAR,RAR IN BIT O-4 CPA PORT1 COMPARE SEND PORT NUMBER RSS OK JSB ERRE,I E032 SEND PORT NO. IS XX S/B YY CH24 CLF CH ACKNOWLEDGE INTERRUPT FOR SEND CH JSB SFS,I JSB ERRA,I E031 REC CH XX DIDN'T INTERRUPT CH25 LIA CH READ DATA IOR B1760 MAKE PARITY AND PORT NUM ALL ONES CPA DR COMPARE RECEIVED DATA RSS OK JSB ERRF,I E034 REC DATA IS INCORRECT CH62 LIA CH+1 READ STATUS SLA,RSS IS S/R BIT 0 JMP CH26 íµ640 CONTINUE JSB ERMS,I S/R BIT=1 SHOULD B 0 DEF M36 CH26 LIA CH READ STATUS AND B7600 MASK OFF PORT NUMBER ALF,ALF POSITION PORT NUMBER RAR,RAR IN BITS O-4 CPA PORT2 COMPARE RECEIVE PORT NUMBER RSS OK JSB ERRB,I E033 REC PORT NO. IS XX S/B YY CH27 CLF CH ACKNOWLEDGE RECEIVE INTERRUPT SPC 1 ISZ CNT0 IS TEST FINISHED ? JMP SR NO - CONTINUE TESTING JSB RCH,I YES - REVERSE PORT1 AND PORT2 ISZ CNT1 WHEN=0 BOTH PORT # HAVE BEEN TEST JMP SRT.2 REPEAT TEST WITH PORT # REVERSED LDA MPXCH CHECK FOR ALL 16 OR 2 CH ONLY AND BT4 ISOLATE AUTO BIT SZA,RSS CHECK FOR AUTO JMP SRT.3 2 CHANNELS ONLY ISZ PORT1 ALL 16 PORTS ISZ PORT1 ADD TWO ISZ PORT2 TO EACH ISZ PORT2 PORT NUMBER ISZ CNT2 HAVE ALL 16 PORT BEEN TESTED ? JMP SRT.4 NO - CONTINUE TESTING CLA YES - ALL 16 CH HAVE BEEN TESTED STA PORT1 RESTORE INA PORT 1 AND PORT2 STA PORT2 TO THERE ORGINAL VALUE SRT.3 JMP SRTST,I RETURN HED BRK - BREAK TEST - 12921 ASYNC MPX * BREAK TEST (BRK) SPC 1 * THIS TEST SENDS AND RECEIVES A NON-ZERO TEST * CHARACTER ON A PORT. AND CHECKS THE BREAK * BIT (BIT 2) OF THE STATUS WORD AFTER EACH SEND * AND RECEIVE TO SEE THAT IT IS SET TO ZERO. * THEN THE TEST SENDS AND RECEIVES A BREAK ì;6ÿÿ ÿý ÿ12920-18003 1805 S 0122 MPX DATA DIAGNOSTIC             H0101 Pþú* CHARACTER (ALL ZEROS) ON A PORT AND CHECKS * THE BREAK BIT OF THE STATUS WORD AFTER EACH * SEND AND RECEIVE TO SEE THAT IT IS SET TO ONE. SPC 1 TST02 EQU * BKTST NOP RETURN ADDRESS BRK JSB MCLR,I MASTER CLEAR MPX JSB STCH,I SET UP PORT NUMBERS CH28 CLF CH CLEAR I/O FLAG LDA CW1 SEND CONTROL WORD LDB PORT1 SEND PORT NUMBER JSB OUT,I CONFIGURE SEND PORT LDA CW2 RECEIVE CONTROL WORD LDB PORT2 RECEIVE PORT NUMBER JSB OUT,I CONFIGURE RECEIVE PORT JSB CK21A CHECK FOR 12921A JMP BKC03 CONTINUE LDA BKNON CHARACTER LDB PORT1 SEND PORT NO. JSB OUT,I SEND CHARACTER JSB SFS,I WAIT FOR RECEIVE INTERRUPT NOP CH71 CLF CH LDA NULL NULL CHARACTER LDB PORT1 SEND PORT NO. JSB OUT,I SEND CHARACTER LDA D2 WAIT 2 MS JSB TMRR,I CH72 LIA CH+1 READ STATUS RAR,RAR SLA,RSS CHECK BREAK BIT JMP BKC01 CONTINUE JSB ERMS,I BREAK BIT SET - REPORT ERROR DEF M37 BKC01 JSB SFS,I WAIT FOR RECEIVE INTERRUPT NOP CH73 CLF CH ACKNOWLEDGE RECEIVE INTERRUPT BKC03 LDA BKNON NON-ZERO CHAR FOR BREAK TEST LDB PORT1 SEND PORT NUMBER JSB OUT,I SEND NON-ZERO CHARATER JSB SFS,I WAIT FOR RECEIVE INTERRUPT NOP CH29 CLF CH ACKNOWLEDGE RECEIVE INTERRUPT CH63 LIA CH+1 READ STATUS RAR,RAR POSITION BREAK BIT SLA,RSS IS BREAK BIT = 0 JMP BKC02 CONTINUE JSB ERMS,I BREAK BIT IS SET - REPORT ERROR DEF M40 BKC02 LDA CW1 SEND CONTROL WORD LDB PORT1 SEND PORT NUMBER JSB OUT,I CONFIGURE SEND PORT LDA CW2 RECEIVE CONTROL WORD LDB PORT2 REVEIVE PORT NUMBER JSB OUT,I CONFIGURE RECEIVE PORT LDA BT14 ALL ZERO'S FOR BREAK €þú LDB PORT1 SEND PORT NUMBER JSB OUT,I SEND ALL ZERO'S JSB SFS,I WAIT FOR RECEIVE INTERRUPT NOP CH31 CLF CH ACKNOWLEDGE RECEIVE INTERRUPT CH64 LIA CH+1 READ STATUS RAR,RAR POSITION BREAK BIT SLA IS BREAK BIT = 1 JMP BKC04 CONTINUE JSB ERMS,I BREAD BIT SHOULD BE SET DEF M41 BKC04 JMP BKTST,I RETURN HED PYT - PARITY TEST - 12921 ASYNC MPX * PARITY TEST (PYT) SPC 1 * THE PARITY TEST SENDS AND RECEIVES ODD ASCII * PARITY. CHECKS BIT 15 OF THE RECEIVE WORD * FOR A ONE. THEN SENDS AND RECEIVES EVEN ASCII * PARITY. CHECKS BIT 15 OF THE RECEIVE WORD * FOR A ZERO. THIS TEST EXAMINS BIT 7 (RAW PARITY) OF * THE RECEIVED DATA. SPC 1 ORG 4000B TST03 EQU * PYTST NOP RETURN ADDRESS JSB MCLR,I MASTER CLEAR MPX JSB STCH,I SET UP PORT NO. CH30 CLF CH CLEAR I/O FLAG LDA CW8 CONTROL WORD PTY=1 LDB PORT1 SEND PORT NO. JSB OUT,I CONFIGURE SEND PORT LDA CW7 RECEIVE CONTROL WORD LDB PORT2 REC PORT NO. JSB OUT,I CONFIGURE REC PORT CLA PTYC1 STA PTYDA INITIALIZE DATA PATTERN LDA PT1 GENERATE OUTPUT DATA ADA PTYDA LDB PORT1 SEND PORT NO. JSB OUT,I TRANSMIT DATA JSB SFS,I WAIT FOR RECEIVE INTERRUPT NOP CH34 LIA CH READ RECEIVED DATA STA PTYIN SAVE DATA SSA CHECK PARITY FLAG JMP PYC01 CONTINUE JSB ERMS,I PARITY FLAG SHOULD BE SET DEF M42 PYC01 LDA PTYDA GET TEST DATA CLB JSB PTYGN GENERATE PARITY AND BT7 MASK OFF DATA STA B LDA PTYIN RESTORE INPUT DATA AND BT7 ISOLATE RAW PARITY CPA B CHECK BIT 7 RSS JMP CH33 CONTINUE JSB ERMS,I PARITY ERROR DEF M43 CH33 CLF CH vÑþú ACKNOWLEDGE REC IINTERRUPT LDA PTYDA UPDATE PATTERN INA AND MASKC SZA JMP PTYC1 CONTINUE PTYC2 STA PTYDA SAVE TEST DATA LDA PT4 EVEN PARITY ADA PTYDA LDB PORT1 SEND PORT NO. JSB OUT,I TRANSMIT DATA JSB SFS,I WAIT FOR RECEIVE INTERRUPT NOP CH48 LIA CH READ RECEIVE DATA STA PTYIN SAVE DATA SSA,RSS CHECK BIT 15 JMP PYC02 CONTINUE JSB ERMS,I PARITY BIT SET ERROR DEF M44 PYC02 LDA PTYDA GET TEST DATA CCB JSB PTYGN GENERATE PARITY AND BT7 STA B LDA PTYIN RESTORE DATA AND BT7 ISOLATE RAW PARITY CPA B CHECK BIT 7 RSS JMP CH49 CONTINUE JSB ERMS,I PARITY ERROR DEF M45 CH49 CLF CH LDA PTYDA UPDATE PATTERN INA AND MASKC SZA JMP PTYC2 CONTINUE JMP PYTST,I RETURN SPC 1 * PARITY GENERATOR ROUTINE * A REG = DATA * B REG = EVEN/ ODD PARITY * OUTPUT A REG = DATA + PARITY(BIT 7) PTYGN NOP RETURN ADDRESS STB PYTYP SAVE PARITY TYPE LDB MD8 STB PYCNT CCB AND B0TB6 MASK PYC03 SLA CMB RAR ISZ PYCNT JMP PYC03 ALF,ALF SZB IOR BT7 LDB PYTYP GIVE CORRECT SSB,RSS PARITY TO XOR BT7 JMP PTYGN,I RETURN HED DIAG - D IAGNOSE - 12921 ASYNC MPX * DIAGNOSE PORT (DIAG) SPC 1 * THIS ROUTINE TEST THE ABILITY TO ROUTE SEND * DATA TO THE AUXILIARY PORTS 16 - 20 WHEN * BIT 11 (DIAGNOSE BIT) OF SEND CONTROL WORD * IS SET TO A ONE. THEN TESTS THE ABILITY TO * ROUTE RECEIVED DATA TO THE AUXILIARY PORTS * 16 - 20 WHEN BIT 11 OF THE RECEIVE CONTROL WORD * IS SET TO A ONE. SPC 1 TST04 EQU * DITST NOP RETURN ADDRESS JSB MCLR,I MASTER\yþú CLEAR MPX JSB STCH,I SET UP PORT NUMBERS LDA MM5 NUMBER OF TIMES TO REPEAT STA CNT0 STORE NUMBER LDA PORT2 STORE THE VALUE STA SAVE1 OF PORT2 LDA D16 SET UP PORT2 FOR STA PORT2 AUX PORT 16 DIAX LDA CW4 SEND CONTROL WORD ENA=0 DIAG=1 LDB PORT1 SEND PORT NUMBER JSB OUT,I CONFIGURE SEND PORT LDA CW2 REC CONTROL WORD ENA=1 DIAG=0 LDB PORT2 AUX PORT XX REC NUMBER JSB OUT,I CONFIGURE AUX RECEIVE PORT LDA DAT1 DATA TO BE TRANSMITTED LDB PORT1 SEND PORT NUMBER CH38 CLF CH CLEAR FLAG FOR INTERRUPT JSB OUT,I TRANSMIT DATA JSB SFS,I WAIT FOR AUX PORT TO INTERRUPT JSB ERRA,I E031 NO INTERRUPT ON PORT XX CH39 LIA CH READ DATA AND B7600 MASK OFF PORT NUMBER ALF,ALF POSITION PORT NUMBER RAR,RAR IN BITS 4-0 CPA PORT2 CHECK AUX PORT NUMBER RSS OK JSB ERRB,I E033 REC PORT NO. IS XX S/B YY CH41 LIA CH READ DATA AND B377 MASK OFF DATA STA B STORE REC DATA IN B-REG LDA DAT1 DATA TRANSMITTED AND B377 MASK OFF DATA CPA B COMPARE DATA RSS OK JSB ERRG,I E046 SEND DATA NOT ON AUX CH XX. CH40 CLF CH ACKNOWLEDGE INTERRUPT LDA CW1 SEND CONTROL WORD ENA=0 DIAG=0 LDB PORT1 SEND PORT NUMBER JSB OUT,I CONFIGURE SEND PORT LDA CW5 REC CONTROL WORD ENA=0 DIAG=1 LDB SAVE1 ORGINAL REC PORT NUMBER JSB OUT,I CONFIGURE REC PORT LDA DAT1 DATA TO BE TRANSMITTED LDB PORT1 SEND PORT NUMBER JSB OUT,I TRANSMIT DATA JSB SFS,I WAIT FOR INTERRUPT JSB ERRA,I E27. REC CH XX DID NOT INTERRUPT CH42 LIA CH READ DATA AND B377 MASK OFF DATA STA B STORE REC DATA IN B-REG LDA DAGBþúT1 DATA TRANSMITTED AND B377 MASK OFF DATA CPA B COMPARE DATA RSS OK JSB ERRC,I E047 REC DATA NOT ON AUX CHXX. LDA BT15 LDB PORT2 JSB OUT,I ISZ PORT2 ADD 1 TO AUX CH NUMBER ISZ CNT0 JMP DIAX LDA SAVE1 RESTORE ORGINAL VALUE STA PORT2 OF PORT2 JMP DITST,I RETURN HED ECHO - E CHO TEST - 12921 ASYNC MPX * ECHO TEST * THIS ROUTINE SENDS A CHARACTER ON PORT XX * WITH ENABLE =0, PARITY =0, DIAGNOSE =0. THE * CHARACTER IS RECEIVED ON PORT YY WITH * ENA =0, ECHO =1, DIAG =0. THE CHARACTER IS * ECHO BACK TO RECEIVE PORT XX WITH THE * ENA =1, ECHO =0, DIAG =O. THE DATA RECEIVED * ON PORT XX IS COMPARED WITH THE DATA * TRANSMITTED. SPC 1 TST05 EQU * ECTST NOP RETURN ADDRESS JSB MCLR,I MASTER CLEAR MPX JSB STCH,I SET UP PORT NUMBERS CH32 CLF CH CLEAR MPX I/O FLAG LDA CW1 SEND CW ENA=0 DIAG=0 LDB PORT1 SEND PORT NUMBER JSB OUT,I CONFIGURE SEND PORT LDA CW3 REC CW ENA=0 ECHO=1 DIAG=0 LDB PORT2 RECEIVE PORT NUMBER JSB OUT,I CONFIGURE RECEIVE PORT LDA CW2 REC CW ENA=1 ECHO=0 DIAG=0 LDB PORT1 REC PORT NUMBER JSB OUT,I CONFIGURE REC PORT LDA DAT1 DATA TO TRANSMIT LDB PORT1 SEND PORT NUMBER JSB OUT,I SEND DATA JSB SFS,I WAIT FOR REC ECHO DATA TO INT. NOP CH43 LIA CH READ DATA AND B377 MASK OFF DATA RECEIVED STA B STORE DATA INTO B-REG LDA DAT1 GET DATA TRANSMITTED AND B377 MASK OFF DATA CPA B COMPARE DATA RSS OK JSB ERRH,I E050 NO ECHO ON PORT XX JMP ECTST,I RETURN HED SYNC - SYNC TEST - 12921 ASYNC MPX * SYNC TEST OUTPUTS A CHARACTER WITH ALL DATA * BITS SET TO A ONE AND BIT 11 (SYNC BIT) SET * TO ËãþúA ONE. THE ENABLE BIT IS SET IN THE RECEIVE * PARAMETER, NO INTERRUPT SHOULD OCCUR. SPC 1 TST06 EQU * SYTST NOP RETURN ADDRESS JSB MCLR,I MASTER CLEAR MPX JSB STCH,I SET UP PORT NUMBERS CH35 CLF CH CLEAR MPX I/O FLAG LDA CW1 SEND CW ENA=0 LDB PORT1 SEND PORT NUMBER JSB OUT,I CONFIGURE SEND PORT LDA CW2 REC CW ENA=1 ECHO=0 DIAG=0 LDB PORT2 REC PORT NUMBER JSB OUT,I CONFIGURE REC PORT LDA DAT2 DATA= ALL ONES + SYNC=1 LDB PORT1 SEND PORT JSB OUT,I TRANSMIT DATA JSB SFS,I TEST FOR INTERRUPT JMP SYC01 CONTINUE JSB ERMS,I SYNC TEST FAILED DEF M51 SYC01 JSB MCLR,I MASTER CLEAR MPX JSB CK21A CHECK FOR 12921A JMP SYTST,I RETURN JSB STCH,I SET UP PORT NO. CH70 CLF CH CLEAR MPX I/O FLAG LDA CW6 SEND CW ENA=0 PTY=1 LDB PORT1 SEND PORT NO. JSB OUT,I CONFIGURE SEND PORT LDA CW2 REC CW ENA=1 ECHO=0 DIAG=0 LDB PORT2 REC PORT NO. JSB OUT,I CONFIGURE REC PORT LDA DAT2 DATA=ALL ONES + SYNC=1 LDB PORT1 SEND PORT JSB OUT,I TRANSMIT DATA JSB SFS,I TEST FOR INTERRUPT JMP SYC02 CONTINUE JSB ERMS,I SYNC TEST FAILED - SHOULD'NT INT DEF M52 SYC02 JMP SYTST,I RETURN HED LOST - LOST-CHARACTER - 12921 ASYNC MPX * LOST-CHARACTER TEST - THIS TEST SENDS TWO * CHARACTERS TO A RECEIVE PORT WITHOUT * ACKNOWLEDGING THE INTERRUPTS. THIS CONDITION * IS FLAGGED BY SETTING BIT 1 (LOST-CHAR) OF THE * STATUS WORD TO A ONE. SPC 1 TST07 EQU * LOTST NOP RETURN ADDRESS JSB MCLR,I MASTER CLEAR MPX JSB STCH,I SET UP PORT NUMBERS CH47 CLF CH CLEAR MPX I/O FLAG LDA CW1 SEND CW ENA=0 LDB PORT1 SEND PORT NUMBER JSB OUT,I CONFIGURE SEND PORT LDA  þúCW2 REC CW ENA=1 LDB PORT2 REC PORT NUMBER JSB OUT,I CONFIGURE REC PORT LDA DAT1 SEND DATA LDB PORT1 SEND PORT NUMBER JSB OUT,I TRANSMIT DATA LDA TIMC DELAY JSB TMRR,I CALL TIMER CH68 LIA CH+1 READ STATUS RAR POSITION BIT 1 SLA OK IF ZERO JMP LOC01 ERROR LOST-CHAR SHOULD BE ZERO LDA DAT1 LOAD DATA LDB PORT1 SEND PORT NUMBER JSB OUT,I TRANSMIT DATA LDA TIMC DELAY 500 MS JSB TMRR,I CALL TIMER LDA DAT1 LDB PORT1 JSB OUT,I LDA TIMC DELAY 500 MS JSB TMRR,I CALL TIMER CH50 CLF CH LDA TIMC DELAY 500 MS JSB TMRR,I CALL TIMER CH69 LIA CH+1 READ STATUS RAR POSITION BIT 1 SLA LOST-CHAR SHOULD BE SET JMP CH54 CONTINUE LOC01 JSB ERMS,I CHARACTER LOST FAILED DEF M53 CH54 CLF CH ACKNOWLEDGE NOP RECEIVED CH55 CLF CH INTERRUPT JMP LOTST,I RETURN HED COMMON SUBRTNS - 12921 ASYNC MPX SPC 1 STCHI NOP SET UP PORT 1 & 2 LDA MPXCH GET PORT NUMBERS AND BT4 ISOLATE AUTO MODE BIT SZA TEST FOR 2 CH'S OR ALL 16? JMP ALL16 YES, ALL 16 LDA MPXCH GET PORT NUMBERS AND A17 NO, 2 ONLY STA PORT1 SAVE PORT 1 LDA MPXCH GET SECOND PORT NUMBER ALF,ALF POSITION RAL,RAL AND A17 MASK OFF BITS 3-0 STA PORT2 STORE SECOND CH NO JMP STCHI,I RETURN ALL16 CLA CONFIGURE PORT NUMBER FOR ALL 16 STA PORT1 FIRST PORT NUMBER INA STA PORT2 SECOND PORT NUMBER LDA MPXCH SET AUTO BIT IOR BT4 STA MPXCH SAVE JMP STCHI,I FRETURN SPC 1 SPC 1 ERRAI NOP E031 REC CH XX DID INTRUPT LDA PORT2 GET REC 8þúCH NUMBER JSB DECIN CONVER TO DECIMAL LDA CVT2 AND STORE NUMBER STA M31A,I IN ZZ OF MESSAGE LDA PORT2 GET RECV PORT NO JSB ERMS,I REPORT ERROR DEF M31 JMP ERRAI,I SPC 1 ERRBI NOP E033 REC PORT # WAS XX S/B YY CH53 LIA CH GET ACTUAL PORT NUMBER AND B7600 MASK OFF PORT NUMBER ALF,ALF POSITION PORT NUMBER RAR,RAR IN BITS 0-4 STA SAVEA STORE NUMBER ACTUAL JSB DECIN CONVERT PORT NUMBER LDA CVT2 TO DECIMAL AND STA M33A,I STORE IN MESSAGE XX LDA PORT2 EXPECTED PORT NO. JSB DECIN CONVER NUMBER TO LDA CVT2 DECIMAL AND STA M33B,I STORE IN MESSAGE YY LDA SAVEA ACTUAL LDB PORT2 EXPECTED JSB ERMS,I REPORT ERROR DEF M33 JMP ERRBI,I RETURN SPC 1 ERRCI NOP LDA PORT2 AUX REC PORT JSB DECIN CONVERT TO DECIMAL LDA CVT2 AND STORE NUMBER STA M47A,I IN XX OF MESSAGE LDA PORT2 AUX REC PORT JSB ERMS,I REPORT ERROR DEF M47 JMP ERRCI,I RETURN SPC 1 ERRDI NOP LDA PORT1 SEND PORT NUMBER JSB DECIN CONVERT TO DECIMAL LDA CVT2 AND STORE NUMBER STA M30A,I IN XX OF MESSAGE LDA PORT1 SEND PORT NO. JSB ERMS,I REPORT ERROR DEF M30 JMP ERRDI,I RETURN SPC 1 ERREI NOP E032 SEND PORT # IS XX S/B YY STA SAVEA STORE ACTUAL PORT NO. JSB DECIN CONVERT TO DECIMAL LDA CVT2 AND STORE NUMBER STA M32A,I IN XX OF MESSAGE LDA PORT1 EXPECTED PORT NO. JSB DECIN CONVERT TO DECIMAL LDA CVT2 AND STORE NUMBER STA M32B,I IN YY OF MESSAGE LDA SAVEA ACTUAL LDB PORT1 JSB ERMS,I REPORT ERROR DEF M32 JMP ERREI,I SPC 1 ERRFI NOP ðþú STA SAVEA STORE RECEIVED DATA LDA MSK0 GET MASK AND DS MASK OFF SEND DATA STA SAVEB STORE DATA JSB CNVRT CONVERT LDA CVT3 AND STORE STA M34A,I IN XX AND LDA CVT2 YY OF STA M34AA,I MESSAGE LDA MSK0 GET MASK AND SAVEA MASK OFF REC DATA STA SAVEA STORE DATA JSB CNVRT CONVERT LDA CVT3 AND STORE STA M34B,I IN XX AND LDA CVT2 YY OF STA M34BB,I MESSAGE LDA PORT2 REC PORT NUMBER STA SAVE1 STORE NUMBER JSB DECIN CONVERT TO DECIMAL LDA CVT2 AND STORE NUMBER STA M34C,I IN XX OF MESSAGE LDA SAVEA LDB SAVEB JSB ERMS,I REPORT ERROR DEF M34 LDB BT14 CHECK FOR NO ERROR HALTS JSB SWRT,I JMP ERRFI,I RETURN - NO ERROR HALTS LDB 112B CHECK FOR TELEPRINTER PRESENT LDA PORT2 GET PORT NO SZB,RSS OCT 106034 SECOND HALT FOR DISPLAY OF PORT NO JMP ERRFI,I RETURN SPC 1 ERRGI NOP LDA PORT2 AUX REC PORT JSB DECIN CONVERT TO DECIMAL LDA CVT2 AND STORE NUMBER STA M46A,I IN XX OF MESSAGE LDA PORT2 AUX REC PORT JSB ERMS,I REPORT ERROR DEF M46 JMP ERRGI,I RETURN SPC 1 ERRHI NOP LDA PORT1 REC PORT NUMBER JSB DECIN CONVERT TO DECIMAL LDA CVT2 AND STORE NUMBER STA M50A,I IN XX OF MESSAGE LDA PORT1 RECV PORT NO. JSB ERMS,I REPORT ERROR DEF M50 JMP ERRHI,I RETURN SPC 1 SPC 1 * THIS SR REVERSE THE TWO PORT NUMBERS TO ALLOW * EACH OF THE TWO SEND AND RECEIVE PORTS * CONNECTED TO THE TEST CABLE TO BE TESTED IN * BOTH DIRECTION. SPC 1 RCHI NOP REVERSE PORT NUMBER LDA PORT1 INTER PORTGE LDB PORT2 PORT1 -Vþú STA PORT2 WITH STB PORT1 PORT2 JMP RCHI,I FINISHED SPC 1 OUTI NOP OUTPUT PARAMETERS OR DATA STB PORT TO PORT 'PORT' CLB STB SAVEB TEMP STORAGE CH66 LIB CH+1 GET SEEK BIT SSB,RSS CHECK SEEK BIT JMP CH45 SEEK = 0 ISZ SAVEB SEEK = 1 JMP CH66 LOOP JSB ERMS,I SEEK BIT =1 SHOULD BE 0 DEF M54 CH45 OTA CH LDA PORT ALF,ALF POSITION PORT NUMBER RAL,RAL IN BITS 14 - 11 CH67 OTA CH+1 PORT TO UPPER SELECT CODE CH46 STC CH SEND JMP OUTI,I RETURN SPC 1 * DECIN * CONVERTS DECIMAL INTEGERS TO ASCII * A=VALUE ON INPUT * CNVT1 = FIRST TWO DIGITS ON EXIT * CNVT2 = SECOND TWO DIGITS ON EXIT SPC 1 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 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 SPC 1 * 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 A0077 LEAVE TWO DIGITS LDB A SAVE FOR A WHILE ALF,RAL LEFTMOST TÉdþúO POSITION IOR B OR THE TWO TOGETHER AND B3407 IOR ASCZZ STA CVT2 LDA TEMP5 GET WORD BACK AND A0077 LEAVE LAST TWO DIGITS LDB A ALF,RAL IOR B AND B3407 IOR ASCZZ STA CVT3 SAVE RIGHTMOST DIGITS JMP CNVRT,I RETURN SPC 1 MCLRI NOP CLEAR 256 BIT MEMORY JSB CK21A CHEK FOR 12921A JMP MCLRA CONTINUE - 12921A CLC 0,C ZAP CLB CLEAR B-REG CH65 LIA CH+1 CHECK SEEK BIT SSA,RSS SEEK = 1 ? JMP MCL1 = 0 INB,SZB = 1 JMP CH65 LOOP JSB ERMS,I REPORT ERROR SEEK AFTER CLC 0 DEF M55 JMP MCLRI,I EXIT MCL1 SZB JMP CH59 CONTINUE JSB ERMS,I NO SEEK AFTER CLC 0 DEF M56 CH59 CLF CH CLEAR I/O FL JMP MCLRI,I FINISHED MCLRA CLA CH74 OTA CH CLEAR INTERFACE CH75 OTA CH+1 CLC 0,C DO 65K CLC 0'S CLC 0,C ZAP CLC 0,C ZAP CLC 0,C ZAP ISZ A LOOP 65K JMP CH75+1 TIMES CH76 CLF CH CLEAR I/O FL JMP MCLRI,I FINISHED - RETURN SPC 1 SFSI NOP TEST CHANNEL FLAG LDA M300 EXIT STA SAVE P+1 SFS.1 ISZ SAVE IF RSS FLAG JMP SFSI,I DID'NT SET CH56 SFS CH IS FLAG SET ? JMP *+3 NO ISZ SFSI FLAG IS SET JMP SFSI,I RETURN P+2, FLAG IS SET CLA,INA DELAY FOR JSB TMRR,I 1 MS OF TIME JMP SFS.1 LOOP HED MESSAGES *** MESSAGES *** SPC 1 SUP M30 ASC 8,E030 SEND PORT ASC 11,XX DID NOT INTERRUPT/ M31 ASC 9,E031 RECEIVE PORT ASC 11,XX DID NOT INTERRUPT/ M32 ASC 13,E032 SEND PORT NUMBER IS ASC 9,XX SHOULD BE YY/ M33 ASC 14,E033 RECEIVE PORT NUMBER IS ASC 9,XX SHOULD BE -HFBYY/ M34 ASC 15,E034 DATA RECEIVED ON PORT XX ASC 13, IS XXXX SHOULD BE YYYY/ M35 ASC 14,E035 S-R BIT SHOULD BE SET/ M36 ASC 15,E036 S-R BIT SHOULD BE RESET/ M37 ASC 17,E037 BREAK BIT SHOULD NOT BE SET/ M40 ASC 17,E040 BREAK BIT SHOULD NOT BE SET/ M41 ASC 15,E041 BREAK BIT SHOULD BE SET/ M42 ASC 15,E042 PARITY BIT SHOULD BE SET/ M43 ASC 14,E043 RAW PARITY BIT 7 ERROR/ M44 ASC 10,E044 PARITY BIT SET/ M45 ASC 14,E045 RAW PARITY BIT 7 ERROR/ M46 ASC 16,E046 SEND DATA NOT ON AUXILIARY ASC 5,PORT XX/ M47 ASC 18,E047 RECEIVED DATA NOT ON AUXILIARY ASC 5,PORT XX/ M50 ASC 13,E050 NO ECHO ON PORT XX/ M51 ASC 11,E051 SYNC TEST FAILED/ M52 ASC 15,E052 SYNC TEST FAILED (PTY=1)/ M53 ASC 14,E053 CHARACTER LOST FAILED/ M54 ASC 12,E054 SEEK BIT IS A ZERO ASC 8,SHOULD BE A ONE/ M55 ASC 17,E055 SEEK STAYED SET AFTER CLC 0/ M56 ASC 18,E056 SEEK FAILED TO SET AFTER CLC 0/ HDMS OCT 6412 ASC 11,ASYNC MULTIPLEXER DATA ASC 9, BOARD DIAGNOSTIC HDM1 ASC 7, DSN XXXXXX// FWAA EQU * FIRST WORD OF AVAILABLE MEMORY END *aHÿÿ ÿý¡ ÿ12920-18004 1444 S 0122 01DIAGNOSTIC 12920A/B  ASYNC MUXR CNTRL BD             H0101 ®™þú ASMB¬A¬B¬Ì¬Ã       HÅD ASYNàMUÌÔÉPÌÅØÅÒ ÃÏNÔÒÏÌ BÏAÒD DÉAGNÏSÔÉà       ÏÒG 0       SUP ª     GÅNÅÒAÌ ÏPÅÒAÔÉNG PÒÏÃÅDUÒÅ ª  ª         A. ÌÏAD DÉAGNÏSÔÉàÃÏNÆÉGUÒAÔÏÒ AND SÅÔ ÉÔ UP. ª         B. ÌÏAD DÉAGNÏSÔÉàMAÉN PÒÏGÒAM ª         Ã. ÌÏAD ADDÒÅSS ±00B. ª         D. ÌÏAD S×ÉÔÃH ÒÅG. ×ÉÔH SÅÌÅÃÔ ÃÏDÅ AND ÏPÔÉÏNS ª         Å. PÒÅSS ÒUN AND ×AÉÔ ÆÏÒ HAÌÔ ±0²0·´. ª         Æ. ÌÏAD S×ÉÔÃH ÒÅGÉSÔÅÒ ª                   ÉÆ SÅÔ ½: ª                   ±5 ½ HAÌÔ AÔ ÅND ÏÆ ÅAÃH ÔÅSÔ ª                   ±´ ½ SUPÒÅSS ÅÒÒÏÒ HAÌÔS ª                   ±3 ½ ÌÏÏP ÏN ÌASÔ ÔÅSÔ ª                   ±² ½ ÌÏÏP ÏN DÉAGNÏSÔÉà ª                        (SUPPÒÅSS AÌÌ ÏPÅÒAÔÏÒ ÉNÔÅÒVÅNÔÉÏN© ª                   ±± ½ SUPÒÅSS ÅÒÒÏÒ MÅSSAGÅS ª                   ±0 ½ SUPÒÅSS NÏN-ÅÒÒÏÒ MÅSSAGÅS ª                    9 ½ GÏ ÔÏ USÅÒ ÃÏNÔÒÏÌ SÅÃÔÉÏN ª                        AÔ ÅND ÏÆ PÒÅSÅNÔ ÔÅSÔ ª                    ¸½ SUPPÒÅSS ÏPÅÒAÔÏÒ ÉNÔÅÒVÅNÔÉÏN ÔÅSÔS ª                    · ª                      ½ DÉAGNÏSÔÉàÏPÔÉÏNS ª                    0 ª         NÏÔÅ: SÔANDAÒD ÒUN SHÏUÌD BÅ ×ÉÔH S×. ÒÅG. ½ 0 ª               USÅÒ ÃÏNÔÒÏÌ ×ÉÌÌ ASK ÆÏÒ A 3² BÉÔ ×ÏÒD. ª               ÅAÃH BÉÔ ×ÉÌÌ ½ ± ÔÅSÔ ª  ª         G. PÒÅSS ÒUN. ª         H. ÒÅSÔAÒÔ - ÌÏAD ADDÒÅSS ²000B ª         É. ÒÅÃÏNÆÉGUÒÅ ÉÆ ÔÅSÔÉNG É¯Ï ÉNÔÅÒÆAÃÅ - ÌÏAD ADDÒÅSS ±00B ª  ª         GÅNÅÒAÌ ÃÏMPUÔÅÒ HAÌÔS ª  ª         ±0²0ØØ    Å ÏÒ H  000 ÔÏ 06· ª         ±060ØØ    Å ÏÒ H  ±00 ÔÏ ±6· ª         ±030ØØ    Å ÏÒ H  ²00 ÔÏ ²6· ª         ±0·0ØØ    Å ÏÒ H  300 ÔÏ 36· ª  ª         ÃÏNÔÒÏÌ PÒÏGÒAM HAÌÔ MÅSSAGÅS ª  ª         ±0²0··    ÅND ÏÆ DÉAG (A ½ PASS ÃÏUNÔ© ª         ±0²0·6    ÅND ÏÆ ÔÅSÔ (A ½ ÔÅSÔ £© ª         ±0²0·5    USÅÒ SÅÌÅÃÔÉÏN ÒÅÑUÅSÔ ª         ±0²0·´    SÅÌÅÃÔ ÃÏDÅ ÉNPUÔ ÃÏMPÌÅÔÅ ª         ±0²0·3    USÅÒ SÅÌÅÃÔ ÃÏDÅ ÅÒÒÏÒ ª         ±0²0·²    USÅÒ PÏÒÔ NUMBÅÒ ÅÒÒÏÒ ª         ±0²0·±    ÒÅSÅÒVÅD ª         ±0²0·0    ÒÅSÅÒVÅD ª  ª         ±060··    ÔÒAP ÃÅÌÌ HAÌÔ ª  ª  ª        HÅD PÒÏGÒAM ÏÒGANÉZAÔÉÏN ÃHA'"þúÒÔ ª         ªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªª ª         ª         ÃÏNÆÉGUÒAÔÏÒ            ±00B    ª ª         ª            ÌÉNKAGÅ ÔABÌÅ                ª ª         ªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªª ª         ª         ÅØÅÃUÔÉVÅ               ±30B    ª ª         ª         ÌÉNKAGÅ                         ª ª         ªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªª ª         ª         ÃÏNSÔANÔS               ±50B    ª ª         ª            AND                          ª ª         ª         SÔÏÒAGÅ                         ª ª         ªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªª ª         ª                                ²000B    ª ª         ª         ÅØÅÃUÔÉVÅ ÃÏNÔÒÏÌ               ª ª         ª                                         ª ª         ªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªª ª         ª         ÉÆ USÅD                         ª ª         ª         BASÉàɯϠÔÅSÔS (ÔÅSÔ 00©       ª ª         ª                                ZÃÅND    ª ª         ªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªª ª         ª         ÔABÌÅ ÏÆ ÔÅSÔ PÏÉNÔÅÒS          ª ª         ª         ÔABÌÅ ÏÆ É¯Ï ÉNSÔÒ PÏÉNÔÅÒS     ª ª         ªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªª ª         ª                                         ª ª         ª                                         ª ª         ª                                         ª ª         ª                                         ª ª         ª                                         ª ª         ª         MAÉN DÉAGNÏSÔÉÃS (±-3±©         ª ª         ª                                         ª ª         ª                                         ª ª         ª                                         ª ª         ª                                         ª ª         ª                                         ª ª         ªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªª ª  ª  ª  ª  ª  ª  ª  ª  ª  ª  ª  ª  ª  ª  ª  ª  ª  ª  ª  ª        HÅD ÃÏNÆÉGUÒAÔÏÒ ÌÉNKAGÅ ÔABÌÅ A     ÅÑU 0     /Žþú    A ÒÅGÉSÔÅÒ ÒÅÆÅÒÅNÃÅ B     ÅÑU ±         B ÒÅGÉSÔÅÒ ÒÅÆÅÒÅNÃÅ S×    ÅÑU ±         S×ÉÔÃH ÒÅGÉSÔÅÒ ÒÅÆÅÒÅNÃÅ ÉNÔP  ÅÑU 0         ÉNÔÅÒÒUPÔ ÃHANNÅÌ ÒÅÆÅÒÅNÃÅ ª  ª        ÏÒG ±00B ª        ÊMP ÃÆÉG¬É    GÏ ÔÏ ÃÏNÆÉGUÒAÔÉÏN SÅÃÔÉÏN ÆAÉN  BSS ±         ÆASÔ ÉNPUÔ (PHÏÔÏ ÒÅADÅÒ© SÌÏP  BSS ±         SÌÏ× ÏUÔPUÔ (ÌÉSÔ© ÆAÏP  BSS ±         ÆASÔ ÏUÔPUÔ (DUMP ÏÒ PUNÃH© SÌÉN  BSS ±         SÌÏ× ÉNPUÔ (KÅYBÏAÒD© Æ×AM  DÅÆ Æ×AA      ÆÉÒSÔ ×ÏÒD ÏÆ AVBÌ. MÅMÏÒY Ì×AM  BSS ±         ÌASÔ ×ÏÒD ÏÆ AVBÌ. MÅMÏÒY       BSS ±         NÏÔ USÅD (MAG ÔAPÅ© ÏÔMà BSS ±         ± MÉÌÌ SÅàÔÉMÅ ÏUÔ ÃÏUNÔ       BSS ´         SÅÌÅÃÔ ÃÏDÅS ÆÏÒ É¯Ï ÃPÔÏ  BSS ±         ÃÏMPUÔÅÒ ÔYPůÏPÔÉÏNS USSà ÏÃÔ 0         USÅÒ ÃAÒD ÔYPÅ AND SÅÌÅÃÔ ÃÏDÅ MÅMÏ  BSS ±         MÅMÏÒY SÉZÅ AND ÔYPÅ ÉS×Ò  BSS ±         ÉNÔÅÒNAÌ S×ÉÔÃH ÒÅGÉSÔÅÒ ÔMÒÒ  BSS ±         ± MÉÌÌ SÅàÔÉMÅÒ S×Òà BSS ±         ÃÏNÆÉGUÒAÔÏÒ S×ÉÔÃH ÃK PÔÒ É²AS  BSS ±         ÉNÔÅGÅÒ ÔÏ ASÃÉÉ ÃÏNVÅÒSÉÏN ϲAS  BSS ±         ÏÃÔAÌ ÔÏ ASÃÉÉ ÃÏNVÅÒSÉÏN AS²N  BSS ±         ASÃÉÉ ÃÏNVÅÒSÉÏN DSNÌ  BSS ±         DÉAGNÏSÔÉàSÅÒÉAÌ NUMBÅÒ ÆMÔÒ  BSS ±         ÆÏÒMAÔÔÅÒ ª  ª  ª         ÃÏNÔÒÏÌ ÌÉNKAGÅ AND DAÔA ÒÅÆÅÒÅNÃÅS ª  ÃÆÉG  DÅÆ ZÃÏNÆ     ÃÏNÆÉGUÒAÔÉÏN SÅÃÔÉÏN MSGà DÅÆ ZMSGà    MÅSSAGÅ ×ÉÔH NÏ HAÌÔ MSGH  DÅÆ ZMSGH     MÅSSAGÅ ×ÉÔH HAÌÔ ÅÒMS  DÅÆ ZÅÒMS     ÅÒÒÏÒ MÅSSAGÅ S×ÒÔ  DÅÆ ZS×ÒÔ     S×ÉÔÃH ÒÅGÉSÔÅÒ ÃHÅÃK ÒÏUÔÉNÅ ÔSÔN  ÏÃÔ 0         ÃUÒÒÅNÔ ÔÅSÔ NUMBÅÒ ÅØÒÔ  DÅÆ ZÅØÒÔ     ÒÅÔUÒN ÔÏ ÃÏNÔÒÏÌ PÒÏGÒAM       NÏP           ÒÅSÅÒVÅD ª  ª  ª  ª  ª  ª  ª  ª  ª  ª  ª  ª  ª        HÅD ÅØÅÃUÔÉVÅ ÃÏNÔÒÏÌ       ÏÒG ²000B ZSÔÅØ ÃÌàÉNÔP¬Ã    ÔUÒN É¯Ï SYSÔÅM ÏÆÆ       ÊSB MSGìɠ   DÏ ÃÒÌÆ       DÅÆ ZÒÔÌÆ       ÌDA HDMP      GÅÔ ÉNÔÒÏDUÃÔÏÒY MÅSSAGÅ       SÔA ª+²       ÊSB MSGìɠ   ÏUÔ PUÔ ÉÔ       NÏP       ÃÌA           ÃÌÅAÒ PASS       SÔA ZÅÏÌà      ÃÏUNÔ       ÌDB ZS×9      ÃHÅÃK ÆÏÒ USÅÒ SÅÌÅÃÔÉÏN ÒÅÑ       ÊSB S×ÒÔ¬É       ÊMP ZUSÒ      ÉÔ'S USÅÒS ÃHÏÉÃÅ ZNUSÒ ÌDA SÔDA      GÅÔ SÔANDAÒD ÔÅSÔ ÒUN ‚ þú      ÌDB SÔDB      ª       ÊMP ZÅØÃ ª  ZUSÒ  ÌDA ZSÉNA     ÒÅÔÒÉÅVÅ PÒÅVÉÏUS ÒUN       ÌDB ZSÉNB       HÌÔ ·5B       ×AÉÔ ÆÏÒ USÅÒ ÉNPUÔ       NÏP       NÏP       NÏP ZÅØÃ  SÔA ZUÉNA     SAVÅ       SÔB ZUÉNB       USÅÒ       SÔA ZSÉNA         ÉNPUÔ       SÔB ZSÉNB           PÒÏGÒAM       ÌDB ZS×9      ÃHÅÃK ÉÆ S×9 ÉS DÏ×N       ÊSB S×ÒÔ¬É       ÊMP ZUSÒ      NÏ GÏ AND ×AÉÔ       ÃÃA           SÅÔ ÔÅSÔ NUMBÅÒ       SÔA ÔSÔN      ½-±       ÃÌA       SÔA ZÔSÔA     ÃÌÅAÒ ÔÅSÔ ÒUN ÆÌAG ª  ª  ª  ª  ª  ª  ª  ª  ª  ª  ª  ª  ª  ª  ª  ª        SKP ZÅØÃÌ ÌDA ZUÉNA     ÒÅSÔÏÒÅ A ÒÅG.       ÌDB ZUÉNB     ÒÅSÔÏÒÅ B ÒÅG.       ÅÒA¬ÒAÌ       ÒÏÔAÔÅ       ÅÒB             ÆÉÒSÔ       ÅÒA               ÔÅSÔ BÉÔ       SÔA ZUÉNA     SAVÅ PÏSÉÔÉÏNS       SÔB ZUÉNB       ÉSZ ÔSÔN      MÏVÅ ÔÅSÔ UP ÏNÅ       NÏP ZØÃ̱ ÌDA ÔSÔN       ADA ÔSÔP      GÅÔ ÉÔ'S       ÌDA A¬É         ADDÒÅSS       ÃPA Z.M±      ÉS ÉÔ ÅND ÏÆ ÌÉSÔ       ÊMP ZÅÏÌ      YÅS       ÌDB ZUÉNB       SSB¬ÒSS       SHÏUÌD ÉÔ BÅ ÒUN?       ÊMP ZÅØÃÌ     NÏ       SÔA ZÔSÔA     YÅS - SAVÅ ÔÅSÔ ADDÒÅSS       ÊSB ZÉÔÃH     ÉNÉÔÉAÌÉZÅ ÔÒAP ÃÅÌÌ HAÌÔS       ÊSB ZÔSÔA¬É   GÏ DÏ ÔÅSÔ ZÅØÒÔ ÌDA ÔSÔN      DÉSPÌAY ÔÅSÔ NUMBÅÒ ÉÆ HAÌÔÅD       ÌDB ZS×±5     ÃHÅÃK ÆÏÒ HAÌÔ AÔ ÅND ÏÆ ÔÅSÔ       ÊSB S×ÒÔ¬É       HÌÔ ·6B       YÅS ×AÉÔ ÆÏÒ ÏPÅÒAÔÏÒ       ÌDB ZS×9      ÃHÅÃK ÆÏÒ ABÏÒÔ       ÊSB S×ÒÔ¬É       ÊMP ZUSÒ      YÅS       ÌDB ZS×±3     ÃHÅÃK ÆÏÒ ÌÏÏP ÏN ÒÏUÔÉNÅ       ÊSB S×ÒÔ¬É       ÊMP ZØÃ̱     YÅS - ÌÏÏP       ÊMP ZÅØÃÌ     ÃÏNÔÉNUÅ ª  ZÅÏÌ  ÌDA ZÔSÔA     ÃHÅÃK ÉÆ ANY ÔÅSÔS ×ÅÒÅ ÒUN       SZA¬ÒSS       ?       ÊMP ZNUSÒ     NÏ  SÏ PÉÃK UP SÔANDAÒD ÒUN       ÌDA ZÅÏÌà    UP DAÔÅ PASS ÃÏUNÔ       ÉNA       SÔA ZÅÏÌà       ÃÃÅ       ÌDB ZPSÃA     GÅÔ PASS ÃÏUNÔ       ADB Z.²         ADDÒÅSS       ÊSB Ï²AS¬É    ÃÏNVÅÒÔ ÉÔ       ÊSB MSGìɠ   ÃAÌÌ PÒÉNÔ ÒÏUÔÉNÅ ZPSÃA DÅÆ ZPSà       ÌDB ZS×±²     ÃHÅÃK ÆÏÒ ÌÏÏP ÏN DÉAG.       ÊSB S×ÒÔ¬É       ÊMP ª+3       IæþúYÅS       ÌDA ZÅÏÌà       HÌÔ ··B       NÏ ×AÉÔ AND DÉSPÌAY PASS ÃÏUNÔ       ÌDA ZSÉNA     ÒÅSÔÏÒÅ ÏÒÉGÉNAÌ       ÌDB ZSÉNB       PÒÏGÒAM       ÊMP ZÅØÃ      DÏ ÉÔ AÌÌ AGAÉN ª        SKP ª         MÅSSAGÅ ÏUÔPUÔ ×ÉÔH ÏUÔ HAÌÔ ª  ZMSGàNÏP           ÅNÔÒY       ÊSB ZMSG      ÏUÔPUÔ MÅSSAGÅ       ÏÃÔ ²000      S×ÉÔÃH ±0 ÃHÅÃK       ÊMP ZMSGìɠ  ÒÅÔUÒN ÔÏ ÃAÌÌÅÒ ª  ª         MÅSSAGÅ ÏUÔPUÔ ×ÉÔH HAÌÔ ª  ZMSGH NÏP           ÅNÔÒY       ÊSB ZMSG      ÏUÔPUÔ MÅSSAGÅ       ÏÃÔ ²000      S×ÉÔÃH ±0 ÃHÅÃK       ÌDA ZHÌÔ      GÅÔ HAÌÔ ÃÏDÅ       SÔA ª+²       PUÔ ÉÔ ÉN PÌAÃÅ       ÌDA ZSAVA     ÒÅSÔÏÒÅ A ÒÅGÉSÔÅÒ       NÏP           HAÌÔ ÆÏÒ DÉSPÌAY       ÊMP ZMSGH¬É   ÒÅÔUÒN ÔÏ ÃAÌÌÅÒ ª  ª         ÅÒÒÏÒ MÅSSAGÅ ×ÉÔH HAÌÔ ª  ZÅÒMS NÏP           ÅNÔÒY       ÊSB ZMSG      ÏUÔPUÔ MÅSSAGÅ       ÏÃÔ ´000      S×ÉÔÃH ±± ÃHÅÃK       ÃÌA       ÌDB ZS×±´     ÃHÅÃK S×Ò BÉÔ ±´ ÔÏ SUPPÒÅSS       ÊSB S×ÒԬɠ   HAÌÔ       SÔA ª+3       PUÔ  HAÌÔ ÉN PÌAÃÅ       ÌDA ZSAVA     ÒÅSÔÏÒÅ A ¦ B       ÌDB ZSAVB ZHÌÔ  NÏP           ×AÉÔ ÆÏÒ ÏPÅÒAÔÏÒ       ÊMP ZÅÒMS¬É   ÒÅÔUÒN ÔÏ ÃAÌÌÅÒ ª  ª  ª  ª  ª  ª  ª  ª  ª  ª  ª  ª  ª        SKP ª         ÏUÔPUÔ MÅSSAGÅ ª  ZMSG  NÏP       SÔA ZSAVA     SAVÅ A AND B ÒÅGÉSÔÅÒS       SÔB ZSAVB       ÌDB ZMSG¬É    GÅÔ S×ÉÔÃH ÒÅGÉSÔÅÒ BÉÔ       ÌDA ZMSG       ADA Z.M²      DÅÃÒÅMÅNÔ ÒÅÔUÒN ADDÒÅSS       SÔA ZMSG       ÊSB S×ÒԬɠ   ÃHÅÃK ÔÏ SUPPÒÅSS MÅSSAGÅ       ÊMP ZMSG0     YÅS       ÌDA ZMSG¬É    ÃHÅÃK ÉÆ ÅÒÒÏÒ       ÌDA A¬É       ÌDA A¬É       ÉÆ SÏ       AÌÆ¬AÌÆ       AND Z.±··       ÃPA ZA.Å       ÊSB ZÃÆÔN     ÃHÅÃK ÔÏ ÏUÔPUÔ ÔÅSÔ NUMBÅÒ       ÌDA ZMSG¬É    NÏ ÒÅÔÒÉÅVÅ ÆÏÒMAÔ       ÌDB A¬É         ADDÒÅSS       ÃÌA¬ÃÌÅ       ÊSB ÆMÔÒ¬É ZMSG0 ÌDA ZMSG¬É    ÃÏNVÅÒÔ HAÌÔ ÃÏDÅ       ÌDB A¬É         ÆÒÏM ASÃÉÉ SÔÒÉNG       ÃÃA¬ÃÃÅ       ÊSB AS²N¬É       SÔA ZN²AÏ     SAVÅ ÒÅSUÌÔ       AND Z.300     DÅÃÏDÅ       ÌDB ZH²         HAÌÔ ÃÏDÅ       ÃPA Z.±00       ÌDB ZH6       ÃPA Z.²00 LÔþú      ÌDB ZH3       ÃPA Z.300       ÌDB ZH·       ÌDA ZN²AÏ     GÅÔ HAÌÔ NUMBÅÒ       AND Z.··       ÉÏÒ B       SÔA ZHÌÔ      SAVÅ ÉÔ       ÉSZ ZMSG¬É    ADÊUSÔ ÒÅÔUÒN PÏÉNÔÅÒS       ÉSZ ZMSG       ÉSZ ZMSG       ÉSZ ZMSG       ÌDA ZSAVA     ÒÅSÔÏÒÅ A AND B ÒÅGÉSÔÅÒS       ÌDB ZSAVB       ÊMP ZMSG¬É ª  ª  ª  ª  ª  ª        SKP ZÃÆÔN NÏP       ÌDA ÔSÔN      GÅÔ ÔÅSÔ NUMBÅÒ       ÃPA ZÃÆÔÔ     ÉS ÉÔ ÔHÅ SAMÅ ÏNÅ?       ÊMP ZÃÆÔN¬É   YÅS SKÉP ÏUÔPUÔ       SÔA ZÃÆÔÔ     NÏ - ÔHÅN UPDAÔÅ ÉÔ       ÊSB ZN²AÏ     ÃÏNVÅÒÔ ÉÔ       SÔA ZÔSÔN     PUÔ ÉÔ ÉN SÔÒÉNG       ÃÌA           DÏ A ÃÒÌÆ       ÊSB SÌÏP¬É       ÃÌA¬ÃÌÅ       ÉNDÉÃAÔÅ SÔAÒÔ ÏÆ ÆÏÒMAÔ       ÌDB ZÔSÔÆ       ÊSB ÆMÔÒ¬É       ÊMP ZÃÆÔN¬É   ÒÅÔUÒN ª  ª  ª  ª  ZSAVA NÏP ZSAVB NÏP ZÅÏÌàNÏP ZÔSÔA NÏP ZSÉNA NÏP ZSÉNB NÏP ZUÉNA NÏP ZUÉNB NÏP ZBÔMP NÏP Z.²   ÏÃÔ ² Z.·   ÏÃÔ · Z.±0  ÏÃÔ ±0 Z.60  ÏÃÔ 60 Z.··  ÏÃÔ ·· Z.±·· ÏÃÔ ±·· Z.M±  DÅà-± Z.M²  DÅà-² ZD±00 DÅà-±00 ZÉÏM  ÏÃÔ ±···00 ZS×±5 ÏÃÔ ±00000 ZS×±´ ÏÃÔ ´0000 ZS×±3 ÏÃÔ ²0000 ZS×±² ÏÃÔ ±0000 ZS¸±² ÏÃÔ 0±0´00 ZS×9  ÏÃÔ ±000 Z.±00 ÏÃÔ ±00 Z.²00 ÏÃÔ ²00 Z.300 ÏÃÔ 300 ZH²   ÏÃÔ ±0²000 ZH6   ÏÃÔ ±06000 ZH3   ÏÃÔ ±03000 ZH·   ÏÃÔ ±0·000 ZÃÆÔÔ DÅà-± ZÔSÔÆ DÅÆ ª+±       ASà3¬ÔÅSÔ ZÔSÔN ASà²¬ØØ¯¯ ZÒÔÌÆ AS౬¯¯ ZPSà ASà6¬PASS ØØØØØØ¯ ZA.Å  ÏÃÔ ±05       HÅD GÅNÅÒAÌ ÒÏUÔÉNÅS ª  ª  ZN²AÏ NÏP       SÔA ZÉÏAD     SAVÅ NUMBÅÒ       AND Z.·       ÃÏNVÅÒÔ ÆÉÒSÔ       ÉÏÒ Z.60        NUMBÅÒ       SÔA B         SAVÅ ÉÔ       ÌDA ZÉÏAD     GÅÔ       ÒAÒ¬ÒAÒ         SÅÃÏND       ÒAÒ               NUMBÅÒ       AND Z.·       ÃÏNVÅÒÔ       ÉÏÒ Z.60        ÉÔ       AÌÆ¬AÌÆ       MÏVÅ ÔÏ UPPÅÒ HAÌÆ       ÉÏÒ B         ADD ÌÏ×ÅÒ       ÊMP ZN²AϬɠ  AND ÒÅÔUÒN ª  ª  ª  ª         S×ÉÔÃH ÒÅGÉSÔÅÒ ÃHÅÃK ª  ZS×ÒÔ NÏP       SÔA ZN²AÏ     SAVÅ A ÒÅGÉSÔÅÒ       ÌÉA S×        GÅÔ S×ÉÔÃH ÒÅG.       AND B         MASK ÏUÔ BÉÔ       SZA¬ÒSS       ÉS ÉÔ UP?       ÉSZ ZS×ÒÔ     NÏ     ²þú  ÌDA ZN²AÏ     ÒÅSÔÏÒÅ A ÒÅGÉSÔÅÒ       ÌÉB S×        ÌÅÔ B ½ S×ÉÔÃH ÒÅGÉSÔÅÒ       ÊMP ZS×ÒԬɠ  ÒÅÔUÒN ÔÏ ÃAÌÌÅÒ ª  ª  ª  ª         ÉNÉÔÉAÌÉZÅ ÔÒAP ÃÅÌÌ HAÌÔS ª  ZÉÔÃH NÏP       ÌDA ZÔSH      GÅÔ SÔAÒÔÉNG ÔÒAP ÃÅÌÌ HAÌÔ       ÌDB Z.²       GÅÔ ÆÉÒSÔ ÔÒAP ÃÅÌÌ ÌÏÃAÔÉÏN ZÔSHÌ SÔA B¬É       PUÔ ÉÔ ÉN PÌAÃÅ       ÃPB Z.··      AM É ÆÉNÉSHÅD       ÊMP ZÉÔÃH¬É   YÅS       ÉNB             NÅØÔ ADDÒÅSS       ÊMP ZÔSHÌ ª  ZÔSH  ÏÃÔ ±060·· ª  ª  ª        SKP ª         PUÔ ÊSB ÉNSÔÒUÃÔÉÏN ÉN ÔÒAP ÃÅÌÌ ª  ZÔÃÊÉ NÏP       ÌDB ZÊSBÉ     GÅÔ ÉNSÔÒUÃÔÉÏN       SÔB ZÉÏSìɠ  PUÔ ÉÔ ÉN ÔÒAP ÃÅÌÌ       ÌDA ZÔÃÊɬɠ  GÅÔ ÌÏÃAÔÉÏN       SÔA 3B        SAVÅ ÉÔ ÆÏÒ ÊSB ÉNSÔÒUÃÔÉÏN       ÉSZ ZÔÃÊÉ     ADÊUSÔ ÒÅÔUÒN       ÊMP ZÔÃÊɬɠ  ÒÅÔUÒN ÔÏ ÃAÌÌÅÒ ª  ZÊSBÉ ÊSB 3B¬É      ÊSB ÉNSÔÒUÃÔÉÏN ª  ª  ª         ÉNÉÔÉAÌÉZÅ SÅÌÅÃÔ ÃÏDŠɯϠÉNSÔÒUÃÔÉÏNS ª  ZÉSà NÏP       SÔA ZÉÏSà    SAVÅ SÅÌÅÃÔ ÃÏDÅ       SÔB ZÉÏAD     SAVÅ ÔABÌÅ ADDÒÅSS ZÉÏÌ  ÌDB ZÉÏAD¬É   GÅÔ ADDÒÅSS ÏÆ ÌÏÃAÔÉÏN       ÃPB Z.M±      ÉS ÉÔ ÔHÅ ÔÅÒMÉNAÔÏÒ       ÊMP ZÉSìɠ   YÅS ÒÅÔUÒN ÔÏ ÃAÌÌÅÒ       ÌDA B¬É       NÏ - GÅÔ ÃÏNÔÅNÔS       AND ZÉÏM      MASK ÏÆÆ ÏÌD SÅÌÅÃÔ ÃÏDÅ       ÉÏÒ ZÉÏSà    ADD ÉN NÅ× SÅÌÅÃÔ ÃÏDÅ       SÔA B¬É       ÒÅSÔÏÒÅ  ÉÔ       ÉSZ ZÉÏAD     MÏVÅ ÔÏ NÅØÔ ADDÒÅSS       ÊMP ZÉÏÌ      DÏ ÉÔ ª  ZÉÏSàNÏP ZÉÏAD NÏP ª  ª  ª  ª        SKP ª         ÃÏNÆÉGUÒAÔÉÏN SÅÃÔÉÏN ª  ZÃÏNÆ ÃÌàÉNÔP¬Ã    ÔUÒN É¯Ï SYSÔÅM ÏÆÆ       ÌÉA S×        GÅÔ SÅÌÅÃÔ ÃÏDÅ AND ÏPÔÉÏNS       SÔA USSà     SAVÅ ÔHÅM       AND Z.··      ÅÌÉMÉNAÔÅ ÏPÔÉÏNS       ÌDB A       ÃMB¬ÉNB       ÃHÅÃK ÔHAÔ Sྠ·       ADB Z.·       SSB           ?       ÊMP ª+3       ÏK GÏ ÏN       HÌÔ ·3B       NÏ       ÊMP ZÃÏNÆ     ÔÒY AGAÉN       ÌDB ÉÏÉP      ÉNÉÔÉAÌÉZÅ ÔÅSÔ É¯Ï       ÊSB ZÉSà       ÉNSÔÒUÃÔÉÏNS       HÌÔ ·´B       AÌÌÏ× ÏPÅÒAÔÏÒ ÔÏ ÃHANGÅ S×ÉÔ       ÊMP ZSÔÅØ     GÏ ÔÏ ÅØÅàÃÏNÔÒÏÌ SÅÃÔÉÏN ª  ª  ª  ª  ª  ª  ª  ª  ª  ª  ª  ª  ª  ª  ª  ª  ª  ª  ª  ª  ª †þú ª  ª        HÅD BASÉàɯϠÔÅSÔS ÃH    ÅÑU ±0B ª  ÔSÔ00 ÅÑU ª       NÏP       ÌDA USSà     GÅÔ ÃÅÌÌ ÌÏÃAÔÉÏN       AND Z.··       ÊSB ZBÉÏ      DÏ BASÉÃ É¯Ï       ÊMP ÔSÔ00¬É ª  ZBÉÏ  NÏP       ÃÌàÉNÔP¬Ã    ÔUÒN ÏÆÆ AÌÌ É¯Ï       ÌDB ZBÉÏD     ÉNÉÔÉAÌÉZÅ BASÉÃ É¯Ï       ÊSB ZÉSà       ÉNSÔÒUÃÔÉÏNS ª  ª         ÉNÔÅÒÒUPÔ ÆÌAG ÃHÅÃK ª  ZBÉϱ SÔÆ ÉNÔP       ÃÌÆ ÉNÔP       SÆÃ ÉNÔP       ÒSS       ÊMP ª+3 Å000  ÊSB ÅÒMS¬É    Å000 ÃÌÆ 0-SÆÃ 0 ÅÒÒÏÒ       DÅÆ ZBÅ00       SÆS ÉNÔP       ÊMP ª+3 Å00±  ÊSB ÅÒMS¬É    Å00± ÃÌÆ 0-SÆS 0 ÅÒÒÏÒ       DÅÆ ZBÅ0±       SÔÆ ÉNÔP       SÆÃ ÉNÔP       ÊMP ª+´       ÃÌÆ ÉNÔP      ÔUÒN ÏÆÆ ÉNÔS Å00²  ÊSB ÅÒMS¬É    Å00² SÔÆ 0-SÆÃ 0 ÅÒÒÏÒ       DÅÆ ZBÅ0²       SÆS ÉNÔP       ÊMP ª+3       ÃÌÆ ÉNÔP      ÔUÒN ÏÆÆ ÉNÔÅÒÒUPÔS       ÊMP ZBÉϲ       ÃÌÆ ÉNÔP      ÔUÒN ÏÆÆ ÉNÔS Å003  ÊSB ÅÒMS¬É    Å003 SÔÆ 0-SÆS 0 ÅÒÒÏÒ       DÅÆ ZBÅ03       ÊMP ZBÉϲ ª  ZBÅ00 ASà±²¬Å000 ÃÌÆ 0-SÆÃ 0 ÅÒÒÏÒ¯ ZBÅ0± ASà±²¬Å00± ÃÌÆ 0-SÆS 0 ÅÒÒÏÒ¯ ZBÅ0² ASà±²¬Å00² SÔÆ 0-SÆÃ 0 ÅÒÒÏÒ¯ ZBÅ03 ASà±²¬Å003 SÔÆ 0-SÆS 0 ÅÒÒÏÒ¯ ª  ª        SKP ª         ÃAÒD ÆÌAG ÃHÅÃK ª  ZBÉϲ ÅÑU ª ZBS²± SÔÆ ÃH ZBS²² ÃÌÆ ÃH ZBS²3 SÆÃ ÃH       ÒSS       ÊMP ª+3 Å005  ÊSB ÅÒMS¬É    Å005 ÃÌÆ ÃH-SÆÃ ÃH ÅÒÒÏÒ       DÅÆ ZBÅ05 ZBS²´ SÆS ÃH       ÊMP ª+3 Å006  ÊSB ÅÒMS¬É    Å006 ÃÌÆ ÃH-SÆS ÃH ÅÒÒÏÒ       DÅÆ ZBÅ06 ZBS²5 SÔÆ ÃH ZBS²6 SÆÃ ÃH       ÊMP ª+3 Å00·  ÊSB ÅÒMS¬É    Å00· SÔÆ ÃH-SÆÃ ÃH ÅÒÒÏÒ       DÅÆ ZBÅ0· ZBS²· SÆS ÃH       ÒSS       ÊMP ZBÉÏ3 Å0±0  ÊSB ÅÒMS¬É    Å0±0 SÔÆ ÃH-SÆS ÃH ÅÒÒÏÒ       DÅÆ ZBű0       ÊMP ZBÉÏ3 ª  ZBÅ05 ASà±3¬Å005 ÃÌÆ ÃH-SÆÃ ÃH ÅÒÒÏÒ¯ ZBÅ06 ASà±3¬Å006 ÃÌÆ ÃH-SÆS ÃH ÅÒÒÏÒ¯ ZBÅ0· ASà±3¬Å00· SÔÆ ÃH-SÆÃ ÃH ÅÒÒÏÒ¯ ZBű0 ASà±3¬Å0±0 SÔÆ ÃH-SÆS ÃH ÅÒÒÏÒ¯ ª  ª  ª  ª  ª  ª  ª  ª  ª  ª  ª  ª  ª  ª  ª  ª  ª  ª  ª        SKP ª         ÉNÔÅÒÒUPÔ ÃÏNÔÒÏÌ ª  ZBÉÏ3 ÊSB ZÔÃÊÉ     SÅÔ ÊSB ÉNSÔÒUÃÔÉÏN       DÅÆ ZB3Å ZBS3± SÔÆ ÃH        SÅÔ ÔHÅ ÆÌAG ZBS3² SÔàÃH        SÅÔ ÔHÅ Îì640ÃÏNÔÒÏÌ       SÔÆ ÉNÔP      ÔUÒN É¯Ï SYSÔÅM ÏN ÔHÅN       ÃÌÆ ÉNÔP      ÔUÒN É¯Ï SYSÔÅM ÏÆÆ       NÏP           GÉVÅ ÉÔ A ÃHANÃÅ ÔÉ ÉNÔÅÒÒUPÔ       NÏP ZBS33 ÃÌÆ ÃH        ÒÅSÅÔ ÃH ÆÌAG       ÊMP ZBÉÏ´ ª  ZBÅ0´ ASà±6¬Å00´ ÃÌÆ 0 DÉD NÏÔ ÉNHÉBÉÔ ÉNÔ¯ ª  ZB3Å  NÏP       ÃÌÆ ÉNÔP      ÔUÒN ÏÆÆ ÉNÔS Å00´  ÊSB ÅÒMS¬É    Å00´       DÅÆ ZBÅ0´ ª  ª  ª  ª  ª  ª  ª  ª  ª  ª  ª  ª  ª  ª  ª  ª  ª  ª  ª  ª  ª  ª  ª  ª        SKP ª         SÅÌÅÃÔ ÃÏDÅ SÃÒÅÅN ÔÅSÔ ª  ZBÉÏ´ ÌDB Z.±0      SÔAÒÔ ×ÉÔH ÌÏ×ÅSÔ ADDÒÅSS ZB´0  ÌDA USSà     GÅÔ SÅÌÅÃÔ ÃÏDÅ       AND Z.·· Œ6ÿÿ ÿý‘ Ÿ ÿ12920-18005 1444 S 0122 02DIAGNOSTIC 12920A/B  ASYNC MUXR CNTRL BD             H0101 ¯šþú       ÃPB A         ÉS ÉÔ ÔHÅ ÃH?       ÊMP Z.ÃÌÆ+±   YÅS - SKÉP ÔÅSÔ       ÌDA Z.SÔÆ     SÅÔ UP       AND ZÉÏM       ÉÏÒ B           SÔÆ ÉNSÔÒUÃÔÉÏN       SÔA Z.SÔÆ     PUÔ ÉÔ ÉN PÌAÃÅ       ÌDA Z.ÃÌÆ     SÅÔ UP       AND ZÉÏM       ÉÏÒ B         ÃÌÆ ÉNSÔÒUÃÔÉÏN       SÔA Z.ÃÌÆ     PUÔ ÉÔ ÉN ÌÉNÅ ZBS´± ÃÌÆ ÃH        ÃÌÅAÒ ÃHANNÅÌ ÆÌAG Z.SÔÆ SÔÆ ÃH        ÅØÅÃUÔÅ SÔÆ ÃH ÉNSÔÒUÃÔÉÏN ZBS´² SÆÃ ÃH        ÔÅSÔ ÃHANNÅÌ ÆÌAG       ÊMP ZB´± Z.ÃÌÆ ÃÌÆ ÃH        ÃÌÅAÒ ÔÅSÔ ÆÌAG       ÃPB Z.··      ÉS ÔÅSÔ ÆÉNÉSHÅD?       ÊMP ZBÉÏ5     YÅS       ÉNB           NÏ       ÊMP ZB´0        DÏ NÅØÔ ÃHANNÅÌ ª  ZBű± ASà±´¬Å0±± SÔÆ  ØØ SÅÔ ÃAÒD ÆÌAG¯¯ ª  ZB´±  SÔB ZBÔMP     SAVÅ NUMBÅÒ       ÌDA B         ÃÏNVÅÒÔ ÃH ÆÏÒ MÅSSAGÅ       ÊSB ZN²AÏ       SÔA ZBű±+5       ÌDA ZBÔMP     ÒÅÔÒÉÅVÅ NUMBÅÒ Å0±±  ÊSB ÅÒMS¬É    Å0±±       DÅÆ ZBű± ª  ª  ª  ª  ª        SKP ª         ÃHÅÃK ÉNÔÅÒÒUPÔ ¦ HÏÌD ÏÆÆ ª  ZBÉÏ5 ÊSB ZÔÃÊÉ       DÅÆ ZBÉ5       ÃÌA           SÅÔ UP       SÔA ZBÆ5        ÆÌAGS       SÔA ZBÉ5        ÆÏÒ ÔÅSÔ       SÔA ZBÔMP ZBS5± SÔàÃH        ÔUÒN ÏN ZBS5² SÔÆ ÃH          ÃAÒD       SÔÆ ÉNÔP      AND ÉNÔÅÒÒUPÔS       SÔà±         ª       SÔÆ ±         ª       ÃÌà±         ª       ÃÌÆ ±         ª  NÏ ÉNÔÅÒÒUPÔ       ÊMP ª+±¬É     ª  SHÏUÌD ÏÃÃUÒÒ       DÅÆ ª+±       ª  HÅÒÅ       ÊSB ª+±¬É     ª       DÅÆ ª+±       ª ZBÆ5  NÏP           ª       ÉSZ ZBÔMP     ÉNÔ. SHÏUÌD BÅ HÅÒÅ       ÉSZ ZBÔMP       ÃÌÆ ÉNÔP      ÔUÒN É¯Ï SYSÔÅM ÏÆÆ       ÌDA ZBÉ5      DÉD ÉÔ ÉNÔÅÒÒUPÔ?       SZA       ÊMP ª+´ Å0±´  ÊSB ÅÒMS¬É    Å0±´ NÏ ÉNÔ       DÅÆ ZBű´       ÊMP ZBÉÏ6     ABÏÒÔ ÒÅSÔ ÏÆ SÅÃÔÉÏN       ÌDA ZBÔMP     ÃHÅÃK ÆÏÒ ÃÏÒÒÅÃÔ ÉNÔÅÒÒUPÔ       ÃPA Z.²       ?       ÊMP ª+3 Å0²6  ÊSB ÅÒMS¬É    Å0²6 ÉNÔ ÅØÅÃUÔÉÏN ÅÒÒÏÒ       DÅÆ ZBŲ6 ZBS53 ÃÌÆ ÃH        ÔUÒN ÏÆÆ ÃH ÆÌAG       ÊMP ZBÉÏ6     GÏ ÔÏ NÅØÔ SÅÃÔÉÏN ª  ZBD5  DÅÆ ZBÆ5-± ZBD5A DÅÆ ZBÆ5+± ª  ZBű² ASà±6¬Å0±² ÉNÔ DUÒÉNG HÏÌD ÏÆÆ ÉNSÔÒ¯ ZBű3 ASà±²¬Å0±|eþú3 SÅÃÏND ÉNÔ ÏÃUÒÒÅD¯ ZBű´ ASà06¬Å0±´ NÏ ÉNÔ¯ ZBű5 ASà±²¬Å0±5 ÉNÔ ÒÔN ADDÒ ÅÒÒÏÒ¯ ZBŲ6 ASà±3¬Å0²6 ÉNÔ ÅØÅÃUÔÉÏN ÅÒÒÏÒ¯ ª  ª  ª  ª        SKP ZBÉ5  NÏP       ÃÌÆ ÉNÔP      ÔUÒN É¯Ï SYSÔÅM ÏÆÆ       ÌDA ZBD5      ÃHÅÃK ÔÏ SÅÅ ÉÆ AÌÌ       ÃPA ZBÆ5          ÉNSÔÒUÃÔÉÏN ÃÏMPÌÅÔÅD       ÊMP ª+3       YÅS Å0±²  ÊSB ÅÒMS¬É    Å0±² ÉNÔ DUÒÉNG HÏÌD ÏÆÆ       DÅÆ ZBű²       ÌDA ZBD5A     ÃHÅÃK ÒÅÔUÒN ADDÒÅSS       ÌDB ÃPÔÏ      ÉÆ ²±0Ø       SSB           ADD ÏNÅ       ÉNA       ÃPA ZBÉ5       ÊMP ZBÉ5A Å0±5  ÊSB ÅÒMS¬É    Å0±5 ÉNÔ ÒÔN ADDÒ ÅÒÒÏÒ       DÅÆ ZBű5       ÊMP ZBÉÏ6 ZBÉ5A ÊSB ZÔÃÊÉ     SÅÔ SÅÃÏND ÉNÔ ÔÒAP       DÅÆ ZBÔ5       SÔÆ ÉNÔP      ÔUÒN É¯Ï SYSÔÅM ÏN       ÊMP ZBÉ5¬É    ÃÏNÔÉNUÅ ÔÅSÔ ª  ª  ZBÔ5  NÏP       ÃÌÆ ÉNÔP      ÔUÒN É¯Ï SYSÔÅM ÏÆÆ Å0±3  ÊSB ÅÒMS¬É    Å0±3 SÅÃÏND ÉNÔ ÏÃUÒÒÅD       DÅÆ ZBű3 ª  ª  ª  ª  ª        SKP ª         ÃÌàÃH AND  ÃÌà0 ª  ZBÉÏ6 ÊSB ZÔÃÊÉ     SÅÔ ÊSB ÉNSÔÒUÃÔÉÏN       DÅÆ ZBÉ6± ZBS6± SÔàÃH        SÅÔ ÃH ÃÏNÔÒÏÌ ZBS6² SÔÆ ÃH        SÅÔ ÃH ÆÌAG       SÔÆ ÉNÔP      ÔUÒN ÏN ÉNÔÅÒÒUPÔS ZBS63 ÃÌàÃH        ÃÌÅAÒ ÃH ÃÏNÔÒÏÌ       NÏP           GÉVÅ ÉÔ A ÃHANÃÅ       NÏP       ÃÌÆ ÉNÔP      ÔUÒN ÉNÔS ÏÆÆ ZB60  ÊSB ZÔÃÊÉ     SÅÔ ÊSB ÉNSÔÒUÃÔÉÏN       DÅÆ ZBÉ6² ZBS6´ ÃÌÆ ÃH        ÃÌÅAÒ ÃH ÆÌAG ZBS65 SÔàÃH        SÅÔ ÃH ÃÏNÔÒÏÌ ZBS66 SÔÆ ÃH        SÅÔ ÃH ÆÌAG       SÔÆ ÉNÔP      ÔUÒN ÏN ÉNÔS       ÃÌàÉNÔP      ÃÌÅAҠɯϠSYSÔÅM       NÏP           GÉVÅ ÉÔ A ÃHANÃÅ       NÏP       ÃÌÆ ÉNÔP      ÔUÒN ÏÆÆ ÉNÔS       ÊMP ZBÉÏ· ª  ª  ZBÉ6± NÏP       ÃÌÆ ÉNÔP      ÔUÒN ÏÆÆ ÉNÔS Å0±6  ÊSB ÅÒMS¬É    Å0±6 ÃÌàÃH ÅÒÒÏÒ       DÅÆ ZBű6       ÊMP ZB60 ª  ZBÉ6² NÏP       ÃÌÆ ÉNÔP      ÔUÒN ÏÆÆ ÉNÔS Å0±·  ÊSB ÅÒMS¬É    Å0±· ÃÌà0 ÅÒÒÏÒ       DÅÆ ZBű·       ÊMP ZBÉÏ· ª  ZBű6 ASà9¬Å0±6 ÃÌàÃH ÅÒÒÏÒ¯ ZBű· ASà9¬Å0±· ÃÌà0 ÅÒÒÏÒ¯ ª  ª  ª  ª  ª        SKP ª         ÅØÔÅÒNAÌ ¦ ÉNÔÅÒNAÌ PÒÅSÅÔ ÔÅSÔ ª  ZBÉÏ· ÌDB ZS¸±²     ÃHÅÃK ÔÏ SUPPÒÅSS       ÊSB S×ÅèþúÒԬɠ   ?       ÊMP H0²5      YÅS - SKÉP PÒÅSÅÔ ÔÅSÔ H0²´  ÊSB MSGìɠ   ÔÅÌÌ ÏPÅÒAÔÏÒ       DÅÆ ZBM²´     PÒÅSS PÒÅSÅÔ ª  ZBS·± ÃÌÆ ÃH        ÃÌÅAÒ ÃH ÆÌAG       SÔÆ ÉNÔP      ÔUÒN ÏN ÉNÔS       ÊSB ZÔÃÊÉ     SÅÔ ÔÒAP ÃÅÌÌ ÊSB ÉNSÔÒUÃÔÉÏN       DÅÆ ZBÉ·0       HÌÔ ²´B       ×AÉÔ ÆÏÒ ÏPÅÒAÔÏÒ       ÃÌA¬ÉNA       SÅÔ UP ÆÌAGS ÆÏÒ ÔÅSÔS       SÆS ÉNÔP      ÃHÅÃK ÉNÔP ÆÌAG       ÃÌA           NÏÔ SÅÔ SÏ ÃÌÅAÒ ÆÌAG       ÒAÌ           MÏVÅ ÔÏ NÅØÔ ÆÌAG       ÃÌÆ ÉNÔP      ÔUÒN ÏÆÆ ÏNÔPS ZBS·² SÆS ÃH        ÃHÅÃK ÃHANNÅÌ ÆÌAG       ÉNA           NÏÔ SÅÔ SÏ ÆÌAG ÉÔ       ÒAÌ           MÏVÅ ÔÏ NÅØÔ ÆÌAG       ÌÉB 0         ÃHÅÃK É¯Ï BUSS       SZB           SHÏUÌD BÅ ZÅÒÏ       ÉNA           NÏÔ SÏ ÆÌAG ÉÔ       ÒAÌ           MÏVÅ ÔÏ NÅØÔ ÆÌAG       SÔÆ ÉNÔP      ÃHÅÃK ÃÏNÔÒÏÌ ÏN ÃAÒD       NÏP           GÉVÅ ÉÔ A ÃHANÃÅ       NÏP       ÃÌÆ ÉNÔP      ÔUÒN ÏÆÆ ÉNÔPS ª  ª  ª  ª  ª  ª  ª  ª  ª  ª  ª  ª  ª  ª  ª  ª  ª  ª  ª  ª  ª  ª  ª        SKP ZB·0  SÌA¬ÒSS       ÃHÅÃK ÆÏÒ ÅÒÒÏÒS       ÊMP ª+3 Å0²²  ÊSB ÅÒMS¬É    Å0²² DÉD NÏÔ ÃÌÅAÒ ÃÏNÔÒÏÌ       DÅÆ ZBŲ²       ÒAÒ       SÌA¬ÒSS       ÊMP ª+3 Å0²3  ÊSB ÅÒMS¬É    Å0²3 É¯Ï ÌÉNÅS NÏÔ ÃÌÅAÒ       DÅÆ ZBŲ3       ÒAÒ       SÌA¬ÒSS       ÊMP ª+3 Å0²0  ÊSB ÅÒMS¬É    Å0²0 ÆÌAG NÏÔ SÅÔ       DÅÆ ZBŲ0       ÒAÒ       SÌA¬ÒSS       ÊMP ª+3 Å0²±  ÊSB ÅÒMS¬É    Å0²± DÉD NÏÔ DÉABÌÅ ÉNÔS       DÅÆ ZBŲ± H0²5  ÊSB MSGìɠ   ÔÅÌÌ ÏPÅÒAÔÏÒ       DÅÆ ZBM²5     BASÉàɯϠÉS ÃÏMPÌÅÔÅ       ÊMP ZBÉϬɠ   ÒÅÔUÒN ÔÏ ÃAÌÌÅÒ ª  ZBÉ·0 NÏP           ÃÏNÔÒÏÌ ÆAÉÌÅD       ÃÌÆ ÉNÔP      ÔUÒN ÏÆÆ ÉNÔPS       ÉNA       ÊMP ZB·0 ª  ZBŲ0 ASà±·¬Å0²0 PÒÅSÅÔ(ÅØÔ© DÉD NÏÔ SÅÔ ÆÌAG¯ ZBŲ± ASà±9¬Å0²± PÒÅSÅÔ(ÉNÔ© DÉD NÏÔ DÉSABÌÅ ÉNÔS¯ ZBŲ² ASà²0¬Å0²² PÒÅSÅÔ(ÅØÔ© DÉD NÏÔ ÃÌÅAÒ ÃÏNÔÒÏ̯ ZBŲ3 ASಱ¬Å0²3 PÒÅSÅÔ(ÅØÔ© DÉD NÏÔ ÃÌÅAÒ É-Ï ÌÉNÅS¯ ZBM²´ ASà±·¬H0²´ PÒÅSS PÒÅSÅÔ (ÅØÔ¦ÉNÔ©¬ÒUN¯ ZBM²5 ASà0¸¬H0²5 BÉ-Ï ÃÏMP¯       SKP ZBÉÏD DÅÆ ª+±       DÅÆ ZBS²±       DÅÆ ZBS²²       DÅ‹5þúÆ ZBS²3       DÅÆ ZBS²´       DÅÆ ZBS²5       DÅÆ ZBS²6       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Åà-± ª  ZÃÅND ÅÑU ª ª  ª  ª  ª  ª  ª  ª  ª  ª  ª  ª  ª  ª  ª  ª  ª  ª  ª  ª  ª  ª  ª  ª  ª  ª        HÅD  ASYNàMUÌÔÉPÌÅØÅÒ ÃÏNÔÒÏÌ BÏAÒD DÉAG ª         ÃÏNÆÉGUÒAÔÏÒ ÌÉNKAGÅ ÔABÌÅ ª        ÏÒG ±00B ª         ÊMP ÃÆGD       GÏ GÅÔ SÅÌÅÃÔ ÔAPÅ AND ÏPÔÉÏNS        ÏÒG ±²6B DSN   ÏÃÔ ±030±±    DÉAGNÏSÔÉàSÅÒÉAÌ NUMBÅÒ ª         ÏÒG ±´0B ÉÏÉP   DÅÆ ÉÏÉD ÔSÔP   DÅÆ ÔSÔD HDMP   DÅÆ HDMS       PÏÉNÔÅÒ ÔÏ HÅADÅÒ MÅSSAGÅ SÔDA   ÏÃÔ ··         SÔANDAÒD ÔÅSÔS SÔDB   ÏÃÔ 0        ÏÒG ±50B       SKP ÉÏÉD   ÅÑU ª        DÅÆ ÃH²3        DÅÆ ÃH²´        DÅÆ ÃH²5        DÅÆ ÃH²6        DÅÆ ÃH²·        DÅÆ ÃH²¸        DÅÆ ÃH²9        DÅÆ ÃH30        DÅÆ ÃH3±        DÅÆ ÃH3²        DÅÆ ÃH33        DÅÆ ÃH3´        DÅÆ ÃH35        DÅÆ ÃH36        DÅÆ ÃH3·        DÅÆ ÃH3¸        DÅÆ ÃH39        DÅÆ ÃH´0        DÅÆ ÃH´±        DÅÆ ÃH´²        DÅÆ ÃH´´        DÅÆ ÃH´5        DÅÆ ÃH´6        DÅÆ ÃH´·        DÅÆ ÃH´¸        DÅÆ ÃH´9        DÅÆ ÃH50        DÅÆ ÃH5±        DÅÆ ÃH5²        DÅÆ ÃH53        DÅÆ ÃH56        DÅÆ DÃH        DÅà-± ÔSÔD  ÅÑU ª       DÅÆ ÔSÔ00       DÅÆ ÔSÔ0±       DÅÆ ÔSÔ0²       DÅÆ ÔSÔ03       DÅÆ ÔSÔ0´       DÅÆ ÔSÔ05       DÅà-±       SPà± ASÃZZ AS౬00 ÃNÔ0  BSS ± ÃNÔ±  BSS ± ÃNÔ²  BSS ± Ã×    BSS ± PÏÒÔ  BSS ± PÏÒÔB BSS ± PÏÒÔ± BSS ± PÏÒÔ² BSS ± ÃVÔ±  BSS ± ÃVÔ²  BSS ± ÃVÔ3  BSS ± SAVÅA BSS ±        ÔÅMP SÔÏÒAGÅ ÏÆ A-ÒÅG SAVÅB BSS ±        ÔÅMP SÔÏÒAGÅ ÏÆ B-ÒÅG ÔÅMP5 BSS ±       SPà± BÔ´   ÏÃÔ ²0 MM±   DÅà-± MM²   DÅà-² MM¸   DÅà-¸ MM±0  DÅà-±0 MM±5  DÅà-±=¾þú5 MM±²  DÅà-±² MM±00 DÅà-±00 M±000 DÅà-±000 D·    DÅà· D±0   DÅà±0 D±00  DÅà±00 D±000 DÅà±000       SPà± SÔÃHÉ DÅÆ SÔÃH M²·A  DÅÆ M²·+²± M30A  DÅÆ M30+±3 M30B  DÅÆ M30+²0 M3±A  DÅÆ M3±+±3 M3±B  DÅÆ M3±+²0 M3²A  DÅÆ M3²+±0 M3²B  DÅÆ M3²+±5 M3²Ã  DÅÆ M3²+±´ M3²D  DÅÆ M3²+±3 M3²Å  DÅÆ M3²+²´ M3²Æ  DÅÆ M3²+²3 M3²G  DÅÆ M3²+²² M33A  DÅÆ M33+±¸ M33B  DÅÆ M33+±0 M´0A  DÅÆ M´0+²± M´0B  DÅÆ M´0+30       SPà± NÏÔÔP NÏP MPØÃH NÏP DÃH   NÏP       SPà± A±0   ÏÃÔ ±0 A±·   ÏÃÔ ±· A00·· ÏÃÔ ·· BÔ·   ÏÃÔ ²00 BÉÔ¸  ÏÃÔ ´00 BÔ9   ÏÃÔ ±000 BÔ±0  ÏÃÔ ²000 B3´0· ÏÃÔ 003´0· BÔ±±  ÏÃÔ ´000 UNÔ±5 ÏÃÔ 036000 BÔ±5  ÏÃÔ ±00000 P··00 ÏÃÔ ±···00 Ãײ   ÏÃÔ ±´0000 Ã×3   ÏÃÔ 0´0300 Ã×´   ÏÃÔ 0´0±60 Ã×5   ÏÃÔ 0´0²60 Ã×6   ÏÃÔ 0´0360 Ã×·   ÏÃÔ 0´0305 Ã׸   ÏÃÔ 0´03±² Ã×9   ÏÃÔ 0´03±· ÔABP  BSS ± ÔAB   DÅÆ ª+±       ÏÃÔ 0´03··       ÏÃÔ ±´00±·       ÏÃÔ 0´0300       ÏÃÔ ±´0000       ÏÃÔ 0´035²       ÏÃÔ ±´00±²       ÏÃÔ 0´03²5       ÏÃÔ ±´0005       ÏÃÔ 0´03·´       ÏÃÔ ±´±´±·       ÏÃÔ 0´03±·       ÏÃÔ ±´±´±´       ÏÃÔ 0´03±3       ÏÃÔ ±´±0±0       ÏÃÔ 0´030·       ÏÃÔ ±´0´0´       ÏÃÔ 0´0±··       ÏÃÔ ±´±0±5       ÏÃÔ 0´0²··       ÏÃÔ ±´0´±6       ÏÃÔ 0003·´       ÏÃÔ ±´0000       ÏÃÔ 0003±·       ÏÃÔ ±´0000       HÅD MPØ ÃHANNÅÌ ÃÏNÆÉGUÒAÔÉÏN ±²9²² MPØ ÃÏNÔÒÏÌ ª  ÔHÉS ÒÏUÔÉNÅ ÃÏNÆÉGUÒÅS ÔHÅ DÅVÉÃÅ ÃHANNÅÌS ÔÏ BÅ ª  ÔÅSÔÅD. ÔHÅ Ô×Ï ÃHANNÅÌ NUMBÅÒS AÒÅ ÅNÔÅÒÅD ÉNÔÏ ª  BÉÔS 6-9 AND ±²-±5. ÔHÅ NUMBÅÒS ÅNÔÅÒÅD MUSÔ BÅ ÉN ª  ÏÃÔAÌ AND ÔHÅ ÔÅSÔ ÃABÌÅ MUSÔ BÅ ÃÏNNÅÃÔÅD ÔÏ ÔHÅ ª  SAMÅ ÃHANNÅÌS SPÅÃÉÆÉÅD. ÔHÅ ÏPÅÒAÔÏÒ MAY ÏBÔAÉN ª  SÅVÅN (·© ADDÉÔÉÏNAÌ ÔÅSÔ ÃÏNNÅÃÔÏÒS AND SÅÔ ª  S×ÉÔÃH ÒÅGÉSÔÅÒ BÉÔ ±± DUÒÒÉNG ÔHÅ ÃÏNÆÉGUÒAÔÉÏN ª  ÏÆ ÔHÅ DÅVÉÃÅ ÃHANNÅÌ. ÔHÅ PÒÏGÒAM ×ÉÌÌ ÔÅSÔ AÌÌ ª  ±6 ÃHANNÅÌS ÉN SÅÑUÅNÃÅ (ÃH0 - ÃH±5©.       SPà± ÃÆGD  NÏP ÃÆS×  ÌÉA ±       AÌÆ¬AÌÆ       ÒA̬ÒAÌ       SÔA MPØÃH    SÔÏÒÅ ÃHANNÅÌ NUMBÅÒS       ÊSB SÔÃHɬɠ   SÅÔ UP PÏÒÔ NUMBÅÒSP       ÌDA PÏÒÔ±    ÔÅSÔ PÏÒÔ±       ÌDB PÏÒÔ²      AND PÏÒöþúÔ²       ÃPA B            SHÏUÌD NÏÔ BÅ ÅÑUAÌ       ÒSS       ÊMP ÃÆÉG¬É       SZA¬ÒSS       ÊMP ÃAUÔÏ H·²   HÌÔ ·²B       ÊMP ÃÆS×      ÅNÔÅÒ NÅ× ÃHANNÅÌ NUMBÅÒ       SPಠ      SPà± ÃAUÔÏ SÔA PÏÒÔ±       ADA BÔ±0       SÔA PÏÒÔ²       ÌDA MPØÃH     SÅÔ AUÔÏ - AÌÌ ±6       ÉÏÒ BÔ´       SÔA MPØÃH       ÊMP ÃÆÉG¬É       SPà±       SPಠÔ0ÏÒG ÅÑU ª       ÏÒG H0²5       ÊSB ÔSÔ.0       NÏP       ÏÒG Ô0ÏÒG       SPಠÔSÔ.0 NÏP           ÒÅÔUÒN ADDÒÅSS       ÌDB S׸±²       ÊSB S×ÒÔ¬É       ÒSS       ÊSB PÃSÔ      ÅØÅÃUÔÅ PÒÅSÅÔ ÔÅSÔ       ÊSB MSGÃ¬É       DÅÆ ZBM²5       ÊMP ÔSÔ.0¬É S׸±² ÏÃÔ ±0´00       HÅD AÒÔ - ADDÒÅSS ÒÅGÉSÔÅÒ ÔÅSÔ ±²9²² ASYNàMPØ ÃÏNÔÒÏÌ DÉAG ª AÒÔ - ADDÒÅSS ÒÅGÉSÔÅÒ ÔÅSÔ       SPà± ª ÔHÅ ADDÒÅSS ÒÅGÉSÔÅÒ ÔÅSÔ SÅNDS AN ADDÒÅSS ª   ÔÏ ÔHÅ ÉNÔÅÒÆAÃÅ BÏAÒD ÔHÅN ÒÅADS BAÃK ª   ÔHÅ ADDÒÅSS ÆÏÒ VÅÒÉÆÉÃAÔÉÏN.  ÔHÉS ÃHÅÃK ª   ÉS MADÅ ÆÏÒ AÌÌ ±6 ADDÒÅSSÅS.  AÌSÏ ÔHÅ ª   ADDÒÅSS ÒÅGÉSÔÅÒ ÉS SÅÔ ÔÏ ZÅÒÏ AND ÔHÅN ª   ÉNÃÒÅMÅNÔÅD ÔHÒÏUGH AÌÌ ±6 ADDÒÅSSÅS BY ª   ÅØÃUÔÉNG ÌÉA ÉNSÔÒUÃÔÉÏNS.  AÆÔÅÒ ÅAÃH ª   ÌÉA ÔHÅ ADDÒÅSS ÉS VÅÒÉÆÉÅD.       SPà± ÔSÔ0± ÅÑU ª AÒÔ   NÏP       ÃÌA       SÔA SAVÅB      PÏÒÔ       ÌDA Ã×3      GÅÔ Ã× AÒÔ±  SÔA Ã×       SÔÏÒÅ Ã× ×ÉÔH PÏÒÔ NUM ÃH35  ÏÔA ÃH       SÅND Ã× ÔÏ BÏAÒD ÃH36  ÌÉA ÃH       ÒÅAD PÏÒÔ ADDÒÅSS       AND UNÔ±5    MASK ÏÆÆ PÏÒÔ NUM       SÔA SAVÅA    SAVÅ ÆÏÒ MÅSSAGÅ       ÃPA SAVÅB    ÃÏMPAÒÅ PÏÒÔ NUM       ÒSS          ÃH ADDÒ ÏK       ÊSB ÅÒÒB      Å030 PÏÒÔ ADDÒ ÉS Ø S¯B Y       ÌDA Ã×       GÅÔ Ã× ×ÉÔH ÏÌD PÏÒÔ NUM       AND UNÔ±5    MASK ÏÆÆ PÏÒÔ NUM       ÃPA UNÔ±5    ÌASÔ PÏÒÔ NUM?       ÊMP AÒÔ²     YÅS       ADA BÔ±0     ADD ± ÔÏ PÏÒÔ NUM       AND UNÔ±5    MASK ÏÆÆ ÃAÒÒY       SÔA SAVÅB    SÔÏÒÅ PÏÒÔ NUM ÆÏÒ ÅØPÅÃÔÅD PÏÒÔ       ÉÏÒ Ã×3      ADD Ã× ÔÏ PÏÒÔ NUM       ÊMP AÒÔ±     ÌÏÏP ÆÏÒ NÅØÔ PÏÒÔ       SPà± AÒÔ²  ÃÌA          ÆÉÒSÔ       SÔA SAVÅB      PÏÒÔ ÃH3·  ÏÔA ÃH       SÅND PÏÒÔ NUM ÔÏ BD ÃH3¸  ÌÉA ÃH       ÒÅAD PÏ8Õ*($ÒÔ ADDÒ       AND UNÔ±5    MASK ÏÆÆ PÏÒÔ NUM       SÔA SAVÅA    SÔÏÒÅ ÆÏÒ MÅSSAGÅ       ÃPA SAVÅB    ÃÏMPAÒÅ PÏÒÔ NUM       ÒSS          ÏK       ÊSB ÅÒÒà     Å03± PÏÒÔ ADDÒ ÉS Ø S¯B Y       ÌDA SAVÅB    GÅÔ ÏÌD PÏÒÔ NUM       ÃPA UNÔ±5    ÌASÔ PÏÒÔ NUM?       ÊMP AÒÔ3       NÏ       ADA BÔ±0     ADD ± ÔÏ PÏÒÔ NUM       AND UNÔ±5    MASK ÏÆÆ ÃAÒÒY       SÔA SAVÅB    SÔÏÒÅ NÅ× PÏÒÔ NUM       ÊMP ÃH3¸     ÌÏÏP AÒÔ3  ÊMP AÒÔ¬É       HÅD ÃSÔ - ±²9²² ASYNàMPØ ÃÏNÔÒÏÌ DÉAG ª ÃSÔ - ÃÏMMAND ¦ SÔAÔUS ÔÅSÔ       SPà± ª ÔHÉS PÒÏGÒAM SÅNDS ÃÏMMAND ×ÏÒDS ÔÏ ÔHÅ ÃÏMMAND ª   ÒÅGÉSÔÅÒ. ÔHÅ ÃÏMMAND ÒÅGÉSÔÅÒ ÏUÔPUÔS AÒÅ ª   ÃÏNNÅÃÔÅD ÔÏ ÔHŠűA ÌÉNÅ DÒÉVÅÒS. ÔHÅ ÔÅSÔ ª   ÃABÌÅ ÒÏUÔÅS ÔHÅ SÉGNAÌS ÔÏ ÔHÅ ÅÉA ÌÉNÅ ª   ÒÅÃÅÉVÅÒS. ÔHÅ ÌÉNÅ ÒÅÃÅÉVÅÒ ÉNPUÔS AÒÅ ÒÏUÔÅD ª   ÔHÒÏUGH ÔHÅ MUÌÔÉPÌÅØÅÒ ÉNÔÏ ÔHÅ ÉÏBÉ BUS. ª   ÔHÅ ÉNPUÔ SÔAÔUS ÉS ÃHÅÃKÅD AGAÉNSÔ ÔHÅ ª   ÅØPÅÃÔÅD SÔAÔUS.       SPà± ÔSÔ0² ÅÑU ª ÃSÔ   NÏP       ÊSB SÔÃH       SÅÔ UP PÏÒÔ NUM      ÊSB ÃÌÅAÒ      ÃÌÅAÒ MPØ ÃÏNÔÒÏÌ       ÌDA MM¸      NUMBÅÒ ÏÆ       SÔA ÃNÔ²       PAÉÒS ÆÏÒ AÌ̱6 ÃSÔ·  ÌDA ÔAB      ÆÉÒSÔ ÌÏÃAÔÉÏN ÏÆ Ã× ÔABÌÅ AND       SÔA ÔABP       SÔÏÒÅ ÉN ÔABÌÅ PÏÉNÔÅÒ       ÌDA MM±²       SÔA ÃNÔ±       ÃÏNÔÒÏÌ ×ÏÒD ÉN ÔABÌÅ ÃSÔ3  ÌDA PÏÒÔ±    GÅÔ ÆÉÒSÔ PÏÒÔ NUM       SÔA PÏÒÔ     SÔÏÒÅ PÏÒÔ NUM ÆÏÒ MÅSSAGÅ       SPà±       ÌDA Ã×3      SÅÔ ÃÏMMANDS AND SÔAÔUS       ÉÏÒ PÏÒÔ±      ÔÏ ÃH²9  ÏÔA ÃH         ZÅÒÏ       ÌDA Ã×3          ÏN       ÉÏÒ PÏÒÔ²           BÏÔH ÃH30  ÏÔA ÃH                PÏÒÔ       ÌDA ÔABP¬É   GÅÔ ÃÏNÔÒÏÌ ×ÏÒD       ÉÏÒ PÏÒÔ±    SÅND ÔHÅ ÃÏNÔÒÏÌ ×ÏÒD ÃH²5  ÏÔA ÃH         ÔÏ ÔHÅ       ÌDA ÔABP¬É       SÅÌÅÃÔÅD       ÉÏÒ PÏÒÔ²         PÏÒÔ ÃH²6  ÏÔA ÃH              NUMBÅÒS m˜*ÿÿ ÿý’ ž ÿ12920-18006 1444 S 0122 03DIAGNOSTIC 12920A/B  ASYNC MUXR CNTRL BD             H0101 °›þú       ÉSZ ÔABP     MÏVÅ ÔABÌÅ ÔÏ ÅØPÅÃÔÅD DAÔA       ÌDA PÏÒÔ     SÅÔ PÏÒÔ ADDÒÅSS ÃH²¸  ÏÔA ÃH       ÏUÔPUÔ ADDÒÅSS ÔÏ BÏAÒD       ÌDA ÔABP¬É   GÅÔ ÅØPÅÃÔÅD DAÔA ÆÒÏM ÔABÌÅ       ÉÏÒ PÏÒÔ     ADD PÏÒÔ NUM ÔÏ ÅØPÅÃÔÅD DAÔA       SÔA SAVÅA    SAVÅ ÆÏÒ MÅSSAGÅ       ÌDB P··00       ÉNB¬SZB       ÌÉNÅ ÔÒANSMÉÔÔÅÒ       ÊMP ª-±        ¦ ÌÉNÅ ÒÅÃÅÉVÅÒ ÃH²·  ÌÉB ÃH       ÒÅAD PÏÒÔ       SÔB SAVÅB    SAVÅ ÆÏÒ MÅSSAGÅ       ÃPB A        ÃÏMPAÒÅ AÃÔUAÌ ×ÉÔH ÅØPÅÃÔÅD       ÒSS          DAÔA ÏK       ÊSB ÅÒÒD     Å3² SÔAÔUS ÏN PÏÒÔ Ø ×AS Ø S¯B Y       ÌDA PÏÒÔ     ÆÉNÉSHÅD ×ÉÔH       ÃPA PÏÒÔ²      SÅÃÏND PÏÒÔ?       ÊMP ÃSÔ²     NÅØÔ ×ÏÒD ÉN ÔABÌÅ       ÌDA PÏÒÔ²    SÅÃÏND PÏÒÔ       SÔA PÏÒÔ     SAVÅ ²ND PÏÒÔ NUM ÔÏ BÅ ÔÅSÔÅD       ÊMP ÃH²¸     ÃHÅÃK SÅÃÏND PÏÒÔ NUM ÃSÔ²  ÉSZ ÃNÔ±     ÉNÃÒ ÔABÌÅ ÃÏUNÔÅÒ       ÒSS       ÊMP ÃSÔ´     Ã× ÔABÌÅ ÃÏMPÌÅÔÅD       ÉSZ ÔABP     NÅØÔ SÅND ÃÏNÔÒÏÌ ×ÏÒD       ÊMP ÃSÔ3     ÒÅÃYÃÌÅ ÔÅSÔ ÆÏÒ NÅØÔ ÃÏNÔÒÏÌ ×D ÃSÔ´  ÌDA MPØÃH    AÌ̱6 PÏÒÔ ÏÒ ² PÏÒÔ ÏNÌY?       AND BÔ´       MASK ÆÏÒ AUÔÏ       SZA¬ÒSS       ÉÆ ½ ± ÔHÅN AÌÌ ±6       ÊMP ÃSԬɠ    ÒÅÔUÒN       ÉSZ ÃNÔ²     AÌÌ ±6 ÃÏMPÌÅÔÅD?       ÒSS       ÊMP ÃSԬɠ    ÒÅÔUÒN       ÊSB AÌ̱6    SÅÔ PÏÒÔ NUM UP ÆÏÒ NÅØÔ PAÉÒ       ÊMP ÃSÔ·     ÌÏÏP ÏN ÔÅSÔ       HÅD ÃÏMMAND ÒÅGÉSÔÅÒ ADDÒÅSSÉNG ÔÅSÔ ±²9²² ASYNàMPØ ÃÏNÔÒÏÌ ª  ÃÒAÔ- ÃÏMMAND ÒÅGÉSÔÅÒ ADDÒÅSSÉNG ÔÅSÔ       SPà± ª ÔHÉS PÒÏGÒAM ÃHÅÃKS ÆÏÒ PÒÏPÅÒ ADDÒÅSSÉNG ª   ÔÏ ÔHÅ ÃÏMMAND ÒÅGÉSÔÅÒS AND ÃHÅÃKS ÆÏÒ AN ª   ADDÒÅSS BÅÉNG MAPPÅD ÔÏ MÏÒÅ ÔHÅN ÏNÅ ADDÒÅSS ª   AÔ A ÔÉMÅ.       SPà± ÔSÔ03 ÅÑU ª ÃÒAÔ  NÏP ÃÒA   ÊSB SÔÃH     ÒÅSÅÔ PÏÒÔ NUMBÅÒS       ÊSB ÃÌÅAÒ    ÃÌÅAÒ MPØ ÃÏNÔÒÏÌ       ÌDA MM¸      -¸ NUMBÅÒ ÏÆ       SÔA ÃNÔ0       PAÉÒS ÆÏÒ AÌ̱6 ÃÒA5  ÌDA PÏÒÔ²    SÅÔ UP ÆÏÒ       SÔA PÏÒÔB      ÒÅVÅÒSÉNG PÏÒÔ NUM       ÌDA PÏÒÔ±    GÅÔ ÆÉÒSÔ PÏÒÔ NUM ÃÒA±  SÔA PÏÒÔ     SÔÏÒÅ PÏÒÔ NUM       ÉÏÒ Ãײ      ADD ÅØPÅÃÔÅD DAÔA ÔÏ PÏÒÔ NUM       SÔA SAVÅA    SÔÏÒÅ ÅØPÅÃÔÅD DAÔA       ÌDA PÏÒÔ     G /þúÅÔ PÏÒÔ NUM       SÔA SAVÅB     ÉNÉÔÉAÌÉZÅ       ÉÏÒ Ã×´        ADD ÃÏNÔÒÏÌ ×ÏÒD ÃÒA·  SÔA Ã×       SÔÏÒÅ ÃÏNÔÒÏÌ ×ÏÒD       ÌDA MM±5     ÏUÔPUÔ ÔÏ       SÔA ÃNÔ±       ±5 PÏÒÔ       ÌDA Ã×       GÅÔ ÃÏNÔÒÏÌ ¦ PÏÒÔ NUM ÃH3±  ÏÔA ÃH       SÅND Ã×       ÌDA PÏÒÔ     SÅÔ ÒÅàPÏÒÔ ÃH3²  ÏÔA ÃH         NUM ÉNÔÏ BÏAÒD ÃH33  ÌÉB ÃH       ÒÅAD DAÔA       ÃPB SAVÅA    ÃÏMPAÒÅ ×ÉÔH ÅØPÅÃÔÅD DAÔA       ÊMP ÃÒA¸     DAÔA ÏK       ÊSB ÅÒÒÅ      Å033 ÏÔP ÏN PÏÒÔ Ø ÃHANGÅS PÏÒÔ Y       ÌDA Ã×3      ÉÆ PÏÒÔ ×AS AÌÔÅÒÅD       ÉÏÒ PÏÒÔ      ÒÅSÅÔ ÃH3´  ÏÔA ÃH           ÔÏ ZÅÒÏ ÃÒA¸  ÌDA Ã×       GÅÔ ÏÌD ÃÏNÔÒÏÌ ×ÏÒD       AND UNÔ±5    MASK ÏÆ PÏÒÔ NUM ÃÒA²  ADA BÔ±0     ADD ± ÔÏ PÏÒÔ NUM       AND UNÔ±5    MASK ÏÆ PÏÒÔ - ÉNHÉBÉÔ ÃAÒÒY       ÃPA PÏÒÔB    ÉNÃÒ ÉÆ BÏÔH       ÊMP ÃÒA²       PÏÒÔ NUM ÅÑUAÌ       SÔA SAVÅB    SÔÏÒÅ NÅ× PÏÒÔ NUM       ÌDA Ã×       GÅÔ Ã× ×ÉÔH ÏÌD PÏÒÔ NUM       AND Ã×6      ÅØÔÒAÃÔ ÏÌD PÏÒÔ NUM       ÉÏÒ SAVÅB    ADD NÅ× PÏÒÔ NUM       SÔA Ã×       SÔÏÒÅ Ã×       ÉSZ ÃNÔ±     DAÔA BÅÅN ÏUÔPUÔ ÔÏ AÌÌ ±5 PÏÒÔ       ÊMP ÃH3±     NÏ ÌÏÏP       ÌDA Ã×       GÅÔ ÏÌD ÃÏNÔÒÏÌ ×ÏÒD       AND BÔ·      MASK ÏÆÆ BÉÔ ·       SZA          ÉÆ ÏNÅ       ÊMP ÃÒA9       SÅÃÏND PÏÒÔ NUM ÃÏMPÌÅÔÅD       ÌDA Ã×5      GÅÔ NÅ× Ã×       ÉÏÒ SAVÅB     ADD PÏÒÔ NÏ ÔÏ Ã×       ÊMP ÃÒA·     ÒÅÃYÃÌÅ ÔÅSÔ ×ÉÔH NÅ× Ã× ÃÒA9  ÊSB ÃÌÅAÒ    ÃÌÅAÒ MPØ ÃÏNÔÒÏÌ       ÌDA PÏÒÔ     ÔÅSÔ ÆÏÒ       ÃPA PÏÒÔ²      SÅÃÏND PÏÒÔ NUM       ÊMP ÃÒA3     ÅND ÏÆ PAÉÒ       SÔA PÏÒÔB    ÒÅVÅÒSÅ PÏÒÔ±       ÌDA PÏÒÔ²      AND PÏÒÔ² ÉN ÔÅSÔ       ÊMP ÃÒA±     ÒÅÃYÃÌÅ ÔÅSÔ ÃÒA3  ÌDA MPØÃH    ÔÅSÔ ÆÏÒ AÌÌ ±6 PÏÒÔ       AND BÔ´         ÏÒ ² PÏÒÔ MÏDÅ       SZA¬ÒSS       ÊMP ÃÒA´     ² PÏÒÔ MÏDÅ       ÉSZ ÃNÔ0     AÌÌ ±6 ÃÏMPÌÅÔÅD?       ÒSS          NÏ       ÊMP ÃÒA´     YÅS       ÊSB AÌ̱6    SÅÔ PÏÒÔ NUMS UP ÆÏÒ NÅØÔ PAÉÒ       ÊMP ÃÒA5     ÌÏÏP ÏN ÔÅSÔ ×ÉÔH NÅØÔ PAÉÒ ÃÒA´  NÏP       ÊMP ÃÒAÔ¬É       HÅD SÉÔ - ±²9²² ASYNàMPØ ÃÏNÔÒÏÌ DÉAGNÏSÔÉà ª SÉÔ - SÔAÔUS ÉNÔÅÒÙ‡þúÒUPÔ ÔÅSÔ       SPà± ª ÔHÉS PÒÏGÒAM ÔÅSÔ ÔHÅ ABÉÌÉÔY ÔÏ SÅÔ ÔHÅ ÆÌAG ×HÅN ª    ÉNPUÔ SÔAÔUS DÏÅS NÏÔ ÃÏMPAÒÅ ×ÉÔH ª    SÔÏÒÅD SÔAÔUS.       SPà± ÔSÔ0´ ÅÑU ª SÉÔ   NÏP       ÊSB SÔÃH        SÅÔ UP GH NUM       ÊSB ÃÌÅAÒ    ÃÌÅAÒ MPØ ÃÏNÔÒÏÌ ÃH39  ÃÌÆ ÃH       ÃÌÅAҠɯϠÆÌAG ÃH´0  SÆS ÃH       ABÏÒÔ ÉÆ ÆÌAG SÅÔ       ÒSS          ÏK       ÊMP Å36-±     ÆÌAG SÅÔ       ÌDA PÏÒÔ²    GÅÔ PÏÒÔ NUM       ÉÏÒ  Ã×·     ADD Ã× ÃH´±  ÏÔA ÃH       SÅND Ã× ×ÉÔH PÏÒÔ NUM       NÏP          DÅÌAY ÃH´²  SÆS ÃH       ÆÌAG S¯B SÅÔ       ÒSS             SÔAÔUS £± ÆAÉÌÅD ÔÏ ÉNÔÅÒUPÔ       ÊMP ÃH53-±       ÊSB ÅÒMS¬É Å3´   DÅÆ M3´       ÊSB ÃÌÅAÒ    ÃÌÅAÒ MPØ ÃÏNÔÒÏÌ ÃH53  ÃÌÆ ÃH       ÃÌÅAҠɯϠÆÌAG       NÏP          DÅÌAY ÃH´´  SÆÃ ÃH       N™ ÆÌAG S¯B ÃÌÅAÒ       ÒSS          ÅÒÒÏÒ       ÊMP SÉÔ±     ÏK       ÊSB ÅÒMS¬É      ÒÅPÏÒÔ ÅÒÒÏÒ Å36   DÅÆ M36       ÊSB ÃÌÅAÒ    ÃÌÅAÒ MPØ ÃÏNÔÒÏÌ       ÊMP SÉÔ¬É SÉÔ±  ÌDA PÏÒÔ²    GÅÔ PÏÒÔ NUM       ÉÏÒ Ã׸      ADD Ã× ÃH´5  ÏÔA ÃH       SÅND Ã× ×ÉÔH PÏÒÔ NUM       NÏP          DÅÌAY ÃH´6  SÆS ÃH       ÆÌAG S¯B SÅÔ       ÊMP SÉÔ²       ÊSB ÃÌÅAÒ    ÃÌÅAÒ MPØ ÃÏNÔÒÏÌ       ÊMP SÉÔ¬É SÉÔ²  ÊSB ÅÒMS¬É      SÔAÔUS £² ÆAÉÌÅD ÔÏ ÉNÔÅÒUPÔ Å35   DÅÆ M35       ÊSB ÃÌÅAÒ    ÃÌÅAÒ MPØ ÃÏNÔÒÏÌ       ÊMP SÉÔ¬É       HÅD SÃAN ÔÅSÔ- ±²9²² ASYNàMPØ ÃÏNÔÒÏÌ DÉAGNÏSÔÉà ª SÃAN ÔÅSÔ       SPà± ª SÃAN ÔÅSÔ SÅÔS UP A PÏÒÔ ×ÉÔH A ÃÏNÔÒÏÌ ×ÏÒD ª   SUÃH ÔHAÔ AN ÉNÔÅÒÒUPÔ ×ÉÌÌ ÏÃÃUÒ ×HÅN ÔHÅ ª   ADDÒÅSS ÒÅGÉSÔÅÒ ÒÅAÃHÅS ÔHAÔ PÏÒÔ NUMBÅÒ. ª   ÔHÅN ÔHÅ ADDÒÅSS ÒÅGÉSÔÅÒ ÉS SÅÔ ÅÑUAÌ ÔÏ ÔHÅ ª   PÏÒÔ NUMBÅÒ MÉNUS ÏNÅ. ÔHŠɯϠÆÌAG ÃÌÅAÒÅD ª   AND ÔHÅ ÉNÔÅÒÆAÃÅ BÏAÒD ÉS SÅÔ ÉN ÔHÅ SÃAN MÏDÅ. ª   ÔHÅ NÅØÔ ÅNÆ SÉGNAÌ ÆÒÏM ÔHÅ ÃÏMPUÔÅÒ SHÏUÌD ª   ÉNÃÒÅMÅNÔ ÔHÅ ADDÒÅSS ÒÅGÉSÔÅÒ ÔÏ ÔHÅ PÏÒÔ ª   ×HÅÒÅ ÔHÅ ÉNÔÅÒÒUPÔ ×ÉÌÌ ÏÃÃUÒÅ. ÔHÉS SÅÔS ÔHÅ ª   É¯Ï ÆÌAG AND SÔÏPS ÔHÅ ADDÒÅSS ÒÅGÉSÔÅÒ ÆÒÏM ª   ÉNÃÒÅMÅNÔÉNG. ÔHÅ ÆÌAG ÉS ÃHÅÃKÅD ÆÏÒ A ÏNÅ ª   AND ÔHÅ ADDÒÅSS ÉS VÅÒÉÆÉÅD.       SPà± ÔSÔ05 ÅÑU ª SÃAN  NÏP       ÊSB SÔÃH      ç²þú  SÅÔ UP PÏÒÔ NUM       ÊSB ÃÌÅAÒ    ÃÌÅAÒ MPØ ÃÏNÔÒÏÌ       ÌDA PÏÒÔ²    GÅÔ PÏÒÔ NUM       ÉÏÒ Ã×9      ADD Ã× ÔÏ ÃAUSŠɯϠÆÌAG ÔÏ SÅÔ ÃH´·  ÏÔA ÃH       SÅND Ã×       ÌDA PÏÒÔ²    GÅÔ PÏÒÔ AND       ADA UNÔ±5      SUBÔÒAÃÔ ÏNÅ       AND UNÔ±5    MASK ÏÆÆ ÃAÒÒY ÃH´¸  ÏÔA ÃH       SÅND PÏÒÔ NUM -± ÃH´9  ÃÌÆ ÃH       ÃÌÅAҠɯϠÆÌAG       ÉÏÒ BÔ±5     ÔUÒN ÏN ÃH50  ÏÔA ÃH         SÃAN ÆÌÏP       NÏP          DÅÌAY ÃH5±  SÆS ÃH       É¯Ï ÆÌAG SHÏUÌD SÅÔ       ÒSS             SÃAN ÔÅSÔ ÆAÉÌÅD       ÊMP ÃH5²       ÊSB ÅÒMS¬É Å3·   DÅÆ M3· ÃH5²  ÌÉA ÃH       AND UNÔ±5    MASK ÏÆÆ PÏÒÔ NUM       SÔA SAVÅA    SAVÅ PÏÒÔ NUM       ÃPA PÏÒÔ²       ÒSS       ÊSB ÅÒÒÆ      Å0´0 ÉNÔP ÒÅàÏN PÏÒÔ Ø S¯B Y       ÊSB ÃÌÅAÒ    ÃÌÅAÒ MPØ ÃÏNÔÒÏÌ       ÊMP SÃAN¬É       HÅD  ÃÏMMÏN SUBÒÔNS ±²9²² ASYNàMPØ ÃÏNÔÒÏÌ       SPà± SÔÃH  NÏP          SÅÔ UP PÏÒÔ ± ¦ ²       ÌDA MPØÃH    GÅÔ PÏÒÔ NUMBÅÒS       AND BÔ´       ÉSÏÌAÔÅ AUÔÏ BÉÔ       SZA           ÔÅSÔ ÆÏÒ ² ÃH'S ÏÒ AÌÌ ±6?       ÊMP A̱6     YÅS¬ AÌÌ ±6       ÌDA MPØÃH       AND A±·      NϬ ² ÏNÌY       AÌÆ¬AÌÆ       ÒA̬ÒAÌ       SÔA PÏÒÔ±     SÔÏÒÅ PÏÒÔ± NÏ       ÌDA MPØÃH    GÅÔ SÅÃÏND PÏÒÔ NUMBÅÒ       AÌÆ¬AÌÆ       PÏSÉÔÉÏN SÅÃÏND PÏÒÔ NÏ       ÒA̬ÒAÌ       AND A±·      PÒÅPAÒÅ PÏÒÔ NUM       AÌÆ¬AÌÆ       ÒA̬ÒAÌ       SÔA PÏÒÔ²     SAVÅ SÅÃÏND PÏÒÔ NÏ       ÊMP SÔÃH¬É   ÒÅÔUÒN A̱6  ÃÌA          ÃÏNÆÉGUÒÅ PÏÒÔ NUMBÅÒ ÆÏÒ AÌÌ ±6       SÔA PÏÒÔ±    ÆÉÒSÔ PÏÒÔ NUMBÅÒ       ADA BÔ±0       SÔA PÏÒÔ²    SÅÃÏND PÏÒÔ NUMBÅÒ       ÊMP SÔÃH¬É   ÒÅÔUÒN       SPà±       SPà±       SPà±       SPà± AÌ̱6 NÏP          SÅÔ UP PÏÒÔ NUM ÆÏÒ NÅØÔ PAÉÒ       ÌDA PÏÒÔ±    ÉNÃÒÅMÅNÔ       ADA BÔ±0       PÏÒÔ±       ADA BÔ±0         BY       AND UNÔ±5    MASK ÏÆÆ ÃAÒÒY       SÔA PÏÒÔ±         Ô×Ï       ÌDA PÏÒÔ²    ÉNÃÒÅMÅNÔ       ADA BÔ±0       PÏÒÔ²       ADA BÔ±0         BY       AND UNÔ±5    MASK ÏÆÆ ÃAÒÒY       SÔA PÏÒÔ²         Ô×Ï       ÊMP AÌ̱6¬É  ÒÅÔUÒN       SPà± ž˜þú PÃSÔ  NÏP          ÔÅSÔ ÃÏMND ¦ SÔAÔ AÆÔÅÒ PÒÅSÅÔ       ÊSB SÔÃH     SÅÔ UP PÏÒÔ NUMBÅÒS       ÌDA MM¸      -¸       SÔA ÃNÔ±       NUM ÏÆ PAÉÒS ÆÏÒ AÌÌ ±6 PÏÒÔ PÃSÔ² ÌDA MM²      -²       SÔA ÃNÔ0      NUM ÏÆ ÔÉMÅS PÅÒ PAÉÒ       ÌDA PÏÒÔ±    ÆÉÒSÔ PÏÒÔ PÃSÔ± SÔA PÏÒÔ     SÔÏÒÅ PÏÒÔ NUM ÆÏÒ MÅSSAGÅ ÃH²3  ÏÔA ÃH       SÅÔ PÏÒÔ NUM ÉNÔÏ BD       ÌDA Ãײ      ÅØPÅÃÔÅD DAÔA       ÉÏÒ PÏÒÔ     ADD PÏÒÔ NUM       SÔA SAVÅB    SÔÏÒÅ ÅØPÅÃÔÅD DAÔA ¦ PÏÒÔ NUM ÃH²´  ÌÉA ÃH       GÅÔ SÔAÔUS       ÃPA SAVÅB    ÃÏMPAÒÅ       ÒSS          ÏK       ÊSB ÅÒÒA      Å0²· PÏÒÔ Ø DÉDN'Ô ÃÌÒ AÆÔÅÒ PÒÅSÅÔ       ÉSZ ÃNÔ0     ÅND ÏÆ ÔÅSÔ ÆÏÒ ÔHÉS PAÉÒ?       ÒSS          NÏ       ÊMP PÃSÔ3    YÅS       ÌDA PÏÒÔ²    GÅÔ SÅÃÏND PÏÒÔ NUM       ÊMP PÃSÔ±    ÌÏÏP PÃSÔ3 ÌDA MPØÃH    ÔÅSÔ ÆÏÒ AÌÌ ±6       SSA¬ÒSS        ÏÒ ² PÏÒÔ ÏNÌY       ÊMP PÃSÔ´    ² PÏÒÔ ÏNÌY       ÊSB AÌ̱6    ÉNÃÒ PÏÒÔ NÏS ÆÏÒ AÌÌ PÏÒÔ ÔÅSÔ       ÉSZ ÃNÔ±     ÆÉNÉSHÅD AÌÌ ±6?       ÊMP PÃSÔ²    NÏ PÃSÔ´ ÊMP PÃSԬɠ  YÅS - ÒÅÔUÒN       SPà± ÅÒÒA  NÏP          Å²6 PÒÅSÅÔ DÉDN'Ô ÃÌÒ SÔAÔUS       ÌDA PÏÒÔ     GÅÔ ÆAÉÌÉNG PÏÒÔ NUMBÅÒ       AÌÆ           PÏSÉÔÉÏN       ÒA̬ÒAÌ       SÔA SAVÅA    SAVÅ NUMBÅÒ ÉN A-ÒÅG       ÃÌB       SÔB SAVÅB       ÊSB DÅÃÉN    ÃÏNVÅÒÔ ÔÏ DÅÃÉMAÌ       ÌDA ÃVÔ²       AND SÔÏÒÅ       SÔA M²·A¬É     ÉN MÅSSAGÅ       ÌDA SAVÅA     GÅÔ PÏÒÔ NÏ.       ÌDB SAVÅB       ÊSB ÅÒMS¬É   ÒÅPÏÒÔ ÅÒÒÏÒ Å²·   DÅÆ M²·       ÊMP ÅÒÒA¬É   ÒÅÔUÒN       SPà± ÅÒÒB  NÏP          Å²·. PÏÒÔ ADDÒ ÉS Ø S¯B Y       ÌDA SAVÅA    GÅÔ ÆAÉÌÉNG PÏÒÔ NUM       AÌÆ          PÏSÉÔÉÏN ÉN       ÒA̬ÒAÌ        BÉÔS 0-3       SÔA SAVÅA       ÊSB DÅÃÉN    ÃÏNVÅÒÔ ÔÏ DÅÃÉMAÌ       ÌDA ÃVÔ²       SÔÏÒÅ ÉN       SÔA M30A¬É     MÅSSAGÅ       ÌDA SAVÅB    GÅÔ ÅØPÅÃÔÅD PÏÒÔ NUM       AÌÆ          PÏSÉÔÉÏN ÉN       ÒA̬ÒAÌ        BÉÔS 0-3       SÔA SAVÅB       ÊSB DÅÃÉN    ÃÏNVÅÒÔ ÔÏ DÅÃÉMAÌ       ÌDA ÃVÔ²       SÔÏÒÅ ÉN       SÔA M30B¬É     MÅSSAGÅ       ÌDA SAVÅA     GÅÔ PÏÒÔ NnþúÏ       ÌDB SAVÅB     GÅÔ ÅØPÅÃÔÅD PÏÒÔ NÏ       ÊSB ÅÒMS¬É   ÒÅPÏÒÔ ÅÒÒÏÒ Å30   DÅÆ M30       ÊMP ÅÒÒB¬É   ÒÅÔUÒN       SPà± ÅÒÒà NÏP          Å30. PÏÒÔ ADDÒ ÉS Ø S¯B Y       ÌDA SAVÅA    GÅÔ ÆAÉÌÉNG PÏÒÔ NUM       AÌÆ          PÏSÉÔÉÏN ÉN       ÒA̬ÒAÌ        BÉÔS 0-3       SÔA SAVÅA        ÆÏÒ HAÌÔ DÉSPÌAY       ÊSB DÅÃÉN    ÃÏNVÅÒÔ ÔÏ DÅÃÉMAÌ       ÌDA ÃVÔ²       SÔÏÒÅ ÉN       SÔA M3±A¬É     MÅSSAGÅ       ÌDA SAVÅB    GÅÔ ÅØPÅÃÔÅD PÏÒÔ NUM       AÌÆ          PÏSÉÔÉÏN ÉN       ÒA̬ÒAÌ        BÉÔS 0-3       SÔA SAVÅB         ÆÏÒ HAÌÔ DÉSPÌAY       ÊSB DÅÃÉN    ÃÏNVÅÒÔ ÔÏ DÅÃÉMAÌ       ÌDA ÃVÔ²       SÔÏÒÅ ÉN       SÔA M3±B¬É     MÅSSAGÅ       ÌDA SAVÅA     GÅÔ PÏÒÔ NÏ       ÌDB SAVÅB     GÅÔ ÅØPÅÃÔÅD PÏÒÔ NÏ       ÊSB ÅÒMS¬É   ÒÅPÏÒÔ ÅÒÒÏÒ Å3±   DÅÆ M3±       ÌDA SAVÅB    ÒÅSÔÏÒÅ PÏÒÔ NUM       AÌÆ¬AÌÆ        ÉN BÉÔS ±0-±3       ÒA̬ÒAÌ          AÆÔÅÒ ÔHÅ       SÔA SAVÅB          HAÌÔ DÉSPÌAY       ÊMP ÅÒÒìɠ  ÒÅÔUÒN       SPà± ÅÒÒD  NÏP          Å3². PÏÒÔ Ø ÉS S¯B Y       ÌDA PÏÒÔ     PÏÒÔ NUM ÒÅàDAÔA ÏN       AÌÆ           PÏSÉÔÉÏN       ÒA̬ÒAÌ       ÊSB DÅÃÉN    ÃÏNVÅÒÔ ÔÏ DÅÃÉMAÌ       ÌDA ÃVÔ²       AND SÔÏÒÅ       SÔA M3²A¬É       ÉN MÅSSAGÅ       ÌDA SAVÅB     AÃÔUAÌ SÔAÔUS       ÊSB ÃNVÒÔ    ÃÏNVÅÒÔ ÔÏ ÏÃÔAÌ       ÌDA ÃVÔ3       AND SÔÏÒÅ       SÔA M3²B¬É       ÅØPÅÃÔÅD       ÌDA ÃVÔ²           DAÔA       SÔA M3²Ã¬É           ÉN       ÌDA ÃVÔ±               YYYYYY       SÔA M3²D¬É               ÏÆ MÅSSAGÅ       ÌDA SAVÅA     ÅØPÅÃÔÅD SÔAÔUS       ÊSB ÃNVÒÔ    ÃÏNVÅÒÔ ÔÏ ÏÃÔAÌ       ÌDA ÃVÔ3       AND SÔÏÒÅ       SÔA M3²Å¬É       AÃÔUAÌ       ÌDA ÃVÔ²           DAÔA       SÔA M3²Æ¬É           ÉN       ÌDA ÃVÔ±               ØØØØØØ       SÔA M3²G¬É               MÅSSAGÅ       ÌDA SAVÅB     AÃÔUAÌ SÔAÔUS       ÌDB SAVÅA    ÅØPÅÃÔÅD SÔAÔUS       ÊSB ÅÒMS¬É   ÒÅPÏÒÔ ÅÒÒÏÒ Å3²   DÅÆ M3²       ÌDB BÉÔ±´       ÊSB S×ÒÔ¬É       ÊMP ÅÒÒD¬É   ÒÅÔUÒN       ÌDA PÏÒÔ     PÏÒÔ NUM ØØ       AÌÆ         ù…þú PÏSÉÔÉÏN ÉN       ÒA̬ÒAÌ        BÉÔ3 0-3       ÌDB ±±²B      ÃHÅÃK ÆÏÒ ÔÅÌÅPÒÉNÔÅÒ PÒÅSÅNÔ       SZB¬ÒSS       ÏÃÔ ±0603²   HAÌÔ ÔÏ DÉSPÌAY PÏÒÔ ØØ NUM       ÊMP ÅÒÒD¬É   ÒÅÔUÒN       SPà± BÉÔ±´ ÏÃÔ ´0000       SPà± ÅÒÒÅ  NÏP          ÏUÔPUÔ ÔÏ PÏÒÔ Ø ÃHANGÅS PÏÒÔ Y       ÌDA PÏÒÔB     GÅÔ PÏÒÔ Y ÆÏÒ PÏÒÔ NUM       AND UNÔ±5    MASK ÏÆÆ PÏÒÔ NUM       AÌÆ          PÏSÉÔÉÏN ÉN       ÒA̬ÒAÌ        BÉÔS 0-3       SÔA PÏÒÔB       ÆÏÒ HAÌÔ DÉSPÌAY       ÊSB DÅÃÉN    ÃÏNVÅÒÔ ÔÏ DÅÃÉMAÌ       ÌDA ÃVÔ²        AND SÔÏÒÅ       SÔA M33A¬É     ÉN YY ÏÆ MÅSSAGÅ       ÌDA SAVÅB     GÅÔ PÏÒÔ NÏ       AND UNÔ±5    MASK ÏÆÆ PÏÒÔ NUM       AÌÆ          PÏSÉÔÉÏN ÉN       ÒA̬ÒAÌ         BÉÔS 0-3       SÔA SAVÅB     SAVÅ       ÊSB DÅÃÉN    ÃÏNVÅÒÔ ÔÏ DÅÃÉMAÌ       ÌDA ÃVÔ²       AND SÔÏÒÅ ÉN       SÔA M33B¬É     ØØ ÏÆ MÅSSAGÅ       ÌDA PÏÒÔB     GÅÔ PÏÒÔ NÏ       ÌDB SAVÅB     GÅÔ PÏÒÔ NÏ.       ÊSB ÅÒMS¬É   ÒÅPÏÒÔ ÅÒÒÏÒ Å33   DÅÆ M33       ÌDA PÏÒÔB     GÅÔ PÏÒÔ B       AÌÆ¬AÌÆ         ÉN BÉÔS       ÒA̬ÒAÌ           0-3       SÔA PÏÒÔB     SAVÅ PÏÒÔ NÏ.       ÊMP ÅÒÒŬɠ  ÒÅÔUÒN       SPà± ÅÒÒÆ  NÏP     Å´3 ÉNÔP ÒÅàÏN PÏÒÔ Ø  S¯B PÏÒÔ Y       ÌDA SAVÅA    GÅÔ AÃUÔAÌ PÏÒÔ NUM       AÌÆ          PÏSÉÔÉÏN ÉN       ÒA̬ÒAÌ        BÉÔ 0-3       SÔA SAVÅA     SAVÅ PÏÒÔ NÏ       ÊSB DÅÃÉN    ÃÏNVÅÒÔ ÔÏ DÅÃÉMAÌ       ÌDA ÃVÔ²       AND SÔÏÒÅ       SÔA M´0A¬É     ÉN ØØ ÏÆ MÅSSAGÅ       ÌDA PÏÒÔ²    GÅÔ ÅØPÅÃÔÅD PÏÒÔ       AÌÆ           PÏSÉÔÉÏN       ÒA̬ÒAÌ       SÔA SAVÅB        ÆÏÒ HAÌÔ DÉSPÌAY       ÊSB DÅÃÉN    ÃÏNVÅÒÔ ÔÏ DÅÃÉMAÌ       ÌDA ÃVÔ²       AND SÔÏÒÅ       SÔA M´0B¬É     ÉN YY ÏÆ MÅSSAGÅ       ÌDA SAVÅA     GÅÔ AÃÔUAÌ PÏÒÔ NÏ       ÌDB SAVÅB     GÅÔ ÅØPÅÃÔÅD PÏÒÔ NÏ       ÊSB ÅÒMS¬É    ÒÅPÏÒÔ ÅÒÒÏÒ Å´0   DÅÆ M´0       ÊMP ÅÒÒÆ¬É   ÒÅÔUÒN       SPà± ÃÌÅAÒ NÏP          ÃÌÅAÒ ÏUÔ BÏAÒD       ÌDA Ã×3      ÃÏNÔÒÏÌ ×ÏÒD AÌÌ ZÅÒÏS ÃH56  ÏÔA ÃH¬Ã       AND UNÔ±5    MASK ÏÆÆ PÏÒÔ NUM       ÃPA UNÔ±5    ÌASÔ ÃH?       ÊMP ÃÌÅA›þúÒ¬É       ADA BÔ±0     ÉNÃÒ PÏÒÔ NUM       AND UNÔ±5    MASK ÏÆÆ ANY ÃAÒÒÉÅS       ÉÏÒ Ã×3      ADD BAÃK Ã× ÔÏ NÅ× PÏÒÔ NUM       ÊMP ÃH56       SPà± ª DÅÃÉN ª  ÃÏNVÅÒÔS DÅÃÉMAÌ ÉNÔÅGÅÒS ÔÏ ASÃÉÉ ª  A½VAÌUÅ ÏN ÉNPUÔ ª  ÃNVÔ± ½ ÆÉÒSÔ Ô×Ï DÉGÉÔS ÏN ÅØÉÔ ª  ÃNVÔ² ½ SÅÃÏND Ô×Ï DÉGÉÔS ÏN ÅØÉÔ       SPà± DÅÃÉN NÏP       ÃÃB          B ½ -± DÌP±  ADA M±000    ASSUMÅ ÉNÔÅGÅÒ ÌÅSS ÔHAN ±0000       ÉNB          ÃÏUNÔ UP ÔHÏUSANDS PAÒÔ       SSA¬ÒSS      SKÉP ×HÅN B ÒÅG ÉS ÃÏÒÒÅÃÔ       ÊMP DÌP±       ADA D±000    ÒÅSÔÏÒÅ       BÌÆ¬BÌÆ       ADB MM± DÌP²  ADA MM±00       ÉNB          ÃÏUNÔ UP HUNDÒÅDS PAÒÔ       SSA¬ÒSS      SKÉP ×HÅN B ÒÅG ÉS ÃÏÒÒÅÃÔ       ÊMP DÌP²       ADA D±00     ÒÅSÔÏÒÅ       ADB ASÃZZ       SÔB ÃVÔ±       ÃÃB DÌP3  ADA MM±0       ÉNB          ÃÏUNÔ UP ÔÅNS PAÒÔ       SSA¬ÒSS      SKÉP ×HÅN B ÒÅG ÉS ÃÏÒÒÅÃÔ       ÊMP DÌP3       ADA D±0      ÒÅSÔÏÒÅ       BÌÆ¬BÌÆ       ÉÏÒ B       ÉÏÒ ASÃZZ       SÔA ÃVÔ²       ÊMP DÅÃÉN¬É       HÅD  ÅND ÃÏMMÏN SUBÒÔNS ±²9²² ASYNàMPØ ÃÏNÔÒÏÌ ª  ÔHÅ ÃNVÒÔ ÒÏUÔÉNÅ ÃÏNVÅÒÔS ÔHÅ SÉNGÌÅ ×ÏÒD ÉN ÔHÅ A ª  ÒÅG. ÔÏ ÔHÒÅÅ ASÃÉÉ ×ÏÒDS (ÏÃÔAÌ© ÉN ÃVÔ±¬ ÃVÔ²¬ AND ÃVÔ3.       SPà± ÃNVÒÔ NÏP       SÔA ÔÅMP5    SAVÅ ×ÏÒD       ÌDB A        ×ÏÒD ÔÏ B AÌSÏ       AÌÆ       AND D·       SSB       ÉÏÒ BÉÔ¸     ÏNÅ ÆÏÒ ÌÅÆÔ ÏÃÔAÌ DÉGÉÔ       ÉÏÒ ASÃZZ       SÔA ÃVÔ±       ÌDA ÔÅMP5    GÅÔ ×ÏÒD BAÃK       AÌÆ¬AÌÆ       ÒA̬ÒAÌ       AND A00··    ÌÅAVÅ Ô×Ï DÉGÉÔS       ÌDB A        SAVÅ ÆÏÒ A ×HÉÌÅ       AÌÆ¬ÒAÌ       ÌÅÆÔMÏSÔ ÔÏ PÏSÉÔÉÏN       ÉÏÒ B          ÏÒ ÔHÅ Ô×Ï ÔÏGÅÔHÅÒ       AND B3´0·       ÉÏÒ ASÃZZ       SÔA ÃVÔ²       ÌDA ÔÅMP5    GÅÔ ×ÏÒD BAÃK       AND A00··    ÌÅAVÅ ÌASÔ Ô×Ï DÉGÉÔS       ÌDB A       AÌÆ¬ÒAÌ       ÉÏÒ B       AND B3´0·       ÉÏÒ ASÃZZ       SÔA ÃVÔ3     SAVÅ ÒÉGHÔMÏSÔ DÉGÉÔS       ÊMP ÃNVÒԬɠ ÒÅÔUÒN       HÅD  ÅÒÒÏÒ MÅSSAGÅS       ÏÒG ZÃÅND       SPà± ªªª       MÅSSAGÅS       ªªª       SPà±       SUP M²·   AS౸¬Å0²· PÒÅSW 640ÅÔ DÉD NÏÔ ÃÌÅAÒ SÔAÔUS ÏN       ASà5¬PÏÒÔ  ØØ¯ M30   ASà±´¬Å030 ÔHÅ PÏÒÔ ADDÒÅSS ÉS  ØØ       ASฬ SHÏUÌD BÅ  YY¯ M3±   ASà±´¬Å03± ÔHÅ PÏÒÔ ADDÒÅSS ÉS  ØØ       ASฬ SHÏUÌD BÅ  YY¯ M3²   ASà±6¬Å03² SÔAÔUS ÏN PÏÒÔ ØØ ÉS ØØØØØØ       ASà±0¬ SHÏUÌD BÅ  YYYYYY¯ M33   ASà±±¬Å033 ÏUÔPUÔ ÏN PÏÒÔ ØØ       ASà9¬ ÃHANGÅS PÏÒÔ YY¯ M3´   ASà±6¬Å03´ SÔÏÒÅD SÔAÔUS NÏ. ± ÆAÉÌÅD       ASฬ ÔÏ ÉNÔÅÒÒUPÔ¯ M35   ASà±6¬Å035 SÔÏÒÅD SÔAÔUS NÏ. ² ÆAÉÌÅD       ASฬ ÔÏ ÉNÔÅÒÒUPÔ¯ M36   ASà±5¬Å036 É-Ï ÆÌAG ÆAÉÌÅD ÔÏ ÃÌÅAÒ.       ASà·¬ SÉÔ ABÏÒÔÅD¯ M3·   ASà±²¬Å03· SÃAN ÔÅSÔ ÆAÉÌÅD¯ M´0   ASà±6¬Å0´0 SÃAN ÔÅSÔ ÉNÔÅÒÒUPÔ ÏÃÃUÒÅD       ASà±6¬ ÏN PÏÒÔ  ØØ SHÏUÌD BÅ PÏÒÔ YY¯ HDMS  ASà9¬ASYNàMUÌÔÉPÌÅØÅÒ       ASà±3¬ÃÏNÔÒÏÌ BÏAÒD DÉAGNÏSÔÉï Æ×AA  ÅÑU ª        ÆÉÒSÔ ×ÏÒD ÏÆ AVAÉÌABÌÅ MÅMÏÒY       ÅND ÜB6ÿÿ ÿý“ ¡ ÿ12924-18001 1537 S 0122 2892A CARD READER DIAGNOSTIC             H0101 åÄþúASMB,A,B,L,C HED GENERAL OPERATING PROCEDURE ORG 0 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 = SUPPRESS ERROR HALTS * 13 = LOOP ON LAST TEST * 12 = LOOP ON DIAGNOSTIC * (SUPPRESS ALL OPERATOR INTERVENTION) * 11 = SUPPRESS ERROR MESSAGES * 10 = SUPRESS NON-ERROR MESSAGES * 9 = GO TO USER CONTROL SECTION * AT END OF PRESENT TEST * 8= SUPPRESS OPERATOR INTERVENTION TESTS * 7 * = DIAGNOSTIC OPTIONS * 0 * NOTE: STANDARD RUN SHOULD BE WITH SW. REG. = 0 * USER CONTROL WILL ASK FOR A 32 BIT WORD. * EACH BIT WILL = 1 TEST * * G. PRESS RUN. .I * H. RESTART - LOAD ADDRESS 2000B * I. RECONFIGURE IF TESTING I/O INTERFACE - LOAD ADDRESS 100B * * 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 * * CONTROL PROGRAM HALT MESSAGES * * 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 RESERVED * 102071 RESERVED * 102070 RESERVED * ññ * 106077 TRAP CELL HALT * * ññ * HED PROGRAM ORGANIZATION CHART * ****** ûþú************************************* * * CONFIGURATOR 100B * * * LINKAGE TABLE * * ******************************************* * * EXECUTIVE 130B * * * LINKAGE * * ******************************************* * * CONSTANTS 150B * * * AND * * * STORAGE * * ******************************************* * * 2000B * * * EXECUTIVE CONTROL * * * * * ******************************************* * * IF USED * * * BASIC I/O TESTS (TEST 00) * * * ZCEND * * ******************************************* * * TABLE OF TEST POINTERS * * * TABLE OF I/O INSTR POINTERS * * ******************************************* * * * * * * * * * * * * * * * * * MAIN DIAGNOSTICS (1-31) * * * * * * * * * * * * * * * * * ******************************************* * * * * ññ * * * * * * ññ * ññ * * *ñ * * * * * * * ññ HED CONFIGURATOR LINKAGE TABLE A EQU 0 A REGIúµþúSTER REFERENCE B EQU 1 B REGISTER REFERENCE SW EQU 1 SWITCH REGISTER REFERENCE INTP EQU 0 INTERRUPT CHANNEL REFERENCE * * ññ 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 DSNL BSS 1 DIAGNOSTIC SERIAL NUMBER FMTR BSS 1 FORMATTER * * * CONTROL LINKAGE AND DATA REFERENCES * CFIG DEF ZCONF CONFIGURATION SECTION MSGC DEF ZMSGC MESSAGE WITH NO HALT MSGH DEF ZMSGH MESSAGE WITH HALT ERMS DEF ZERMS ERROR MESSAGE SWRT DEF ZSWRT SWITCH REGISTER CHECK ROUTINE TSTN OCT 0 CURRENT TEST NUMBER EXRT DEF ZEXRT RETURN TO CONTROL PROGRAM NOP RESERVED * * * *ñ * * * * * ññ * *ñ * * * ññ * HED EXECUTIVE CONTROL ORG 2000B ZSTEX CLC INTP,C TURN I/O SYSTEM OFF JSB MSGC,I DO CRLF DEF ZRTLF LDA HDMP GET INTRODUCTORY MESSAGE STA *+2 JSB MSGC,I OUT PUT IT NOP CLA CLEAR PASS STA ZEOLC COUNT LDB ZSW9 CHECK FOR USER SELECTION REQ JSB SWRT,I,£ JMP ZUSR IT'S USERS CHOICE ZNUSR LDA STDA GET STANDARD TEST RUN Lyþú LDB STDB * JMP ZEXC * ññ ZUSR LDA ZSINA RETRIEVE PREVIOUS RUN LDB ZSINB HLT 75B WAIT FOR USER INPUT NOP NOP NOP ZEXC STA ZUINA SAVE STB ZUINB USER STA ZSINA INPUT STB ZSINB PROGRAM LDB ZSW9 CHECK IF SW9 IS DOWN JSB SWRT,I JMP ZUSR NO GO AND WAIT CCA SET TEST NUMBER STA TSTN =-1 1X CLA STA ZTSTA CLEAR TEST RUN FLAG * * *ñ * ññ * * * * * * * * ññ * * * * * SKP ZEXCL LDA ZUINA RESTORE A REG. LDB ZUINB RESTORE B REG. ERA,RAL ROTATE ERB FIRST ERA TEST BIT STA ZUINA SAVE POSITIONS STB ZUINB ISZ TSTN MOVE TEST UP ONE NOP ZXCL1 LDA TSTN ADA TSTP GET IT'S LDA A,I ADDRESS CPA Z.M1 IS IT END OF LIST JMP ZEOL YES LDB ZUINB SSB,RSS SHOULD IT BE RUN? JMP ZEXCL NO STA ZTSTA YES - SAVE TEST ADDRESS JSB ZITCH INITIALIZE TRAP CELL HALTS JSB ZTSTA,I GO DO TEST ZEXRT LDA TSTN DISPLAY TEST NUMBER IF HALTED LDB ZSW15 CHECK FOR HALT AT END OF TEST JSB SWRT,I HLT 76B YES WAIT FOR OPERATOR LDB ZSW9 CHECK FOR ABORT JSB SWRT,I JMP ZUSR YES LDB ZSW13 CHECK FOR LOOP ON ROUTINE JSB SWRT,I JMP ZXCL1 YES - LOOP JMP ZEXCL CONTINUE * ññ ZEOL LDA ZTSTA CHECK IF ANY TESTS WERE RUN SZA,RSS ? JMP ZNUSR NO SO PICK UP STANDARD RUN LDA ZEOLC UP DATE PASS COUNT INA STA ZEOLC CCE E‡ LDB ZPSCA GET PASS COUNT ADB Z.2 ADDRESS JSB O2AS,I CONVERT IT JSB MSGC,I CALL PRINT ROUTINE ZPSCA DEF ZPSC LDB ZSW12 CHECK FOR LOOP ON DIAG. JSB SWRT,I lÌþú JMP *+3 YES LDA ZEOLC Cí HLT 77B NO WAIT AND DISPLAY PASS COUNT LDA ZSINA RESTORE ORIGINAL LDB ZSINB PROGRAM JMP ZEXC DO IT ALL AGAIN * SKP * MESSAGE OUTPUT WITH OUT HALT * ZMSGC NOP ENTRY JSB ZMSG OUTPUT MESSAGE OCT 2000 SWITCH 10 CHECK JMP ZMSGC,I RETURN TO CALLER * * MESSAGE OUTPUT WITH HALT * ZMSGH NOP ENTRY JSB ZMSG OUTPUT MESSAGE OCT 2000 SWITCH 10 CHECK LDA ZHLT GET HALT CODE STA *+2 PUT IT IN PLACE LDA ZSAVA RESTORE A REGISTER NOP HALT FOR DISPLAY JMP ZMSGH,I RETURN TO CALLER * * ERROR MESSAGE WITH HALT * ZERMS NOP ENTRY JSB ZMSG OUTPUT MESSAGE OCT 4000 SWITCH 11 CHECK CLA LDB ZSW14 CHECK SWR BIT 14 TO SUPPRESS JSB SWRT,I HALT STA *+3 PUT HALT IN PLACE LDA ZSAVA RESTORE A & B LDB ZSAVB ZHLT NOP WAIT FOR OPERATOR JMP ZERMS,I RETURN TO CALLER * *ñ * * * * * * * * ññ * * * * SKP * OUTPUT MESSAGE * *ñ ZMSG NOP STA ZSAVA SAVE A AND B REGISTERS STB ZSAVB LDB ZMSG,I GET SWITCH REGISTER BIT LDA ZMSG ADA Z.M2 DECREMENT RETURN ADDRESS STA ZMSG JSB SWRT,I CHECK TO SUPPRESS MESSAGE JMP ZMSG0 YES LDA ZMSG,I CHECK IF ERROR LDA A,I LDA A,I IF SO ALF,ALF AND Z.177 CPA ZA.E JSB ZCFTN CHECK TO OUTPUT TEST NUMBER LDA ZMSG,I NO RETRIEVE FORMAT LDB A,I ADDRESS CLA,CLE JSB FMTR,I ZMSG0 LDA ZMSG,I CONVERT HALT CODE LDB A,I FROM ASCII STRING CCA,CCE JSB AS2N,I STA ZN2AO SAVE RESULT AND Z.300 DECODE LDB ZH2 HALT CODE CPA Z.100 LDB >þúZH6 CPA Z.200 LDB ZH3 CPA Z.300 LDB ZH7 7 LDA ZN2AO GET HALT NUMBER AND Z.77 IOR B STA ZHLT SAVE IT ISZ ZMSG,I ADJUST RETURN POINTERS ISZ ZMSG ISZ ZMSG ISZ ZMSG LDA ZSAVA RESTORE A AND B REGISTERS LDB ZSAVB JMP ZMSG,I * * *ñ * * * ññ * SKP ZCFTN NOP LDA TSTN GET TEST NUMBER CPA ZCFTT IS IT THE SAME ONE? JMP ZCFTN,I YES SKIP OUTPUT STA ZCFTT NO - THEN UPDATE IT JSB ZN2AO CONVERT IT STA ZTSTN PUT IT IN STRING CLA DO A CRLF JSB SLOP,I CLA,CLE INDICATE START OF FORMAT LDB ZTSTF JSB FMTR,I JMP ZCFTN,I RETURN * * *ñ * * ZSAVA NOP ZSAVB NOP ZEOLC NOP ZTSTA NOP ZSINA NOP ZSINB NOP ZUINA NOP ZUINB NOP ZBTMP NOP Z.2 OCT 2 Z.7 OCT 7 7­ Z.10 OCT 10 Z.60 OCT 60 Z.77 OCT 77 Z.177 OCT 177 Z.M1 DEC -1-ñ Z.M2 DEC -2 ZD100 DEC -100ÜÜ ZIOM OCT 177700 ZSW15 OCT 100000 ZSW14 OCT 40000 ZSW13 OCT 20000 ZSW12 OCT 10000 ZS812 OCT 010400 ZSW9 OCT 1000 Z.100 OCT 100 Z.200 OCT 200 Z.300 OCT 300 ZH2 OCT 102000 ZH6 OCT 106000 ZH3 OCT 103000 ZH7 OCT 107000 ZCFTT DEC -1 ZTSTF DEF *+1 ASC 3,TEST ZTSTN ASC 2,XX// ZRTLF ASC 1,// ZPSC ASC 6,PASS XXXXXX/ ZA.E OCT 105 HED GENERAL ROUTINES * * ZN2AO NOP STA ZIOAD SAVE NUMBER AND Z.7 CONVERT FIRST IOR Z.60 NUMBER STA B SAVE IT LDA ZIOAD GET RAR,RAR SECOND RAR NUMBER AND Z.7 CONVERT IOR Z.60 IT ALF,ALF MOVE TO UPPER HALF IOR B ADD LOWER JMP ZN2AO,I AND RETURN * * * * SWITCH REGISTER CHECK * ZSWRT NOP STA ZN2AO SAVE A REGISTER LIA SW GET SWITCH REG. AND B MASK OUT BIT SZA,RSS ISSþú IT UP? ISZ ZSWRT NO LDA ZN2AO RESTORE A REGISTER LIB SW LET B = SWITCH REGISTER JMP ZSWRT,I RETURN TO CALLER * * * ññ * INITIALIZE TRAP CELL HALTS * ZITCH NOP P¶ LDA ZTSH GET STARTING TRAP CELL HALT LDB Z.2 GET FIRST TRAP CELL LOCATION ZTSHL STA B,I PUT IT IN PLACE CPB Z.77 AM I FINISHED JMP ZITCH,I YES INB NEXT ADDRESS JMP ZTSHL * ZTSH OCT 106077 * ññ * * SKP * PUT JSB INSTRUCTION IN TRAP CELL * ZTCJI NOP ll LDB ZJSBI GET INSTRUCTION STB ZIOSC,I PUT IT IN TRAP CELL LDA ZTCJI,I GET LOCATION STA 3B SAVE IT FOR JSB INSTRUCTION ISZ ZTCJI ADJUST RETURN JMP ZTCJI,I RETURN TO CALLER * ZJSBI JSB 3B,I JSB INSTRUCTION * *ñ * ññ * INITIALIZE SELECT CODE I/O INSTRUCTIONS * ZISC NOP STA ZIOSC SAVE SELECT CODE STB ZIOAD SAVE TABLE ADDRESS ZIOL LDB ZIOAD,I GET ADDRESS OF LOCATION CPB Z.M1 IS IT THE TERMINATOR JMP ZISC,I YES RETURN TO CALLER LDA B,I NO - GET CONTENTS AND ZIOM MASK OFF OLD SELECT CODE IOR ZIOSC ADD IN NEW SELECT CODE STA B,I RESTORE IT ISZ ZIOAD MOVE TO NEXT ADDRESS JMP ZIOL DO IT * ZIOSC NOP ÄÄ ZIOAD NOP * ññ * * ññ * SKP * CONFIGURATION SECTION * ZCONF CLC INTP,C TURN I/O SYSTEM OFF LIA SW GET SELECT CODE AND OPTIONS STA USSC SAVE THEM AND Z.77 ELIMINATE OPTIONS LDB A CMB,INB CHECK THAT SC > 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 * * * * * * * |šþú * * ññ * * ññ * * * ññ * * * *ñ * * *ñ * * * * 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/ * * 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 5? 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 3H 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 0Ï 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 ag640 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 P‹ 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 ‘‹6ÿÿ ÿý” ¢ ÿ12924-18002 1537 S 0122 2892A CARD READER DIAGNOSTIC             H0101 æÄþú 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 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 3H 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 12Hgþú,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 Pl 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 6< 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 PÈ 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 SܵþúUPPRESS 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 CLF INTP TURN OFF ONTPS ZBS72 SFS CH 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 * * * *ñ * * * * * * ññ * * * * * *ñ * * * * * * * * * SKP ZB70 SLA,RSS CHECK FOR ERRORS JMP *+3 E022 JSB ERMS,I E022 DID NOT CLEAR CONTROL DEF ZBE22 2b RAR SLA,RSS JMP *+3 E023 JSB ERMS,I E023 I/O LINES NOT CLEAR DEF ZBE23 RAR SLA,RSS JMP *+3 3H E020 JSB ERMS,I E020 FLAG NOT SET DEF ZBE20 RAR SLA,RSS JMP *+3 3H E021 JSB ERMS,I E021 DID NOT DIABLE INTS DEF ZBE21 H025 JSB MSGC,I TELL OPERATOR DEF ZBM25 BASIC I/O IS COMPLETE JMP ZBIO,I RETURN TO CALLER * ZBI70 NOP CONTROL FAILED CLF INTP TURN OFF INTPS INA JMP ZB70 * 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 08,H025 BI-O COMP/ SKP ZBIOD DEF *+1 DEF 8þúZBS21 DEF ZBS22 DEF ZBS23 DEF ZBS24 4Ÿ DEF ZBS25 DEF ZBS26 DEF ZBS27 DEF ZBS31 DEF ZBS32 DEF ZBS33 DEF ZBS41 DEF ZBS42 DEF ZBS51 DEF ZBS52 DEF ZBS53 DEF ZBS61 1 DEF ZBS62 DEF ZBS63 DEF ZBS64 4ƒ DEF ZBS65 DEF ZBS66 DEF ZBS71 DEF ZBS72 DEC -1 * ZCEND EQU * * * *ñ * * * * ññ * ññ * * * ññ * ññ * * * * * * * ññ * * * * * ññ * * HED BASEPAGE DATA ORG 100B JMP CONF * ORG 126B DSN OCT 113100 REVISION B ORG 140B IOIP DEF IOID POINTER TO I/O INSTRUCTIONS TSTP DEF TSTD POINTER TO TESTS HDMP DEF HDMS POINTER TO HEADER MESSAGE STDA OCT 77 TESTS 5-0 (6 IS NOT STANDARD) STDB OCT 0 NO B REG TESTS * ORG 150B HDMS EQU * ASC 15,2892A CARD READER DIAGNOSTIC/ CR EQU 10B B} SKP IOID EQU * DEF STRS1 DEF STRS2 DEF STRS3 DEF STSS1 DEF STSS2 DEF STS01 DEF STS02 DEF STS03 DEF STS04 DEF STS05 DEF STS06 –– DEF STS07 DEF STS08 DEF STS09 DEF TMGS1 DEF TMGS2 DEF TMGS3 DEF TMGS3+1 DEF TMG1 DEF CFRS1 1 DEF CFRS2 DEF R2BS1 DEF R2BS2 DEF RRSI1 DEF RRS01 DEF RRIS1 DEF RRIS2 DEF DMAS1 DEF DMAS2 DEF DMAS3 DEF DMAS4 DEF SDTS1 DEF SDTS2 2ä DEC -1 TSTD EQU * DEF TST00 BASIC I/O DEF TST01 STATUS DEF TST02 TIMING DEF TST03 DATA PATTERN DEF TST04 READ RATE DEF TST05 DMA TRANSFER DEF TST06 PSEUDO OPERATOR DESIGN DEC -1 TERMINATOR HED COMMON SUBROUTINES CONF CLC INTP,C CLEAR ALL I/O JSB SWRT,I CHECK SWR FOR A TBG NOP fþú LDA B ALF,ALF RAR AND .77 STA TBGSC SAVE SELECT CODE LDB RSS SET FLAG IN PROGRAM SZA CLB STB .TBG1,I STB .TBG2,I STB .TBG3,I SZA,RSS IS THERE A TBG SC? JMP CFIG,I NO AND .M7 SZA TBG > 7 JMP *+3 YES HLT 73B NO TELL OPERATOR JMP CONF TRY AGAIN LDA TBGS1 UPDATE SELECT CODE AND .M77 IOR TBGSC STA TBGS1 OTA TBG LDA TBGS2 AND .M77 IOR TBGSC STA TBGS2 STC TBG,C LDA TBGS3 AND .M77 IOR TBGSC STA TBGS3 CLF TBG JMP CFIG,I CONTINUE CONFIGURATION SKP JSBTM JSB TBGI TRAP CELL JSB FOR TBG * TBGI NOP INA COUNT 1 MILLISECOND TBGS3 CLF 10B RESET TBG JMP TBGI,I RETURN TO PROGRAM * *ñ RRTM NOP CLA,INA SET FOR 1 MILL SEC TBGS1 OTA 10B TBGS2 STC 10B,C START TBG LDA JSBTM SET TRAP CELL STA TBGSC,I I| JMP RRTM,I * TBGSC NOP JSBDM JSB *+1,I DEF DMAI JSBRI JSB *+1,I DEF RRI .M7 OCT 177770 .M77 OCT 177700 RSS RSS .TBG1 DEF TBG1 .TBG2 DEF TBG2 .TBG3 DEF TBG3 SKP * READ ONE CARD (STATUS TESTS MAINLY) * STRD NOP LDA STRD,I GET ANY VARIATIONS STA STRDP LDA DM80 SET FOR 80 COLUMNS STA TMP STRS1 STC CR,C PICK CARD LDA D1000 ALLOW 1 SECOND JSB WFI WAIT FOR INTERRUPT JMP STRDT TIMED OUT LDB TMP CPB DM50 VARIATION ON 50TH COLUMN STRDP NOP STRS2 LIA CR GET DATA STRS3 CLF CR CLEAR FLAG FOR INB,SZB,RSS DONE? JMP *+3 STB TMP NO SAVE COUNT JMP STRS1+1 WAIT FOR NEXT COLUMN LDA D1000 JSB WFI YES WAIT FOR EOP JMP STRDT TIMED OUT STRDX ISZ STRD ADJUST RETURN JMP STRD,I RETURN P+2 * STRDÝþúT EQU * E030 JSB ERMS,I TELL OPERATOR OF DEF STRDE TIME OUT ERROR JMP STRDX EXIT * STRDE ASC 09,E030 CR TIMED OUT/ DM80 DEC -80 DM50 DEC -50 TMP NOP NOP NOP NOP PÈ NOP D1000 DEC 1000 SKP * READ TO BUFFER * R2B NOP JSB WFIS SET INTERRUPT TRAP LDA DM80 SET FOR 80 COLUMNS STA CNTR LDA BFD SET POINTER TO INPUT BUFFER STA TMP R2BS1 STC CR,C GIVE PICK COMMAND R2B0 LDA D1000 JSB WFI WAIT FOR INTERRUPT JMP E130 R2BS2 LIA CR GET DATA AND STATUS SSA EOP? JMP E131 YES - ERROR STA TMP,I NO PUT DATA IN BUFFER ISZ TMP ISZ CNTR DONE 80 COLUMNS? JMP R2B0 NO LDA D1000 YES WAIT FOR EOP JSB WFI JMP E130 JMP R2B,I RETURN TO CALLER * E130 JSB ERMS,I TELL OPERATOR OF ERROR DEF DRTE1 CARD TIMED OUT JMP R2B,I EXIT * E131 JSB ERMS,I DEF DRTE2 EOP BEFORE 80 COLUMNS JMP R2B,I EXIT SKP Pl DRTC NOP LDA DM80 SET COUNT FOR COMPARE STA CNTR LDA BFD AND BUFFER POINTERS STA TMP LDA DRTC,I STA TMP+1 DRT0 LDA TMP,I GET DATA READ CPA TMP+1,I DOES DATA COMPARE? RSS JSB DRTE NO ISZ TMP YES MOVE TO NEXT WORD ISZ TMP+1 ISZ CNTR DONE 80 COLUMNS YET? JMP DRT0 NO ISZ DRTC YES ADJUST RETURN JMP DRTC,I RETURN * *ñ DRTE NOP LDB DRTBD CONVERT ACTUAL DATA CLE JSB O2AS,I MESSAGE LDA DRTA MOVE 4 CHARACTERS STA DRTE4 TO MESSAGE LDA DRTB STA DRTE4+1 LDA TMP+1,I CONVERT EXPECTED DATA FOR LDB DRTBD CLE JSB O2AS,I MESSAGE LDA DRTA MOVE 4 CHARACTERS STA DRTE5 TO MESSAGE LDA DRTB STA DRTE5+1 ¼}þúLDA TMP,I GET DATA FOR HALT LDB TMP+1,I E132 JSB ERMS,I REPORT ERROR DEF DRTE3 JMP DRTE,I RETURN * DRTE1 ASC 09,E130 CR TIMED OUT/ DRTE2 ASC 14,E131 EOP BEFORE 80 COLUMNS/ DRTE3 ASC 10,E132 DATA ERROR ACT DRTE4 ASC 05,XXXX EXP DRTE5 ASC 03,XXXX// CNTR NOP DRTBD DEF *+1 NOP DRTA NOP DRTB NOP BFD DEF *+1 BSS 90 SKP * STATUS CHECK FOR TEST 1 * * CDSTC NOP P STSS1 OTA CR DO OTA TO GET STATUS STSS2 LIA CR GET STATUS CPA CDSTC,I DOES IT COMPARE? JMP CDSTR YES RETURN STA CDSTX NO - SAVE STATUS LDA STPNO REPORT ERROR RAR,RAR CONVERT RAR STEP AND .7 NUMBER ADA .63 ALF,ALF STA B LDA STPNO AND .7 ADA .60 IOR B STA STCM0+1 PUT IT IN PLACE LDA CDSTX GET CURRENT STATUS FOR MESSAGE LDB STCRN CLE JSB O2AS,I CONVERT IT AND STORE IT LDA CDSTC,I GET EXPECTED FOR MESSAGE LDB STEXP CLE JSB O2AS,I CONVERT IT AND STOR IT LDA CDSTX GET CURRENT STATUS FOR HALT LDB CDSTC,I GET EXPECTED FOR HALT JSB ERMS,I REPORT ERROR DEF STCM0 CDSTR ISZ CDSTC JMP CDSTC,I RETURN TO CALLER * * STCM0 ASC 08,E0XX STATUS IS STCM1 ASC 03,XXXXXX ASC 07, AND EXPECTED STCM2 ASC 04,XXXXXX// STCRN DEF STCM1 STEXP DEF STCM2 2Û STPNO NOP CDSTX NOP .60 OCT 60 .63 OCT 63 .7 OCT 7 SKP * WAIT FOR INTERRUPT * WFI NOP STF INTP JSB TMRR,I CLF INTP JMP WFI,I RETURN P+1 WFIR CLF INTP ISZ WFI RETURN P+2 JMP WFI,I * *ñ * WFIS NOP LDA USSC GET SELECT CODE AND .77 LDB JMPI STB A,I PUT JMP IN TRAP CELL JMP WFIS,I,¢ * JMPI JMP WFIR .77 OCT 77 * ññ * CHECK FOR READY * CFR NOP CLB GIêøþúVE HIM 2 CHANCES CFRS1 OTA CR CFRS2 LIA CR SLA IS IT READY? JMP *+3 ISZ CFR YES JMP CFR,I RETURN P+2 SZB SECOND TIME? JMP CFR,I YES E055 JSB ERMS,I TELL OPERATOR DEF CFRM1 1¿ CCB SECOND TRY JMP CFR+2 2r * CFRM1 ASC 09,E055 CR NOT READY/ HED TESTS * STATUS CHECKS * ññ TST01 EQU * * STCK NOP CLC INTP,C CLEAR ALL I/O JSB WFIS SET INTERRUPT TRAP CLA,INA SET STEP 1 STA STPNO H100 JSB MSGH,I TELL OPERATOR TO DEF STM1 TURN CARD READER POWER OFF JSB CDSTC GO CHECK STATUS OCT 110001 BIT 2 =0 BIT 0 =1 * * ISZ STPNO SET STEP 2 H101 JSB MSGH,I TELL OPERATOR TO DEF STM2 TURN CARD READER POWER ON JSB CDSTC GO CHECK STATUS OCT 110041 BIT 2 =0 BIT 0 =1 * *ñ * *ñ ISZ STPNO SET STEP 3 STS01 STC CR,C GIVE PICK COMMAND JSB CDSTC GO CHECK STATUS OCT 010441 BIT 12 =1 BIT 15 =0 BIT 8 =1 * * ññ ISZ STPNO SET STEP 4 H102 JSB MSGH,I TELL OPERATOR TO DEF STM3 PUT CR IN OFF-LINE MODE JSB CDSTC GO CHECK STATUS OCT 110045 BITS 2,15,12 =1 BITS 8 & 0 =0 STS02 SFC CR CHECK THAT FLAG SET BY OL+PICK JMP *+5 CLA CLB E053 JSB ERMS,I IT WASN'T REPORT ERROR DEF STE1 * * ISZ STPNO SET STEP 5 STS03 STC CR,C GIVE PICK COMMAND JSB CDSTC GO CHECK STATUS OCT 110045 BIT 8 =0 BITS 12&15 =1 SKP ISZ STPNO SET STEP 6 H103 JSB MSGH,I TELL OPERATOR TO DEF STM4 PUT CR IN ON-LINE MODE * LOAD THREE CARDS * START CR PRESS RUN STS04 SFC CR CHECK THAT FLAG IS SET BY * OFF-TO-ON LINE * CONTROL SET * º/640 RIP =0 JMP *+5 CLA CLB ÕÇ6ÿÿ ÿý• £ ÿ12924-18003 1537 S 0122 2892A CARD READER DIAGNOSTIC             H0101 çÄþúE054 JSB ERMS,I IT WASN'T REPORT ERROR DEF STE2 JSB CDSTC GO CHECK STATUS OCT 110000 INDICATS ALL READY * * ISZ STPNO SET STEP 7 H104 JSB MSGH,I TELL OPERATOR TO DEF STM5 EXTEND STACKER ARM AND HOLD JSB CDSTC GO CHECK STATUS OCT 110141 * ññ * ññ ISZ STPNO SET STEP 10 STS05 STC CR,C GIVE PICK COMMAND STS06 CLC CR,C NOW CLC TO CLEAR PICK JSB CDSTC GO CHECK STATUS OCT 010141 BIT 8 = 0 * * ññ ISZ STPNO SET STEP 11 H105 JSB MSGH,I TELL OPERATOR TO DEF STM6 START CR PRESS RUN JSB CDSTC GO CHECK STATUS OCT 010000 ALL READY * * ISZ STPNO SET STEP 12 JSB STRD READ A CARD RSS AND SKIP AN LIA JSB CDSTC GO CHECK STATUS OCT 110012 TROUBLE + LOST DATA * * JSB STRD READ A CARD STS07 OTA CR AND DO AN OTA JSB CDSTC GO CHECK STATUS OCT 110012 TROUBLE + LOST DATA SKP Pl ISZ STPNO SET STEP 13 H106 JSB MSGH,I TELL OPERATOR TO DEF STM7 PRESS END OF FILE JSB STRD READ A CARD NOP JSB CDSTC GO CHECK STATUS OCT 110241 BIT 7+5=1 * * ISZ STPNO SET STEP 14 H107 JSB MSGH,I TELL OPERATOR TO DEF STM8 LOAD SHORT CARD AND TWO LONG JSB CDSTC GO CHECK STATUS OCT 110000 ALL READY * * ISZ STPNO SET STEP 15 STS08 STC CR,C PICK CARD LDA D1000 JSB WFI WAIT FOR FIRST INTERRUPT NOP CLC INTP OUTPUT CRS JSB CDSTC GO CHECK STATUS OCT 110001 LDA D1000 JSB TMRR,I GO WAIT * ññ * ISZ STPNO SET STEP 16 6ú JSB STRD READ NEXT CARD NOP JSB CDSTC GO CHECK STATUS OCT 114043 * ññ * ññ ISZ STPNO SET STEP 17 H110 JSB MSGH,I TELL OPERATOR TO DEF STM9oþú LOAD NOTCHED CARD JSB CDSTC GO CHECK STATUS OCT 110000 ALL READY * * *ñ ISZ STPNO SET STEP 20 JSB STRD READ A CARD NOP JSB CDSTC GO CHECK STATUS OCT 111043 SKP pl ISZ STPNO SET STEP 21 H111 JSB MSGH,I TELL OPERATOR TO DEF STM10 LOAD 2 CARDS TAPED TOGETHER JSB CDSTC GO CHECK STATUS OCT 110000 ALL READY * * ISZ STPNO SET STEP 22 STS09 STC CR,C GIVE PICK COMMAND LDA D1000 JSB TMRR,I WAIT FOR COMPLETION JSB CDSTC GO CHECK STATUS OCT 114003 PICK FAILURE * * JMP STCK,I ALL DONE RETURN TO CALLER * ORG ZCEND * * STM1 ASC 11,H100 TURN CR POWER OFF ASC 11, AND REMOVE ANY CARDS/ * ññ STM2 ASC 11,H101 TURN CR POWER ON/ * *ñ STM3 ASC 11,H102 PUT CR OFF-LINE/ * STM4 ASC 10,H103 PUT CR ON-LINE ASC 08,LOAD THREE CARDS ASC 05, START CR/ * STM5 ASC 17,H104 EXTEND STACKER ARM AND HOLD/ * STM6 ASC 13,H105 RELEASE ARM START CR/ * STM7 ASC 13,H106 PRESS CR END-OF-FILE/ * *ñ STM8 ASC 13,H107 LOAD SHORT CARDS AND ASC 12,TWO LONG CARDS START CR/ * STM9 ASC 11,H110 LOAD NOTCHED CARD ASC 05, START CR/ * STM10 ASC 17,H111 LOAD 2 CARDS HOOKED TOGETHER ASC 05, START CR/ * STE1 ASC 16,H053 FLAG NOT SET OFF-LINE+PICK/ * STE2 ASC 17,H054 FLAG NOT SET OFF-TO-ON LINE/ SKP * TIMING CHECKS * TST02 EQU * * TMG NOP CLC INTP,C CLEAR ALL I/O CLA STA SVA STA SVB BŠ JSB WFIS LDA DM10 SET TO READ TEN CARDS STA CNTR H112 JSB MSGH,I TELL OPERATOR TO DEF TMGM1 LOAD TEN CARDS TMG. JSB CFR CHECK FOR READY JMP TMG,I NO READY RESPONSE LDA DM80 SET FOR EIGHTY COLUMNS STA TMP TMGS1 STC CR,C GIVE PICK COMMAND LDA D1000 ALLOW 1 SEC JSB WFI WAIT FOR INTERRUPT ]Wþú RSS JMP TMG0 TMGS2 LIA CR SSA,RSS EOP? JMP *+4 E056 JSB ERMS,I EOP BUT NO INTERRUPT DEF TMGE1 JMP TMGL E057 JSB ERMS,I NO EOP AFTER PICK DEF TMGE2 JMP TMGL TMG0 ADA D1000 STA SVA SAVE RESULTS ADA DM300 SSA OVER 300MS JMP TMG1 NO CONTINUE TMGS3 OTA CR LIA CR GET DATA AND STATUS SSA EOP? JMP *+4 E061 JSB ERMS,I PICK _INT OVER 300M/S DEF TMGE4 JMP TMGL ALF SSA,RSS JMP E061 E060 JSB ERMS,I PICK FAILURE DEF TMGE3 JMP TMGL SKP TMG1 LIA CR GET DATA SSA,RSS JMP *+4 E063 JSB ERMS,I EOP BEFORE 80 COLUMNS READ DEF TMGE5 JMP TMGL ISZ TMP 80 COLUMNS READ RSS SÆ JMP TMG2 YES LDA D1000 NO WAIT FOR ANOTHER DATA INT JSB WFI JMP E067 TIMED OUT ADA D1000 IOR SVB STA SVB JMP TMG1 TMG2 LDA D1000 WAIT FOR EOP JSB WFI RSS JMP *+4 E065 JSB ERMS,I 80 COLUMNS READ BUT NO EOP DEF TMGE6 JMP TMGL ADA D1000 ADA DM4 4V SSA OVER 4 MILLSEC JMP *+4 4« E066 JSB ERMS,I DATA TO EOP OVER 4 MILL DEF TMGE9 LDA SVA CHECK IF POSSIBLE PICKER TROUBLE ADA DM40 SSA JMP *+3 E062 JSB ERMS,I YES DEF TMGE8 LDA SVB HOW ABOUT BETWEEN DATA SZA,RSS JMP *+3 E064 JSB ERMS,I DEF TMGE7 TMGL ISZ CNTR DONE TEN CARDS? JMP TMG. NO JMP TMG,I YES * E067 JSB ERMS,I INT TIMED OUT DURING READ DEF TMGE0 08 JMP TMGL SKP TMGM1 ASC 18,H112 LOAD TEN CARDS FOR TIMING TEST ASC 07,AND START CR/ * TMGE1 ASC 13,E056 EOP BUT NO INTERRUPT/ TMGE2 ASC 12,E057 NO EOP AFTER PICK/ TMGE3 ASC 09,E060 PICK FAILURE/ TMGE4 ASC 15,E061 PICK TO INT OVERçzþú 300 MS/ TMGE5 ASC 15,E062 POSSIBLE PICKER TROUBLE/ TMGE6 ASC 14,E063 EOP BEFORE 80 COLUMNS/ TMGE7 ASC 17,E064 TIME BETWEEN DATA OVER 1 MS/ TMGE8 ASC 14,E065 80 COLUMNS BUT NO EOP/ TMGE9 ASC 14,E066 DATA TO EOP OVER 4 MS/ TMGE0 ASC 15,E067 INT TIME OUT DURING READ/ * DM10 DEC -10 SVA NOP SVB NOP DM40 DEC -40 DM4 DEC -4 DM300 DEC -300 SKP * DATA PATTERN TEST * ññ TST03 EQU * * *ñ DPT NOP H113 JSB MSGH,I TELL OPERATOR TO DEF DPTM1 LOAD 50 CARDS FOR DATA PATTERN TEST CLC INTP,C CLEAR ALL I/O LDA DM50 SET FOR 50 CARDS STA TMP+2 DPT0 JSB CFR CHECK FOR READY JMP DPT,I RETURN TO EXEC JSB R2B READ TO BUFFER JSB DRTC DATA READ TABLE COMPARE DEF DPTT ISZ TMP+2 DONE 50 CARDS? JMP DPT0 NO JMP DPT,I YES RETURN * ññ DPTM1 ASC 18,H113 LOAD 50 CARDS FOR DATA PATTERN ASC 08,CHECK START CR/ * DPTT EQU * OCT 7777 OCT 0 0Ñ OCT 3777 OCT 5777 OCT 6777 OCT 7377 OCT 7577 OCT 767778 OCT 7737 OCT 7757 OCT 7767 OCT 7773 OCT 7775 OCT 7776 OCT 4000,2000,1000 OCT 400,200,100 OCT 40,20,10 OCT 4,2,1 1? OCT 5252,2525,5252,2525 OCT 5252,2525,5252,2525 OCT 5252,2525,5252,2525 OCT 5252,2525 REP 4 OCT 0,0,0,0,0,0,0,0,0,0 SKP * READ RATE * TST04 EQU * * RR NOP H114 JSB MSGH,I TELL OPERATOR TO DEF RRM1 LOAD 50 CARDS FOR READ RATE TEST CLC INTP,C CLEAR ALL I/O JSB CFR CHECK FOR READY JMP RR,I ABORT TEST LDA DM50 SET FOR 50 CARDS STA CNTR LDA D10E4 SET CNT IF TBG STA TMP LDA JSBRI SET CARD READER INTERRUPT RRSI1 STA CR TBG1 RSS NOP = TBG AVAILABLE JSB RRTM SET UP TBG RRS01 STC CR,C GIVE PICK COMMAND LDA D10Efçþú4 MAX TIME 10 SEC STF INTP TURN ON INTERRUPTS TBG2 RSS NOP = TBG AVAILABLE JMP RRTBG JSB TMRR,I WAIT FOR CARDS TO BE READ CLF INTP TURN INT OFF E133 JSB ERMS,I TELL OPERATOR OF DEF RRE1 TIME OUT JMP RR,I EXIT TEST * RRTBG CMA,INA MAKE COUNT NEG LDB 110B GET MILL SEC OUNT INB,SZB JMP *-1 ISZ TMP JMP RRTBG+1 JMP E133 * *ñ RRM1 ASC 16,H114 LOAD 50 CARDS FOR READ RATE ASC 07, AND START CR/ * RRE1 ASC 09,E133 CR TIMED OUT/ * D10E4 DEC 10000 SKP RRI NOP CLF INTP TURN OFF INTERRUPTS STA SVA SAVE A REG (B WON'T BE USED) RRIS1 LIA CR GET DATA SSA EOP? JMP *+4 YES LDA SVA NO RETURN TO COUNTER STF INTP JMP RRI,I ISZ CNTR COUNT THE CARD (DONE?) RSS JMP RRCMP YES SLA,RSS STILL READY? JMP *+3 YES E134 JSB ERMS,I TELL OPERATOR DEF RRE2 CR WENT NOT READY LDA SVA RRIS2 STC CR,C PICK NEXT CARD STF INTP JMP RRI,I RRCMP LDA SVA RESTORE NUMBER ADA D5000 DETERMINE CPM STA SVA A = NUMBER OF MILLI SEC SSA FOR 50 CARDS CMA,INA LDB A ALF,RAR *8 RBL,RBL *4 ADA B = *12 CLB ADA DM100 * SSA * JMP *+4 * /100 ADA DM100 * INB * JMP *-4 * LDA SVA SSA,RSS < 600 CMB,INB ADB D600 STB SVA SAVE IT FOR DISPLAY WHEN HALTED TBG3 RSS NOP = TBG AVAILABLE RSS ADB POT SUBTRACT OFF SET IF PROG TIME LDA B LDB DRTBD CONVERT IT FOR MESSAGE CLE JSB I2AS,I LDA DRTA PUT NUMBER IN AND .377 MESSABE IOR USPC STA RRM3 LDkRþúA DRTB STA RRM3+1 H115 JSB MSGC,I SHOW OPERATOR DEF RRM2 LDA SVA GET COUNT FOR DISPLAY LDB 112B CHECK IF NO TTY SZB,RSS S  OCT 106015 NO SO HALT JMP RR,I RETURN TO CONTROL * RRE2 ASC 09,E134 CR NOT READY/ * RRM2 ASC 02,H115 5c RRM3 ASC 11,XXXX CARDS PER MINUTE/ * POT DEC -8 D5000 DEC 5000 DM100 DEC -100 D600 DEC 600 .377 OCT 377 USPC OCT 20000 SKP * DMA TRANSFER TEST * *ñ TST05 EQU * * DMA NOP CLC INTP,C CLEAR ALL I/O LDA CPTO CHECK IF THERE IS DMA AVAILABLE RAR,RAR SLA,RSS JMP DMA,I NO ABORT TEST H116 JSB MSGH,I TELL OPERATOR TO DEF DMAM1 LOAD 50 CARDS FOR DMA LDA DM50 SET FOR 50 CARDS STA TMP+2 JSB WFIS SET CR TRAP CELL LDA JSBDM SET DMA TRAP STA 6B * DMAR JSB CFR CHECK FOR READY JMP DMA,I ABORT IF NOT READY LDA USSC GET AND .77 SELECT CODE OTA 6 CLC 2 LDA BFD ADDRESS IOR BIT15 INPUT OTA 2 STC 2 LDA DM85 COUNT OF 85 OTA 2 DMAS1 STC CR,C GIVE PICK COMMAND STC 6,C START DMA LDA D1000 WAIT FOR 1 SEC JSB WFI RSS JMP *+4 E135 JSB ERMS,I TELL OPERATOR DEF DMAE1 DMA TIMED OUT JMP DMA,I LIA 2 CHECK WORD COUNT IOR B16K ADD UPPER BITS TO MAKE IT NEG CPA DM5 5 WORDS LEFT JMP *+3 YES E136 JSB ERMS,I NO THEN ERROR DEF DMAE2 2 DMAS2 LIA CR SSA EOP? JMP *+3 YES OK E137 JSB ERMS,I NO EOP AFTER TRANSFER DEF DMAE3 JSB DRTC COMPARE DATA DEF DPTT WITH STANDARD BUFFER DMAN ISZ TMP+2 DONE 50 CARDS? JMP DMAR NO DO ANOTHER LOOP JMP DMA,I YES EXIT SKP DMAI NOP P CLF INTP TURN OFF INTERRUPTS M»þú DMAS3 OTA CR DMAS4 LIA CR LIB 2 E140 JSB ERMS,I DMA COMPLETED BEFOR CR DEF DMAE4 JMP DMAN TRY NEXT CARD * BIT15 OCT 100000 DM85 DEC -85 DM5 DEC -5 B16K OCT 160000 * DMAM1 ASC 16,H116 LOAD 50 CARDS FOR DMA TEST ASC 05,START CR/ DMAE1 ASC 10,E135 DMA TIMED OUT/ DMAE2 ASC 15,E136 DMA TRANSFER COUNT WRONG/ DMAE3 ASC 16,E137 NO EOP AFTER DMA TRANSFER/ DMAE4 ASC 15,E140 DMA COMPLETED BEFORE CR/ SKP ll * SPECIAL DATA TEST (PSEUDO OPDESIGN) * TST06 EQU *  * SDT NOP H117 JSB MSGC,I TELL OPERATOR DEF SDTM1 HE'S IN SPECIAL DATA TEST CLC INTP,C CLEAR ALL I/O JMP SDTH GO TO WAIT SDTL JSB SDTRY CHECK FOR READY (SW1) JSB SDTRD READ A CARD (SW2) JSB SDTCB COMPARE BUFFERS (SW3) JSB SDTLB LIST BUFFER (SW4) JSB SDTDL DELAY (SW5) JSB SDTST REPAORT STATUS (SW6) LDA SVA GET STATUS FOR HALT CLB,INB CHECK FOR LOOP (SW0) JSB SWRT,I JMP SDTL YES SDTH OCT 106017 NO WAIT FOR CHANGES LDB .177 EXIT JSB SWRT,I IF ALL SWITCHES ARE DOWN JMP SDTL NO THEN LOOP JMP SDT,I YES EXIT * .177 OCT 177 SDTM1 ASC 11,H117 PSEUDO OPDESIGN/ SKP SDTRY NOP LDB BIT1 DOES HE WANT TO CHECK FOR READY JSB SWRT,I JMP *+2 –– JMP SDTRY,I NO RETURN JSB CFR YES CHECK FOR READY JMP SDTRY+1 NOT READY TRY AGAIN JMP SDTRY,I YES RETURN * ññ * SDTRD NOP LDB BIT2 READ A CARD? JSB SWRT,I JSB R2B YES JMP SDTRD,I RETURN * * SDTCB NOP LDB BIT3 COMPARE BUFFERS JSB SWRT,I JMP *+2 JMP SDTCB,I NO JSB DRTC YES DEF DPTT STANDARD BUFFER JMP SDTCB,I RETURN * * SDTDL NOP LDA D1000 LDB BIT5 DELAY 1 SEC? JSB SWRT,I :wþú JSB TMRR,I YES JMP SDTDL,I RETURN * * ññ SDTST NOP SDTS1 OTA CR DO OTA TO TRANSFER STATUS SDTS2 LIA CR READ STATUS STA SVA SAVE IT LDB BIT6 OUT PUT MESSAGE? JSB SWRT,I JMP *+2 JMP SDTST,I NO CLE LDB SDTM2 CONVERT STATUS TO ASCII JSB O2AS,I H120 JSB MSGC,I DEF *+2 JMP SDTST,I RETURN * ASC 08,H120 STATUS IS SDTSM ASC 04,XXXXXX// SDTM2 DEF SDTSM SKP SDTLB NOP LDA DM20 SET FOR OUTPUT STA CNTR LDA BFD BUFFER PAINTER STA TMP LDB BIT4 JSB SWRT,I JMP *+2 JMP SDTLB,I JSB MSGC,I DEF SDTL0 SDTLL LDB BIT4 CHECK IF HE WANTS A LIST JSB SWRT,I JMP *+2 JMP SDTLB,I NO RETURN LDA 112B CHECK IF THERE IS A CONSLE SZA ? JMP SDTLN YES USE LIST DEVICE LDA DM80 SET TO DO 80 COLUMNS STA CNTR LDA TMP,I GET DATA H121 OCT 1060212O ISZ TMP ISZ CNTR DONE? JMP SDTLL NO JMP SDTLB,I YES SDTLN LDA TMP,I CLE LDB SDTL1 FIRST 20 JSB O2AS,I LDA TMP ADA D20 LDA A,I CLE LDB SDTL2 SECOND 20 JSB O2AS,I LDA TMP ADA D40 LDA A,I CLE LDB SDTL3 THIRD 20 JSB O2AS,I LDA TMP ADA D60 LDA A,I CLE LDB SDTL4 FORTH 20 JSB O2AS,I JSB MSGC,I OUTPUT LINE DEF SDTL5 ISZ TMP ISZ CNTR DONE? JMP SDTLL NO JMP SDTLB,I YES * ññ SKP BIT1 OCT 2 BIT2 OCT 4 BIT3 OCT 10 BIT4 OCT 20 BIT5 OCT 40 BIT6 OCT 100 0Û DM20 DEC -20 0ÿ D20 DEC 20 D40 DEC 40 D60 DEC 60 SDTL1 DEF SDTL5 5ÿ SDTL2 DEF SDTL6 6= SDTL3 DEF SDTL7 SDTL4 DEF SDTL8 SDTL0 ASC 09,H121 BUFFER LIST// SDTL5 ASC 05,XXXXXX SDTL6 ASC 05,XXXXXX SDTL7 ASC 05,XsK640XXXXX SDTL8 ASC 04,XXXXXX// FWAA EQU * * END Ä6ÿÿ ÿý– ¤ ÿ12929-18001 1830 S 0122 DMS DIAGNOSTIC              H0101 %þúASMB,A,B,L,C HED *** MEMORY EXPANSION MODULE DIAGNOSTIC *** ORG 0 SUP SPC 10 * ************************************************** * ************************************************** * ** ** * ** ** * ** ** * ** ** * ** MEMORY ** * ** EXPANSION ** * ** MODULE ** * ** DIAGNOSTIC ** * ** ** * ** ** * ** JULY 6, 1978 ** * ** ** * ************************************************** * ************************************************** SKP * 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 * (SUPPRESS ALL OPERATOR INTERVENTION) * 11 = SUPRESS ERROR MESSAGES * 10 = SUPRESS NON-ERROR MESSAGES * 9 = GO TO USER CONTROL SECTION * AT END OF PREåóþúSENT TEST * 8= SUPPRESS OPERATOR INTERVENTION TESTS * 7 * = DIAGNOSTIC OPTIONS * 0 * NOTE: STANDARD RUN SHOULD BE WITH SW. REG. = 0 * USER CONTROL WILL ASK FOR A 32 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 * * 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 * * CONTROL PROGRAM HALT MESSAGES * * 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 RESERVED * 102071 RESERVED * 102070 RESERVED * * 106077 TRAP CELL HALT * * * HED 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 MEMSC EQU 5 DVICE EQU 0 SPC 1 ORG 100B SPC 1 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 NOP 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 DSNL OCT 102103 FMTR BSS 1 FORMATTER SPC 1 * CONTROL LINKAGE AND DATA REFERENCES SPC 1 CFIG DEF ZCONF CONFIGURATION SECTION MSGC DEF ZMSGC MESSAGE WITH NO HALT MSGH DEF ZMSGH MESSAGE WITH HALT ERMS DEF ZERMS ERROR MESSAGE SWRT DEF ZSWRT SWITCH REGISTER CHECK ROUTINE TSTN OCT 0 CURRENT TEST NUMBER EXRT DEF ZEXRT RETURN TO CONTROL PROGRAM NOP RESERVED SPC 1 * TABLE OF POINTERS SPC 1 IOIP DEF IODP TSTP DEF TSTD HDMP DEF HDMS HDMP1 DEF HDMS+21 MSP23 DEF H327+2 STDA OCT -1 STDB OCT 7 NOP NOP NOP HED *** MEM DIAGNOSTIC LINKAGE SPC 1 HDMS ASC 25,MEMORY EXPANSION MODULE DIAGNOSTIC, DSN = XXXXXX/ SPC 2 * TEST POINTER TABLE SPC 3 TSTD DEF TST00 TRANSFER MAP OR MEMORY A 0 DEF TST01 TRANSFER MAP SEQUENTIALLY A 1 DEF TST02 TRANSFER MAPS INTERNALLY A 2 DEF TST03 LOAD/STORE MAPS A 3 DEF TST04 STATUS - FENCE REGISTER A 4 DEF TST05 CROSS LOAD/STORE/COMPARE A 5 DEF TST06 MOVE WORDS INSTRUCTIONS A 6 DEF TST07 MOVE BYTES INSTRUCTIONS A 7 DEF TST10 PROTECTED MODE PRESET TEST A 8 DEF TST11 READ/WRITE-BP VIOLATIONS A 9 DEF TST12 WRITE VIOLATIONS A10 DEF TST13 PRIVILEGED INSTRUCTIONS 1 A11 DEF TST14 PRIVILEGED INSTRUCTIONS 2 A12 DEF TST15 DCPC PORTS ENABLE TEST A13 DEF TST16 READ VIOLATIONS A14 DEF TST17 INTERRUPTABLE INSTRUCTIONS A15 DEF TST20 DCPC INTERFERENCE TEST B 0 DEF TST21 VIOLATION REGISTER MAP BITS B 1¢ìþú DEF TST22 MAP-LOAD REGISTER INCREMENT B 2 DEF TST23 EXTENDED MEMORY TEST B 3 DEF TST24 BASIC I/O (TCP) B 4 DEF TST25 MAP REGISTER CRUSHER B 5 DEC -1 SKP * I/O INSTRUCTION POINTER TABLE SPC 2 IODP DEF EIO01 DEF EIO02 DEF EIO03 DEF EIO04 DEF EIO4A DEF EIO05 DEF EIO06 DEF EIO07 DEF EIO08 DEF EIO09 DEF EIO10 DEF DVSC1 DEF DMACW DEF RDVC1 DEF NNIO1 DEF NNIO2 DEF NNIO4 DEF NNIO5 DEF JIO01 DEF PIO01 DEF PIO02 DEF PIO03 DEF PIO04 DEF QQIO1 DEF PTBCW DEC -1 SPC 3 * LINK ADDRESSES SPC 1 ADLNK OCT 0 M5LNK OCT 0 HED MEM/MPT VIOLATION CHECK SUBROUTINES RDVCK NOP SFC MEMSC JMP *+5 LDY RDVCK JSB ERMS,I DEF E120 RVA SSA CHECK TO SEE THAT IT WAS JMP RDVCK,I A READ VIOLATION ISZ RDVCK JMP RDVCK,I SPC 1 WTVCK NOP SFC MEMSC JMP *+5 LDY WTVCK JSB ERMS,I DEF E121 RVA AND BIT14 SZA JMP WTVCK,I ISZ WTVCK JMP WTVCK,I SPC 1 PIVCK NOP SFC MEMSC MEMV? JMP *+5 LDY PIVCK JSB ERMS,I DEF E300 RVA GET THE VIOLATION REGISTER AND BIT12 AND MAKE SURE CPA BIT12 THAT THE PRIV. INST BIT IS SET JMP PIVCK,I OK, USE CORRECT EXIT ISZ PIVCK NOT SET, USE THE JMP PIVCK,I ERROR EXIT SPC 3 E120 ASC 13,E120 RDV - MPT VIOLATION/ E121 ASC 13,E121 WTV - MPT VIOLATION/ E300 ASC 13,E300 PIV - MPT VIOLATION/ HED *** MEM DIAGNOSTIC - MAPS LOADER LODUP NOP CLA MAKE A SEQUENCE JSB MKSTB TABLE LDA LTPTB AND LDB A LOAD THE USA ’Éþú USER AND SYB SYSTEM MAPS LDA OCT10 NOW PUT LDB .STB. THE SPECIAL LDX OCT05 TABLE VALUES XMM IN THE SYSTEM LDA OCT50 AND THE LDB .UTB. SPECIAL LDX OCT05 VALUES XMM IN THE USER JMP LODUP,I SPC 1 .STB. DEF *+1 OCT 11,13,14,15,16 .UTB. DEF *+1 OCT 10,12,14,15,16 SPC 2 JLOAD NOP JSB LODUP LDA OCT10 LDB .JLS. LDX OCT05 XMM LDA OCT50 LDB .JLS. LDX OCT05 XMM JMP JLOAD,I SPC 2 .JLS. DEF *+1 OCT 100010,040011,140012,13,14 HED REGISTER SAVE ROUTINES RGSVE NOP STA SVPD1 SAVE THE REGISTERS STB SVPD2 FOR STX SVPD3 ERROR STY SVPD4 REPORTING JMP RGSVE,I SPC 3 RGRS1 NOP LDA SVPD1 RESTORE THE REGISTERS LDB SVPD2 FOR ERROR REPORTING JMP RGRS1,I EXIT SPC 3 RGRS2 NOP LDX SVPD3 RESTORE LDY SVPD4 X AND Y JMP RGRS2,I SPC 3 RGRST NOP JSB RGRS1 RESTORE JSB RGRS2 ALL JMP RGRST,I REGISTERS SPC 3 SVPD1 OCT 0 SVPD2 OCT 0 SVPD3 OCT 0 SVPD4 OCT 0 HED *** MEM DIAGNOSTIC - COMMON SUBROUTINES XMMSY NOP ******************************** CLA * * LDB LTSYS * LOAD THE PATTERN FOUND IN * LDX OCT40 * LTSYS INTO THE SYSTEM MAP * XMM * * JMP XMMSY,I ******************************** SPC 3 XMMUS NOP ******************************** LDA OCT40 * * LDB LTUSR * LOAD THE PATTERN FOUND IN * LDX OCT40 * LTUSR INTO THE USER MAP * XMM * * JMP XMMUS,I ******************************** |çþú SPC 3 P1XMM NOP ******************************** LDA OC100 * * LDB RTPTA * READ THE CONTENTS OF THE * LDX NON40 * PORT A MAP INTO RTPT1 * XMM * * JMP P1XMM,I ******************************** SPC 3 P2XMM NOP ******************************** LDA OC140 * * LDB RTPTB * READ THE CONTENTS OF THE * LDX NON40 * PORT B MAP INTO RTPT2 * XMM * * JMP P2XMM,I ******************************** SPC 3 PMON NOP CLC INTP,C PROHIBIT INTPS BEFORE WERE READY STF INTP PLACE THE SJP *+2 MEM IN ITS STC MEMSC PROTECTED JMP PMON,I MODE W/SYSTEM ENABLED SPC 2 PMONU NOP CLC INTP,C PROHIBIT INTPS BEFORE WE ARE READY STF INTP PLACE THE UJP *+2 MEM IN ITS STC MEMSC PROTECTED JMP PMONU,I MODE W/THE USER ENABLED SKP ZORCH NOP LDA MPJSB WRITE OVER STA MEMSC TCP'S SELECT LDA DVJSB CODE HALT-FILL DVSC1 STA DVICE ROUTINES JMP ZORCH,I AND EXIT SPC 1 MPJSB JSB M5LNK,I DVJSB JSB ADLNK,I SPC 2 CAINT NOP CLF INTP CAUSE AN INTRRUPT EIO06 STF DVICE ON THE DEVICE EIO07 STC DVICE CONFIGURED AT STF INTP START-UP TIME NOP WAIT FOR INTERRUPT NOP WAIT FOR INTERRUPT JSB ERMS,I NO INTERRUPT HAS DEF E066 OCCURRED, REPORT TO OPERATOR JMP CAINT,I THEN EXIT SPC 2 TRNOF NOP CLF INTP OFF THE INTERRUPT DJP *+2 AND MEM JMP TRNOF,I SPC 1 KFNCE NOP LDA OC100 MADE THE M.E.M. AND LFA M.P.T. FENCE REGISTER OTA MEMSC VALUES OCTAL 100 JMP KFNCE,I EXIT SPâxþúC 1 OFFPM NOP LDA KERR1 PUT RECOVERY ROUTINE'S STA M5LNK ADDRESS IN THE LINK STA MEMSC CAUSE THE INTERRUPT NOP KERRA NOP TO HERE, JSB TRNOF OFF MEM AND INTP JMP OFFPM,I AND EXIT SPC 1 KERR1 DEF KERRA SKP LTZRO NOP CLA ZERO CLB THE JSB MKTBL LOAD MAP OCT 074000 TABLE JMP LTZRO,I SPC 3 RDZRO NOP CLA ZERO CLB THE JSB MKTBL READ MAP OCT 174000 TABLE JMP RDZRO,I EXIT SPC 3 LTONE NOP CCA LOAD THE LOAD CCB TABLE WITH ALL JSB MKTBL ONES AND OCT 074000 JMP LTONE,I EXIT SPC 3 CLTBL NOP JSB LTZRO ZERO BOTH JSB RDZRO TABLES JMP CLTBL,I SPC 2 BIT12 OCT 10000 BIT14 OCT 40000 SKP TBCMP NOP STA MKTB1 SAVE THE DATA PATTERN STB MKTB2 ADDRESSES FOR POINTERS LDA RTSYS CALCULATE THE CMA,INA STARTING REGISTER ADA MKTB2 AND PUT IN STA REGNR REGNR LDY NON40 XTHRU = 40 TBCM. LDA MAPSK MASK OFF AND AND MKTB2,I STORE THE READ TABLE STA B PATTERN LDA MAPSK DO THE SAME TO AND MKTB1,I LOAD TABLE PATTERN CPA B SAME PATTERN? JMP *+3 YES, OVER THE ERROR JMP TBCMP,I NO, USE ERROR EXIT TCPHR NOP RETURN CONTINUATOR ISZ REGNR BUMP THE REGISTER NUMBER ISZ MKTB1 THE LOAD TABLE POINTER ISZ MKTB2 THE READ TABLE POINTER ISY AND THRU? JMP TBCM. NO XTHRU YET, DO ANOTHER ISZ TBCMP XTHRU COMPLETE, SET UP FOR JMP TBCMP,I RETURN AND EXIT. SPC 1 MASKO OCT 100000 BIT STRIPPER MASK7 OCG¸þúT 7 REGNR OCT 0 MAPSK OCT 141777 SKP MKTBL NOP STA MKTB1 PLACE PATTERNS STB MKTB2 IN SAVE SCRATCH PADS LDA MKTBL,I GET AND STORE STA MKPD1 THE COMMAND WORD ISZ MKTBL UPDATE THE RETURN ADDRESS SSA WHICH TABLE? JSB GTRTA GO GET READ TABLE ADDRESS LDA LTSYS OR GET LOAD TABLE ADDRESS STA ADCAL STORE IN ADDRESS CALC. STA MKPNT SET UP POINTER FOR MARK LDA MKPD1 GET THE COMMAND WORD AND SYTBC WANT TO DO SZA THE SYSTEM MAP TABLE? JSB MAKR YES LDA ADCAL GET AND UPDATE ADA OCT40 THE TABLE POINTER STA MKPNT FOR NEXT TIME THRU MAKR LDA MKPD1 GET THE COMMAND WORD AND USTBC WANT TO DO SZA THE USER MAP TABLE? JSB MAKR YES LDA ADCAL GET AND UPDATE ADA OC100 THE TABLE POINTER STA MKPNT FOR NEXT TIME THRU MAKR LDA MKPD1 GET THE COMMAND WORD AND P1TBC WANT TO DO THE SZA PORT1 MAP TABLE? JSB MAKR YES LDA ADCAL GET AND UPDATE ADA OC140 THE TABLE POINTER STA MKPNT FOR NEXT TIME THRU MAKR LDA MKPD1 GET THE COMMAND WORD AND P2TBC WANT TO DO THE SZA PORT2 MAP TABLE? ?y JSB MAKR YES JMP MKTBL,I EXIT SPC 1 MKPD1 OCT 0 MAKE TABLE SCRATCH PAD REGISTER ADCAL OCT 0 ADDRESS CALCULATION REGISTER SYTBC OCT 40000 SYSTEM MAP TABLE CODE USTBC OCT 20000 USER MAP TABLE CODE P1TBC OCT 10000 PORT 1 MAP TABLE CODE P2TBC OCT 4000 PORT 2 MAP TABLE CODE MKTB1 OCT 0 MKTB2 OCT 0 SKP GTRTA NOP LDA RTSYS GET THE READ TABLE ADDRESS ISZ GTRTA SKIP OVER THE LOAD TABLE ADDRESS JMP GTRTA,I AND RETURN SPC 3 MAKR NOP LDY NON20 INITIALIZE THE XuþúTHRU LDA MKTB1 GET PATTERNS LDB MKTB2 ONE AND TWO STMPT STA MKPNT,I PLACE THE ISZ MKPNT PATTERNS STB MKPNT,I INTO THE ISZ MKPNT TABLE ISY XTHRU? JMP STMPT DO AGAIN JMP MAKR,I XTHRU COMPLETE, EXIT SPC 1 MKPNT OCT 0 ADDRESS POINTER PTRN1 OCT 125252 PTRN2 OCT 052525 SPC 4 LDTBL BSS 128 LOAD TABLE ***** LTSYS DEF LDTBL LTUSR DEF LDTBL+32 LTPTA DEF LDTBL+64 LTPTB DEF LDTBL+96 LTBSU DEF LDTBL+26 LTBUA DEF LDTBL+58 LTBAB DEF LDTBL+90 SPC 1 RDTBL BSS 128 READ TABLE ***** RTSYS DEF RDTBL RTUSR DEF RDTBL+32 RTPTA DEF RDTBL+64 RTPTB DEF RDTBL+96 RTBSU DEF RDTBL+26 RTBUA DEF RDTBL+58 RTBAB DEF RDTBL+90 SKP MKSTB NOP MAKE THE SEQUENCE TABLE LDB NON40 INITIALIZE STB MKST2 XTHRU COUNTER LDB LTPTB INITIALIZE STB MKST1 ADDRESS POINTER .MKST STA MKST1,I LOAD UP INA THE SEQUENCE ISZ MKST1 TABLE ISZ MKST2 FINISHED? JMP .MKST NO, DO AGAIN JMP MKSTB,I YES, EXIT SPC 1 MKST2 OCT 0 MKST1 OCT 0 SPC 3 SQALL NOP LDA NO177 STA SQAL1 XTHRU LDA LTSYS INITIALIZE STA SQAL2 ADDRESS POINTER CLA START W/ ZERO .SQAL STA SQAL2,I AND SEQUENTIALLY INA BUILD A ISZ SQAL2 COMPARE ISZ SQAL1 TABLE JMP .SQAL AND JMP SQALL,I EXIT SPC 1 SQAL1 OCT 0 SQAL2 OCT 0 HED PAGE ZERO CONSTANTS OCT01 OCT 01 OCT02 OCT 02 OCT03 OCT 03 OCT04 OCT 04 OCT05 OCT 05 OCT06 OCT 06 OCT10 OCT 10 OCT11 OCT 11 OCT12 OCT 12 OCT14 OCT 14 OCT15 OCT 15 OCT30 OCT 30 OCT33 OCT 33 OCT37 OCT 37 OCT40 OCT 40 OCT50 OCT 50 OCT73 OCT 73 OC100 OCT 100 OC140 OCT 140 OC177 OCT 200 OCT1K OCT 10ìç<:600 OCT2K OCT 2000 FOURK OCT 4000 OC10K OCT 10000 TWNTK OCT 20000 TWN1K OCT 21000 TWN2K OCT 22000 TWN3K OCT 23000 TWN4K OCT 24000 TWN6K OCT 26000 TWN7K OCT 27000 THR2K OCT 32000 FORTK OCT 40000 FOR2K OCT 42000 FOR4K OCT 44000 FOR6K OCT 46000 OCTWO OCT 02 SPC 2 NEG01 OCT -1 NEG02 OCT -2 NEG03 OCT -3 NON05 OCT -5 NDN08 DEC -8 ´ž<ÿÿ ÿý—¦ ÿ12929-18002 1830 S 0122 DMS DIAGNOSTIC              H0101 &þúNON20 OCT -20 NEG31 DEC -31 NEG37 OCT -37 NON40 OCT -40 NO140 OCT -140 NO177 OCT -200 NO9 OCT 176777 HED MESSAGE SECTION E050 ASC 5,E050 DJP/ E051 ASC 5,E051 DJS/ E052 ASC 5,E052 SJP/ E053 ASC 5,E053 SJS/ E054 ASC 5,E054 UJP/ E055 ASC 5,E055 UJS/ E056 ASC 5,E056 JRS/ E057 ASC 5,E057 JRS/ E060 ASC 5,E060 SSM/ E061 ASC 5,E061 DJS/ E062 ASC 5,E062 SJS/ E063 ASC 5,E063 UJS/ E064 ASC 5,E064 RSA/ E065 ASC 5,E065 RSB/ E066 ASC 5,E066 LFA/ E067 ASC 5,E067 LFB/ E316 ASC 8,E316 VR MAP 12/ E301 ASC 8,E301 VR MAP 15/ E302 ASC 8,E302 VR MAP 00/ E303 ASC 8,E303 VR MAP 11/ E325 ASC 7,E325 M-E BUS/ HED EXECUTIVE CONTROL ORG 2000B SPC 2 ZSTEX CLC INTP,C TURN I/O SYSTEM OFF JSB MSGC,I DO CRLF DEF ZRTLF CLE CONVERT DSN AND ATTACH TO LDA DSNL HEADER MESSAGE LDB HDMP1 JSB O2AS,I LDA HDMP GET INTRODUCTORY MESSAGE STA *+2 JSB MSGC,I OUT PUT IT NOP CLA CLEAR PASS STA ZEOLC COUNT LDB ZSW9 CHECK FOR USER SELECTION REQ JSB SWRT,I JMP ZUSR IT'S USERS CHOICE ZNUSR LDA STDA GET STANDARD TEST RUN LDB STDB * JMP ZEXC * ZUSR LIA SW CLEAR S-REG BIT 9 AND NO9 OTA SW LDA ZSINA RETRIEVE PREVIOUS RUN LDB ZSINB HLT 75B WAIT FOR USER INPUT NOP NOP NOP ZEXC STA ZUINA SAVE STB ZUINB USER STA ZSINA INPUT STB ZSINB PROGRAM LDB ZSW9 CHECK IF SW9 IS DOWN JSB SWRT,I JMP ZUSR NO GO AND WAIT CCA SET TEST NUMBER STA TSTN =-1 CLA STA ZTSTA CLEAR TEST RUN FLAG * * * * * * * * SKP ZEXCL LDA ZUINA RESTORE A REG. LDB ZUINB RESTORE B REG. ERA,RAL ROTATE ERB FIRST ERA î„þú TEST BIT STA ZUINA SAVE POSITIONS STB ZUINB ISZ TSTN MOVE TEST UP ONE NOP ZXCL1 LDA TSTN ADA TSTP GET IT'S LDA A,I ADDRESS CPA Z.M1 IS IT END OF LIST JMP ZEOL YES LDB ZUINB SSB,RSS SHOULD IT BE RUN? JMP ZEXCL NO STA ZTSTA YES - SAVE TEST ADDRESS JSB ZITCH INITIALIZE TRAP CELL HALTS JSB ZTSTA,I GO DO TEST ZEXRT LDA TSTN DISPLAY TEST NUMBER IF HALTED LDB ZSW15 CHECK FOR HALT AT END OF TEST JSB SWRT,I HLT 76B YES WAIT FOR OPERATOR LDB ZSW9 CHECK FOR ABORT JSB SWRT,I JMP ZUSR YES LDB ZSW13 CHECK FOR LOOP ON ROUTINE JSB SWRT,I JMP ZXCL1 YES - LOOP JMP ZEXCL CONTINUE * ZEOL LDA ZTSTA CHECK IF ANY TESTS WERE RUN SZA,RSS ? JMP ZNUSR NO SO PICK UP STANDARD RUN LDA ZEOLC UP DATE PASS COUNT INA STA ZEOLC CCE LDB ZPSCA GET PASS COUNT ADB Z.2 ADDRESS JSB O2AS,I CONVERT IT JSB MSGC,I CALL PRINT ROUTINE ZPSCA DEF ZPSC LDB ZSW12 CHECK FOR LOOP ON DIAG. JSB SWRT,I JMP *+3 YES LDA ZEOLC HLT 77B NO WAIT AND DISPLAY PASS COUNT LDA ZSINA RESTORE ORIGINAL LDB ZSINB PROGRAM JMP ZEXC DO IT ALL AGAIN * SKP * MESSAGE OUTPUT WITHOUT HALT * ZMSGC NOP ENTRY JSB ZMSG OUTPUT MESSAGE OCT 2000 SWITCH 10 CHECK JMP ZMSGC,I RETURN TO CALLER * * MESSAGE OUTPUT WITH HALT * ZMSGH NOP ENTRY JSB ZMSG OUTPUT MESSAGE OCT 2000 SWITCH 10 CHECK LDA ZHLT GET HALT CODE STA *+2 PUT IT IN PLACE LDA ZSAVA RESTORE A REGISTER NOP HALT FOR DISPLAY JMP ZMSGH,I RETURN TO CALLER * ÷^þú* ERROR MESSAGE WITH HALT * ZERMS NOP ENTRY JSB ZMSG OUTPUT MESSAGE OCT 4000 SWITCH 11 CHECK CLA LDB ZSW14 CHECK SWR BIT 14 TO SUPPRESS JSB SWRT,I HALT STA *+3 PUT HALT IN PLACE LDA ZSAVA RESTORE A & B LDB ZSAVB ZHLT NOP WAIT FOR OPERATOR JMP ZERMS,I RETURN TO CALLER * * * * * * * * * * * * * SKP * OUTPUT MESSAGE * ZMSG NOP STA ZSAVA SAVE A AND B REGISTERS STB ZSAVB LDB ZMSG,I GET SWITCH REGISTER BIT LDA ZMSG ADA Z.M2 DECREMENT RETURN ADDRESS STA ZMSG JSB SWRT,I CHECK TO SUPPRESS MESSAGE JMP ZMSG0 YES LDA ZMSG,I CHECK IF ERROR LDA A,I LDA A,I IF SO ALF,ALF AND Z.177 CPA ZA.E JSB ZCFTN CHECK TO OUTPUT TEST NUMBER LDA ZMSG,I NO RETRIEVE FORMAT LDB A,I ADDRESS CLA,CLE JSB FMTR,I ZMSG0 LDA ZMSG,I CONVERT HALT CODE LDB A,I FROM ASCII STRING CCA,CCE JSB AS2N,I STA ZN2AO SAVE RESULT AND Z.300 DECODE LDB ZH2 HALT CODE CPA Z.100 LDB ZH6 6Í CPA Z.200 LDB ZH3 CPA Z.300 LDB ZH7 LDA ZN2AO GET HALT NUMBER AND Z.77 IOR B STA ZHLT SAVE IT ISZ ZMSG,I ADJUST RETURN POINTERS ISZ ZMSG ISZ ZMSG ISZ ZMSG LDA ZSAVA RESTORE A AND B REGISTERS LDB ZSAVB JMP ZMSG,I * * * * * * SKP ZCFTN NOP LDA TSTN GET TEST NUMBER CPA ZCFTT IS IT THE SAME ONE? JMP ZCFTN,I YES SKIP OUTPUT STA ZCFTT NO - THEN UPDATE IT JSB ZN2AO CONVERT IT STA ZTSTN PUT IT IN STRING CLA DO A CRLF JSB SLOP,I CLA,CLE INDICATE START OF FORMAT LDB ZT§þúSTF JSB FMTR,I JMP ZCFTN,I RETURN * * * * ZSAVA NOP ZSAVB NOP ZEOLC NOP ZTSTA NOP ZSINA NOP ZSINB NOP ZUINA NOP ZUINB NOP ZBTMP NOP Z.2 OCT 2 Z.7 OCT 7 Z.10 OCT 10 Z.60 OCT 60 Z.77 OCT 77 Z.177 OCT 177 Z.M1 DEC -1 Z.M2 DEC -2 ZIOM OCT 177700 ZSW15 OCT 100000 ZSW14 OCT 40000 ZSW13 OCT 20000 ZSW12 OCT 10000 ZS812 OCT 010400 ZSW9 OCT 1000 Z.100 OCT 100 Z.200 OCT 200 Z.300 OCT 300 ZH2 OCT 102000 ZH6 OCT 106000 ZH3 OCT 103000 ZH7 OCT 107000 ZCFTT DEC -1 ZTSTF DEF *+1 ASC 3,TEST ZTSTN ASC 2,XX// ZRTLF ASC 1,// ZPSC ASC 6,PASS XXXXXX/ ZA.E OCT 105 HED GENERAL ROUTINES * * ZN2AO NOP STA ZIOAD SAVE NUMBER AND Z.7 CONVERT FIRST IOR Z.60 NUMBER STA B SAVE IT LDA ZIOAD GET RAR,RAR SECOND RAR NUMBER AND Z.7 CONVERT IOR Z.60 IT ALF,ALF MOVE TO UPPER HALF IOR B ADD LOWER JMP ZN2AO,I AND RETURN * * * * SWITCH REGISTER CHECK * ZSWRT NOP STA ZN2AO SAVE A REGISTER LIA SW GET SWITCH REG. AND B MASK OUT BIT SZA,RSS IS IT UP? ISZ ZSWRT NO LDA ZN2AO RESTORE A REGISTER LIB SW LET B = SWITCH REGISTER JMP ZSWRT,I RETURN TO CALLER * * * * INITIALIZE TRAP CELL HALTS * ZITCH NOP LDA ZTSH GET STARTING TRAP CELL HALT LDB Z.2 GET FIRST TRAP CELL LOCATION ZTSHL STA B,I PUT IT IN PLACE CPB Z.77 AM I FINISHED JMP ZITCH,I YES INB NEXT ADDRESS JMP ZTSHL * ZTSH OCT 106077 * * * SKP * PUT JSB INSTRUCTION IN TRAP CELL * ZTCJI NOP LDB ZJSBI GET INSTRUCTION STB ZIOSC,I PUT IT IN TRAP CELL LDA ZTCJI,I GET LOCATION STA 3B SAVE IT FOR JSB INSTRUCTION 9oþú ISZ ZTCJI ADJUST RETURN JMP ZTCJI,I RETURN TO CALLER * ZJSBI JSB 3B,I JSB INSTRUCTION * * * INITIALIZE SELECT CODE I/O INSTRUCTIONS * ZISC NOP STA ZIOSC SAVE SELECT CODE STB ZIOAD SAVE TABLE ADDRESS ZIOL LDB ZIOAD,I GET ADDRESS OF LOCATION CPB Z.M1 IS IT THE TERMINATOR JMP ZISC,I YES RETURN TO CALLER LDA B,I NO - GET CONTENTS AND ZIOM MASK OFF OLD SELECT CODE IOR ZIOSC ADD IN NEW SELECT CODE STA B,I RESTORE IT ISZ ZIOAD MOVE TO NEXT ADDRESS JMP ZIOL DO IT * ZIOSC NOP ZIOAD NOP * * * * SKP * CONFIGURATION SECTION * ZCONF CLC INTP,C TURN I/O SYSTEM OFF LIA SW GET SELECT CODE AND OPTIONS STA USSC SAVE THEM AND Z.77 ELIMINATE OPTIONS LDB A CMB,INB CHECK THAT SC > 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 CLA CLEAR S-REG OTA SW HLT 74B ALLOW OPERATOR TO CHANGE SWITCH JMP ZSTEX GO TO EXEC CONTROL SECTION * * * * * * * * * * * * * * * * * * * * * * HED BASIC I/O TESTS CH EQU 10B * *ñ TST24 EQU * NOP LDA USSC GET CELL LOCATION AND Z.77 JSB ZBIO DO BASIC I/O JMP TST24,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/ * * 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 RÄ*($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 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 °Ø*ÿÿ ÿý˜ ¤ ÿ12929-18003 1830 S 0122 DMS DIAGNOSTIC              H0101 'þú 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 INST¨\þúRUCTION 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 CLF INTP TURN OFF ONTPS ZBS72 SFS CH 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 * * * * * * * * * * * * * * * * * ›§þú * * * * * * SKP 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 JMP ZBIO,I RETURN TO CALLER * ZBI70 NOP CONTROL FAILED CLF INTP TURN OFF INTPS INA JMP ZB70 * ZBE20 ASC 15,E020 PRESET DID NOT SET FLAG/ ZBE21 ASC 17,E021 PRESET DID NOT DISABLE INTS/ ZBE22 ASC 17,E022 PRESET DID NOT CLEAR CONTROL/ ZBE23 ASC 18,E023 PRESET DID NOT CLEAR I-O LINES/ ZBM24 ASC 12,H024 PRESS PRESET, RUN/ ZBM25 ASC 08,H025 BI-O COMP/ SKP 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 DEF ZBS42 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 * * * * * * * * * * * * * * * * * * * * * * * * * * HED MESSAGES E031 ASC 5,E031 XMA/ E032 ASC 5,E032 XMB/ E033 ASC 5,E033 XMM/ E034 ASC 5,E034 XMM/ E035 ASC 5,E035 XMM/ E036 ASC 5,E036 XMM/ E037 ASC 5,E037 SYA/ E040 ASC 5,E040 SYB/ E041 ASC 5,E041 USA/ E042 ASC 5,E042 USB/ E043 ASC 5,E043 PAA/ E044 ASC 5,E044 PAB/ E045 ASC 5,E045 PBA/ E046 ASC 5,E046 PBB/ E047 ASC 12,E047 INTERFERENCE ERROR/ E304 ASC 6,E304 A-REG/ E305 ASC 6,E305 B-REG/ E306 ASC 6,E306 X-REG/ E307 ASC 6,E307 A-REG/ òöþú E310 ASC 6,E310 B-REG/ E311 ASC 6,E311 X-REG/ E312 ASC 6,E312 A-REG/ E313 ASC 6,E313 A-REG/ E314 ASC 6,E314 A-REG/ E315 ASC 6,E315 A-REG/ E122 ASC 5,E122 MWF/ E123 ASC 5,E123 MWF/ E124 ASC 5,E124 MWI/ E125 ASC 5,E125 MWI/ E126 ASC 5,E126 MWW/ E127 ASC 5,E127 MWW/ HED *** XMA-XMB *** TRANSFER MAPS INTERNALLY PER A B ORG 4000B * * * * * XMA/XMB - TRANSFER MAPS * CALLING SEQUENCE: * LDA WORD1 * XMA/B. * * WORD FORMAT: * A/B(15)=0=SYSTEM * A/B(15)=1=USER * A/B(0) =0=PORT1 * A/B(1) =1=PORT2 * * EG. A=100001 XFER USER TO PORT2 * A=000000 XFER SYSTEM TO PORT1 * A=000001 XFER SYSTEM TO PORT2 * * TEST 02 VERIFIES PROPER OPERATION OF THE HARDWARE AND FIRMWARE * REQUIRED TO EXECUTE AN XMA/B INSTRUCTION. * * TEST 02 IS MADE UP OF EIGHT SUBTESTS, EACH OF WHICH TEST ONE * FUNCTION OF THE XMA/B INSTRUCTIONS. * * * * IF AN ERROR IS DETECTED IN TST02, ONE OF TWO MESSAGES WILL BE * OUTPUT OT THE CONSOLE, "E031 XMA" OR "E032 XMB". IN EITHER * CASE, THE A,B,X AND Y REGISTERS WILL CONTAIN THE FOLLOWING * INFORMATION: * * T=HALT CODE * A=GOOD PATTERN * B=BAD PATTERN * X=FAILING REGISTER * Y=ADDRESS OF THE FAILURE * * * SKP TST02 EQU * SPC 1 NOP JSB RDZRO CLEAR THE READ TABLE LDA PTRN1 MAKE THE SYSTEM LDB PTRN2 TABLE CONTENTS JSB MKTBL EQUAL TO OCT 040000 PATTERN1/2 JSB XMMSY WRITE THE SYSTEM MAP REGISTERS SPC 1 NOP CHANGE TO JMP *-N FOR LOOP/ LDA XFRS1 XFER SYSTEM TO PORTA WORD XMA USING THE XMA INSTRUCTION NOP CHANGE TO JMP *-N FOR LO ûþúOP/ SPC 1 JSB P1XMM READ PORTA MAP LDA LTSYS VERIFY PROPER OPERATION LDB RTPTA OF XMA SYS-PA, BY JSB TBCMP COMPARING THE TABLES JSB XMAER ERROR DETECTED, REPORT. NOP CHANGE TO JMP *-N FOR LOOP/ SPC 2 LDA PTRN2 SET UP THE SYSTEM LDB PTRN1 TABLE CONTENTS JSB MKTBL FOR THE NEXT OCT 040000 TRANSFER JSB XMMSY WRITE THE SYSTEM MAP REGISTERS NOP SPC 1 LDA XFRS2 XFER THE CONTENTS OF THE XMA SYSTEM MAP TO THE PORT B MAP NOP SPC 1 JSB P2XMM READ THE PORT B MAP LDA LTSYS VERIFY PROPER OPERATION LDB RTPTB OF XMA SYS-PB, BY JSB TBCMP COMPARING THE TABLES JSB XMAER REPORT THE DETECTED ERROR NOP CHANGE TO JMP *-N FOR LOOP/ SPC 2 JSB CLTBL ZERO BOTH TABLES LDA PTRN1 SET UP THE USER LDB PTRN2 TABLE CONTENTS JSB MKTBL FOR XFER TO OCT 020000 PORT A MAP JSB XMMUS LOAD THE USER MAP REGISTERS SPC 1 LDA XFRU1 SETUP AND EXECUTE XMA THE USER TO PORT A TRANSFER NOP CHANGE TO JMP *-N FOR LOOP/ SKP JSB P1XMM READ THE CONTENTS OF PORT A MAP LDA LTUSR AND COMPARE THE TWO TABLES LDB RTPTA FOR PROPER OPERATION JSB TBCMP OF THE TRANSFER JSB XMAER REPORT THE DETECTED ERROR NOP CHANGE TO JMP *-N FOR LOOP/ SPC 1 LDA PTRN2 CHANGE THE PATTERN IN LDB PTRN1 THE LOADER TABLE JSB MKTBL AND LOAD UP OCT 020000 THE USER MAP JSB XMMUS REGISTERS NOP CHANGE TO JMP *-N FOR LOOP/ SPC 1 LDA XFRU2 “Lþú SETUP AND EXECUTE THE USER MAP XMA TO PORTB MAP TRANSFER NOP CHANGE TO JMP *-N FOR LOOP/ SPC 1 JSB P2XMM READ THE CONTENTS OF PORT B MAP LDA LTUSR AND COMPARE THE TWO TABLES LDB RTPTB FOR PROPER OPERATION JSB TBCMP OF THE TRANSFER JSB XMAER REPORT ERROR NOP CHANGE TO JMP *-N FOR LOOP/ SPC 1 JSB RDZRO CLEAR READ TABLE LDA PTRN1 LOAD UP THE LDB PTRN2 SYSTEM MAP JSB MKTBL LOAD TABLE, OCT 040000 AND STORE INTO JSB XMMSY SYSTEM MAP SPC 1 LDB XFRS1 EXECUTE THE XMB XMB INSTRUCTION NOP CHANGE TO JMP *-N FOR LOOP/ SPC 1 JSB P1XMM READ THE PORT A MAP LDA LTSYS AND DO A LDB RTPTA COMPARISON OF JSB TBCMP THE TWO TABLES JSB XMBER REPORT XMB FAILURE NOP SPC 2 LDA PTRN2 CHANGE THE PATTERN LDB PTRN1 IN THE SYSTEM MAP TABLE JSB MKTBL AND RELOAD THE OCT 040000 SYSTEM MAP JSB XMMSY LOAD TABLE SKP LDB XFRS2 EXECUTE XMB XMB SYSTEM TO PORT B MAP SPC 1 NOP CHANGE TO JMP *-N FOR LOOP/ JSB P2XMM READ THE PORT B MAP LDA LTSYS AND VERIFY PROPER EXECUTION LDB RTPTB OF XMS BY COMPARING JSB TBCMP THE TWO TABLES JSB XMBER REPORT THE FAILURE NOP CHANGE TO JMP *-N FOR LOOP/ SPC 2 LDA PTRN1 SET UP THE USER MAP LDB PTRN2 LOAD TABLE WITH A JSB MKTBL RECOGNIZABLE OCT 020000 PATTERN AND LOAD UP JSB XMMUS THE USER MAP SPC 1 `þú LDB XFRU1 EXECUTE THE XMB XMB USER TO PORT A MAP NOP CHANGE TO JMP *-N FOR LOOP/ SPC 1 JSB P1XMM READ THE PORT A MAP LDA LTUSR AND VERIFY PROPER EXECUTION LDB RTPTA OF XMS BY COMPARING JSB TBCMP THE TWO TABLES JSB XMBER REPORT PROBLEM NOP SPC 2 LDA PTRN2 CHANGE THE PATTERN IN THE LDB PTRN1 USER LOAD TABLE AND LOAD JSB MKTBL THE USER MAP OCT 020000 * JSB XMMUS * SPC 1 LDB XFRU2 EXECUTE THE XMB XMB USER TO PORT B MAP NOP CHANGE TO JMP *-N FOR LOOP/ SPC 1 JSB P2XMM READ THE PORT B MAP AND LDA LTUSR VERIFY PROPER EXECUTION OF LDB RTPTB XMS BY COMPARING JSB TBCMP TWO TABLES JSB XMBER REPORT DIFFERENCE BETWEEN TABLES NOP CHANGE TO JMP *-N FOR LOOP/ JMP TST02,I SKP XFRS1 OCT 0 XFRS2 OCT 1 XFRU1 OCT 100000 XFRU2 OCT 100001 SPC 2 XMAER NOP JSB RGSVE SAVE THE REGISTERS LDY XMAER GET THE FAIL FLAG LDX REGNR GET THE FAILING REGISTER JSB ERMS,I PREPORT XMA DEF E031 FAILURE JSB RGRS2 RESTORE X & Y JMP TCPHR CONTINUE SPC 3 XMBER NOP JSB RGSVE SAVE REGISTERS LDX REGNR GET FAILING REGISTER NUMBER LDY XMBER AND THE FAIL FLAG JSB ERMS,I REPORT XMB DEF E032 FAILURE JSB RGRS2 RESTORE X & Y TO CONTINUE JMP TCPHR CONTINUE SPC 3 HED *** MEM DIAGNOSTIC *** - XMM * XMM - EXCHANGE MAPS AND MEMORY * CALLING SEQUENCE: * * LDA WORD1 * LDB WORD2 * LDX WORD3 * XMM * * * * * WORD FORMAT: * * WORD 1 -f×þú MAP ADDRESS OF FIRST REGISTER * TO BE LOADED BY XMM * * REGISTER 0-31 - SYSTEM MAP * REGISTER 32-63 - USER MAP * REGISTER 64-95 - PORT 1 MAP * REGISTER 96-127- PORT 2 MAP * * WORD 2 - ADDRESS OF THE FIRST WORD * OF THE MEMORY TABLE TO BE * USED FOR THE LOAD. THIS * TABLE CONTAINS THE ABSOLUTE * PAGE NUMBERS BEING ASSIGNED * TO THE MAP REGISTERS. * * * WORD 3 - NUMBER OF REGISTERS TO BE LOADED * * (POSITIVE NUMBER LOADS THE REGISTERS) * (NEGATIVE NUMBER LOADS MEMORY) * * * * * * SKP * * * * * TST00 - XMM * * THIS TEST VERIFIES PROPER OPERATION OF THE HARDWARE AND * FIRMWARE REQUIRED TO EXECUTE AN XMM INSTRUCTION. THE TEST * STARTS BY DOING A REGISTER ADDRESS TEST, ONE REGISTER AT A * TIME. WHEN ALL REGISTERS HAVE BEEN LOADED, READ AND VERIFIED * FOR LOAD/READ ABILITY, EACH MAP IS THEN TESTED USING VARIOUS * DATA PATTERNS, SUCH AS,ALL ONES, OR ALL ZEROS, ALTERNATE * ONES AND ZEROS, ETC. WHEN ALL FOUR MAPS HAVE BEEN TESTED * IN THIS MANNER, THE ABILITY TO EXECUTE LOAD/READ INSTRUCTIONS * ACROSS MAP BOUNDRIES IS VERIFIED. FINALLY THE XMM LOAD/READ * IS PERFORMED GIVING ALL FOUR MAPS AS THE CHARACTER COUNT * AND THE ROUTINE IS EXITED. * * * IF AN ERROR IS DETECTED WHILE RUNNING TST00, THE COMPUTER WILL * HALT WITH THE FOLLOWING INFORMATION AVAILABLE: * * T REGISTER = HALT CODE * A REGISTER = GOOD PATTERN * B REGISTER = BAD PATTERN * X REGISTER = FAILING REGISTER * Y REGISTER = ADDRESS OF FAILURE * * * * * SKP TST00 EQU * SPC 1 NOP SPC 1 * SINGLE REGISTER XMM - LOAD, READ AND COMPARE SPC 1 JSB LTZRO CLEAR THE LOAD TABLE LDA ND128 STA TSTA1 INITIALIZE ROUTIk'640NES CLA XTHRU STA TSTA2 COUNTER INA AND REGISTER NUMBER STA TSTA3 AND REGISTER COUNT TSTA. LDA TSTA2 GET THE REGISTER NUMBER LDB TSTA4 AND THE TABLE POINTER LDX TSTA3 AND THE COUNT XMM AND LOAD THE MAP REGISTER NOP CHANGE TO JMP *-N FOR LOOP/ SPC 1 LDA TSTA2 GET REGISTER NUMBER ½6ÿÿ ÿý™ § ÿ12929-18004 1830 S 0122 DMS DIAGNOSTIC              H0101 (þú LDB TSTA5 AND THE TABLE POINTER LDX NSTA3 AND THE NEGATIVE COUNT XMM THEN LOAD THE MAP REGISTERS NOP CHANGE TO JMP *-N FOR LOOP/ LDA MAPSK GET MASK CONSTANT AND TSTA5,I STRIP OFF NON-RETURNABLE BITS STA B PUT IN B TO COMPARE LDA MAPSK GET THE CONSTANT AGAIN AND TSTA4,I STRIP OFF THE BITS CPA B COMPARE THE TWO WORDS JMP BUMPR COMPARISON OK, JUMP OVER ERROR FA1 LDX TSTA2 GET REGISTER LDY FAD1 AND ADDRESS JSB ERMS,I REPORT SINGLE MAP DEF E033 XMM FAILURE BUMPR ISZ TSTA2 BUMP REGISTER NUMBER POINTER ISZ TSTA1 AND XTHRU COUNTER. XTHRU? JMP TSTA. NO, DO IT FOR ANOTHER REGISTER NOP YES, CONTINUE SKP SPC 1 * SINGLE MAP XMM - LOAD, READ AND COMPARE. SPC 1 JSB LTONE LOAD THE LOAD TABLE W/ALL ONES JSB RDZRO AND CLEAR THE READ TABLE * CLA,INA RESET THE STA WHCON WHICH ONE POINTER TST.A CLA LOAD THE SYSTEM MAP REGISTERS LDB LTSYS WITH THE CONTENTS OF THE LDX OCT40 TABLE NAMED LTSYS XMM NOP CHANGE TO JMP *-N FOR LOOP/ SPC 1 CLA LDB RTSYS NOW READ BACK THE LDX NON40 SYSTEM MAP INTO RTSYS XMM NOP CHANGE TO JMP *-N FOR LOOP/ SPC 1 LDA LTSYS COMPARE THE LDB RTSYS LOAD AND READ JSB TBCMP TABLES. JSB SMERR DID NOT COMPARE, REPORT ERROR NOP CONTINUE (CHANGE TO JMP *-N FOR LOOP/) SPC 2 LDA OCT40 LOAD THE USER MAP REGISTERS LDB LTUSR LDX OCT40 WITH THE CONTENTS OF LTUSR XMM NOP CHANGE TO JMP *-N FOR LOOP/ SPC 1 LDA OCT40 READ BACK THE LDB RTUSR USER MAP REGISTERS LDX NON40 Ã…þú INTO RTUSR XMM NOP CHANGE TO JMP *-N FOR LOOP/ SPC 1 LDA LTUSR COMPARE THE USER MAP LDB RTUSR LOAD AND READ JSB TBCMP TABLES JSB SMERR DID NOT COMPARE, REPORT ERROR NOP CHANGE TO JMP *-N FOR LOOP/ SPC 2 LDA OC100 LOAD THE PORTA MAP REGISTERS LDB LTPTA WITH THE CONTENTS OF LDX OCT40 THE TABLE NAMED LTPTA XMM NOP CHANGE TO JMP *-N FOR LOOP/ SKP LDA OC100 NOW READ BACK THE LDB RTPTA PORTA MAP REGISTERS LDX NON40 INTO RTPTA XMM WITH XMM NOP CHANGE TO JMP *-N FOR LOOP/ SPC 1 LDA LTPTA COMPARE THE PORTA MAP LDB RTPTA LOAD AND READ JSB TBCMP TABLES JSB SMERR DID NOT COMPARE, REPORT ERROR SPC 3 LDA OC140 LOAD THE PORTB MAP REGISTERS LDB LTPTB WITH THE CONTENTS OF LDX OCT40 THE TABLE NAMED LTPTB XMM NOP CHANGE TO JMP *-N FOR LOOP/ SPC 1 LDA OC140 NOW READ BACK THE LDB RTPTB PORT B MAP REGISTERS LDX NON40 INTO RTPTB XMM NOP CHANGE TO JMP *-N FOR LOOP/ SPC 1 LDA LTPTB COMPARE THE PORTB MAP LDB RTPTB LOAD AND READ JSB TBCMP TABLES JSB SMERR DID NOT COMPARE, REPORT ERROR SPC 1 JSB PTNCG CHANGE THE PATTERN JMP TST.A AND DO AGAIN SKP SPC 1 * BOUNDRY AREA XMM SPC 1 JSB RDZRO ZERO THE READ TABLE LDA OCT33 STARTING WITH REGISTER 27 LDB LTBSU FOR 12 REGISTERS, DO AN LDX DEC12 ACROSS THE BOUNDRIES LOAD XMM NOP CHANGE TO JMP *-N FOR LOOP/ SPC 1 LDA OCT33 READ BACK LDB RTBSU THE BOUNDRY AREA LOAD LDX NDÇßþúN12 INTO RTBSU XMM NOP CHANGE TO JMP *-N FOR LOOP/ SPC 1 LDA LTBSU COMPARE THE BOUNDRY LDB RTBSU AREA LOAD AND READ JSB BACMP TABLES JSB BAERR ERROR DETECTED, REPORT. SPC 1 LDA OCT73 STARTING WITH REGISTER 59 LDB LTBUA FOR 12 REGISTERS, DO AN LDX DEC12 ACROSS THE BOUNDRY XMM XMM NOP CHANGE TO JMP *-N FOR LOOP/ SPC 1 LDA OCT73 NOW READ BACK THE LDB RTBUA BOUNDRY AREA TO THE LDX NDN12 READ TABLE RTBUA XMM NOP CHANGE TO JMP *-N FOR LOOP/ SPC 1 LDA LTBUA COMPARE THE BOUNDRY AREA LDB RTBUA BETWEEN THE USER AND PORTA JSB BACMP MAP REGISTERS JSB BAERR ERROR DETECTED, REPORT IT SPC 2 LDA OC133 STARTING WITH REGISTER 91 LDB LTBAB FOR 12 REGISTERS, DO LDX DEC12 AN ACROSS THE BOUNDRIES XMM XMM NOP SPC 1 LDA OC133 READ BACK THE BOUNDRY LDB RTBAB AREA REGISTERS INTO LDX NDN12 THE READ TABLE AREA XMM NOP SPC 1 LDA LTBAB COMPARE THE TWO TABLES LDB RTBAB FOR PROPER EXECUTION JSB BACMP OF XMM BETWEEN PORTSA&B JSB BAERR ERROR DETECTED, REPORT IT. SKP * ALL MAP REGISTERS XMM - LOAD, READ AND COMPARE SPC 1 JSB RDZRO ZERO THE READ TABLE AREA LDA PTRN1 AND PLACE AN ALTERNATE LDB PTRN2 ONES AND ZEROS PATTERN JSB MKTBL IN THE LOAD TABLE AREA. OCT 074000 NOP CHANGE TO JMP *-N FOR LOOP/ SPC 1 CLA LOAD THE ENTIRE CONTENTS LDB LTSYS OF THE LOAD MAP TABLE LDX DE128 INTO THE MAP REGISTERS. XMM NOP SPC 1 CLA NOW READ ALL FOUR MAPS LDB RTSYS INTO THE MEMORY TABLE OYþú LDX ND128 NAMED RDTBL. XMM NOP SPC 1 JSB ALCMP COMPARE TABLES JSB XALER ERROR DETECTED, REPORT NOP JMP TST00,I EXIT XMM ROUTINE SPC 5 ND128 DEC -128 TSTA1 OCT 0 TEST 00 SCRATCH PAD 1 TSTA2 OCT 0 TEST 00 SCRATCH PAD 2 TSTA3 OCT 0 TEST 00 SCRATCH PAD 3 TSTA4 DEF LDTBL FAD1 DEF FA1 NSTA3 OCT -1 TSTA5 DEF RDTBL WHCON OCT 0 DEC12 DEC 12 NDN12 DEC -12 OC133 OCT 133 DE128 DEC 128 SKP PTNCG NOP LDA WHCON GET WHICH ONE POINTER CPA OCT01 CHANGE TO PATTERN ZEROS? JMP CH1ST YES, CHANGE THEM CPA OCT02 NO, CHANGE TO ALTERNATE 1S-0S? JMP CH2ND YEP, DO IT CPA OCT03 NO. CHANGE TO ALTERNATE 0S-1S? JMP CH3RD YES, DO ALT. 0S AND 1S. CPA OCT04 NO, HOW ABOUT 3D 1S AND 0S? JMP CH4TH O.K., DO CPA OCT05 NO, THEN IT MUSTBE JMP CH5TH 3D 0S AND 1S. CH1ST JSB LTZRO CLEAR OUT THE LOAD TABLE ISZ WHCON BUMP WHICH ONE POINTER JMP PTNCG,I AND BACK TO ROUTINE SPC 1 CH2ND LDA PTRN1 GET PATTERN ONE LDB A IN THE A&B REGISTERS JSB MKTBL AND PUT IT IN OCT 074000 THE READ TABLE ISZ WHCON BUMP THE WHICH ONE POINTER, JMP PTNCG,I AND BACK TO THE ROUTINE SPC 1 CH3RD LDA PTRN2 GET PATTERN TWO LDB A TABLE WITH AN JSB MKTBL ALTERNATE 1S AND OCT 074000 ZEROS PATTERN ISZ WHCON BUMP WHICH ONE POINTER JMP PTNCG,I AND EXIT SPC 1 CH4TH LDA PTRN1 PUT NEW LDB PTRN2 PATTERN JSB MKTBL IN THE LOAD OCT 074000 TABLE, ISZ WHCON INCREMENT WHICH ONE POINTER JMP PTNCG,I AND EXIT SPC 1 CH5TH LDA PTRN2 PUT NEW REVERSE LDB PTRN1 Pš¸þúATTERN JSB MKTBL IN THE LOAD OCT 074000 TABLE ISZ PTNCG BUMP THE RETURN ADDRESS JMP PTNCG,I AND CONTINUE. SKP SMERR NOP JSB RGSVE SAVE THE REGISTERS LDX REGNR GET FAILING ADDRESS LDY SMERR MAKE THE JSB ERMS,I REPORT XMM DEF E034 FAILURE JSB RGRS2 RESTORE X&Y JMP TCPHR CONTINUE SPC 3 BAERR NOP JSB RGSVE LDX REGNR LDY BAERR JSB ERMS,I REPORT XMM DEF E035 FAILURE JSB RGRS2 JMP BCPHR SPC 5 XALER NOP JSB RGSVE LDX REGNR LDY XALER JSB ERMS,I REPORT XMM DEF E036 FAILURE JSB RGRS2 JMP TCPHR CONTINUE SPC 3 SKP BACMP NOP STA BACM1 INITIALIZE THE LOAD AND READ STB BACM2 REGISTER ADDRESS POINTERS. LDA LTSYS CALCULATE THE CMA,INA STARTING REGISTER ADA BACM1 NUMBER AND PLACE IN STA REGNR THE REGISTER NUMBER LDA NDN12 INITIALIZE THE STA BACM3 XTHRU COUNTER BACM. LDA MAPSK MASK BITS 13-10 AND BACM2,I FROM THE EXPECTED STA B PLACE IN B TO COMPARE LDA MAPSK MASK OFF BITS 13-10 AND BACM1,I FROM THE ACTUAL CPA B AND COMPARE THE TWO JMP *+3 YES, JUMP OVER ERROR JMP BACMP,I PATTERN AND GO REPORT IT. BCPHR NOP CONTINUE UNTIL XTHRU ISZ REGNR BUMP THE REGISTER NUMBER ISZ BACM1 THE READ TABLE POINTER ISZ BACM2 THE LOAD TABLE POINTER ISZ BACM3 THE XTHRU JMP BACM. NO XTHRU, DO AGAIN ISZ BACMP XTHRU COMPLETE, BUMP OVER ERROR JMP BACMP,I AND BACK TO CALLER SPC 1 BACM1 OCT 0 BACM2 OCT 0 BACM3 OCT 0 SPC 3 ALCMP NOP ******************************** LDA LTSYS * šþú * LDB RTSYS * COMPARE * JSB TBCMP * ALL FOUR * JMP ALCMP,I * MAPS * NOP * IF ANY ERROR DETECTED * LDA LTUSR * * LDB RTUSR * REPORT BACK TO CALLER * JSB TBCMP * * JMP ALCMP,I * IF NO ERRORS * LDA LTPTA * DETECTED. * LDB RTPTA * * JSB TBCMP * BUMP RETURN * JMP ALCMP,I * ADDRESS AND * LDA LTPTB * EXIT. * LDB RTPTB * * JSB TBCMP * * JMP ALCMP,I * * ISZ ALCMP * * JMP ALCMP,I ******************************** HED MEM DIAGNOSTIC - LOAD/STORE MAPS * * TEST 03 STARTS WITH THE SYA INSTRUCTION (LOAD SYSTEM MAP) * AND PLACES THE CONTENTS OF LOAD SYSTEM MAP TABLE (LTSYS) * INTO THE SYSTEM MAP REGISTERS. SYA IS USED AGAIN, THIS TIME * USING A NEGATIVE SIGN BIT IN THE TABLE ADDRESS TO READ THE * CONTENTS OF THE SYSTEM MAP REGISTERS INTO THE READ SYSTEM MAP * TABLE (RTSYS). THEN THE LOAD AND READ TABLE CONTENTS ARE * COMPARED TO INSURE PROPER OPERATION AND EXECUTION OF THE SYA * INSTRUCTION. NOW, A DIFFERENT PATTERN IS ESTABLISHED IN THE * LOAD SYSTEM MAP TABLE AND THE PROCESS IS REPEATED THIS TIME * USING SYB, WHICH IS THE B-REGISTER COUNTERPART OF SYA. * * THIS SAME SCHEME IS REPEATED USING INSTRUCTIONS AND LOAD AND * READ TABLES TO INSURE PROPER EXECUTION OF: * * USA LOAD/READ USER MAP FROM/TO THE A-REGISTER * USB LOAD/READ USER MAP FROM/TO THE B-REGISTER * * PAA LOAD/READ PORTA MAP FROM/TO THE A-REGISTER * PAB LOAD/READ PORTA MAP FR&þúOM/TO THE B-REGISTER * * PBA LOAD/READ PORTB MAP FROM/TO THE A-REGISTER * PBB LOAD/READ PORTB MAP FROM/TO THE B-REGISTER * * WHEN THESE EIGHT INSTRUCTIONS HAVE BEEN VERIFIED FOR PROPER * EXECUTION.INDIVIDUALLY, THEY ARE TESTED TO MAKE SURE THEY * DO NOT INTERFERE WITH THE EXECUTIONS OF ONE ANOTHER, AND THE * TEST IS EXITED. * * * CALLING SEQUENCE: LDA/B TABLE * SYA/B * * * * IF AN ERROR IS DETECTED WHILE EXECUTING TST03, THE ERROR CODE * AND FAILING INSTRUCTION ARE OUTPUT ON THE COUNSOLE, AND THE * PROGRAM HALTS THE COMPUTER. AT THIS TIME THE T,A,B,X AND Y * REGISTERS CAN BE INTERROGATED TO DETERMINE THE CAUSE AND * LOCATION OF THE ERROR, AND WHERE IN THE PROGRAM IT WAS * DETECTED. * * THE FORMAT FOR DETERMINING THESE CONDITIONS AND LOCATION IS AS * FOLLOWS: * * T REGISTER = HALT CODE * A REGISTER = GOOD PATTERN * B REGISTER = BAD PATTERN * X REGISTER = FAILING REGISTER NUMBER * Y REGISTER = ADDRESS OF FAILURE SKP TST03 EQU * SPC 1 NOP JSB CLTBL ZERO BOTH LOAD AND READ TABLES LDA PTRN1 ESTABLISH THE LDB PTRN2 FIRST PATTERN JSB MKTBL IN THE LOAD MAP OCT 040000 TABLE SPC 1 LDA LTSYS LOAD THE SYSTEM MAP REGISTERS SYA USING THE SYA INSTRUCTION NOP CHANGE TO JMP *-N FOR LOOP/ SPC 1 LDA RTSYS READ THE SYSTEM MAP REGISTERS IOR MASKO INTO THE CONTENTS OF THE SYA SYSTEM READ TABLE NOP SPC 1 LDA LTSYS GET THE LOAD AND LDB RTSYS READ TABLE POINTERS JSB TBCMP AND COMPARE THE TWO. JSB SYAER ERROR DETECTED, REPORT IT. JSB CLTBL ZERO THE LOAD/READ TABLES SPC 2 LDA PTRN2 ESTABLISH THE SECOND LDB PTRN1 PATTERN IN ¢¶þúJSB MKTBL THE LOAD MAP OCT 040000 TABLE LDB LTSYS LOAD THE SYSTEM MAP REGISTERS SYB USING SYB NOP CHANGE TO JMP *-N FOR LOOP/ SPC 1 LDA RTSYS SET UP ADDRESS WITH THE IOR MASKO NEGATIVE SIGN BIT LDB A AND TRANSFER TO B-REGISTER. SYB READ THE SYSTEM MAP INTO RTSYS NOP SPC 1 LDA LTSYS COMPARE THE LOAD LDB RTSYS AND READ TABLES TO JSB TBCMP VERIFY PROPER EXECUTION JSB SYBER ERROR DETECTED, REPORT SKP JSB CLTBL ZERO LOAD AND READ TABLES LDA PTRN1 ESTABLISH PATTERN 1 LDB PTRN2 IN THE LOAD TABLE JSB MKTBL FOR THE USER MAP OCT 020000 REGISTERS. LDA LTUSR EXECUTE THE USA INSTRUCTION USA NOP SPC 1 LDA RTUSR NOW READ THE USER MAP REGISTERS IOR MASKO INTO THE CONTENTS OF THE READ USA TABLE USING USA NOP SPC 1 LDA LTUSR COMPARE THE LOAD AND LDB RTUSR READ TABLES TO VERIFY PROPER JSB TBCMP EXECUTION OF THE USA INST. JSB USAER ERROR DETECTED, REPORT SPC 2 LDA PTRN2 ESTABLISH PATTERN TWO LDB PTRN1 IN THE LOAD TABLE JSB MKTBL FOR THE USER MAP OCT 020000 REGISTERS. LDB LTUSR LOAD THE USER MAP REGISTERS WITH USB LOAD TABLE CONTENTS USING USB NOP CHANGE TO JMP *-N FOR LOOP/ SPC 1 LDA RTUSR NOW READ THE USER MAP REGISTERS IOR MASKO INTO THE RTUSR TABLE POINTER LDB A TO BY THE CONTENTS USB OF THE B REGISTER NOP CHANGE TO JMP *-N FOR LOOP/ SPC 1 LDA LTUSR COMPARE THE LOAD AND LDB RTUSR READ TABLES TO VERIFY JSB TBCMP PROPER EXECTUION OF USB JSB USBER ERROR DETECTED, REPORT. SKP ‚MþúJSB CLTBL ZERO THE LOAD AND READ TABLES LDA PTRN1 ESTABLISH PATTERN ONE LDB PTRN2 IN THE LOAD TABLE JSB MKTBL FOR THE PORTA MAP OCT 010000 REGISTERS LDA LTPTA EXECUTE THE PAA INSTRUCTION WITH PAA PAA NOP CHANGE TO JMP *-N FOR LOOP/ SPC 1 LDA RTPTA READ THE PORTA MAP REGISTERS IOR MASKO INTO THE CONTENTS OF THE READ PAA TABLE USING PAA NOP CHANGE TO JMP *-N FOR LOOP/ SPC 1 LDA LTPTA COMPARE THE TWO TABLES TO LDB RTPTA VERIFY PROPER EXECUTION OF JSB TBCMP THE PAA INSTRUCTION. JSB PAAER ERROR DETECTED, REPORT SPC 2 LDA PTRN2 NOW REVERSE THE PATTERN LDB PTRN1 IN THE PORTA LOAD TABLE JSB MKTBL TO ESTABLISH A PATTERN OCT 010000 TO CHECK PAB LDB LTPTA EXECUTE THE PAB INSTRUCTION WITH PAB PAB NOP SPC 1 LDA RTPTA READ BACK INTO THE READ TABLE IOR MASKO USING THE PAB INSTRUCTION LDB A AND THE NEGATIVE PAB ADDRESS POINTER NOP SPC 1 LDA LTPTA COMPARE THE TWO TABLES TO LDB RTPTA VERIFY PROPER EXECUTION OF JSB TBCMP THE PAB INSTRUCTION. JSB PABER ERROR DETECTED, REPORT. SKP JSB CLTBL ZERO THE LOAD AND READ TABLES LDA PTRN1 ESTABLISH PATTERN ONE LDB PTRN2 IN THE LOAD TABLE JSB MKTBL CONTENTS OF THE OCT 4000 PORTB MAP LDA LTPTB EXECUTE THE PBA INSTRUCTION PBA LOADING THE PORTB MAP NOP SPC 1 LDA RTPTB NOW, USING THE NEGATIVE SIGN IOR MASKO BIT OF THE POINTER, REVERSE PBA DIRECTION OF THE INSTRUCTION NOP SPC 1 LDA LTPTB COMPARE THE TWO TABLES CONTENTS LDB RTPTB TO VERIFY PROPER EXECUTION OF? þú JSB TBCMP THE PBA INSTRUCTION JSB PBAER ERROR DETECTED, REPORT SPC 2 LDA PTRN2 REVERSE THE PATTERN LDB PTRN1 IN THE LOAD TABLE JSB MKTBL CONTENTS OF THE OCT 4000 PORTB MAP. LDB LTPTB EXECUTE THE PBB INSTRUCTION PBB NOP SPC 1 LDA RTPTB REVERSE THE SIGN BIT OF IOR MASKO THE BREG POINTER, AND LDB A EXECUTE THE PBB PBB NOP SPC 1 LDA LTPTB COMPARE THE TWO TABLES TO LDB RTPTB VERIFY PROPER EXECUTION OF JSB TBCMP THE PBB INSTRUCTION JSB PBBER ERROR DETECTED, REPORT. SKP JSB RDZRO CLEAR THE READ TABLE LDA PTRN1 LOAD ALTERNATE LDB A ONES AND ZEROS JSB MKTBL INTO THE LOAD OCT 040000 SYSTEM TABLE LDA PTRN2 LOAD ALTERNATE LDB A ZEROS AND ONES JSB MKTBL INTO THE LOAD OCT 020000 USER TABLE LDA PTRN1 LOAD AN ALTERNATE ONES- LDB PTRN2 ZEROS THEN ZEROS-ONES JSB MKTBL PATTERN INTO THE OCT 010000 LOAD PORTA TABLE LDA PTRN2 LOAD AN ALTERNATE ZEROS- LDA PTRN1 ONES,THEN ONES-ZEROS JSB MKTBL PATTERN INTO THE OCT 04000 LOAD PORTB TABLE NOP CHANGE TO JMP *-N FOR LOOP/ SPC 1 LDB LTSYS LOAD SYSTEM MAP REGISTERS SYB * LDB LTUSR LOAD USER MAP REGISTERS USB * LDB LTPTA LOAD THE PORTA MAP REGISTERS PAB * LDB LTPTB LOAD THE PORTB MAP REGISTERS PBB * LDA RTSYS READ BACK IOR MASKO THE SYSTEM MAP REGISTERS SYA * LDA RTUSR READ BACK THE IOR MASKO USER MAP REGISTERS USA * LDA RTPTA READ BACK THE IOR MASKO PORTA MAP REGISTERS PAA * >àB@< LDA RTPTB READ BACK THE IOR MASKO PORTB MAP REGISTERS PBA * SKP JSB ALCMP COMPARE ALL FOUR MAPS JSB INFER ERROR DETECTED, REPORT LDA RTPTB NOW REVERSE THE IOR MASKO SEQUENCE PBA INTERFERENCE LDA RTPTA CHECK IOR MASKO FOR PAA OVERLAY LDA RTUSR OF IOR MASKO REGISTER USA CONTENTS LDA RTSYS * IOR MASKO * SYA SPC 1 JSB ALCMP COMPARE ALL FOUR MAPS JSB INFER INTERFERENCE ERROR DETECTED. NOP CHANGE TO JMP *-N FOR LOOP/ JMP TST03,I EXIT. SKP SYAER NOP JSB RGSVE LDX REGNR LDY SYAER JSB ERMS,I REPORT SYA DEF E037 FAILURE JSB RGRS2 JMP TCPHR SPC 2 SYBER NOP JSB RGSVE LDX REGNR LDY SYBER dBÿÿ ÿýšª ÿ12929-18005 1830 S 0122 DMS DIAGNOSTIC              H0101 )þú JSB ERMS,I REPORT SYB DEF E040 FAILURE JSB RGRS2 JMP TCPHR SPC 2 USAER NOP JSB RGSVE LDX REGNR LDY USAER JSB ERMS,I REPORT USA DEF E041 FAILURE JSB RGRS2 JMP TCPHR SPC 2 USBER NOP JSB RGSVE LDX REGNR LDY USBER JSB ERMS,I REPORT USB DEF E042 FAILURE JSB RGRS2 JMP TCPHR SPC 2 PAAER NOP JSB RGSVE LDX REGNR LDY PAAER JSB ERMS,I REPORT PAA DEF E043 FAILURE JSB RGRS2 JMP TCPHR CONTINUE SKP PABER NOP JSB RGSVE LDX REGNR LDY PABER JSB ERMS,I REPORT PAB DEF E044 FAILURE JSB RGRS1 JMP TCPHR CONTINUE SPC 2 PBAER NOP JSB RGSVE LDX REGNR LDY PBAER JSB ERMS,I REPORT PBA DEF E045 FAILURE JSB RGRS2 JMP TCPHR CONTINUE SPC 2 PBBER NOP JSB RGSVE LDX REGNR LDY PBBER JSB ERMS,I REPORT PBB DEF E046 FAILURE JSB RGRS2 JMP TCPHR CONTINUE SPC 2 SPC 2 INFER NOP JSB RGSVE LDX REGNR LDY INFER ADY NEG01 JSB ERMS,I REPORT DEF E047 INTERFERENCE ERROR JSB RGRS2 JMP INFER,I HED MAP LOAD - REGISTER COMPLETION TEST * * TST22 * * TEST SS VERIFIES PROPER OPERATION OF THE HARDWARE AND FIRMWARE * REQUIRED TO INCREMENT THE A,B AND X REGISTERS DURING THE * EXECUTION OF THE M.E.M. MAP LOADING INSTRUCTIONS. * * TEST SS IS MADE UP OF SIX SUBTESTS, EACH EXECUTING ONE MAP * LOADING INSTRUCTION, AND THEN VERIFYING THE CORRECT VALUE OF * A,B AND X REGISTERS. THE SIX INSTRUCTIONS USED FOR THIS * TEST ARE: * * XMM XMS SYA USA PAA PBA * * IF AN ERROR IS DETECTED DURING THE EXECUTION OF THIS TEST, AN * sCþú ERROR MESSAGE WILL BE OUTPUT ON THE CONSOLE, AND THE PROGRAM * WILL HALT THE COMPUTER. AT THIS TIME THE OPERATOR WILL BE * ABLE TO DETERMINE THE CAUSE OF THE ERROR BY CHECKING THE * FOLLOWING REGISTERS: * * T REGISTER = ERROR CODE * * A REGISTER = COUNT AT COMPLETION ** * B REGISTER = COUNT AT COMPLETION * * X REGISTER = COUNT AT COMPLETION * Y REGISTER = ADDRESS OF ERROR * * * NOTE: * IF THE ERROR IS A OR B REGISTER, THE FAILING REGISTER * WILL CONTAIN THE ACTUAL VALUE, AND THE ALTERNATE REGISTER * WILL CONTAIN THE EXPECTED VALUE. IF THE FAILURE PERTAINS * TO THE X REGISTER, THE A REGISTER WILL CONTAIN THE * EXPECTED VALUE SKP TST22 EQU * SPC 1 NOP CLA SET DIFFERENT LDB OCT40 VALUES FOR THE LDX OCT40 A,B AND X REGISTERS XMM EXECUTE THE INSTRUCTION NOP CHANGE TO JMP *-N FOR LOOP/ SPC 1 SA1 CPA OCT40 IS A THE CORRECT VALUE? JMP SA2 YES, OVER THE ERROR JSB RGSVE NO, SAVE THE REGISTERS LDB OCT40 PUT EXPECTED VALUE IN B LDY SD1 GET THE FAIL FLAG JSB ERMS,I AND REPORT THAT THE DEF E304 A REGISTER HAS THE WRONG VALUE JSB RGRST RESTORE THE REGISTERS SPC 1 SA2 CPB OC100 NOW IS B THE CORRECT VALUE? JMP SA3 YES, OVER THE ERROR JSB RGSVE SAVE THE REGISTERS LDA OC100 GET THE EXPECTED LDY SD2 AND THE FAIL FLAG, JSB ERMS,I THEN REPORT DEF E305 THE ERROR JSB RGRST RESTORE THE REGISTERS SPC 1 SA3 CXA A_X SZA,RSS IS X = 0? JMP SA4 YES, OVER THE ERROR CLA NO, CLEAR A FOR DISPALY LDY SD3 Y=FAIL FLAG JSB ERMS,I AND REPORT DEF E306 X NOT = TO ZERO SPC 2 SA4 ½YþúCLA SET UP LDB OCT01 FOR TESTING LDX OC177 REGISTERS XMS AFTER AN XMM NOP CHANGE TO JMP *-N FOR LOOP/ SPC 2 SA5 CPA OC177 IS A CORRECT? JMP SA6 YES, OVER THE ERROR JSB RGSVE NO, SAVE THE REGISTERS LDY SD5 GET THE FAIL FLAG LDB OC177 THE EXPECTED VALUE JSB ERMS,I AND DEF E307 REPORT THE ERROR JSB RGRST NOW RESTORE AND CONTINUE SKP SA6 CPB OC200 IS B CORRECT? JMP SA7 YES, OVER THE ERROR LDA OC200 NO, A=EXPECTED VALUE LDY SD6 Y=FAIL FLAG JSB ERMS,I REPORT B=INCORRECT DEF E310 VALUE SPC 1 SA7 CXA A=X SZA,RSS X=0? JMP SA8 YES, OVER CLA NO. LDY SD7 JSB ERMS,I REPORT DEF E311 SPC 1 SA8 LDA LTSYS NOW EXECUTE SYA SYA CPA LTUSR WAS A INCREMENTED? JMP SA9 YES, OVER THE ERROR LDB LTUSR NO, B=EXPECTED LDY SD8 Y=FAIL FLAG JSB ERMS,I REPORT DEF E312 ERROR LDA LTUSR GET NEXT VALUE SPC 1 SA9 USA EXECUTE USA CPA LTPTA A CORRECTLY INCREMENTED? JMP SA10 YES, OVER THE ERROR LDB LTPTA NO, B=EXPECTED VALUE LDY SD9 Y=FAIL FLAG JSB ERMS,I REPORT DEF E313 FAILURE LDA LTPTA GET NEXT VALUE SPC 1 SA10 PAA CPA LTPTB A= CORRECT VALUE JMP SA11 YES, OVER THE ERROR LDB LTPTB NO, B=EXPECTED VALUE LDY SA10 Y=FAIL FLAG JSB ERMS,I REPORT DEF E314 FAILURE LDA LTPTB GET NEXT VALUE SPC 1 SA11 PBA CPA LTPTC A INCREMENTED CORRECTLY JMP SA12 YES, OVER ERROR LDB LTPTC NO, B=EXPECTED LDY SD11 Y=FAIL FLAG – þúJSB ERMS,I REPORT DEF E315 FAILURE SPC 2 SA12 NOP AND JMP TST22,I EXIT TEST SKP LTPTC DEF LDTBL+128 SD1 DEF SA1 SD2 DEF SA2 SD3 DEF SA3+1 SD5 DEF SA5 SD6 DEF SA6 SD7 DEF SA7+1 SD8 DEF SA8+2 SD9 DEF SA9+1 SD10 DEF SA10+1 SD11 DEF SA11+1 OC200 OCT 201 SPC 1 HED PROTECTED MODE PRESET TEST * * TST10 * * TEST 10 VERIFIES PROPER OPERATION OF THE HARDWARE AND FIRMWARE * REQUIRED TO SET AND CLEAR STATUS REGISTER BIT 11 (PROTECTED * MODE) AND THE BASE PAGE FENCE. * * TEST 10 STARTS BY INVOKING PROTECTED MODE, CHECKING THE MEM * STATUS REGISTER FOR THE CORRECT STATE OF BIT 11, THEN * PROTECTED MODE IS FORCED OFF PROGRAMMATICALLY, AND THE STATE * OF STATUS REGISTER BIT 11 IS AGAIN TESTED. * * THE MESSAGE "H115 PRESS HALT, PRESET, RUN IN LESS THAN TEN * SECONDS" IS OUTPUT ON THE CONSOLE, PROTECTED MODE IS AGAIN * INVOKED, AND THE PROGRAM STARTS A TEN SECOND TIMER. * * IF THERE IS NO CONSOLE AVAILIABLE, THE PROGRAM WILL INFORM * THE OPERATOR THAT THE PROTECTED MODE PRESET TEST IS NEXT TO BE * EXECUTED BY HALTING WITH 107026 DISPLAYED IN THE MEMORY DATA * REGISTER. THE OPERATOR MUST THEN PRESS RUN TO START THE * TEST. * * THE OPERATOR MUST THEN PRESS HALT, PRESET AND RUN, THEN * THE STATE OF STATUS REGISTER BIT 11 IS TESTED TO VERIFY THAT * PRESET TURNS PROTECTED MODE OFF, AND THE BASE PAGE FENCE IS * TESTED TO INSURE THAT PRESET ALSO ZEROS THE BASE PAGE FENCE * * IF AN ERROR IS DETECTED IN TST10, THE MESSAGE "E114 PM NOT * SET BY STC 05" OR "E116 PM OR MEM FENCE NOT CLEARED BY * PRESET" WILL BE OUTPUT, AND THE PROGRAM HALTS THE COMPUTER. * * IN THE EVENT THE PROTECTED MODE IS UNABLE TO BE TURNED * OFF, IT IS NOT POSSIBLE TO EITHER HALT THE COMPUTER, OR * OUTPUT AN ERROR MESSAGE ON THE CONSOLE, SO THE FOLLOWING * WILL DONE TO INFORM THE OPERATOR THAsþúT THE PROGRAM WAS * UNABLE TO OFF THE PROTECTED MODE, OR PRESET DID NOT * DISABLE PROTECTED MODE: * THE EXTEND REGISTER WILL FLASH ON AND OFF * AT APPROXIMATELY ONE-HALF SECOND INTERVALS. * * AT THIS TIME, THE OPERATOR MUST PRESS HALT AND * CORRECT THE PROBLEM, AS THE EXTEND REGISTER INDICATION * WILL CONTINUE UNTIL HALT IS PRESSED. * * WHEN TEST 10 IS COMPLETE, THE MESSAGE "H117 PRESET * TEST COMPLETE" WILL BE OUTPUT ON THE CONSOLE, AND * CONTROL IS PASSED BACK TO THE EXECUTIVE. SKP TST10 EQU * SPC 1 NOP JSB KFNCE LOAD THE MEM + MPT FENCES JSB JLOAD AND THE MEM MAPS AND THE JSB ZORCH INTERRUPT TRAP CELLS SPC 1 JSB PMON SET PROTECTED MODE RSA GET THE STATUS REGISTER AND PMSTS ISOLATE THE PM BIT (11) SZA = 1? JMP ICNT1 YES, OVER THE ERROR JSB OFFPM NO, OFF PM, INTP AND SYSTEM JSB ERMS,I REPORT NO PM OR NO DEF E114 STATUS REGISTER BIT 11 SPC 1 ICNT1 LDA IIR1. SET UP AN MEM VIOLATION STA M5LNK RETURN ADDRESS LINK STA MEMSC CAUSE AN MPT/MEM FENCE VIOLATION SPC 1 IIRA1 NOP VIOLATION RETURN ADDRESS RSA GET STATUS REGISTER CONTENTS AND PMSTS ISOLATE THE PM BIT (11) SZA = 0? JMP IERR1 NO, GO FLASH THE E-REGISTER JSB TRNOF YES, TURN OFF INTP AND SYSTEM LDB BIT.8 CHECK THE SWITCH REGISTER JSB SWRT,I TO SEE IF JMP IENDX SUPPRESSION DESIRED, EXIT SPC 1 LDA 112B CONSOLE SZA,RSS PRESENT? JSB NOTTY NO, GO DO THE WARNING HALT SPC 1 JSB MSGC,I TELL OPERATOR DEF H115 HLT-PRESET-RUN SPC 1 CCA LOAD THE MEM FENCE LFA WITH ALL ONES JSB PMON PRIVELEGED MODE - ON LDA ITMRC GEÓ]þúT TIMING CONSTANT JSB TMRR,I START A 10 SECOND TIMER NOP RSA GET THE STATUS STA ITMP1 SAVE IT AND PMSTS MAKE SURE PM IS OFF SZA OFF??? JMP IERR1 NO, ERROR DETECTED JSB TRNOF YES, OFF THE INTERRUPT SYS NOP SKP LDA ITMP1 GET THE STATUS BACK SZA,RSS DID PRESET CLEAR IT? JMP *+3 YES, OVER THE ERROR JSB ERMS,I NO, REPORT THE DEF E116 ERROR JSB MSGC,I TELL OP TEST IS COMPLETE DEF H117 IENDX NOP JMP TST10,I EXIT SKP IERR1 CME BLINK EXTEND REGISTER ISZ SVPD1 WAIT JMP *-1 LOOP JMP *-3 HANG UP IN THE LOOP SPC 1 ITMRC DEC 10000 IIR1. DEF IIRA1 ITMP1 OCT 0 PMSTS OCT 4000 BIT.8 OCT 10400 SPC 2 E114 ASC 13,E114 PM NOT SET BY STC 05/ H115 ASC 13,H115 PRESS HALT-PRESET-RUN ASC 13, IN LESS THAN 10 SECONDS/ E116 ASC 16,E116 PM OR MEM FENCE NOT CLEARED ASC 6, BY PRESET/ H117 ASC 13,H117 PRESET TEST COMPLETE/ SPC 3 NOTTY NOP ISZ NOTTY BUMP PAST THE ISZ NOTTY MSG AND DEF, AND E326 OCT 107026 HALT CODE 326 JMP NOTTY,I NOW GO DO THE PRESET TEST SPC 2 * MESSAGES E226 ASC 5,E226 XMM/ E227 ASC 5,E227 XMM/ E230 ASC 5,E230 XMS/ E231 ASC 5,E231 XMS/ E232 ASC 5,E232 SYA/ E233 ASC 5,E233 SYA/ E234 ASC 5,E234 USA/ E235 ASC 5,E235 USA/ HED STATUS-FENCE REGISTER * TEST 04 * * TEST 04 VERIFIES PROPER OPERATION OF THE HARDWARE AND FIRMWARE * OF THE MEMORY EXPANSION MODULE STATUS REGISTER AND THE SET OF * INSTRUCTIONS USED IN TEST 04 TO EXERCISE IT. * * THESE INSTRUCTIONS ARE: * * DJP - DISABLE M.E.M. AND JUMP * DJS - DISABLE M.E.M. AND JUMP SUBROUTINE * SJP - ENABLE SYSTEM MAP AND JUMP * SJS - ENABLE SYSTEM MAP AND JUMP SUBROUTINE * UJP - ENABLE Uï^þúSER MAP AND JUMP * UJS - ENABLE USER MAP AND JUMP SUBROUTINE * RSA/B READ STATUS REGISTER INTO A/B REGISTER * LFA/B LOAD FENCE REGISTER FROM A/B REGISTER * SSM - STORE STATUS IN MEMORY * JRS - JUMP AND RESTORE STATUS * * TEST 04 CHECKS THE STATUS REGISTER BITS BY EXECUTING ONE OF * THE ABOVE INSTRUCTIONS, THE INTERRUPT SYSTEM, AND THE PROTECT * FEATURES OF M.E.M. TO ESTABLISH VALIDITY OF THE VARIOUS STATUS * REGISTER BITS. * * THE INITIAL CHECKING IS DONE THRU THE A-REGISTER REFERENCE * (RSA-LFA) INSTRUCTIONS. ONCE IT IS ESTABLISHED THAT THE * A-REGISTER REFERENCE INSTRUCTIONS EXECUTE PROPERLY, THE * B-REGISTER COUNTERPARTS ARE CHECKED. * * AFTER ALL BITS OF THE STATUS REGISTER, AND ALL OF THE ABOVE * INSTRUCTIONS ARE CHECKED, CONTROL IS RETURNED TO THE CONTROL * PROGRAM. * * IF AN ERROR IS DETECTED WHILE TST04 IS BEING EXECUTED, A * MESSAGE WILL BE OUTPUT TO THE CONSOLE, AND THE ERROR ROUTINE * WILL HALT THE COMPUTER. * * TO DETERMINE THE CAUSE OF THE ERROR, THE OPERATOR MUST CHECK * THE FOLLOWING REGISTERS: * * T REGISTER = HALT CODE * A REGISTER = STATUS BIT(S) WHICH FAILED * * B REGISTER = STATUS BIT(S) WHICH FAILED * * X REGISTER = STATUS REGISTER AT FAILURE * Y REGISTER = ADDRESS OF FAILURE * * *NOTE. IN THE CASE OF REGISTER REFERENCE INSTRUCTIONS, THE * REGISTER REFERENCED WILL CONTAIN ACTUAL(BAD) DATA, AND * THE ALTERNATE REGISTER WILL CONTAIN THE EXPECTED(GOOD) * DATA. * SKP ORG 6000B TST04 EQU * SPC 1 NOP JSB ZORCH PUT JSB,I INSTRUCTION IN CELLS JSB LODUP LOAD UP THE MAPS NOP SPC 1 DJP *+3 DISABLE THE MEM AND JUMP *+3 JSB TEER1 GO AND REPORT THE ERROR RSA READ MEM STATUS REGISTER NOP AND EMSK1 MASK OFF DONT CARE BITS SZA,RSS /|þú TEST TO SEE IF THE JMP *+3 PROPER STATUS RETURNED. OVER CLB ERROR DETECTED, GET EXPECTED JSB STERA STATUS AND REPORT THE ERROR SPC 1 RSB NOW READ THE STATUS TO B-REG NOP CHANGE TO JMP *-N FOR LOOP/ LDA EMSK1 PUT THE MASK VALUE IN A AND B STRIP OFF THE DONT CARE BITS SZA,RSS TEST FOR PROPER STATUS JMP *+3 CLA ERROR DETECTED, GET THE EXPECTED JSB STERB STATUS AND REPORT THE ERROR SPC 1 DJS *+3 DISABLE AND JSB *+3 RTAD1 JSB TEER2 NO JSB, REPORT NOP SUBROUTINE RETURN ADDRESS RSA READ MEM STATUS REGISTER NOP AND EMSK1 ELIMINATE DONT CARE BITS SZA,RSS TEST TO SEE PROPER STATUS JMP *+3 OK, OVER THE ERROR JSB CLB ERROR IN STATUS RETURNED, JSB STERA REPORT ON CONSOLE SPC 1 RSB READ STATUS TO B REGISTER NOP CHANGE TO JMP *-N FOR LOOP/ LDA EMSK1 PLACE MASK VALUE IN A AND B STRIP OFF DONT CARE BITS SZA,RSS TEST FOR PROPER STATUS RETURN JMP *+3 OK, OVER THE ERROR CLA ERROR DETECTED, PUT THE EXPECTED JSB STERB VALUE IN A AND REPORT. SPC 1 LDA RTAD1+1 CPA RTAD2 COMPARE RETURN ADDRESS JMP *+2 ADDRESS CORRECT, CONTINUE JSB DJSER ADDRESS NOT CORRECT, REPORT NOP CHANGE TO JMP *-N FOR LOOP/ SKP SJP *+7 ENABLE SYSTEM & JUMP DJP *+2 OFF SYSTEM IF NO JUMP JSB TEER3 REPORT SJP DIDNT JUMP SPC 1 SJP *+2 RE-ENABLE AFTER ERROR NOP CHANGE TO JMP *-N FOR LOOP/ RSA READ STATUS REGISTER AND EMSK2 STRIP OFF DON'T CARE BITS CPA STN01 PROPER STATUS? JMP *+7 OVER THE ERROR DJP *+2 DISABLE TO REPORT KiþúERROR LDB STN01 NO, GET THE EXPECTED VALUE JSB STERA REPORT ERROR SJP *+2 SYSTEM BACK ON AFTER ERROR SPC 2 RSB NO READ STATUS TO B-REG NOP CHANGE TO JMP *-N FOR LOOP/ LDA EMSK2 PLACE MASK VALUE IN A AND B STRIP OFF DONT CARE BITS CPA STN01 PROPER STATUS? JMP *+5 YES, OVER THE ERROR DJP *+2 NO, OFF MEM TO REPORT ERROR LDA STN01 GET THE EXPECTED VALUE IN A JSB STERB AND REPORT THE PROBLEM SPC 1 DJP *+3 DISABLE THE MEM AND JUMP *+3 JSB TEER1 REPORT DJP PROBLEM RSA READ STATUS REGISTER IN A AND EMSK2 ELIMINATE DONT CARE BITS SZA,RSS TEST FOR PROPER STATUS JMP *+3 PROPER STATUS RETURNED CLB WRONG STATUS IN BITS 13 & 11, JSB STERA REPORT ON CONSOLE SPC 1 RSB READ STATUS TO B LDA EMSK2 GET MASK VALUE AND AND B STRIP OFF DONT CARE BITS SZA,RSS TEST FOR PROPER STATUS RETURNED JMP *+3 YES, OVER THE ERROR CLA NO, GET EXPECTED VALUE AND JSB STERB REPORT ON THE CONSOLE SPC 1 SJS *+7 ENABLE THE SYSTEM AND JSB RTAD3 DJP *+2 CRASH, NO JSB JSB TEER4 REPORT ON CONSOLE SJP *+2 MEM BACK ON AFTER ERROR SKP NOP RETURN ADDRESS LDA *-1 GET THE CALCULATED RETURN ADDR. CPA RTAD4 AND COMPARE TO RETURN JMP *+6 RETURN ADDRESS OK, OVER THE ERR DJP *+2 RETURN ADDRESS WRONG, REPORT JSB SJSER RETURN ADDRESS WRONG, REPORT SJP *+2 MEM BACK ON AFTER ERROR SPC 1 RSA READ THE STATUS REGISTER AND EMSK2 GET RID OF DONT CARE BITS CPA STN01 BIT 13 ON? JMP *+7 YES, OVER ERROR HANDLING DJP *+2 NO, MEM OFF FOR REPORT LDÜsþúB STN01 GET WHAT STATUS SHOULD BE JSB STERA REPORT THE ERROR SJP *+2 REENABLE THE ERROR SPC 1 RSB NOW READ STATUS TO B LDA EMSK2 GET MASK VALUE AND AND B STRIP OFF DONT CARE BITS CPA STN01 TEST FOR PROPER STATUS JMP *+7 OK, OVER THE ERROR DJP *+2 ERROR, OFF MEM TO REPORT LDA STN01 GET PROPER STATUS JSB STERB AND REPORT FAILURE SJP *+2 BACK ON AFTER ERROR SPC 1 NOP CHANGE TO JMP *-N FOR LOOP/ UJP *+7 ENABLE USER MAP & JUMP DJP *+2 DISABLE FOR ERROR JSB TEER5 REPORT UJP DIDN'T JUMP UJP *+2 RE-ENABLE AFTER ERROR NOP CHANGE TO JMP *-N FOR LOOP/ RSA READ STATUS REGISTER AND EMSK2 STRIP DONT CARE BITS CPA STN02 GOT PROPER STATUS? JMP *+3 YES, JUMP OVER ERROR LDB STN02 NO, GET EXPECTED STATUS JSB STERA REPORT ERROR SPC 1 RSB READ STATUS REG TO B LDA EMSK2 GET THE MASK VALUE AND B STRIP OFF THE DONT CARE BITS CPA STN02 IS STATUS CORRECT? JMP *+7 YES, OVER THE ERROR DJP *+2 NO, OFF USER TO REPORT LDA STN02 GET THE EXPECTED PATTERN JSB STERB AND REPORT THE ERROR UJP *+2 BACK ON AFTER ERROR SKP SPC 1 NOP CHANGE TO JMP *-N FOR LOOP/ SJP *+5 DJP *+2 WHOOPS, OFF MEM JSB TEER3 SJP DIDNT JUMP NOP CHANGE TO JMP *-N FOR LOOP/ UJS *+7 ENABLE AND JSB RTAD5 DJP *+2 NO JSB, OFF THE SYSTEM JSB TEER6 AND REPORT NO JSB UJP *+2 BACK ON AFTER ERROR NOP JSB RETURN ADDRESS LDA *-1 GET RETURN ADDRESS CPA R.TA5 JMP *+6 YES OVER ERROR HANDLING DJP *+2 OFF FOR ERROR JSB UJSER NO, REPORT A@±B@ÃþúWU2 JMP .GCOM SPC 1 MBWU3 NOP JSB ERMS,I DEF E135 JMP MBWU3,I SPC 2 HPAD1 OCT 0 HPAD2 OCT 0 HPAD3 OCT 0 UMASK OCT 177400 E130 ASC 5,E130 MBF/ E131 ASC 5,E131 MBF/ E132 ASC 5,E132 MBI/ E133 ASC 5,E133 MBI/ E134 ASC 5,E134 MBW/ E135 ASC 5,E135 MBW/ HED VIOLATION REGISTER - MAP REGISTER BITS * * TST21 * * TEST 21 VERIFIES PROPER OPERATION OF THE HARDWARE AND FIRMWARE * REQUIRED TO DISPLAY THE PAGE ON WHICH A VIOLATION HAS OCCURRED * * TEST 21 CAUSES SEVERAL VIOLATIONS TO BE REPORTED, AND TESTS * THE VIOLATION MAP BITS FOR CORRECT VALUE. * * IF AN ERROR IS DETECTED DURING THE EXECUTION OF TST21, AN * ERROR MESSAGE IS OUTPUT ON THE TERMINAL, AND THE PROGRAM HALTS * THE COMPUTER. AT THIS TIME, THE OPERATOR MAY DETERMINE THE * CAUSE OF THE ERROR BY CHECKING THE CONTENTS OF THE FOLLOWING * REGISTERS: * * T REGISTER = ERROR CODE * A REGISTER = ACTUAL PATTERN * B REGISTER = EXPECTED PATTERN * Y REGISTER = ADDRESS OF FAILURE SKP TST21 EQU * SPC 1 NOP JSB ZORCH PUT JSB'S IN INTERRUPT CELLS JSB KFNCE LOAD UP THE FENCE REGISTERS JSB LODUP LOAD THE MAP REGISTERS LDA OCT10 NOW LDB RPNTR PUT LDX OCT06 PROTECTED XMM BITS IN MAPS SPC 1 LDA RD1 PUT INTERRUPT STA M5LNK ADDRESS IN LINK JSB PMON ON THE PROTECTED MODE STA TWN4K,I AND FORCE A WRITE VIOLATION SPC 1 RA1 NOP JSB TRNOF OFF INTP AND SYS RVA GET THE VIOLATION REGISTER AND RMASK MASK OFF ALL BUT MAP BITS RA2 CPA OCT12 JMP ROVR1 YES, OVER THE ERROR SPC 1 LDB OCT12 NO, GET THE EXPECTED PAGE LDY RD2 THE FAIL FLAG, JSB ERMS,I AND REPORT WRONG DEF E316 SPC 2 ROVR1 LDA RD3 UPDAoQþúTE THE STA M5LNK RETURN ADDRESS JSB PMON ON THE PM SYSTEM STA THR2K,I VIOLATE PAGE 15 SPC 1 RA3 NOP JSB TRNOF OFF INTP AND SYS RVA GET VIOLATION REGISTER AND RMASK ISOLATE MAP REGISTER BITS RA4 CPA OCT15 RIGHT PAGE? JMP ROVR2 YES, OVER THE ERROR SPC 1 LDB OCT15 GET EXPECTED PAGE NUMBER LDY RD4 AND FAIL FLAG JSB ERMS,I NOW REPORT THE ERROR DEF E301 SPC 2 ROVR2 LDA RD5 UPDATE STA M5LNK RETURN ADDRESS JSB PMON SKP SPC 1 RA5 NOP JSB TRNOF OFF INTP + SYS RVA AND RMASK ISOLATE MAP REGISTER RA6 SZA,RSS PAGE ZERO? JMP ROVR3 YES, OVER THE ERROR CLB NO, GET EXPECTED NUMBER LDY RD6 FAIL FLAG JSB ERMS,I AND REPORT DEF E302 SPC 2 ROVR3 LDA RD7 UPDATE STA M5LNK RETURN ADDRESS JSB PMON ON PROTECTED MODE STA TWN2K,I NOW STORE FOR ALL ONES SPC 1 RA7 NOP JSB TRNOF OFF INTP AND SYS RVA GET VIOLATION REGISTER AND RMASK ISOLATE MAP BITS RA8 CPA OCT11 JMP ROVR4 YES, OVER THE ERROR LDB RMASK GET THE EXPECTED VALUE LDY RD8 FAIL FLAG JSB ERMS,I REPORT THE DEF E303 SPC 2 ROVR4 NOP JMP TST21,I SKP RPNTR DEF *+1 OCT 040010,041777,040012,040013,040014,040015 RD1 DEF RA1 RD2 DEF RA2 RD3 DEF RA3 RD4 DEF RA4 RD5 DEF RA5 RD6 DEF RA6 RD7 DEF RA7 RD8 DEF RA8 RMASK OCT 77 HED WRITE VIOLATIONS * * TST12 * * TEST 12 VERIFIES PROPER OPERATION OF THE HARDWARE AND FIRMWARE * REQUIRED TO SUCESSFULLY DETECT AND REPORT A PROTECTED MODE * WRITE VIOLATION, AS WELL AS PREVENT THE WRITE OPERATION FROM * ALTERING PROTECTED MEMORY. * * TEST 12 IS MADE UP OF FIVE SUBTESTS VþúWHICH FIRST ATTEMPT A * WRITE INTO PROTECTED MEMORY, INSURE THAT THE PROTECT FEATURES * CAUSE A MEMV INTERRUPT, AND THEN CHECK TO INSURE THAT THE * WRITE DID NOT CHANGE MEMORY. * * THE FIVE INSTRUCTIONS USED TO FOR TEST 12 ARE: * * MBI MBW MWI MWW XSA * * IF AN ERROR IS DETECTED DURING THE EXECUTION OF TEST KK, AN * ERROR MESSAGE WILL BE OUTPUT ON THE CONSOLE, AND THE PROGRAM * HALTS THE COMPUTER. THE OPERATOR MAY THEN DETERMINE THE * CAUSE OF THE ERROR BY CHECKING THE T REGISTER, WHICH WILL * CONTAIN THE ERROR CODE, AND THE Y REGISTER, WHICH WILL CONTAIN * THE ADDRESS OF THE FAILURE. * * SKP ORG 14000B TST12 EQU * SPC 1 NOP JSB ZORCH LOAD UP INTERRUPT CELLS JSB JLOAD MAPS AND JSB KFNCE FENCE SPC 1 SPC 1 LDA KRT01 PUT RETURN ADDRESS STA M5LNK IN VIOLATION INTERRUPT RETURN JSB PMON ON PROTECTED MODE LDA TWNTK ATTEMPT LDB TWNTK A NON-PRIVELEGED LDX KCONT MBI INSTRUCTION NOP CHANGE TO JMP *-N FOR LOOP/ KA1 MBI JSB OFFPM TURN OFF PM TO REPORT ERROR LDY KD1 GET FAILURE FLAG JSB ERMS,I AND REPORT THE FAILURE DEF E151 SPC 1 KRA01 NOP VIOLATION INTERRUPTED HERE JSB TRNOF OFF THE INTSYS AND SYS MAP JSB WTVCK CHECK WRITE VIOLATION BIT JMP *+5 LDY WTVCK GET FAIL FLAG JSB ERMS,I DEF E152 SPC 1 LDA KRT02 PLACE NEXT RETURN STA M5LNK ADDRESS INTO M5LNK LDA TWNTK ATTEMPT A LDB TWNTK PROTECTED MODE LDX KCONT EXECUTION NOP OF A JSB PMON MBW KA2 MBW INSTRUCTION JSB OFFPM LDY KD2 GET FAIL FLAG JSB ERMS,I AND REPORT DEF E153 SPC 1 KRA02 NOP JSB TRNOF OFF THE INTSYS A¦{þúND SYSMAP JSB WTVCK CHECK WRITE PROTECT BIT JMP *+5 OK LDY WTVCK NO, FAIL JSB ERMS,I DEF E154 SKP LDA KRT03 PLACE NEXT VIOLATION STA M5LNK INTERRUPT ADDRESS IN M5LNK LDA TWN6K NOW ATTEMPT LDB TWN2K EXECUTION LDX KCONT OF A JSB PMON PROTECTED MODE-ON KA3 MWI MOVE WORDS INTO INSTRUCTION JSB OFFPM LDY KD3 GET THE FAIL FLAG JSB ERMS,I AND REPORT DEF E155 NO MEMV SPC 1 KRA03 NOP VIOLATION RETURNS TO HERE JSB TRNOF OFF THE INTERRUPT SYSTEM ETC JSB WTVCK CHECK BIT14 JMP *+5 OK LDY WTVCK NO, FAIL JSB ERMS,I DEF E156 SPC 1 LDA KRT04 NEXT RETURN STA M5LNK ADDRESS INTO M5LNK LDA TWN6K NOW TRY TO LDB TWNTK EXECUTE LDX KCONT A MWW NOP INSTRUCTION JSB PMON IN PM. KA4 MWW JSB OFFPM LDY KD4 GET THE FAIL FLAG JSB ERMS,I AND REPORT DEF E157 SPC 1 KRA04 NOP RETURN FROM VIOLATION INTERRUPT JSB TRNOF OFF INTP AND SYS JSB WTVCK JMP *+5 LDY WTVCK JSB ERMS,I DEF E160 ******** SPC 1 LDA KRT06 UPDATE STA M5LNK M5LNK NOP JSB PMON ON PROTECTED MODE KA5 XSA TWNTK ATTEMPT A CROSS STORE JSB OFFPM LDY KD5 JSB ERMS,I DEF E161 SPC 1 KRA06 NOP VIOLATION RETURN ADDRESS JSB TRNOF OFF INTSYS JSB WTVCK CHECK WRITE VIOLATION BIT JMP *+5 LDY WTVCK JSB ERMS,I DEF E162 NOP JMP TST12,I SPC 2 KD1 DEF KA1 KD2 DEF KA2 KD3 DEF KA3 KD4 DEF KA4 KD5 DEF KA5 E151 ASC 5,E151 MBI/ E152 ASC 5,E152 MBI/ E153 ASC 5,E153 MBW/ E154 ASC 5,E154 MBW/ E155 ASC 5,E155 MWI/ ¡åþúE156 ASC 5,E156 MWI/ E157 ASC 5,E157 MWW/ E160 ASC 5,E160 MWW/ E161 ASC 5,E161 XSA/ E162 ASC 5,E162 XSA/ HED READ VIOLATIONS * * TST16 * * TEST 16 VERIFIES PROPER OPERATION OF THE HARDWARE AND FIRMWARE * REQUIRED TO SUCESSFULLY DETECT AND REPORT A PROTECTED MODE * READ VIOLATION. * * * TST16 IS MADE UP OF FOUR SUBTESTS WHICH FIRST ATTEMPT A READ * FROM PROTECTED MEMORY, THEN INSURE THAT THE PROTECT FEATURES * CAUSE A MEMV INTERRUPT, AND TEST THE VIOLATION REGISTER TO * INSURE THE CORRECT STATE OF THE READ VIOLATION BIT. * * THE FOUR INSTRUCTIONS USED FOR TST16 ARE: * * MWW MWI MBW MBI * * IF AN ERROR IS DETECTED DURING THE EXECUTION OF THIS TEST, AN * ERROR MESSAGE WILL BE OUTPUT ON THE CONSOLE, AND THE PROGRAM * WILL HALT THE COMPUTER. THE OPERATOR MAY THEN DETERMINE THE * CAUSE OF THE ERROR BY CHECKING THE T REGISTER, WHICH WILL * CONTAIN THE ERROR CODE, AND THE Y REGISTER, WHICH WILL CONTAIN * THE ADDRESS OF THE FAILURE. * * * SKP TST16 EQU * SPC 1 NOP JSB ZORCH JSB KFNCE JSB OLOAD SPC 1 LDA OXDR1 STA M5LNK ADDRESS INTO M5LNK LDA TWNTK NOW TRY TO LDB TWNTK EXECUTE LDX KCONT A MWW NOP INSTRUCTION JSB PMON IN PM. MWW JSB OFFPM LDY OFFPM JSB ERMS,I DEF E245 OXTR1 NOP JSB TRNOF OFF INTP AND SYS JSB RDVCK CHECK IT WAS A READ VIOLATION JMP *+5 IT WAS, OVER THE ERROR LDY RDVCK GET THE FAILURE FLAG JSB ERMS,I AND REPORT THE ERROR DEF E246 SPC 1 LDA OXDR2 STA M5LNK INTERRUPT ADDRESS IN M5LNK LDA TWNTK NOW ATTEMPT LDB TWNTK EXECUTION LDX KCONT OF A JSB PMON PROTECTED MODE-ON MWI MOVE WORDS INTO INSTRUCTION JSB OFFPM LD‚kþúY OFFPM SET ERROR FLAG ADDRESS JSB ERMS,I DEF E247 SPC 1 OXTR2 NOP JSB TRNOF OFF THE INTSYS AND SYSMAP JSB RDVCK CHECK IT WAS A READ VIOLATION JMP *+5 IT WAS, OVER THE ERROR LDY RDVCK GET THE FAILURE FLAG JSB ERMS,I AND REPORT THE ERROR DEF E250 SKP LDA OXDR3 STA M5LNK ADDRESS INTO M5LNK LDA FORTK ATTEMPT LDB FORTK P.M. LDX KCONT EXECUTION NOP OF A JSB PMON MBW MBW INSTRUCTION JSB OFFPM LDY OFFPM SET ERROR FLAG ADDRESS JSB ERMS,I DEF E251 SPC 1 OXTR3 NOP JSB TRNOF JSB RDVCK CHECK IT WAS A READ VIOLATION JMP *+5 IT WAS, OVER THE ERROR LDY RDVCK GET THE FAILURE FLAG JSB ERMS,I AND REPORT THE ERROR DEF E252 SPC 1 LDA OXDR4 STA M5LNK IN VIOLATION INTERRUPT RETURN JSB PMON ON PROTECTED MODE LDA FORTK LDB FORTK LDX KCONT MBI INSTRUCTION NOP CHANGE TO JMP *-N FOR LOOP/ MBI JSB OFFPM TURN OFF PM TO REPORT ERROR LDY OFFPM SET ERROR FLAG ADDRESS JSB ERMS,I DEF E253 SPC 1 OXTR4 NOP JSB TRNOF JSB RDVCK CHECK IT WAS A READ VIOLATION JMP *+5 IT WAS, OVER THE ERROR LDY RDVCK GET THE FAILURE FLAG JSB ERMS,I AND REPORT THE ERROR DEF E254 SPC 1 NOP JMP TST16,I SKP OXDR1 DEF OXTR1 OXDR2 DEF OXTR2 OXDR3 DEF OXTR3 OXDR4 DEF OXTR4 E245 ASC 5,E245 MWW/ E246 ASC 5,E246 MWW/ E247 ASC 5,E247 MWI/ E250 ASC 5,E250 MWI/ E251 ASC 5,E251 MBW/ E252 ASC 5,E252 MBW/ E253 ASC 5,E253 MBI/ E254 ASC 5,E254 MBI/ SPC 1 SPC 1 OLOAD NOP JSB JLOAD LDA OCT11 LDB OCT11 LDX OCT03 XMS JMP OLOAD,I KRT01 DEF KRA01 1¬þúKRT02 DEF KRA02 KRT03 DEF KRA03 KRT05 DEF KRA05 KRT06 DEF KRA06 KRT07 DEF KRA07 KCONT OCT 100 KRT04 DEF KRA04 KXFRW OCT 100001 HED PRIVILEGED INSTRUCTIONS * * TST13 * * TEST 13 VERIFIES PROPER OPERATION OF THE HARDWARE AND FIRMWARE * REQUIRED TO SUCESSFULLY DETECT AND REPORT A PROTECTED MODE * PRIVILEGED INSTRUCTION VIOLATION. * * THIS TEST IS MADE UP OF EIGHT SUBTESTS WHICH INSURE PRIVILEGED * INSTRUCTIONS WILL CAUSE A MEMV INTERRUPT IF THE USER MAP IS * ENABLED, AND WILL NOT CAUSE A VIOLATION IF THE SYSTEM MAP IS * ENABLED. * * THE INSTRUCTIONS USED FOR THIS TEST ARE: * * JRS DJP DJS SJP SJS UJP UJS LFA * * IF AN ERROR IS DETECTED DURING THE EXECUTION OF THIS TEST, AN * ERROR MESSAGE WILL BE OUTPUT ON THE CONSOLE, AND THE PROGRAM * WILL HALT THE COMPUTER. THE OPERATOR MAY THEN DETERMINE THE * CAUSE OF THE ERROR BY CHECKING THE T REGISTER WHICH WILL * CONTAIN THE ERROR CODE, AND THE Y REGISTER, WHICH WILL CONTAIN * THE ADDRESS OF THE ERROR SKP TST13 EQU * SPC 1 NOP JSB LODUP LOAD MAPS JSB ZORCH STORE JSB'S JSB KFNCE SET UP THE FENCES SPC 1 LDA LRAD1 PUT NEXT RETURN STA M5LNK ADDRESS LINK JSB PMONU ON PM W/USER MAP ENABLED JRS STS TRG JMP AND RESTORE STATUS IF WE CAN STS OCT 024100 STATUS WORD TRG NOP TARGET ADDRESS JSB OFFPM FORCE PM OFF LDY TRG GET THE FAILURE FLAG JSB ERMS,I AND REPORT DEF E163 NO MEMV SPC 1 LLRA1 NOP JSB TRNOF OFF PM TO CHECK JSB PIVCK BIT 12 OF THE VIOLATION REGISTER JMP *+5 LDY PIVCK JSB ERMS,I DEF E164 LDA LRAD2 PUT THE ERROR ROUTINE STA M5LNK ADDRESS IF IT VIOLATES W/SYSTEM JSB PMON ON PM SSM LLSTS PUT STATUS IN MEMORY LLSTATUS NOP CHANGE TO JMP üå640*-N FOR LOOP/ JRS LLSTS NXT DO JMP AND RESTORE IN PM SYSTEM NXT JSB OFFPM JMP LOVR1 OVER THE ERROR LLRA2 NOP JSB TRNOF OFF INTP AND SYS d16ÿÿ ÿý  ® ÿ12929-18011 1830 S 0122 DMS DIAGNOSTIC              H0101 %þú LDY LLRA2 GET FAIL FLAG JSB ERMS,I AND REPORT DEF E165 SPC 2 LOVR1 LDA LRAD3 PUT NEXT RETURN ADDRESS STA M5LNK IN VIOLATION LINK ADDRESS JSB PMONU PM ON W/USER ENABLED DJP *+2 TRY TO DISABLE MEM JSB OFFPM MADE IT W/NO VIOLATION LDY OFFPM GET FAIL FLAG JSB ERMS,I AND OUTPUT DEF E166 SKP LLRA3 NOP JSB TRNOF OFF INT AND USER JSB PIVCK CHECK VIOLATION BIT 12 JMP *+5 LDY PIVCK JSB ERMS,I DEF E167 LDA LRAD4 NEXT INTP STA M5LNK ADDRESS JSB PMON NOP CHANGE TO JMP *-N FOR LOOP/ JSB OFFPM TURN OFF PROTECTED MODE JMP LOVR2 AND JUMP OVER THE ERROR LLRA4 NOP JSB TRNOF OFF INTP AND USER LDY TRNOF JSB ERMS,I DEF E200 SPC 2 LOVR2 LDA LRAD5 NEXT ADDRESS STA M5LNK INTO-LINK JSB PMONU PM W/USER ENABLED DJS *+2 DISABLE AND JSB NOP JSB OFFPM JSB MUST HAVE WORKED LDY OFFPM JSB ERMS,I DEF E201 SPC 2 LLRA5 NOP RETURN FROM VIOLATION INTERRUPT JSB TRNOF OFF PROTECTED MODE JSB PIVCK AND CHECK VIOLATION BIT 12 JMP *+5 LDY PIVCK JSB ERMS,I DEF E202 LDA LRAD6 UPDATE THE STA M5LNK LINK WORD JSB PMON ON PM W/SYSTEM ENABLED NOP CHANGE TO JMP *-N FOR LOOP/ DJS *+2 NOW MAKE SURE DJS CAN BE NOP EXECUTED IN PM WITH SYS ENABLED JSB OFFPM TURN OFF THE PROTECTED MODE JMP LOVR3 AND JUMP OVER THE ERROR ROUTINE LLRA6 NOP VIOLATION RETURN ADDRESS JSB TRNOF OFF INTP + SYS MAP LDY TRNOF JSB ERMS,I DEF E203 SKP LOVR3 LDA LRAD7 UPDATE STA M5LNK RETURN ADDRESS JSB PMONU PM ON W/USER ENABLED SJP *+2 TRY TO TURN SYSTpþúEM MAP ON JSB OFFPM MADE IT, LDY OFFPM JSB ERMS,I DEF E204 SPC 2 LLRA7 NOP JSB TRNOF OFF INTP, JSB PIVCK AND CHECK VIOLATION REGISTER 12 JMP *+5 LDY PIVCK JSB ERMS,I DEF E205 LDA LRAD8 UPDATE STA M5LNK M5LNK JSB PMON ONE PM SJP *+2 SJP JSB OFFPM OK, ITS DONE, OFF PM JMP LOVR4 AND JUMP OVER THE ERROR LLRA8 NOP JSB TRNOF OFF INTP + SYSTEM LDY TRNOF JSB ERMS,I DEF E206 SPC 2 LOVR4 LDA LRAD9 UPDATE STA M5LNK M5LNK JSB PMONU ON PM W/USER ENABLED SJS *+2 ATTEMPT SJS NOP INSTRUCTION JSB OFFPM MADE IT, LDY OFFPM JSB ERMS,I DEF E207 SKP LLRA9 NOP JSB TRNOF OFF INTP AND USER, JSB PIVCK AND CHECK BIT 12 JMP *+5 LDY PIVCK JSB ERMS,I DEF E210 LDA LRA10 UPDATE STA M5LNK THE M5LNK JSB PMON ON PROTECTED MODE, SJS *+2 AND JSB NOP JSB OFFPM OK, TURN PM OFF JMP LOVR5 AND JMP OVER THE ERROR LLR10 NOP JSB TRNOF OFF INTP AND SYSTEM LDY TRNOF JSB ERMS,I DEF E211 SPC 2 LOVR5 LDA LRA11 UPDATE STA M5LNK M5LNK JSB PMONU ON PM UJP *+2 TRY UJP WITH PM JSB OFFPM MADE IT, LDY OFFPM JSB ERMS,I DEF E212 SPC 2 LLR11 NOP JSB TRNOF OFF INTP JSB PIVCK CHECK BIT 12 JMP *+5 LDY PIVCK JSB ERMS,I DEF E213 LDA LRA12 UPDATE STA M5LNK M5LNK JSB PMON ON PM UJP *+2 NOW ENABLE THE USER MAP RSB READ STATUS JSB OFFPM TURN OFF PROTECTED MODE LDA B PUT STATUS IN A AND BIT12 STRIP ALL BUT BIT12 SZA WAS BIT 12 A ONE? L™þú JMP LOVR6 YES, OVER THE ERROR JSB ERMS,I NO, TELL OPERATOR DEF E214 LLR12 NOP JSB TRNOF OFF INTP LDY TRNOF JSB ERMS,I DEF E215 SKP LOVR6 LDA LRA13 UPDATE STA M5LNK M5LNK JSB PMONU ON PM W/USER ENABLED UJS *+2 ATTEMPT EXECUTION OF UJS NOP MUST HAVE MADE IT, JSB OFFPM OFF PM LDY OFFPM JSB ERMS,I DEF E216 SPC 1 LLR13 NOP JSB TRNOF OFF INTP AND USER JSB PIVCK CHECK BIT 12 JMP *+5 LDY PIVCK JSB ERMS,I DEF E217 LDA LRA14 UPDATE STA M5LNK M5LNK JSB PMON ON PROTECTED MODE UJS *+2 NOW ENABLE THE USER NOP RSB GET STATUS JSB OFFPM AND FORCE PM OFF LDA B GET STATUS AND MAKE AND BIT12 SURE THAT THE USER SZA MAP WAS ENABLED JMP LOVR7 IT WAS, GO ON JSB ERMS,I NO, TELL OPERATOR DEF E220 JMP LOVR7 THEN GO ON SKP LLR14 NOP JSB TRNOF OFF INTP LDY TRNOF JSB ERMS,I DEF E221 SPC 1 LOVR7 NOP LDA KRT07 NEXT RETURN STA M5LNK ADDRESS LDA KFTRY JSB PMONU ON THE PROTECTED MODE LFA IN PM. JSB OFFPM LDY OFFPM JSB ERMS,I DEF E224 SPC 1 KRA07 NOP JSB TRNOF OFF INTP AND SYSTEM MAP JSB PIVCK CHECK BIT 12 JMP *+5 LDY PIVCK JSB ERMS,I DEF E225 NOP JMP TST13,I SKP LRAD1 DEF LLRA1 LRAD2 DEF LLRA2 LRAD3 DEF LLRA3 LRAD4 DEF LLRA4 LRAD5 DEF LLRA5 LRAD6 DEF LLRA6 LRAD7 DEF LLRA7 LRAD8 DEF LLRA8 LRAD9 DEF LLRA9 LRA10 DEF LLR10 LRA11 DEF LLR11 LRA12 DEF LLR12 LRA13 DEF LLR13 LRA14 DEF LLR14 LLSTS OCT 0 SPC 2 E163 ASC 5,E163 JRS/ E164 ASC 5,E164 JRS/ E165 ASC 5,E165 JRS/ E166 ASC 5,E1­¼þú66 DJP/ E167 ASC 5,E167 DJP/ E200 ASC 5,E200 DJP/ E201 ASC 5,E201 DJS/ E202 ASC 5,E202 DJS/ E203 ASC 5,E203 DJS/ E204 ASC 5,E204 SJP/ E205 ASC 5,E205 SJP/ E206 ASC 5,E206 SJP/ E207 ASC 5,E207 SJS/ E210 ASC 5,E210 SJS/ E211 ASC 5,E211 SJS/ E212 ASC 5,E212 UJP/ E213 ASC 5,E213 UJP/ E214 ASC 5,E214 UJP/ E215 ASC 5,E215 UJP/ E216 ASC 5,E216 UJS/ E217 ASC 5,E217 UJS/ E220 ASC 5,E220 UJS/ E221 ASC 5,E221 UJS/ E222 ASC 5,E222 XMA/ E223 ASC 5,E223 XMA/ E224 ASC 5,E224 LFA/ E225 ASC 5,E225 LFA/ KFTRY OCT 100001 HED MAP VIOLATION * * TST14 * * TEST 14 VERIFIES PROPER OPERATION OF THE HARDWARE AND FIRMWARE * REQUIRED TO DETECT AND REPORT THE ATTEMPT, AND PREVENT THE * EXECUTION OF ANY MEM INSTRUCTION WHICH ALTERS THE CONTENTS OF * THE MAPS WHILE IN PROTECTED MODE. * * THIS TEST IS MADE UP OF SEVEN SUBTESTS WHICH ATTEMPT TO ALTER * THE CONTENTS OF THE MAPS, AND THEN INSURE A MEM VIOLATION * AND THE CORRECT STATE OF THE VIOLATION REGISTER'S PRIVILEGED * INSTRUCTION BIT. * * THE INSTRUCTIONS USED TO ATTEMPT ALTERING THE MAPS IN THIS * TEST ARE: * * XMM XMS XMA SYA USA PAA PBA * * IF AN ERROR IS DETECTED DURING THE EXECUTION OF THIS TEST, AN * ERROR MESSAGE IS OUTPUT ON THE CONSOLE, AND THE PROGRAM HALTS * THE COMPUTER. AT THIS TIME, THE OPERATOR MAY DETERMINE THE * CAUSE OF THE ERROR BY CHECKING THE T REGISTER, WHICH CONTAINS * THE ERROR CODE, AND THE Y REGISTER, WHICH CONTAINS THE ADDRESS * OF THE ERROR * * SKP TST14 EQU * SPC 1 NOP JSB KFNCE LOAD FENCES FOR THIS TEST JSB JLOAD LOAD MAPS JSB ZORCH PUT JSBS IN MEMSC AND DVICE SPC 1 LDA MRTD1 PUT INTERRUPT RETURN ADDRESS STA M5LNK IN THE VIOLATION RETURN ADDRESS JSB PMON ON PROTECTED MODE CLA TRY TO LDB MLPTR EXECUTE LDX OCT0 Ðþú1 AN XMM XMM INSTRUCTION JSB OFFPM MODE IT, OFF PM LDY OFFPM JSB ERMS,I DEF E226 SPC 1 MRAD1 NOP JSB TRNOF OFF THE INTP AND USER JSB PIVCK CHECK VIOLATION REGISTER BIT 12 JMP *+5 LDY PIVCK JSB ERMS,I DEF E227 LDA MRTD2 UPDATE THE STA M5LNK RETURN ADDRESS CLA NOW CLB TRY LDX OCT40 EXECUTING JSB PMON XMS XMS IN PM JSB OFFPM MADE IT, OFF PM LDY OFFPM JSB ERMS,I DEF E230 SKP MRAD2 NOP JSB TRNOF OFF INTP AND SYS JSB PIVCK CHECK BIT12 JMP *+5 LDY PIVCK JSB ERMS,I DEF E231 LDA MRTD3 UPDATE STA M5LNK M5LNK LDA MLPTR POINT TO JLOAD TABLE JSB PMON TURN PM ON SYA TRY TO LOAD SYSTEM MAP JSB OFFPM LDY OFFPM JSB ERMS,I DEF E232 SPC 1 MRAD3 NOP JSB TRNOF OFF INTP AND SYS MAP JSB PIVCK CHECK PI VIOLATION BIT JMP *+5 LDY PIVCK JSB ERMS,I DEF E233 LDA MRTD4 UPDATE STA M5LNK M5LNK LDA MLPTR NOW JSB PMON TRY USA USA JSB OFFPM OFF PROTECTED MODE LDY OFFPM JSB ERMS,I DEF E234 SPC 1 MRAD4 NOP JSB TRNOF OFF THE INT SYS JSB PIVCK AND CHECK BIT12 JMP *+5 LDY PIVCK JSB ERMS,I DEF E235 LDA MRTD5 UPDATE STA M5LNK M5LNK LDA MLPTR NOW JSB PMON ATTEMPT PAA PAA IN PM JSB OFFPM LDY OFFPM JSB ERMS,I DEF E236 SKP MRAD5 NOP JSB TRNOF OFF INTP AND SYS JSB PIVCK CHECK BIT 12 JMP *+5 LDY PIVCK JSB ERMS,I DEF E237 LDA MRTD6 UPDATE STA M5LNK THE LIâþúNK WORD LDA MLPTR NOW JSB PMON TRY A PM ON PBA PBA JSB OFFPM LDY OFFPM JSB ERMS,I DEF E240 SPC 1 MRAD6 NOP JSB TRNOF OFF INTP JSB PIVCK AND CHECK BIT 12 JMP *+5 LDY PIVCK JSB ERMS,I DEF E241 SPC 1 LDA KRT05 UPDATE VIOLATION STA M5LNK RETURN ADDRESS LDA KXFRW GET TRANSFER WORD NOP CHANGE TO JMP *-N FOR LOOP/ JSB PMON ON THE PROTECTED MODE XMA TRY XMA INSTRUCTION JSB OFFPM MUST HAVE MADE IT, LDY OFFPM GET FAIL FLAG JSB ERMS,I REPORT THE ERROR DEF E222 SPC 1 KRA05 NOP INTERRUPT RETURN ADDRESS JSB TRNOF OFF THE INTP AND SYSTEM JSB PIVCK CHECK BIT 12 JMP *+5 OK GO ON LDY PIVCK NO, GET FAIL FLAG JSB ERMS,I AND REPORT NO BIT 12 DEF E223 NOP JMP TST14,I SKP E240 ASC 5,E240 PBA/ E241 ASC 5,E241 PBA/ SPC 2 MRTD1 DEF MRAD1 MRTD2 DEF MRAD2 MRTD3 DEF MRAD3 MRTD4 DEF MRAD4 MRTD5 DEF MRAD5 MRTD6 DEF MRAD6 MLPTR DEF LTSYS HED MEM DIAGNOSTIC - DCPC INTERFERENCE TEST * * TST20 * * TEST 20 VERIFIES PROPER OPERATION OF THE HARDWARE AND FIRMWARE * REQUIRED TO SUCESSFULLY LOAD AND READ MAP REGISTERS WHILE * EXECUTING DCPC TRANSFERS. * * THIS TEST IS COMPRISED OF EXECUTING A USA AND USB WHILE DCPC * IS TRANSFERING DATA, AND CHECKING THE RESULTS. IF NO * ERROR IS FOUND FOR EVERY COMBINATION OF MAP REGISTER LOAD, * THE TEST IS EXITED. * * IF AN ERROR IS DETECTED DURING THE EXECUTION OF THIS TEST, * AN ERROR MESSAGE IS OUTPUT ON THE CONSOLE, AND THE PROGRAM * HALTS THE COMPUTER. THE OPERATOR MAY THEN DETERMINE THE * CAUSE OF THE ERROR BY CHECKING THE FOLLOWING REGISTERS: * * T REGISTER = HALT CODE * A RESISTER = ACTUAL PATTEÓ'þúRN * B REGISTER = EXPECTED PATTERN * X REGISTER = FAILING REGISTER * Y REGISTER = ADDRESS OF FAILURE * * * * HED DCPC INTERFERENCE TEST TST20 EQU * SPC 1 NOP JSB LODUP LOAD THE SYSTEM MAP REGISTERS SPC 1 LDY NEG04 LDB LTSYS * QHREB LDX NON07 MAKE A LDA OCT10 LOAD QHREA STA B,I TABLE INA TO DO INB LARGE ISX DCPC JMP QHREA TRANSFERS ISY * JMP QHREB * SPC 1 LDA LTSYS LOAD PAA PORT A AND LDA LTSYS PORT B PBA MAP REGISTERS SPC 1 NOP HEREB LDA PTBCW OTA .DMA7 CLC .DMA3 LDA TWNTK IOR INPCW OTA .DMA3 STC .DMA3 LDA NG31K OTA .DMA3 SPC 2 NOP SJP *+2 QQIO1 STC DVICE,C STC .DMA7,C NOP CLA HEREA JSB CHTBL MAKE SEQUENCE TABLE LDA RTSYS MAKE THE IOR INPCW READ POINTER LDB LTSYS GET THE LOAD POINTER USB LOAD THE MAP AND NOP USA READ 'EM BACK NOP CHANGE TO JMP *-N FOR LOOP/ LDA RTSYS NOW LDB LTSYS COMPARE THE JSB TBCMP TWO TABLES JSB DMAER WHOOPS, DCPC AFFECTED USA SFS .DMA7 JMP HEREA NO, DO ANOTHR USA NOP JMP HEREB YES, DO ANOTHER DCPC SETUP SPC 5 CHTBL NOP LDA HOLDR GET LAST COUNT LDY NON40 LDB LTSYS AND POINTER XXXQQ INA BUMP REGISTER PATTERN CPA LAST TIME TO RESET? JMP EXITQ STA B,I NO, PUT IT IN THE TABLE INB BUMP POINTER STA HOLDR SAVE THE PATTERN ISY BUMP THE XTHRU JMP XXXQQ KEEP GOING JMP CHTBL,I DONE, EXIT SPC 1 DMAER NOP DJS yþúRGSVE DISABLE MEM AND SAVE THE REG. LDY DMAER JSB ERMS,I DEF E264 JMP TCPHR SJS RGRS2 REENABLE AND RESTORE Y SPC 2 WAITQ LDA QFLAG SZA,RSS JSB QRASH DCPC NOT COMPLETE AFTER 2 SEC CLA FIRST TIME THRU STA QFLAG RESET QFLAG LDA OCT2K OFF TO JSB TMRR,I 2 SECOND TIMER JMP .EXTQ AND DO SFS 7 AGAIN SPC 1 QRASH NOP LDY QRASH GET FAIL FLAG CLC INTP,C DJP *+2 NO DCPC FLAG, CRASH JSB ERMS,I DEF E267 JMP TST.Q E267 ASC 5,E267 DCPC/ SKP EXITQ CCA STA QFLAG .EXTQ SFS .DMA7 JMP *+2 JMP TST.Q JMP WAITQ SPC 2 TST.Q DJP *+2 CLC INTP,C NOP JMP TST20,I SPC 1 HOLDR OCT 0 LAST OCT 1777 PTBCW OCT 100014 .DMA7 EQU 7B .DMA3 EQU 3B INPCW OCT 100000 NG31K OCT -31000 NON07 OCT -7 NEG04 OCT -4 QFLAG OCT 0 E264 ASC 5,E264 DCPC/ HED INTERRUPTIBLE INSTRUCTIONS TEST * * TST17 * * TEST 17 VERIFIES PROPER OPERATION OF THE HARDWARE AND FIRMWARE * REQUIRED TO COMPLETE THE EXECUTION OF AN INSTRUCTION WHICH HAS * INTERRUPTED BY THE CPU. * * TEST 17 IS MADE UP OF EIGHT SUBTESTS WHICH START EXECUTION OF * AN INTERRUPTIBLE INSTRUCTION, AND THEN CAUSE AN INTERRUPT. * AT THE COMPLETION OF THE INTERRUPT HANDLING ROUTINE, CONTROL * IS RETURNED TO THE INTERRUPTED INSTRUCTION, AND THEN THE * RESULTS OF THE INSTRUCTION UNDER TEST ARE CHECKED TO VERIFY * COMPLETION. * * THE INSTRUCTIONS TESTED ARE: * * MBF MBI MBW MWF MWI MWW XMS XMM * * IF AN ERROR IS DETECTED DURING EXECUTION OF THIS TEST, AN * ERROR MESSAGE IS OUTPUT ON THE CONSOLE, AND THE PROGRAM HALTS * THE COMPUTER. AT THIS TIME, THE OPERATOR CAN DETERMINE THE A…64006ÿÿ ÿý¡ ¯ ÿ12929-18012 1830 S 0122 DMS DIAGNOSTIC              H0101 &þú* CAUSE OF THE ERROR BY CHECKING THE T REGISTER WHICH WILL * CONTAIN THE ERROR CODE, AND THE Y REGISTER, WHICH WILL CONTAIN * THE ADDRESS OF THE ERROR SKP ORG 16000B TST17 EQU * SPC 1 NOP JSB KFNCE LOAD FENCE REGISTERS JSB ZORCH JSB'S INTO TRAP CELLS JSB LODUP AND MAP REGISTERS SPC 1 LDB TWNTK CHANGE THE SOURCE JSB PEMAD,I ADDRESS'S PATTERN LDB TWN2K AND ZERO JSB PZERO,I THE DESTINATION LDA PRET1 PUT INTERRUPT RETURN STA ADLNK IN TRAP CELL CCA SET INTERRUPT STA PHLAG CHECK FLAG JSB PSTUP SET UP FOR INTERRUPT JSB PINIT,I RESET TESTGG PATTERN TABLE LDA FORTK NOW SETUP LDB FORTK TO EXECUTE LDX FOURK MOVE BYTES FROM INSTRUCTION SJP *+2 ENABLE THE SYSTEM STF INTP START THE INTERRUPT MBF AND EXECUTE. NOP CHANGE TO JMP *-N FOR LOOP/ CAY SAVE THE A REGISTER JSB TRNOF LDA PHLAG GET THE FLAG SZA WAS THE INTERRUPT PROCESSED? JSB CRASH NO, GO ABORT TST17 LDA TWN2K NOW MAKE LDB TWNTK SURE THAT LDX NON2K THE INSTRUCTION JSB PCOMP,I COMPLETED EXECUTION JSB *+2 WHOOPS, FOUND AN ERROR, JMP PNXT1 TBCMP OK, CONTINUE NOP JSB ADDRESS HOLDER JSB RGSVE SAVE THE RESISTERS LDY *-2 GET THE ERROR FLAG JSB ERMS,I AND REPORT DEF E255 JSB RGRS2 RESTORE X AND Y SPC 1 JMP .PCOM,I PNXT1 CCA RESET THE STA PHLAG INTP FLAG LDB TWN2K CHANGE JSB C.PTN,I PATTERNS LDB TWNTK IN SOURCE JSB PZERO,I AND DESTINATION JSB PSTUP SET UP TO INTERRUPT LDA FORTK NOW SET UP LDB FORTK TO EXECUTE LDX FOURK MOVE ‚ÄþúBYTES INTO INSTRUCTION SJP *+2 ENABLE THE SYSTEM STF INTP START THE INTERRUPT MBI AND EXECUTE MBI NOP CHANGE TO JMP *-N FOR LOOP/ CAY SAVE A LDA PHLAG GET THE FLAG SZA DID IT INTERRUPT? JSB CRASH NO, CRASH JSB TRNOF LDA TWNTK VERIFY LDB TWN2K THAT LDX NON2K THE CORRECT JSB PCOMP,I NUMBER OF BYTES WERE MOVED JSB *+2 NO, REPORT JMP PNXT2 YES, OVER THE ERROR NOP STY SVPD4 SAVE Y LDY *-3 AND GET FAIL FLAG JMP .PCOM,I SPC 1 JSB ERMS,I REPORT DEF E265 LDY SVPD4 RESTORE Y JMP .PCOM,I AND FINISH TBCMP SPC 1 PNXT2 CCA RESET THE STA PHLAG INTERRUPT FLAG LDA FORTK SET UP LDB FOR4K FOR A LDX FOURK MBI INSTRUCTION JSB PSTUP SET UP FOR INTERRUPT SJP *+2 TURN ON SYSTEM STF INTP INITIATE AN INTERRUPT MBW AND EXECUTE NOP CAY SAVE A LDA PHLAG GET INTP FLAG SZA INTERRUPT PROCESSED? JSB CRASH NO, CRASH JSB TRNOF LDA TWNTK VERIFY LDB TWN4K MBW LDX NON2K JSB PCOMP,I COMPLETED CORRECTLY JSB *+2 NO, REPORT THE ERROR JMP PNXT3 YES, CONTINUE NOP STY SVPD4 SAVE Y LDY *-3 GET FAIL FLAG JSB ERMS,I REPORT THE DEF E256 ERROR LDY SVPD4 RESTORE Y JMP .PCOM,I AND CONTINUE SPC 1 PNXT3 CCA RESET INTP STA PHLAG CHECK FLAG LDA TWNTK CHANGE JSB C.PTN,I SOURCE PATTERN LDA TWNTK SET UP TO LDB TWNTK EXECUTE AN LDX OCT2K MWF INSTRUCTION JSB PSTUP SET UP TO INTERRUPT STF INTP INITIATE AN INTERRUPT l½þúMWF AND EXECUTE THE NOP DEBUG CAY SAVE A LDA PHLAG GET THE INTP CHECK FLAG SZA WAS THE INTERRUPT PROCESSED? JSB CRASH NO, ABORT TST17 JSB TRNOF LDA TWN2K AND MAKE SURE LDB TWNTK THAT MWF LDX NON2K COMPLETED CORRECTLY JSB PCOMP,I JSB *+2 ERROR FOUND, REPORT IT JMP PNXT4 GCOMP COMPLETE, OVER THE ERROR NOP STY SVPD4 SAVE Y LDY *-3 GET FAIL FLAG JSB ERMS,I AND REPORT DEF E257 LDY SVPD4 RESTORE Y JMP .PCOM,I AND CHECK MORE SPC 1 PNXT4 CCA RESET STA PHLAG PHLAG LDA TWN2K CHANGE THE SOURCE JSB C.PTN,I PATTERN LDA TWNTK SET UP TO LDB TWNTK EXECUTE A LDX OCT2K MWI INST. JSB PSTUP SETUP TO INTERRUPT STF INTP ON INTP MWI EXECUTE MWI NOP DEBUG CAY SAVE A LDA PHLAG WAS INTERRUPT SZA PROCESSED? JSB CRASH NO, ABORT THE TEST JSB TRNOF LDA TWNTK CHECK LDB TWN2K COMPLETION LDX NON2K OF THE JSB PCOMP,I MWI INSTRUCTION JSB *+2 FAILURE DETECTED, REPORT JMP PNXT5 COMPLETED OK, CONTINUE NOP STY SVPD4 SAVE Y LDY *-3 AND GET THE FAILURE FLAG JSB ERMS,I THEN REPORT DEF E260 LDY SVPD4 RESTORE Y JMP .PCOM,I AND BACK FOR MORE SPC 1 PNXT5 CCA RESET STA PHLAG PHLAG LDA TWNTK CHANGE THE JSB C.PTN,I SOURCE PATTERN LDA TWNTK NOW SET UP LDB TWN2K TO EXECUTE LDX OCT2K AN MWW INST JSB PSTUP PRESET FOR AN INTERRUPT STF INTP NOW INITIATE AN INTERRUPT MWW AND EXECUTE THE INSTRUCTION NOP CAY SAVE A /²þú LDA PHLAG GET INT PROCESS FLAG SZA WAS INTERRUPT PROCESSED? JSB CRASH NO, CRASH JSB TRNOF LDA TWNTK LDB TWN4K VERIFY LDX NON2K MWW COMPLETED JSB PCOMP,I AFTER THE INTERRUPT JSB *+2 WHOOPS, SOMETHING'S WRONG JMP PNXT6 MWW WAS SUCCESSFUL, CONTINUE NOP STY SVPD4 SAVE GCOMP'S XTHRU COUNTER LDY *-3 GET FAIL-FLAG JSB ERMS,I AND REPORT DEF E261 LDY SVPD4 RESTORE Y JMP .PCOM,I AND BACK FOR MORE SPC 1 PNXT6 CCA SET INTP STA PHLAG CHECK FLAG CLA SET UP CLB TO TRY LDX OC177 XMS JSB PSTUP SET UP FOR AN INTERRUPT STF INTP TURN INTERRUPT SYSTEM ON XMS AND EXECUTE XMS NOP LDA PHLAG MAKE SURE SZA INT WAS PROCESSED JSB CRASH NO, ABORT THE TEST JSB TRNOF CLA READ LDB RTSYS BACK LDX NO177 THE MAP XMM REGISTERS JSB SQALL MAKE A TABLE TO COMPARE SPC 1 JSB .ALCP,I MAKE SURE XMSW COMPLETED JSB *+2 ERROR DETECTED JMP PNXT7 COMPARE OK, CONTINUE NOP STY SVPD4 SAVE Y LDY *-3 GET THE ERROR FLAG JSB ERMS,I DEF E262 LDY SVPD4 NOW RESTORE Y JMP TCPHR AND BACK FOR MORE SPC 1 PNXT7 CCA SET STA PHLAG PHLAG JSB RDZRO ZERO THE READ TABLE CLA NOW XMM LDB RTSYS MAPS TO LDX NO177 MEMORY JSB PSTUP PRESET INTP STF INTP ON INTP AND SYS XMM AND EXECUTE NOP CAY SAVE A LDA PHLAG INTP PROCESSED SZA ??? JSB CRASH NO, ABORT JSB TRNOF JSB SQALL VERIFY COMPLETION JSB .ALCP,I JSB ¥iþú*+2 ERROR DISCOVERED JMP PNXT8 NO ERROR DISCOVERED, GO ON NOP STY SVPD4 SAVE Y LDY *-3 GET ERROR FLAG JSB ERMS,I REPORT DEF E263 LDY SVPD4 RESTORE PNXT8 NOP JMP TST17,I SKP SPC 3 SPC 3 PRET1 DEF PRED1 PHLAG OCT 0 .ALCP DEF ALCMP PCOMP DEF GCOMP .PCOM DEF .GCOM PEMAD DEF MEMAD PZERO DEF GZERO PINIT DEF GINIT C.PTN DEF CHPTN SPC 3 CRASH NOP JSB TRNOF LDY CRASH GET FAIL FLAG JSB ERMS,I REPORT NO DEF E266 INTERRUPT OCCURRED JMP TST17,I AND ABORT TST17 SPC 2 PRED1 NOP CLF INTP OFF INTP PIO01 CLC DVICE CLEAR PIO02 CLF DVICE DEVICE SC JSB RGSVE SAVE ABX&Y CLA CLEAR STA PHLAG PHLAG NOP JSB RGRS1 JMP PRED1,I EXIT SPC 1 PSTUP NOP PIO03 STF DVICE TURN DVICE PIO04 STC DVICE READY, AND SJP PSTUP,I TURN SYSTEM ON & EXIT E255 ASC 5,E255 MBF/ E256 ASC 5,E256 MBW/ E257 ASC 5,E257 MWF/ E260 ASC 5,E260 MWI/ E261 ASC 5,E261 MWW/ E262 ASC 5,E262 XMS/ E263 ASC 5,E263 XMM/ E265 ASC 5,E265 MBI/ E266 ASC 14,E266 NO INTP, ABORTING TEST/ HED EXTENDED MEMORY TEST * * TST23 * * TEST 23 IS A UTILITY PROGRAM OFFERED AS A QUICK CHECK OF * EXTENDED MEMORY. IT IS NOT INTENDED TO BE USED AS A THOROUGH * MEMORY DIAGNOSTIC, MERELY A VERIFICATION OF THE HARDWARE * AND FIRMWARE REQUIRED TO ACCESS MEMORY SIZES GREATER THAN * 32K WORDS. * * TEST 23 STARTS BY CALCULATING MEMORY SIZE, BUILDS A TABLE * OF STARTING PAGE NUMBERS, AND THEN EXECUTING ONE PASS OF THE * DIAGNOSTIC ON ALL OF EXTENDED MEMORY, THEN EXITS BACK TO THE * CONTROL PROGRAM. * * IF AN ERROR IS DETECTED DURING THE EXECUTION OF THIS TEST, AN * ERROR MESSAGE WILL BE OUTPUT ON THE CONSOLE, OR, A CODED * HALT WILL OCCUR SO THE OPERATOR WILL BE AWARE vmþúOF THE ERROR * AND CAN DETERMINE THE CAUSE OF THE ERROR BY EXAMINING THE A,B * AND X REGISTERS WHICH WILL CONTAIN THE FOLLOWING INFORMATION: * * T REGISTER = ERROR CODE * A RESISTER = EXPECTED VALUE * B RESISTER = ACTUAL VALUE * * X RESISTER = LOGICAL ADDRESS OF ERROR * * * TO CONVERT THE LOGICAL MEMORY ADDRESS TO A PHYSICAL MEMORY * ADDRESS, THE OPERATOR MUST REMBER THE FOLLOWING STEPS: * * 1. THE LOGICAL PAGE NUMBER IS CONTAINED IN THE * MEMORY ADDRESS BITS 10-14. CONVERT TO OCTAL * FOR LOGICAL PAGE NUMBER. * * 2. SELECT THE CORRESPONDING MAP REGISTER. THIS * CAN BE DONE BY SELECTING THE M-REGISTER, * SETTING M-REGISTER BITS 14 AND 15 TO ONE, AND * M-REGISTER BITS 0-9 TO THE ADDRESS OF THE * MAP REGISTER DESIRED. WITHOUT PRESSING THE * STORE SWITCH, SELECT THE T-REGISTER * AT THIS TIME, THE T-REGISTER WILL CONTAIN * THE CONTENTS OF THE MAP ADDRESSED BY THE * M-REGISTER. THE CONTENTS OF THIS MAP REGISTER * IS THE PHYSICAL MEMORY PAGE NUMBER. SKP TST23 EQU * SPC 1 NOP LDA MEMO GET MEMORY SIZE FROM THE CONFG. AND XMASK ELIMINATE OTHER OPTIONS CPA XMASK AT LEAST 32K? JMP *+4 YEP, CONTINUE BOMBX JSB MSGC,I NOPE, TELL OPERATOR HE CANT DEF H317 RUN THIS TEST WITH LESS THAN 32K JMP TST23,I AND EXIT JSB LODUP LOAD UP MAPS 0-37 SPC 1 LDA OCT40 INITIALIZE MAXIMUM STA MAXPG PAGE COUNTER NOP DEBUG TSTX1 LDA OCT10 STARTING W/REGISTER TEN, LDB MAXPG AND FOR THE NEXT 24 LDX DEC24 PAGES, DEFINE MORE XMS MEMORY SPC 1 LDY NEG24 INITIALIZE A PAGE COUNTER OF 24 LDB TWNTK GET A õ¼þúPAGE 10 STARTING ADDRESS LDA PTRN1 AND A RECOGNIZABLE PATTERN SJP *+2 NOW ENABLE THE SYSTEM T23MS STA B,I STORE PATTERN INTO 1. LOC OF LDA B,I PAGE, READ IT BACK & CHECK THAT SZA,RSS IT IS NOT 000000 OR 177777 JMP PATMS PATTERN RETURNED IS 000000 CMA SZA,RSS JMP PATMS PATTERN STORED IS 177777 ADB OCT2K UPDATE B-REG TO BEGINNING OF NEXT PAGE LDA PTRN1 LOAD A-REG WITH PATTERN AGAIN ISY & INCREMENT PAGE COUNTER JMP T23MS DJP *+2 DISABLE MEMORY LDA MAXPG INCREASE STARTING ADDRESS OF MEMORY ADA OCT30 BLOCK BY 24 PAGES & GO TO REDE- STA MAXPG FINE MEMORY BLOCK JMP TSTX1 GO REDEFINE MEMORY * PATMS DJP *+1 DISABLE MEMORY LDA TWNTK DEDUCT THE 8K OF MEM ADDRESS IN THE CMA,INA BASE MEMORY, ATTACHED TO EVERY 24K ADB A IN THE MEM MAP TO GET TRUE DISPLM ADDR BLF CONVERT IT TO A TRUE PAGE DISPLM. RBL,RBL IN THE 24 PAGE BLOCK ADB MAXPG ADD THE PAGE NUMBER SUPPLIED BY 24K MODULE LDA B LOAD VALUE TO A-REG & CONVERT IT TO CLE ASCII FOR MESSAGE PRINT OUT LDB MSP23 JSB I2AS,I JSB MSGC,I PRINT MESSAGE TO CONSOLE DEF H327 * CMPLT DJP *+2 OFF THE SYSTEM LDA MAXPG GET DETECTED MAX+1 VALUE CMA,INA MAKE IT CMA MAXIMUM PAGE STA MAXPG SAVE THE MAXIMUM PAGE VALUE STB XERRA AND THE 'TOO BIG' VALUE IN B LDB NXTBL GET THE LAST TEMP TABLE ADDRESS OTRLP STA B,I STORE IN TEMPTABLE ADA NEG24 SUBTRACT 24 FOR NEXT TIME THRU STA XXTMP SAVE IN CASE NO END ADA NON40 USED UP? SSA YES, ALL GONE JMP XXARO GO FINISH UP LDA XXTMP NO, GET VALUE BACK ADB NEG01 UPDATE THE POINTER JMP OTRLÅ-þúP AND DO AGAIN XXARO LDA TABLE SET UP A POINTER STA XTABL TO THE FIRST PAGE TABLE LDA OCT40 START WITH PAGE 40 STA XTABL,I PUT IN THE TABLE ISZ XTABL BUMP TABLE POINTER LDA B,I CHECK IF ONLY 64K CPA MAXPG IS PRESENT JMP MRKER PUT END OF TABLE MARKER INRLP INB BUMP POINTER TO NEXT PAGE LDA B,I GET THE NEXT STARTING PAGE STA XTABL,I AND PLACE IT IN THE TABLE CPA MAXPG COMPLETE? JMP *+3 YES, FINISH OFF ISZ XTABL NO, BUMP TABLE POINTER JMP INRLP THEN DO AGAIN MRKER CCA MAKE AN END OF TABLE MARKER, STA XTABL,I PUT END MARKER IN TABLE SPC 1 LDB XERRA GET THE 'TOO BIG' VALUE LDA ITABL INITIALIZE A STA SVPD1 VALUE TABLE POINTER CPB FORTK IS IT EXTRA EIGHT K? JMP YDOIT YES, FINISH ISZ SVPD1 NO, BUMP THE POINTER CPB SIXTK EXTRA SIXTEEN K? JMP YDOIT YES ISZ SVPD1 NO, BUMP AGAIN YDOIT LDB SVPD1,I AND PUT CORRECT ENDING STB UBOU VALUE IN UPPER BOUNDARY. SKP CLA ZERO THE MEM LFA BASE PAGE FENCE LDA OCT40 LOAD USER LDB TBLDF MAP REGISTERS LDX OCT05 FOR BITS 13-19 (ME BUS) XMM CHECK SPC 1 LDY NON05 INIT. XTHRU = 5 LDA PTRN2 GET LDX PTRN1 PATTERNS LDB OCT10 AND POINTER STX B,I PUT CONTROL PATTERN IN 10 SPC 1 SJP *+2 ON THE SYSTEM AREA XDOIT XSA B,I CROSS STORE CPA OCT10,I CLOBBER ADDRESS 10? JSB XERRA YES, GO AND CRASH!! ADB OCT2K NO, UPDATE POINTER TO NEXT PAGE ISY DONE?? JMP XDOIT NO, GO DO IT AGAIN JMP JACK-1 YES, GO DO MEM TESTING SPC 1 XERRA NOP DJP *+2 OFF SYSTEM JSB RGSVE SAVE THE REGISTERSžÊþú LDY XERRA GET THE FAIL FLAG JSB ERMS,I AND REPORT THE DEF E325 PROBLEM OF ME BUS SJP *+2 BACK ON THE SYSTEM JMP XERRA,I AND RETURN SPC 1 TBLDF DEF *+1 OCT 40 OCT 100 OCT 200 OCT 400 OCT 1000 SPC 2 JSB RESET SET TABLE POINTER TO FIRST ADDR JACK DJP *+2 DISABLE THE SYSTEM LDA OCT10 STARTING REGISTER IS 10 LDB XTABL,I GET THE NEXT STARTING PAGE CPB NEG01 LAST ONE? JMP ENDXX YES, GO EXIT THE TEST LDX OCT37 NO, GET THE COUNT XMS AND REDEFINE THE MAP REGISTERS SKP ISZ XTABL BUMP THE TABLE POINTER SJP *+2 TURN THE SYSTEM ON JMP ACT AND DO THE MEMORY DIAGNOSTIC SPC 2 RESET NOP LDA TABLE RESET THE STA XTABL STARTING PAGE LDB XTABL,I TABLE POINTER, JMP RESET,I AND EXIT XMASK OCT 70000 SPC 3 ENDXX NOP JMP TST23,I EXIT TST23 SPC 2 E321 DEF ERROR H317 ASC 16,H317 MUST HAVE GREATER THAN 32K/ H327 ASC 22,H327 XXXXK OF CONTIGUOUS MEMORY INSTALLED/ SPC 2 DEC24 DEC 24 SIXTK OCT 60000 MAXPG OCT 0 NEG24 DEC -24 XXTMP OCT 0 XTABL OCT 0 TABLE DEF *+1 BSS 7 NXTBL DEF *+7 BSS 7 ITABL DEF *+1 OCT 37777 OCT 57777 OCT 77777 SKP ACT LDA MTIME STA MCNT CCE LOOP CME LDA LBOU THIS TEST DOES A MEMORY ADDRESS FILL LDB A AND DOES A MEMORY COMPLEMENT SEZ TEST THUS ASSURING OF DETECTING CMB ANY FAILURE REGARDLESS OF WHERE STB A,I IT IS LOCATED CPA UBOU JMP CMP-1 THIS TEST DOES THE ADRS TEST WHEN INA E IS CLEAR AND DOES THE ADRS JMP FILL COMPLEMENT TEST WHEN E IS SET LDA LBOU CMP CAX LDB A,I SEZ A = GOOD DATA CMA B = BAD DATA CPk>þúA B RSS E320 OCT 107020 SEZ CMA CPA UBOU JMP DOWN INA JMP CMP DOWN SEZ ISZ MCNT JMP LOOP NOP HED WALKING ONES TEST W1 LDA MTIME WALKING ONE TEST STA MCNT INITIALIZE REPEAT COUNTER LDA IPAT1 STA PAT1 LDA IPAT2 STA PAT2 CLA,INA STA BITPT FOR ROTATING BIT PATTERN CAX BEGW CLO LDA LBOU STA ADDRS INITIALIZE ADDRESS POINTER WPAT1 LDB PAT1 JSB WRITE LDB PAT2 JSB WRITE JMP WPAT1 SPC 2 * THE WRITE SUBROUTINE IS ENTERED WITH THE * PATTERN TO BE STORED IN THE B-REG. IT IS *STORED IN 32 LOCATIONS BEGINNING AT THE * ADDRESS POINTER OR UNTIL THE UPPER ADDRESS * BOUND IS REACHED. THE RETURN ADDRESS IS * THEN MODIFIED TO GET THE ALTERNATE PATTERN. SPC 2 WRITE NOP STB ADDRS,I STORE B THRU THE ADDRESS POINTER LDA ADDRS CPA UBOU HAS UPPER BOUND BEEN REACHED? JMP BEGR YES, GO READ. INA NO, STA ADDRS MODIFY ADDRESS POINTER AND XXMSK SZA AT 32 WORD BOUNDARY JMP WRITE+1 NO CONTINUE WITH PRESENT PATTERN JMP WRITE,I SPC 2 * THE MEMORY WHICH HAS BEEN WRITTEN WITH * 32 WORDS OF PATTERN ONE INTERLEAVED WITH * 32 WORDS OF PATTERN TWO WILL NOW BE * TESTED. IF THE DATA IN A MEMORY CELL * TESTS VALID, IT WILL BE COMPLEMENTED * AND TESTED AGAIN. IF IT IS STILL VALID IT * WILL BE RECOMPLIMENTED AND THE * NEXT MEMORY CELL WILL BE TESTED. ANY * INVALID TEST WILL RESULT IN A 107021 WITH THE * GOOD DATA IN THE A-REG AND THE BAD DATA * IN THE B-REG. PUSH RUN AND A 107022 * WILL OCCUR WITH THE ADDRESS IN THE A-REG * AND THE BAD DATA IN THE B-REG. SKP BEGR STO LDA LBOU STA ADDRS INITIALIZE THE ADDRESS POINTER. RPAT1 LDA PAT1 Ø™B@< 7 ADB Z.7 SSB ? JMP *+3 OK GO ON E.73 HLT 73B NO JMP ZCONF TRY AGAIN LDB LSCS CHECK IF LOW CMB SC IS LESS THAN THE ADB A SC OF THE FENCE SSB JMP E072 NO, ERROR LDB HSCS CHECK IF HIGH CMB,INB SC IS BIGGER THAN THE ADB A SC OF THE FENCE SSB JMP *+3 YES,PROCEED E072 HLT 72B NO, RETURN FOR RECONFIGURATION JMP ZCONF LDB IOIP INITIALIZE TEST I/O JSB ZISC INSTRUCTIONS CLA CLEAR S-REG FOR INPUT OTA 01B HLT 74B ALLOW OPERATOR TO INPUT PROGRAM OPTIONS JMP ZSTEX GO TO EXEC CONTROL SECTION * * * * * * * * * * * * * * * * * * * * * * * HED 12936 PRIVILEGED INTERRUPT CARD DIAGNOSTIC * * CNTLF CNTL * ***** **** * * * *********************************** * * ~þú * * * * * * * * NO * LOWER * * FLGF * ACTION * PRIORITY * * **** * (00) * (10) * * * * * * * * * * *********************************** * * * * * * * * * * INTERRUPT * * * * AND * LOWER * * FLG * LOWER * PRIORITY * * *** * PRIORITY * (11) * * * (01) * * * * * * * *********************************** * * * * FLG = FLAG * CNTL = CONTROL * * * HED 12936 PRIVILEGED INT DIAG - POINTERS ORG 100B JMP PCFG,I GO TO CONFIGURE HI-LO SC ORG 140B IOIP DEF IODP TSTP DEF TSTD LDMP DEF LDMS STDA OCT 777 STDB OCT 0 ORG 150B IODP EQU * DEF FSC01 DEF FSC02 DEF FSC03 DEF FSC04 DEF FSC05 DEF FSC06 DEF FSC07 DEF FSC10 DEF FSC11 DEF FSC12 DEF FSC13 DEF FSC14 DEF FSC15 DEF FSC16 DEF FSC17 DEF FSC20 DEF FSC21 DEF FSC22 DEF FSC23 DEF FSC24 DEF FSC25 DEF FSC26 DEF FSC27 DEF FSC30 DEF FSC31 DEF FSC32 DEF FSC33 DEF FSC34 DEF FSC35 DEF FSC36 DEF FSC37 DEF FSC40 DEF FSC41 DEF FSC42 DEC -1 SPC 3 HIODP EQU * DEF HSC00 DEF HSC01 DEF HSC02 DEF HSC03 DEF HSC04 DEF HSC07 DEF HSC10 DEF HSC11 DEF HSC12 DEF HSC13 DEF HSC14 DEF HSC15 DEF HSC1ÞL<:66 DEF HSC17 DEF HSC20 DEF HSC21 DEF HSC22 DEF HSC23 DEC -1 SPC 3 LOODP EQU * DEF LSC00 DEF LSC01 DEF LSC02 DEF LSC03 DEF LSC04 DEF LSC05 DEF LSC06 DEF LSC07 DEF LSC10 DEF LSC11 DEF LSC12 DEF LSC13 DEF LSC14 DEF LSC15 DEF LSC16 DEF LSC17 DEF LSC20 DEF LSC21 DEF LSC22 DEF LSC23 DEC -1 SPC 3 TSTD EQU * DEF TST00 DEF TST01 DEF TST02 DEF TST03 DEF TST04 DEF TST05 DEF TST06 DEF TST07 DEF TST08 DEF TST09 DEC -1 LDMS ASC 22,12936 PRIVILEGED INTERRUPT CARD DIAGNOSTIC/ SKP HSC EQU 12B FCH EQU 11B LSC EQU 10B SPC 3 HIOIP DEF HIODP LOOIP DEF LOODP SPC 3 HITJ JSB HITP,I HCCJ JSB HCCP,I HPSJ JSB HPSP,I H00J JSB H00P,I H01J JSB H01P,I H10J JSB H10P,I H11J JSB H11P,I * HITP DEF HITR HCCP DEF HCCR HPSP DEF HPSR H00P DEF H00R H01P DEF H01R H10P DEF H10R H11P DEF H11R * FCCJ JSB FCCP,I FPSJ JSB FPSP,I F00J JSB F00P,I F01J JSB F01P,I F10J JSB F10P,I F11J JSB F11P,I FPRJ JSB FPRP,I * FCCP DEF FCCR FPSP DEF FPSR F00P DEF F00R F01P DEF F01R F10P DEF F10R F11P DEF F11R FPRP DEF FPRR * LOTJ JSB LOTP,I L00J JSB L00P,I L01J JSB L01P,I L10J JSB L10P,I L11J JSB L11P,I LPRJ JSB LPRP,I * LOTP DEF LOTR L00P DEF L00R L01P DEF L01R L10P DEF L10R L11P DEF L11R LPRP DEF LPRR 9a<ÿÿ ÿý¤³ ÿ12936-18002 1643 S 0122 12936A PRIVILEGED INTERRUPT DIAGNOSTIC             H0101 å¢þú HED 12936 PRIVILEGED INT DIAG - SUBROUTINES * * LHSU SETS THE LO/HI SC TO INT * LHSU NOP HSC00 STC HSC SET HI SC HSC01 STF HSC TO INT LSC00 STC LSC SET LO SC LSC01 STF LSC TO INT JMP LHSU,I EXIT SPC 3 * * TOS TURNS OFF LO/HI/FENCE CH'S * TOS NOP FSC41 CLC FCH TURN FSC42 CLF FCH OFF HSC14 CLC HSC HI/LO/FENCE LSC07 CLC LSC SC'S JMP TOS,I EXIT SPC 3 * * SCCS CONFIGURES I/O INSTRUCTIONS TO * THE CURRENT SELECT CODE * SCCS NOP STA SCS SAVE SELECT CODE STB CSC SAVE SC TABLE SCCS1 LDB CSC,I LOAD FIRST ADDRESS CPB M1 IS IT THE END OF LIST JMP SCCS,I YES, EXIT LDA B,I NO, LOAD INSTRUCTION AND SCMK MASK OFF SC IOR SCS OR IN CURRENT SC STA B,I RESTORE ISZ CSC MOVE PTR TO NEXT ADDRESS JMP SCCS1 CONTINUE SCS OCT 0 CSC OCT 0 SCMK OCT 177700 M1 DEC -1 HED 12936 PRIVILEGED INT DIAG - CONFIGURATION * * PCFG PERFORMS CONFIGURATION ON LO/HI SC * I/O INSTRUCTIONS * PCFG DEF FCFG FCFG EQU * CF1 LIA SW LOAD SWITCH REGISTER AND MKSC MASK OFF HI SC STA LSCS SAVE LDB A CHECK CMB,INB THAT ADB B7 SC SSB > 7 JMP CF2 YES E073 HLT 73B NO JMP CF1 CF2 LIA SW ALF,ALF POSITION HI SC RAL,RAL AND MKSC MASK OFF HI SC STA HSCS SAVE LDB A CHECK CMB,INB THAT ADB B7 SC SSB > 7 JMP CF3 YES JMP E073 NO JMP CF1 CF3 LDB LSCS CHECK THAT HIGH SC CMA,INA IS AT LEAST INA LOW SC + 2 ADA B –¹þú SSA JMP CF4 YES, CONTINUE E071 HLT 71B NO, RETURN FOR ANOTHER TRY JMP CF1 CF4 LDA LSCS LDB LOOIP JSB SCCS CONFIGURE LO SC INSTR LDA HSCS LDB HIOIP JSB SCCS CONFIGURE HI SC INSTR CLA CLEAR S-REG. FOR INPUT OTA 01B HLT 70B ENTER FENCE SC TO SWR JMP CFIG,I GO TO FENCE CONFIGURATION LSCS OCT 0 HSCS OCT 0 B7 OCT 7 MKSC OCT 77 * HED 12936 PRIVILEGED INT DIAG - TEST 0 * INITIATION SECTION * * HI SC SET TO INT * TST00 EQU * HIT NOP LDA HITJ SET UP HSC15 STA HSC RETURN POINT HSC16 STC HSC SET HI SC HSC17 STF HSC TO INT STF INTP TURN ON INTS NOP DELAY NOP * NOP * CLF INTP TURN OFF INTS JSB TOS TURN OFF ALL DEVICES E035 JSB ERMS,I REPORT ERROR DEF MS035 JMP HIT,I EXIT MS035 ASC 19,E035 HI SC SET TO INT BUT DID NOT INT/ * * * COMPLETION SECTION * * INTERRUPT SEQUENCE * 1. LOW * 2. NOT HIGH * 3. NOT FENCE * HITR NOP CLF INTP TURN OFF INTS JSB TOS TURN OFF ALL DEVICES JMP HIT,I EXIT * HED 12936 PRIVILEGED INT DIAG - TEST 1 * INITIATION SECTION * * LO SC SET TO INT * TST01 EQU * LOT NOP LDA LOTJ SET UP LSC10 STA LSC RETURN POINT LSC11 STC LSC SET LO SC LSC12 STF LSC TO INT STF INTP TURN ON INTS NOP DELAY NOP * NOP * CLF INTP TURN OFF INTS JSB TOS TURN OFF ALL DEVICES E036 JSB ERMS,I REPORT ERROR DEF MS036 JMP LOT,I EXIT MS036 ASC 19,E036 LO SC SET TO INT BUT DID NOT INT/ * SPC 2 * * COMPLETION SECTION * * INTERRUPT SEQUENCE * * 1. HIGH * *¤þú 2. NOT FENCE * 3. NOT LOW * LOTR NOP CLF INTP TURN OFF INTS JSB TOS TURN OFF ALL DEVICES JMP LOT,I EXIT * HED 12936 PRIVILEGED INT DIAG - TEST 2 * * INITIATION SECTION * * CNTL.FLGF * HI SC SET TO INTERRUPT * TST02 EQU * CCT NOP LDA HCCJ SET HSC04 STA HSC UP LDA FCCJ INT FSC04 STA FCH RETURN HSC12 STC HSC SET HI SC HSC13 STF HSC TO INT FSC05 CLF FCH SET FENCE TO FSC06 STC FCH LOWER PRIORITY STF INTP TURN ON INTS FSC24 CLC FCH CLEAR FENCE CONTROL NOP DELAY NOP * NOP * CLF INTP TURN OFF INTS JSB TOS TURN OFF ALL DEVICES E030 JSB ERMS,I REPORT ERROR DEF MS030 JMP CCT,I EXIT MS030 ASC 19,E030 CLC SC FAILED TO CLEAR CONTROL OR OCT 6412 ASC 14, PRIORITY CHAIN BROKEN/ SPC 2 * * * COMPLETION SECTIONS * * INTERRUPT SEQUENCE * 1. HIGH * 2. NOT LOW * 3. NOT FENCE * FCCR NOP CLF INTP TURN OFF INTS JSB TOS TURN OFF ALL DEVICES E031 JSB ERMS,I REPORT ERROR DEF MS031 JMP CCT,I EXIT MS031 ASC 16,E031 CLC SC CAUSED FLAG TO SET/ SPC 2 HCCR NOP CLF INTP TURN OFF INTS JSB TOS TURN OFF ALL DEVICES JMP CCT,I EXIT * HED 12936 PRIVILEGED INT DIAG - TEST 3 * * INITIATION SECTION * * CNTL.FLG * HI SC SET TO INT * TST03 EQU * PST NOP LDB BTCK CHECK FOR JSB SWRT,I TEST SUPPRESS JMP PST,I YES LDA HPSJ SET HSC07 STA HSC UP LDA FPSJ INT FSC07 STA FCH RETURN FSC02 OTA FCH SET FENCE TO FSC03 STC FCH LOWER PRIORITY L032 JSB MSGH,I TEÿ@þúLL OPERATOR TO DEF MS032 " PRESS PRESET, RUN " HSC02 STF HSC SET HI SC HSC03 STC HSC TO INT STF INTP TURN ON INTS NOP DELAY NOP * NOP * CLF INTP TURN OFF INTS JSB TOS TURN OFF ALL DEVICES E033 JSB ERMS,I REPORT ERROR DEF MS033 JMP PST,I EXIT MS032 ASC 14,H032 PRESS PRESET(EXT), RUN/ MS033 ASC 20,E033 PRESET(EXT) FAILED TO CLEAR CONTROL OCT 6412 ASC 21, AND-OR FLAG OR PRIORITY CHAIN BROKEN/ SKP * * * COMPLETION SECTIONS * * INTERRUPT SEQUENCE * 1. HIGH * 2. NOT LOW * 3. NOT FENCE * FPSR NOP CLF INTP TURN OFF INTS JSB TOS TURN OFF ALL DEVICES E034 JSB ERMS,I REPORT ERROR DEF MS034 JMP PST,I EXIT MS034 ASC 18,E034 FENCE INT'D AFTER PRESET(EXT)/ SPC 3 HPSR NOP CLF INTP TURN OFF INTS JSB TOS TURN OFF ALL DEVICES JMP PST,I EXIT BTCK OCT 10400 * HED 12936 PRIVILEGED INT DIAG - TEST 4 * * INITIATION SECTION * * CNTLF.FLGF * LO/HI SC SET TO INTERRUPT * TST04 EQU * CNAFN NOP LDA H00J SET HSC20 STA HSC UP LDA F00J INT FSC20 STA FCH RETURN LDA L00J POINTS LSC20 STA LSC * CLA CLEAR LOW STA L00P,I RETURN FLAG JSB LHSU SET UP HI/LO SC'S FSC10 CLF FCH SET FENCE CH FSC11 CLC FCH FOR NO ACTION STF INTP TURN ON INTS NOP DELAY NOP * NOP * CLF INTP TURN OFF INTS JSB TOS TURN OFF ALL DEVICES E040 JSB ERMS,I REPORT ERROR DEF MS040 " NO INT RECEIVED FROM LO/HI" JMP CNAFN,I EXIT * MS040 ASC 19,E040 NOQ½þú INT RECEIVED FROM LO OR HI SC/ SPC 2 * * * COMPLETION SECTIONS * * INTERRUPT SEQUENCE * * 1. LOW * 2. HIGH * 3. NOT FENCE * L00R NOP CLF INTP TURN OFF INTS LSC04 CLC LSC CLEAR HI CH STF INTP TURN ON INTS NOP DELAY NOP * NOP * CLF INTP TURN OFF INTS JSB TOS TURN OFF ALL DEVICES E041 JSB ERMS,I REPORT ERROR DEF MS041 JMP CNAFN,I EXIT MS041 ASC 21,E041 HI SC DID NOT INTERRUPT AFTER LO SC/ SKP * F00R NOP CLF INTP TURN OFF INTS JSB TOS TURN OFF ALL DEVICES LDA L00R SZA TEST FOR HI INT ? JMP E043 YES E042 JSB ERMS,I NO, REPORT ERROR DEF MS042 JMP CNAFN,I EXIT E043 JSB ERMS,I REPORT ERROR DEF MS043 JMP CNAFN,I EXIT MS042 ASC 20,E042 FENCE INT'D BEFORE LO SC INT'D BUT OCT 6412 ASC 12, FENCE FLAG NOT SET/ MS043 ASC 19,E043 FENCE INT'D AFTER LO SC INT'D BUT OCT 6412 ASC 12, FENCE FLAG NOT SET/ SPC 2 * H00R NOP CLF INTP TURN OFF INTS JSB TOS TURN OFF ALL DEVICES LDA L00R SZA TEST FOR LO INT ? JMP CNAFN,I YES, EXIT E044 JSB ERMS,I NO, REPORT ERROR DEF MS044 JMP CNAFN,I EXIT MS044 ASC 15,E044 HI SC INT'D BEFORE LO SC/ * HED 12936 PRIVILEGED INT DIAG - TEST 5 * * INITIATION SECTION * * CNTL.FLGF * LO/HI SC SET TO INTERRUPT * ORG 4000B TST05 EQU * CAFN NOP LDA H10J SET HSC21 STA HSC UP LDA F10J INT FSC21 STA FCH RETURN LDA L10J POINTS LSC21 STA LSC * CLA CLEAR LOW STA L10P,I RETURN POINT FLAG JSB LHSU SET UP HI/LO SC'S FSC12 Þ™þúCLF FCH SET FENCE TO FSC13 STC FCH LOWER PRIORITY STF INTP TURN ON INTS NOP DELAY NOP * NOP * CLF INTP TURN OFF INTS JSB TOS TURN OFF ALL DEVICES E050 JSB ERMS,I REPORT ERROR DEF MS050 JMP CAFN,I EXIT MS050 ASC 16,E050 NO INT RECEIVED FROM LO SC/ * SPC 2 * * COMPLETION SECTIONS * * INTERRUPT SEQUENCE * * 1. LOW * 2. NOT FENCE * 3. NOT HIGH * L10R NOP CLF INTP TURN OFF INTS LSC05 CLC LSC CLEAR LOW SC STF INTP TURN ON INTS NOP DELAY NOP * NOP * CLF INTP TURN OFF INTS JSB TOS TURN OFF ALL DEVICES JMP CAFN,I EXIT SKP F10R NOP CLF INTP TURN OFF INTS JSB TOS TURN OFF ALL DEVICES LDA L10R SZA TEST FOR LO INT ? JMP E052 YES E051 JSB ERMS,I REPORT ERROR DEF MS051 JMP CAFN,I EXIT E052 JSB ERMS,I REPORT ERROR DEF MS052 JMP CAFN,I EXIT MS051 ASC 18,E051 FENCE INT'D BEFORE LO SC WITH OCT 6412 ASC 12, FENCE CONTROL SET/ MS052 ASC 17,E052 FENCE INT'D AFTER LO SC INT'D OCT 6412 ASC 14, WITH FENCE CONTROL SET/ SPC 3 * * * H10R NOP CLF INTP TURN OFF INTS JSB TOS TURN OFF ALL DEVICES LDA L10R SZA TEST FOR LO INT ? JMP E054 YES E053 JSB ERMS,I NO, REPORT ERROR DEF MS053 JMP CAFN,I EXIT E054 JSB ERMS,I REPORT ERROR DEF MS054 JMP CAFN,I EXIT MS053 ASC 19,E053 LO SC DID NOT INT BUT HI SC INT'D OCT 6412 ASC 10, WITH FENCE UP/ MS054 ASC 17,E054 HI SC INT'D AFTER LO SC INT'D OCT 6412 ASC 11, BUT FENCE WAS UP/ * HED 12936 PRIVILEGED INT DIABÉþúG - TEST 6 * * INITIATION SECTION * * CNTL.FLG * LO/HI SC SET TO INTERRUPT * TST06 EQU * CAF NOP LDA H11J SET HSC22 STA HSC UP LDA F11J INT FSC22 STA FCH RETURN LDA L11J POINTS LSC22 STA LSC * CLA CLEAR LOW STA L11P,I RETURN POINT FLAG JSB LHSU SET UP HI/LO SC'S FSC14 STC FCH SET FENCE TO FSC15 OTA FCH LOWER PRIORITY STF INTP TURN ON INTS NOP DELAY NOP * NOP * CLF INTP TURN OFF INTS JSB TOS TURN OFF ALL DEVICES E060 JSB ERMS,I REPORT ERROR DEF MS060 JMP CAF,I EXIT MS060 ASC 16,E060 NO INT RECEIVED FROM LO SC/ * SKP * * COMPLETION SECTIONS * * INTERRUPT SEQUENCE * * 1. LOW * 2. NOT FENCE * 3. NOT HIGH * L11R NOP CLF INTP TURN OFF INTS LSC06 CLC LSC CLEAR LO SC STF INTP TURN ON INTS NOP DELAY NOP * NOP * CLF INTP TURN OFF INTS JSB TOS TURN OFF ALL DEVICES JMP CAF,I EXIT SPC 1 * F11R NOP CLF INTP TURN OFF INTS JSB TOS TURN OFF ALL DEVICES LDA L11R SZA TEST FOR LO INT ? JMP E062 YES E061 JSB ERMS,I REPORT ERROR DEF MS061 JMP CAF,I EXIT E062 JSB ERMS,I REPORT ERROR DEF MS062 JMP CAF,I EXIT MS061 ASC 20,E061 FENCE INT'D BEFORE LO SC BUT FENCE OCT 6412 ASC 13, FLAG AND CONTROL SET/ MS062 ASC 17,E062 FENCE INT'D AFTER LO SC INT'D OCT 6412 ASC 15, BUT FLAG AND CONTROL SET/ SPC 1 * H11R NOP CLF INTP TURN OFF INTS JSB TOS TURN OFF ALL DEVICES LDA L18×þú1R SZA JMP E064 YES E063 JSB ERMS,I NO, REPORT ERROR DEF MS063 JMP CAF,I EXIT E064 JSB ERMS,I REPORT ERROR DEF MS064 JMP CAF,I EXIT MS063 ASC 19,E063 LO SC DID NOT INT BUT HI SC INT'D OCT 6412 ASC 10, WITH FENCE UP/ MS064 ASC 17,E064 HI SC INT'D AFTER LO SC INT'D OCT 6412 ASC 09, BUT FENCE UP/ HED 12936 PRIVILEGED INT DIAG - TEST 7 * * INITIATION SECTION * * CNTLF.FLG * HI/FENCE SC SET TO INT * LO SET TO INT AFTER FENCE INT * TST07 EQU * CNAF NOP LDA H01J SET HSC23 STA HSC UP LDA F01J INT FSC23 STA FCH RETURN LDA L01J POINTS LSC23 STA LSC * CLA CLEAR HI/FENCE STA L01P,I RETURN POINT FLAG STA F01P,I HSC10 STC HSC SET HI SC HSC11 STF HSC TO INT FSC16 CLC FCH SET FENCE TO INT FSC17 OTA FCH AND LOWER PRIORITY STF INTP TURN ON INTS NOP DELAY NOP * NOP * CLF INTP TURN OFF INTS JSB TOS TURN OFF ALL DEVICES E100 JSB ERMS,I REPORT ERROR DEF MS100 JMP CNAF,I EXIT MS100 ASC 21,E100 NO INT RECEIVED FROM FENCE OR HI SC/ * SKP 2 * * COMPLETION SECTIONS * * INTERRUPT SEQUENCE * * 1. FENCE * 2. LOW * 3. HIGH * L01R NOP CLF INTP TURN OFF INTS LDA F01R SZA,RSS TEST FOR FENCE INT ? JMP E102-1 NO LSC13 CLC LSC CLEAR LO SC FSC01 CLF FCH CLEAR FENCE SC STF INTP TURN ON INTS NOP DELAY NOP * NOP * CLF INTP TURN OFF INTS JSB TOS TURN OFF ALL DEVICES E101 JSB ERMS,I REPORT ERROR DEF MS101 lpþúJMP CNAF,I EXIT JSB TOS TURN OFF ALL DEVICES E102 JSB ERMS,I REPORT ERROR DEF MS102 JMP CNAF,I EXIT MS101 ASC 18,E101 HI SC DID NOT INT AFTER LO SC/ MS102 ASC 15,E102 LO SC INT'D BEFORE FENCE/ SPC 3 * F01R NOP CLF INTP TURN OFF INTS LSC03 STC LSC SET HI CH LSC02 STF LSC TO INT STF INTP TURN ON INTS NOP DELAY NOP * NOP * CLF INTP TURN OFF INTS JSB TOS TURN OFF ALL DEVICES E103 JSB ERMS,I REPORT ERROR DEF MS103 JMP CNAF,I EXIT MS103 ASC 18,E103 LO SC DID NOT INT AFTER FENCE/ SPC 3 H01R NOP CLF INTP TURN OFF INTS JSB TOS TURN OFF ALL DEVICES LDA F01R SZA,RSS TEST FOR FENCE INT ? JMP E104 NO LDA L01R YES SZA TEST FOR LO INT ? JMP CNAF,I YES E105 JSB ERMS,I REPORT ERROR DEF MS105 JMP CNAF,I EXIT E104 JSB ERMS,I NO, REPORT ERROR DEF MS104 JMP CNAF,I EXIT MS104 ASC 18,E104 HI SC INT'D BUT FENCE AND LO SC OCT 6412 ASC 09, DID NOT INT/ MS105 ASC 17,E105 HI SC INT'D AFTER FENCE INT'D OCT 6412 ASC 14, BUT BEFORE LO SC INT'D/ * HED 12936 PRIVILEGED INT DIAG - TEST 8 * * INITIATION SECTION * * CNTL.FLG * LO/FENCE SET TO INT * FENCE SET TO INT AFTER LOW * TST08 EQU * LFPRT NOP LDA LPRJ SET LSC14 STA LSC UP LDA FPRJ INT FSC25 STA FCH RTN PTS CLA CLEAR HI CH STA LPRP,I RETURN POINT FLAG LSC15 STC LSC SET LO SC LSC16 STF LSC TO INT FSC26 OTA FCH SET FENCE TO INT FSC27 CLC FCH AND LOWER PRIORITY STF INTP TURN ON INTS NOP DELAY NOP * NOP * ñþú CLF INTP TURN OFF INTS JSB TOS TURN OFF ALL DEVICES E200 JSB ERMS,I REPORT ERROR DEF MS200 JMP LFPRT,I EXIT MS200 ASC 21,E200 NO INT RECEIVED FROM FENCE OR LO SC/ * * COMPLETION SECTIONS * * INTERRUPT SEQUENCE * * 1. LO * 2. FENCE * LPRR NOP CLF INTP TURN OFF INTS LSC17 CLC LSC TURN OFF LO SC STF INTP TURN ON INTS NOP DELAY NOP * NOP * CLF INTP TURN OFF INTS JSB TOS TURN OFF ALL DEVICES E201 JSB ERMS,I REPORT ERROR DEF MS201 JMP LFPRT,I EXIT MS201 ASC 18,E201 FENCE DID NOT INT AFTER LO SC/ SPC 2 FPRR NOP CLF INTP TURN OFF INTS JSB TOS LDA LPRR SZA TEST FOR LO INT ? JMP LFPRT,I YES E202 JSB ERMS,I NO, REPROT ERROR DEF MS202 JMP LFPRT,I EXIT MS202 ASC 15,E202 FENCE INT'D BEFORE LO SC/ * HED 12936 PRIVILEGED INT DIAG - TEST 9 * * SCLP PROVIDES A SCOPE LOOP OF FENCE FLAG/CNTL * SET AND THEN CLEARED WITH AND WITHOUT INTS ON * TST09 EQU * SCLP NOP CLA FSC40 STA FCH FSC30 STC FCH SET FENCE CONTROL NOP FSC31 OTA FCH SET FENCE FLAG NOP FSC32 CLC FCH CLEAR FENCE CONTROL NOP FSC33 CLF FCH CLEAR FENCE FLAG STF INTP TURN ON INT FSC34 STC FCH SET FENCE CONTROL NOP FSC35 OTA FCH SET FENCE FLAG NOP FSC36 CLC FCH CLEAR FENCE CONTROL NOP FSC37 CLF FCH CLEAR FENCE FLAG CLF INTP TURN OFF INTS LDB BT9 CHECK FOR EXIT LIA 1 AND B SZA TEST FOR EXIT JMP SCLP,I JMP FSC30 NO BT9 OCT 1000 FWAA EQU * JSB ERMS,I DEF MS030 JSB ERMS,I DEF MS031 JSB ERMS,I DEF MS032 JSB ERMS,I DEF MS033 JSB ERMS,I B@< DEF MS034 JSB ERMS,I DEF MS035 JSB ERMS,I DEF MS036 JSB ERMS,I DEF MS040 JSB ERMS,I DEF MS041 JSB ERMS,I DEF MS042 JSB ERMS,I DEF MS043 JSB ERMS,I DEF MS044 JSB ERMS,I DEF MS050 JSB ERMS,I DEF MS051 JSB ERMS,I DEF MS052 JSB ERMS,I DEF MS053 JSB ERMS,I DEF MS054 JSB ERMS,I DEF MS060 JSB ERMS,I DEF MS061 JSB ERMS,I DEF MS062 JSB ERMS,I DEF MS063 JSB ERMS,I DEF MS064 JSB ERMS,I DEF MS100 JSB ERMS,I DEF MS101 JSB ERMS,I DEF MS102 JSB ERMS,I DEF MS103 JSB ERMS,I DEF MS104 JSB ERMS,I DEF MS105 JSB ERMS,I DEF MS200 JSB ERMS,I DEF MS201 JSB ERMS,I DEF MS202 HLT 66B END 8Bÿÿ ÿý¥µ ÿ12943-18001 1728 S 0122 EIG (INDEX) DG              H0101 ËáþúASMB,A,B,L,C HED EIG (WORD,BYTE,BIT) DIAGNOSTIC ORG 0 DSN 101112 24 AUGUST 1977 REV 1728 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 * 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 * 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 * * 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 HED DEFINITION OF MNEMONICS OR ABBERVIATION * ** 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 - INCRMENT. * INSTR - INSTRUCTION. * INTP - INTERRUPT. * MEM - MEMORY. * MPT - MEMORY PROTECT. * 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. * := - REPLACED BY, I.E. A:=B, WHERE AS 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 * LBT TEST (LOAD BYTE) * * 1 * 1 * SBT TEST (STORE BYTE) * * 2 * 2 * CBT TEST (COMPARE BYTE) * * 3 * 3 * SFB TEST (SCAN BYTE) * * 4 * 4 * MBT TEST (MOVE BYTE) * * 5 * 5 * CMW TEST (COMPARE WORD) * * 6 * 6 * MVW TEST (MOVE WORD) * * 7 * 7 * TBS TEST (TEST BITS) * * 8 * 8 * SBS TEST (SET BITS) * * 9 * 9 * CBS TEST (CLEAR BITS) * ********************************************************************** * ´jþú* IF A-REG IS CLEAR THEN ALL TESTS ARE RUN. * * THE FOLLOWING INSTRUCTIONS ARE TESTED FOR INTERRUPABILITY: * * CBT * CMW * MBT * MVW * SFB * * * THE FOLLOWING INSTRUCTIONS ARE TESTED FOR MEMORY PROTECT * (IF MEMORY PROTECT IS AVAILABLE): * * CBS * MBT * MVW * SBS * SBT HED 2100 DIAGNOSTIC A EQU 0 A REGISTER REFERENCE B EQU 1 B REGISTER REFERENCE SW EQU 1 SWITCH REGISTER REFERENCE INTP EQU 0 INTERRUPT CHANNEL REFERENCE CH EQU 10B I-O CHANNEL SELECT CODE * 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 101112 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 * STDA OCT 1777 STDB OCT 0 * TSTP DEF *+1 TABLE OF TEST NUMBERS DEF TST00 LOAD9Qþú BYTE TEST DEF TST01 STORE BYTE TEST DEF TST02 COMPARE BYTE TEST DEF TST03 SCAN BYTE TEST DEF TST04 MOVE BYTE TEST DEF TST05 COMPARE WORDS TEST DEF TST06 MOVE WORDS TEST DEF TST07 TEST-BITS DEF TST08 SET-BITS DEF TST09 CLEAR-BITS .M1 DEC -1 * IOID DEF *+1 TABLE OF I-O CHANNEL CONFIGURATION DEF SC1 DEF SC2 DEF SC3 DEF SC4 DEF SC5 DEF SC6 IOM OCT 177700 * IOSC NOP * INSTX DEF *+1 DEF CBTA+2 DEF II2+2 DEF MBTA+2 DEF MBTB+2 DEF II4+2 DEF CMWA+2 DEF II5+2 DEF MVWA+2 DEF MVWB+2 DEF II6+2 DEC -1 HED DIAGNOSTIC CONSTANTS & STORAGE LOCATIONS SAVA NOP SAVB NOP EOLC NOP TSTA NOP SINA NOP SINB NOP UINA NOP UINB NOP BTMP NOP M40 DEC -40 DEC -10,-9,-8,-7,-6,-5,-4,-3,-2,-1 . OCT 0 DEC 1,2,3,4,5,6,7,8,9,10 .40 DEC 40 .60 OCT 60 .77 OCT 77 .177 OCT 177 .M2 DEC -2 D100 DEC -100 BT5 OCT 40 SW15 OCT 100000 SW14 OCT 40000 SW13 OCT 20000 SW12 OCT 10000 S812 OCT 010400 SW9 OCT 1000 MBT9 OCT 176777 .100 OCT 100 .200 OCT 200 .300 OCT 300 B7700 OCT 7700 M70K OCT 070000 H2 OCT 102000 H6 OCT 106000 H3 OCT 103000 H7 OCT 107000 TSH OCT 106077 * * CAUTION IN USING THESE CONTANTS * DO NOT CHANGE THERE ORDER AND * THE VALUE MAY BE MODIFIED BY * THE PROGRAM.. * 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 HDMX DEF HDM1+3 * * SKP AREG BSS 1 BREG BSS 1 EREG BSS 1 OREG BSS 1 PATTN OCT 125252 SKIP BSS 1 TN2 BSS 1 TEST CASE NUM TP BSS 1 TABLE POINTER WCP BSS 1 WORD COUNT PARAM WRD1 BSS 1 WORD O$´þúPRAND 1 WRD2 BSS 1 WORD OPRAND 2 INTFL BSS 1 INTP FLAG * * INTERRUPT RETURNS * JSBX JSB *+1,I DEF RTXZ JSB2 JSB *+1,I DEF RT2 JSB3 JSB *+1,I DEF RT3 JSB4 JSB *+1,I DEF RT4 JSB5 JSB *+1,I DEF RT5 JSB6 JSB *+1,I DEF RT6 CISK0 DEF CPSK0 CISK1 DEF CPSK1 CISK2 DEF CPSK2 PTR2 DEF II2 PTR3 DEF II3 PTR4 DEF II4 PTR5 DEF II5 PTR6 DEF II6 * * DEF STATEMENTS * A.CBT DEF CBTTB A.CMW DEF CMWTB A.DS DEF DS A.LB DEF LB A.LBT DEF LBTTB A.LBX DEF LBX A.MBT DEF MBTTB A.MVW DEF MVWTB A.OCT DEF OCT A.SBT DEF SBTTB A.SFB DEF SFBTB A.TBS DEF TBSTB A.WD DEF WD A.WD1 DEF WD1 A.SBS DEF SBSTB A.CBS DEF CBSTB WDX DEF WD+35 * * DATA STRING * DS BSS 40 * * MEMORY PROTECT * FENCE DEF * MPPAR EQU 5 CBSMP DEF CBS3 MBTMP DEF MBT3A MVWMP DEF MVW3A SBSMP DEF SBS3 SBTMP DEF SBT3 MPCKX BSS 1 PMMTN JSB *+1,I DEF MPCHK * HED SUBROUTINES ************************************************************************ * * SUBROUTINES FOR SETTING UP OPERANDS BEFORE EXECUTING * THE INSTRUCTION * ************************************************************************ * * EXAMINE NEXT TEST PARAMETER * * RETURN CONDITIONS: * * IF TEST PARAM > -1 THEN NO SKIP * IF TEST PARAM =-1 THEN SKIP 1 * IF TEST PARAM = -2 THEN SKIP 2 * ETC. * NXTP NOP CLA CLEAR STA INTFL INPT FLAG ISZ TN2 INCR TEST-CASE NUMBER LDA TP,I NEXT TEST PARAM FROM TEST TABLE SSA IF A<0 THEN JMP NXTP1 GOTO NXTP1 CLA ELSE A:=0 NXTP2 ADA NXTP ADD A TO RETURN ADDR JMP A,I JUMP TO LOCATION POINTED TO BY A NXTP1 ISZ TP INCR TEST TABLE POINTER BY 1 CMA,INA MAKE TEST PARAM POSITIVE JMP NXTP2 ADD TO A FOR SKIP RETURN * * RECORD SKIP CONDITION FOR COMPARE INSTRUCTIONS AND * SAVE A,B,E,O REGISTERS * CPSK0 NOP Ýþú CLF INTP CLEAR INTP ISZ CPSK0 INCR RETURN ISZ CPSK0 ADDR P+3 STA AREG SAVE A-REG CLA A:=0 JSB CPSK RECORD SKIP CONDITION JMP CPSK0,I RETURN P+3 * CPSK NOP STA SKIP RECORD SKIP CONDITION STB BREG SAVE B-REG JSB SEO SAVE E,O-REG JMP CPSK,I RETURN * CPSK1 NOP CLF INTP CLEAR INTP ISZ CPSK1 INCR RETURN ADDR FOR P+2 STA AREG SAVE A-REG LDA .+1 A:=SKIP CONDITION JSB CPSK RECORD SKIP CONDITION,SAVE B,E,O-REG JMP CPSK1,I RETURN P+2 CPSK2 NOP CLF INTP CLEAR INTP STA AREG SAVE A-REG LDA .+2 A:=2 JSB CPSK RECORD SKIP CONDITION,SAVE B,E,O-REG JMP CPSK2,I RETURN P+1 * * SAVE A,B,E,O REGISTERS * SABEO NOP STA AREG SAVE A-REG STB BREG SAVE B-REG JSB SEO SAVE E,O-REG JMP SABEO,I RETURN * * SAVE E AND O REGISTERS * SEO NOP CLA CLEAR A-REG SEZ IS E-REG SET ? LDA .+1 YES - SET EREG TO 1 STA EREG NO - SET EREG TO 0 LDA .+1 A:=1 SOS IS O-REG SET ? CLA YES - SET OREG TO 1 STA OREG NO - SET OREG TO 0 JMP SEO,I RETURN * * GET DATA FROM TEST TABLE * TPX NOP NOP DEBUG LDA TP,I GET DATA FORM TEST TABLE ISZ TP INCR TEST TABLE JMP TPX,I RETURN * * CHECK SKIP CONDITION * CKSK NOP JSB TPX NEXT ENTRY IN TEST TABLE XOR SKIP COMPARE SKIP SZA,RSS CONDITION RESULT JMP CKSK,I OK - RETURN JSB LTN PRINT TEST-CASE NUMBER E003 JSB ERMS,I REPORT ERROR DEF ME03,I DEF ME00 JMP CKSK,I RETURN * SAVE1 BSS 1 SAVE2 BSS 1 * * CHECK DATA STRING * CKDS NOP NOP DEBUG JSB TPX GET DATA FROM TEST TAB†8þúLE STA SAVE1 SAVE DATA CMA,INA TWO'S COMP STA WCP SAVE NEGATIVE VALUE STA SAVE2 LDA WRD1 BYTE ADDR OF SOURCE LDB A.DS ADDR OF DESTINATION STRING STA AREG SAVE ADDR STB BREG CKDS1 LDA AREG,I GET DATA FROM SOURCE STRING LDB BREG,I GET DATA FROM DISTINATION STRING NOP DEBUG CPA B JMP CKDS4 OK JSB LTN PRINT TEST-CASE NUMBER E010 JSB ERMS,I DEF ME010,I DEF ME00 CKDS4 ISZ AREG INCR ADDR POINTER ISZ BREG IN A & B REG ISZ WCP LAST LOCATION IN STRING ? JMP CKDS1 NO LDA .40 NUMBER OF LOCATION IN STRING ADA SAVE2 SUBTRACT NUMBER USED CMA,INA TWO'S COMP STA WCP SAVE NEGATIVE VALUE LDA PATTX GET PATTERN STORED IN STRING LDB SAVE1 NUMBER OF WORDS TRANSFERED INTO STRING ADB A.DS ADDR OF STRING STB SAVE1 SAVE ADDR OF UNUSED STRING CKDS2 LDB SAVE1,I GET DATA IN UNUSED STRING NOP DEBUG CPA B IS STRING ALTERED BY TEST INSTR JMP CKDS3 OK JSB LTN PRINT TEST-CASE NUMBER E004 JSB ERMS,I REPORT ERR DEF ME004,I DEF ME00 CKDS3 ISZ SAVE1 INCR STRING ADDR ISZ WCP LAST ADDR ? JMP CKDS2 NO JMP CKDS,I RETURN * * SET UP STRING ADDR FOR A & B-REG ENTRY * DSABR NOP NOP DEBUG JSB TPX NEXT ENTRY IN TEST TABLE ADA A.WD ADDR OF DATA TABLE LDA A,I GET DATA FROM TABLE STA WRD1 SAVE DATA FOR WORD 1 OPERAND NOP JSB TPX NEXT ENTRY IN TEST TABLE ADA A.WD ADDR OF DATA TABLE LDA A,I GET DATA FROM TABLE STA WRD2 SAVE DATA FOR WORD 2 OPERAND NOP DEBUG JMP DSABR,I RETURN * * GET WORD COUNT * WCX NOP NOP DEBUG JSB TPX NEXT ENTRYþÊþú IN TEST TABLE STA WCP SAVE VALUE AS A WORD COUNT JMP WCX,I RETURN * * LOAD DATA STRING WITH PATTERN * ENTER WITH PATTERN IN A-REG * STDS NOP STA PATTX SAVE PATTERN LDB M40 -40 STB SAVE2 SAVE VALUE LDB A.DS ADDR OF DATA STRING STDS1 STA B,I STORE PATTERN IN DATA STRING INB INCR ADDR IN BREG ISZ SAVE2 LAST LOCATION IN STRING ? JMP STDS1 NO JMP STDS,I RETURN * PATTX BSS 1 * * LOAD BYTE ADDR * LBA NOP NOP DEBUG JSB TPX NEXT ENTRY IN TEST TABLE ADA A.LB ADDR OF DATA TABLE STA WRD1 STORE ADDR JMP LBA,I RETURN * LBB NOP NOP DEBUG JSB TPX NEXT ENTRY IN TEST TABLE ADA A.LBX ADDR OF DATA TABLE STA WRD1 STORE ADDR JMP LBB,I RETURN * PATX NOP NOP DEBUG JSB TPX NEXT ENTRY IN TEST TABLE ADA A.LBX ADDR OF DATA TABLE LDA A,I GET PATTERN JSB STDS STORE PATTERN JMP PATX,I RETURN * SBA NOP NOP DEBUG JSB TPX NEXT ENTRY IN TEST TABLE ADA A.OCT ADDR OF DATA TABLE STA WRD2 STORE ADDR JMP SBA,I RETURN * CKLB NOP NOP DEBUG JSB TPX NEXT ENTRY IN TEST TABLE ADA A.OCT ADDR OF DATA TABLE LDB A,I GET DATA IN TABLE LDA AREG GET ACTUAL DATA NOP DEBUG CPA B COMPARE DATA JMP CKLB1 OK JSB LTN PRINT TEST-CASE NUMBER E005 JSB ERMS,I REPORT ERR DEF ME005,I DEF ME00 CKLB1 LDA WRD1,I BYTE ADDR:= INA BYTE ADDR +1 LDB BREG GET ACTUAL BYTE ADDR NOP DEBUG CPA B COMPARE BYTE ADDR JMP CKLB,I OK - RETURN JSB LTN PRINT TEST-CASE NUMBER E006 JSB ERMS,I REPORT ERR Úþú DEF ME006,I DEF ME00 JMP CKLB,I RETURN * CKSB NOP NOP DEBUG JSB TPX NEXT ENTRY IN TEST TABLE ADA A.LBX ADDR OF DATA TABLE LDA A,I GET DATA FROM TABLE LDB DS ADDR OF DATA STRING NOP DEBUG CPA B COMPARE DATA JMP CKSB,I RETURN JSB LTN PRINT TEST-CASE NUMBER E007 JSB ERMS,I REPORT ERR DEF ME007,I DEF ME00 JMP CKSB,I RETURN * CKSF NOP NOP DEBUG JSB TPX NEXT ENTRY IN TEST TABLE ADA A.WD ADDR OF DATA TABLE LDA A,I GET DATA FROM TABLE LDB BREG RESTORE B-REG CONDITIONS AFTER TEST INSTR NOP DEBUG CPA B COMPARE DATA JMP CKSF,I RETURN JSB LTN PRINT TEST-CASE NUMBER E011 JSB ERMS,I REPORT ERR DEF ME011,I DEF ME00 JMP CKSF,I RETURN * MOVE NOP LDA MOVE,I ADDR OF 1'ST WORD LDB ME.X ADDR OF STRING LDA A,I GET WORD STA B,I STORE WORD LDA MOVE,I GET ADDR OF INA 2'ND WORD LDA A,I GET WORD INB NEXT ADDR IN STRING STA B,I STORE WORD ISZ MOVE INCR RETURN ADDR JMP MOVE,I RETURN P+2 * ME.X DEF ME. * * LOAD TEST NUMBERS INTO A REGISTER * LTN NOP CLF INTP TURN OFF I-O SYST LDA TN2 CONVERT CLE TEST LDB LTN1 NUMBER JSB O2AS,I TO LDA TN2 ASCII AND OUTPUT ALF A:=TEST-CASE NUMBER ALS,ALS SHIFTED LEFT 6 BITS AND IOR TSTN MERGE IN TEST NUMB JMP LTN,I RETURN * LTN1 DEF ME00+9 ASCII MESSAGE * * TURN ON MEMORY PROTECT LOGIC * * ENTER WITH (A)=EXIT ADDRESS AND * (B)=FENCE ADDRESS * MEMTN NOP STA MPCKX STORE EXIT ADDRESS LDA PMMTN GEVÈ<:6T INTERRUPT ADDRESS STA MPPAR STORE INTP ADDR LDB FENCE MPT FENCE OTB MPPAR LOAD FENCE REGISTER STF INTP TURN OFF INTERRUPT SYS STC MPPAR TURN ON MEM. PROTECT LOGIC JMP MEMTN,I EXIT * * MEMORY PROTECT VIOLATION ROUTINE * MPCHK NOP CLF INTP TURN OFF INTERRUPT SYS LIA MPPAR GET VIOLATION REGISTER SSA CHECK FOR PARITY ERROR JMP MPCK1 PARITY ERROR! CLF MPPAR TURN OFF PARITY LOGIC LDA TSH RESTORE STA MPPAR TRAP CELL HALT STF MPPAR TURN ON PARITY LOGIC JMP MPCKX,I EXIT D<ÿÿ ÿý¦µ ÿ12943-18002 1728 S 0122 EIG (INDEX) DG              H0101 Ìáþú* MPCK1 EQU * OCT 107005 HALT ON PARITY ERROR JMP *-1 * * CHECK IF MEMORY PROTECT IS PRESENT * MEMPR NOP LDA CPTO CHECK COMPUTER AND BT5 TYPE & OPTIONS SZA FOR ISZ MEMPR MEM PROTECT JMP MEMPR,I * * TURN OFF MEMORY PROTECT LOGIC * MTNOF NOP CLC MPPAR TURN OFF MEM PROTECT LDA TSH RESTORE STA MPPAR TRAP CELL HALT CLF INTP CLEAR INTERRUPT SYS JSB LTN PRINT TEST-CASE NUMBER E012 JSB ERMS,I REPORT ERROR DEF ME012,I DEF ME00 JMP MTNOF,I EXIT * IIO NOP STB IOSC,I STORE RTN ADDR IN TRAP CELL JSB TOINT TURN ON I-O JMP IIO,I EXIT * TOINT NOP SC1 STC CH SET CONTROL AND SC2 STF CH FLAG ON I-O DEVICE JMP TOINT,I EXIT * * CHECK IF INTP OCCURRED * CKINT NOP SC5 CLF CH TURN OFF FLAG AND SC6 CLC CH CONTROL ON I-O DEVICE CLF INTP TURN OFF INTP SYS LDA INTFL TEST IF INTP SZA OCCURRED JMP CKINT,I EXIT JSB LTN OK - EXIT E013 JSB ERMS,I REPORT ERR DEF ME013,I DEF ME00 JMP CKINT,I EXIT * * * * * THE FOLLOWING INSTRUCTIONS CBT, CMW, MBT, SFB ARE TESTED * FOR INTERRUPTABILITY. THE DIAGONSTIC PROGRAMME HOLDS A * PENDING INTERRUPT DURNING THE EXECUTION OF INSTRUCTION * UNDER TEST. DURNING THE EXECUTION OF THE INSTRUCTION * THE U-CODE WILL ALLOW FOR THE INTERRUPT TO BE HANDLED. * THE FIRST PENDING INTERRUPT IS HANDLED BY ROUTINE RTX. * ROUTINE RTX ONLY HANDLES THE FIRST PENDING INTERRUPT * AND CHECKS THE ADDRESS OF THE INSTRUCTION ALLOWING THE * INTERRUPT TO BE PROCESSED. DEPENDING UPON THE INSTRUCTION * AND THE DATA TEST PARAMETER USED THE U-CODE MAY MODIFY * THE P-REGISTER OR TARGET ADDRESS MAKING IT IMPRACTICAL * TO VERIFY THE ADDRESS WHEN THE SUBSEQUENT INTERRUPT OCCURS. * THEREFORE, ROUTINE RTXZ WILL HANDLØ«þúE ALL INTERRUPTS AFTER * ROUTINE RTX HAS HANDLED THE FIRST PENDING INTERRUPT. * * CHECK ADDR OF INTP * RTXX NOP RTX STA RTXX MODIFY RTN ADDR NOP DEBUG JSB TOIO TURN OFF I-O CPA B CHECK INTP LOCATION JMP *+5 OK JSB LTN REPORT ERR E014 JSB ERMS,I DEF ME014,I DEF ME00 LDB JSBX LOAD INTP TRAP CELL STB IOSC,I WITH ADDR OF RTXZ JSB TOINT TURN ON I-O DEVICE LDA AREG RESTORE LDB BREG A & B REG STF INTP TURN ON INTP SYS JMP RTXX,I EXIT * RTXZ NOP CLF INTP TURN OFF INTP SYST JSB SABEO SAVE REGS JSB TOIO TURN OFF I-O DEVICE NOP DEBUG LDA AREG RESTORE LDB BREG A & B REG NOP DEBUG JSB TOINT TURN ON INTP DEVICE STF INTP TURN OF INTP SYST JMP RTXZ,I RETURN TO MACRO * TOIO NOP CLF INTP TURN OFF INTP SYST SC3 CLF CH TURN OFF SC4 CLC CH I-O DEVICE JMP TOIO,I EXIT * XINST NOP CLA LDB INSTX STB SAVB XINT1 LDB SAVB,I CPB .M1 JMP XINST,I EXIT STA SAVB,I RESTORE NOP ISZ SAVB NEXT LOCATION JMP XINT1 * HED DIAGNOSTIC PROGRAM CONTROL ORG 2000B STEX CLC INTP,C TURN I/O SYSTEM OFF CLE LDA DSN LDB HDMX JSB O2AS,I JSB MSGC,I OUT PUT IT DEF HDMS LDA CPTO GET COMPUTER TYPE AND OPTIONS AND BT5 MASK OFF MPT BIT SZA IS MPT CONFIG. ? JMP *+3 YES, SKIP MESSAGE JSB MSGC,I PRINT MESSAGE DEF MH001 MPT NOT PRESENT CLA CLEAR PASS STA EOLC COUNT EXCZ LDB SW9 CHECK FOR USER SELECTION REQ JSB SWRT,I JMP USR IT'S USERS CHOICE NUSR LDA STDA GET STANDARD TEST RUN LDB STDB * nþú JMP EXC * USR LIA SW AND MBT9 OTA SW 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 CCA SET TEST NUMBER STA TSTN =-1 STA CFTT CLA STA TSTA CLEAR TEST RUN FLAG SPC 2 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 .M1 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 XINST RESTORE NOP IN 3'RD WORD OF MACRO JSB ITCH INITIALIZE TRAP CELL HALTS CLA CLEAR STA TN2 TEST-CASE NUM JSB TSTA,I 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 1~þúNO WAIT AND DISPLAY PASS COUNT LDA SINA RESTORE ORIGINAL LDB SINB PROGRAM JMP EXCZ DO IT ALL AGAIN SKP * MESSAGE OUTPUT WITH OUT 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 * * 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 SKP * OUTPUT MESSAGE * MSG NOP STA SAVA SAVE A AND B REGISTERS STB SAVB LDB MSG,I GET SWITCH REGISTER BIT LDA MSG ADA .M2 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 LDáPþúA 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 SKP 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 SPC 2 * N2AO NOP IOAD 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 * * 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 * * * PUT JSB INSTRUCTION IN TRAP CELL * TCJI NOP ˆþú LDB JSBI GET INSTRUCTION STB IOSC,I PUT IT IN TRAP CELL LDA TCJI,I GET LOCATION STA 3B SAVE IT FOR JSB INSTRUCTION ISZ TCJI ADJUST RETURN JMP TCJI,I RETURN TO CALLER * JSBI JSB 3B,I JSB INSTRUCTION * * * INITIALIZE SELECT CODE I/O INSTRUCTIONS * ISC NOP STA IOSC SAVE SELECT CODE IOL LDA B,I GET ADDRESS OF LOCATION CPA IOM 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 STEX 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 LDB A CMB,INB CHECK THAT SC > 7 ADB .+7 SSB ? JMP *+3 OK GO ON HLT 73B NO JMP CON1 TRY AGAIN 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 HED TEST THE LOAD BYTE INSTRUCTION LBT TST00 EQU * LBTT NOP JSB MOVE PUT "LBT" DEF MLBT IN MESSAGE STRING LDA A.LBT ADDR OF LBT TEST TABLE STA TP STORE ADDR IN TABLE POINTER LBT1 JSB NXTP NEXT TEST PARAM FROM TEST TABLE JMP LBT2 EXECUTE TEST JMP LBTT,I EXIT TEST LBT2 JSB LBA SET UP ADDR CCA PRESET A-REG NOP DEBUG LDB WRD1,I LOAD B-REG WITH ADDR NOP y\þúDEBUG LBT EXECUTE LOAD BYTE INSTR NOP DEBUG JSB SABEO SAVE A,B,E,O-REGS JSB CKLB CHECK RESULT JMP LBT1 NEXT TEST CASE * * * LBT TEST TABLE * LBTTB EQU * * * MEANING OF THE TABLE ENTRIES: * * FIRST: BYTE ADDR OF VALUE TO BE LOADED * SECOND: BYTE ADDR OF RESULT STORED * DEC 0,0 DEC 1,1 DEC 2,2 DEC 3,3 DEC 4,4 DEC 5,5 DEC 6,6 DEC 7,7 DEC 8,8 * * TERMINATOR * DEC -1 HED TEST THE STORE BYTE INSTRUCTION SBT TST01 EQU * SBTT NOP JSB MOVE PUT "SBT" DEF MSBT IN MESSAGE STRING LDA A.SBT ADDR OF SBT TEST TABLE STA TP STORE ADDR IN TABLE POINTER CLA CLEAR JSB STDS DATA STRING SBT1 JSB NXTP NEXT TEST PARAM FROM TEST TABLE JMP SBT2 EXECUTE TEST JMP SBTT,I EXIT TEST JMP SBT4 EXECUTE MPT TEST SBT2 JSB LBA GET BYTE ADDR JSB SBA GET DATA ADDR LDA WRD2,I GET DATA LDB WRD1,I GET BYTE ADDR FOR DESTINATION NOP DEBUG SBT EXECUTE STORE BYTE INSTR NOP DEBUG SBT3 JSB SABEO SAVE A,B,E,O-REGS JSB CKSB CHECK RESULT JMP SBT1 NEXT TEST CASE * * TEST MEMORY PROTECT * SBT4 JSB MEMPR CHECK IF MPT IS PRESENT JMP SBT4B MPT NOT AVAILABLE CLA CLEAR JSB STDS DATA STRING JSB LBA GET BYTE ADDR JSB SBA GET DATA ADDR LDA SBTMP INTP ADDR JSB MEMTN TURN ON MPT LOGEC LDA WRD2,I GET DATA LDB WRD1,I GET BYTE ADDR FOR DESTINATION NOP DEBUG SBT EXECUTE STORE BYTE INSTR NOP DEBUG JSB MTNOF MPT FAILED, REPORT ERR JMP SBT4N NEXT TEST-CASE * SBT4B ISZ TP ADJUST TABLE POINTER ISZ TP ˜Mþú FOR SBT4N ISZ TP NEXT PARAM JMP SBT1 * * SBT TEST TABLE * SBTTB EQU * * * MEANING OF THE TABLE ENTRIES: * * FIRST: BYTE ADDR OF VALUE TO BE STORED * SECOND: BYTE ADDR WHERE TO BE STORED * THIRD: CHECK RESULT * DEC 10,0,5 DEC 11,0,6 DEC 10,4,8 DEC 11,4,7 DEC 10,0,9 DEC 11,8,5 DEC 10,8,4 * * MEMORY PROTECT * DEC -2,10,0,4 * * TERMINATOR * DEC -1 HED TEST THE COMPARE BYTE INSTRUCTION CBT TST02 EQU * CBTT NOP JSB MOVE PUT "CBT" DEF MCBT IN MESSAGE STRING LDA A.CBT ADDR OF CBT TEST TABLE STA TP STORE ADDR IN TABLE POINTER CBT1 JSB NXTP NEXT TEST PARAM FROM TEST TABLE JMP CBT2 EXECUTE TEST JMP CBTT,I EXIT TEST JMP CBT4 EXECUTE INTERRUPT TEST CBT2 JSB DSABR SET UP ADDR FOR SOURCE & DESTINATION JSB WCX GET WORD COUNT LDA WRD1 LOAD A & B-REG LDB WRD2 WITH ADDR NOP DEBUG CBTA CBT WCP EXECUTE COMPARE BYTE INSTR JSB CPSK0 RECORD JSB CPSK1 SKIP JSB CPSK2 RESULT CBT3 JSB CKSK CHECK SKIP RESULT JMP CBT1 NEXT TEST CAST * * TEST CBT INSTR WITH INTERRUPT * CBT4 CLF INTP TURN OFF INTP LDB JSB2 GET INTP ADDR JSB IIO TURN ON I-O JSB DSABR SET UP ADDR FOR SOURCE & DESTINATION JSB WCX GET WORD COUNT LDA WRD1 LOAD A & B-REGS LDB WRD2 WITH ADDR NOP DEBUG STF INTP TURN ON INTP SYST II2 CBT WCP EXECUTE CBT INSTR JSB CISK0,I RECORD JSB CISK1,I SKIP JSB CISK2,I RESULT CLF INTP TURN OFF INTP SYST JSB TOIO TURN OFF I-O JMP CBT3 CHECK RESULT * RT2 NOP CLF INTP TURN OFF INTP SYST JSB SABEO SAVE REGS NOP DEBUG SþúLDA RT2 ADDR OF INTERRUPTING INSTR LDB PTR2 EXP ADDR NOP DEBUG JMP RTX INTP ROUTINE * * * CBT TEST TABLE * CBTTB EQU * * * MEANING OF THE TABLE ENTRIES: * * FIRST: BYTE ADDR OF STRING 1 * SECOND: BYTE ADDR OF STRING 2 * THIRD: WORD COUNT VALUE * FOURTH: SKIP RESULT * DEC 6,7,8,0 DEC 8,9,8,1 DEC 8,10,8,2 * * INTERRUPT PARAMETER * DEC -2,6,7,8,0 DEC -2,8,9,8,1 DEC -2,8,10,8,2 * * TERMINATOR * DEC -1 HED TEST THE SCAN BYTE INSTRUCTION SFB TST03 EQU * SFBT NOP JSB MOVE PUT "SFB" DEF MSFB IN MESSAGE STRING LDA A.SFB ADDR OF SFB TEST TABLE STA TP STORE ADDR IN TABLE POINTER SFB1 JSB NXTP NEXT TEST PARAM FROM TEST TABLE JMP SFB2 EXECUTE TEST JMP SFBT,I EXIT TEST JMP SFB4 EXECUTE INTP TEST SFB2 JSB DSABR SET UP ADDR FOR SOURCE & DESTINATION LDA WRD1,I TEST & TERMINATION WORD LDB WRD2 ADDR OF STRING NOP DEBUG SFB EXECUTE SCAN BYTE INSTR JSB CPSK0 RECORD JSB CPSK1 SKIP JSB CPSK2 RESULT SFB3 NOP DEBUG JSB CKSK CHECK SKIP RESULT JSB CKSF CHECK FOR PROPER TERMENATION NOP DEBUG JMP SFB1 NEXT TEST CASE * * TEST SFB WITH INTERRUPT * SFB4 CLF INTP TURN OFF INTP SYST LDB JSB3 GET INTP ADDR JSB IIO TURN ON I-O DEVICE JSB DSABR SET UP ADDR LDA WRD1,I TEST AND DESTINATION WORD LDB WRD2 STRING ADDR NOP DEBUG STF INTP TURN OF INTP SYST II3 SFB EXECUTE SFB INSTR JSB CISK0,I RECORD JSB CISK1,I SKIP JSB CISK2,I RESULT JSB TOIO TURN OFF I-O DEVICE JMP SFB3 NEXT TEST-CASE * RT3 NOP CLF INTP TURN OFF I‹v<:6NTP SYST JSB SABEO SAVE REGS LDA RT3 ADDR OF INTP INSTR LDB PTR3 EXP ADDR NOP DEBUG JMP RTX JUMP TO INTP ROUTINE * * * SFB TEST TABLE * SFBTB EQU * * * MEANING OF THE TABLE ENTRIES: * * FIRST: ADDR OF TERMINATION BYTE * SECOND: ADDR OF TEST BYTE * THIRD: SKIP RESULT * FOURTH: DATA RESULT * DEC 13,11,0,15 DEC 14,12,1,16 * * INTERRUPT PARAMETER * DEC -2,13,11,0,15 DEC -2,14,12,1,16 * * TERMINATOR * DEC -1 Å…<ÿÿ ÿý§¶ ÿ12943-18003 1728 S 0122 EIG (INDEX) DG              H0101 Íáþú HED TEST THE MOVE BYTE INSTRUCTION MBT TST04 EQU * MBTT NOP JSB MOVE PUT "MBT" DEF MMBT IN MESSAGE STRING LDA A.MBT ADDR OF MBT TEST TABLE STA TP STORE ADDR IN TABLE POINTER MBT1 JSB NXTP NEXT TEST PARAM JMP MBT2 EXECUTE TEST JMP MBTT,I EXIT TEST JMP MBT4 EXECUTE MPT TEST JMP MBT5 EXECUTE INTP TEST MBT2 JSB MBTX SET UP PARAM LDA WRD1 ADDR OF SOURCE STRING LDB WRD2 ADDR OF DESTINATION STRING NOP DEBUG MBTA MBT WCP EXECUTE MOVE BYTE INSTR NOP DEBUG MBT3B JSB TPX GET COMPARE ADA A.WD STRING LDA A,I ADDR STA WRD1 STORE ADDR MBT3 JSB CKDS CHECK RESULT IN DATA STRING JMP MBT1 NEXT TEST CASE * * MEMORY PROTECT TEST * MBT4 JSB MEMPR CHECK IF MPT IS PRESENT JMP MBT4B MPT NOT PRESENT JSB MBTX SET UP PARAM LDA MBTMP INTP ADDR JSB MEMTN TURN ON MPT LOGIC LDA WRD1 ADDR OF SOURCE STRING LDB WRD2 ADDR OF DESTINATION STRING NOP DEBUG MBTB MBT WCP EXECUTE MBT INSTR NOP DEBUG JSB MTNOF TURN OFF MPT & REPORT ERR JMP MBT4N NEXT TEST-CASE * MBTX NOP LDA PATTN STORE PATTERN JSB STDS IN DESTINATION STRING JSB DSABR SET UP ADDR FOR SOURCE & DESTINATION JSB WCX GET WORD COUNT JMP MBTX,I EXIT * MBT3A LDA WDX,I STA WRD1 NOP DEBUG JMP MBT3 * MBT4B ISZ TP ADJUST TABLE POINTER ISZ TP FOR ISZ TP MBT4N ISZ TP NEXT TEST PARAM JMP MBT1 * * TEST MBT WITH INTERRUPT * MBT5 CLF INTP TURN OFF INTP SYST LDB JSB4 INTP ADDR JSB IIO TURN ON I-O JSB MBTX SET UP PARAM LDA WRD1 SOURCE STRING LDB WRD2 ž”þúDESTINATION STRING NOP DEBUG STF INTP TURN ON INTP SYST II4 MBT WCP EXECUTE MBT INSTR CLF INTP TURN OFF INTP SYST JSB TOIO TURN OFF I-O DEVICE NOP DEBUG JMP MBT3B NEXT TEST-CASE * RT4 NOP CLF INTP TURN OFF INTP SYST JSB SABEO SAVE REGS LDA RT4 ADDR OF INTP ADDR LDB PTR4 EXP ADDR NOP DEBUG JMP RTX INTP ROUTINE * * * MBT TEST TABLE * MBTTB EQU * * * MEANING OF TABLE ENTRIES: * * FIRST: BYTE ADDR OF SOURCE STRING * SECOND: BYTE ADDR OF DESTINATION STRING * THIRD: NUMBER OF BYTES * FOUTH: ADDR OF COMPARE STRING * FIFTH: NUMBER OF CPU WORDS USED * DEC 17,18,8,36,4 DEC 22,19,4,37,3 * * MEMORY PROTECT * DEC -2,17,18,8,4 * * INTERRUPT PARAMETER * DEC -3,17,18,8,36,4 * * TERMINTOR * DEC -1 HED TEST THE COMPARE WORD INSTRUCTION CMW * TST05 EQU * CMWT NOP COMPARE WORD TEST JSB MOVE PUT "CMW" DEF MCMW IN MESSAGE STRING LDA A.CMW ADDR OF CMW TEST TABLE STA TP STORE ADDR IN TABLE POINTER CMW1 JSB NXTP NEXT TEST PARMA FROM TEST TABLE JMP CMW2 EXECUTE TEST JMP CMWT,I EXIT TEST JMP CMW4 EXECUTE INTP TEST CMW2 JSB DSABR SET UP STRING ADDR JSB WCX GET WORD COUNT LDA WRD1 A:=WORD 1 ADDR LDB WRD2 B:=WORD 2 ADDR NOP DEBUG CMWA CMW WCP EXECUTE CMW INSTR JSB CPSK0 RECORD JSB CPSK1 SKIP JSB CPSK2 RESULT CMW6 JSB CKSK CHECK SKIP RESULT JMP CMW1 NEXT TEST CASE * * TEST CMW WITH INTP * CMW4 CLF INTP TURN OFF INTP SYST LDB JSB5 INTP ADDR JSB IIO TURN ON I-O DEVICE JSB DSABR SET UP STRING ADDR JSB WCX GET WORD COUNT LDA WRD1 8þúSTRING 1 ADDR LDB WRD2 STRING 2 ADDR NOP DEBUG II5 CMW WCP EXECUTE CMW INSTR JSB CISK0,I RECORD JSB CISK1,I SKIP JSB CISK2,I RESULT CLF INTP TURN OFF INTP SYST JSB TOIO TURN OFF I-O DEVICE JMP CMW6 CHECK RESULT * RT5 NOP CLF INTP TURN OFF INTP SYST JSB SABEO SAVE REGS LDA RT5 ADDR OF INTP INSTR LDB PTR5 EXP ADDR NOP DEBUG JMP RTX INTP ROUTINE * * * * CMW TEST TABLE * CMWTB EQU * * * MEANING OF THE TABLE ENTRIES: * * FIRST: ADDR OF STRING 1 IN A-REG. * SECOND: ADDR OF STRING 2 IN B-REG. * THIRD: NUMBER OF WORDS IN STRING TO BE COMPARED. * FOURTH: SKIP RESULT. * * ARRAY 1 ARRAY 2 * CW1 DEC 0,1,4,0 ASCII STRING A1 = A2 DEC 0,2,4,1 ASCII STRING A1 < A2 DEC 0,3,4,2 ASCII STRING A1 > A2 DEC 23,24,1,2 +052777 +000001 A1 > A2 DEC 24,23,1,1 +000001 +052777 A1 < A2 DEC 24,25,1,2 +000001 -177777 A1 < A2 DEC 25,24,1,1 -177777 +000001 A1 < A2 DEC 26,23,1,1 -100000 +052777 A1 < A2 DEC 23,26,1,2 +052777 -100000 A1 > A2 DEC 26,27,1,1 -100000 -125000 A1 < A2 DEC 27,26,1,2 -125000 -100000 A1 > A2 DEC 28,23,1,1 +052525 +052777 A1 < A2 DEC 23,28,1,2 +052777 +052525 A1 > A2 DEC 25,29,1,0 -177777 -177777 A1 = A2 DEC 26,30,1,0 -100000 -100000 A1 = A2 DEC 24,31,1,0 +000001 +000001 A1 = A2 DEC 32,33,1,0 +077777 +077777 A1 = A2 DEC 20,34,1,0 +000000 +000000 A1 = A2 * * INTERRUPT PARAMETER * DEC -2,0,1,4,0 DEC -2,0,2,4,1 DEC -2,0,3,4,2 * * TERMINATOR * DEC -1 HED TEST T‹ñþúHE MOVE WORD INSTRUCTION MVW TST06 EQU * MVWT NOP JSB MOVE PUT "MVW" DEF MMVW IN MESSAGE STRING LDA A.MVW ADDR OF MVW TEST TABLE STA TP STORE ADDR IN TABLE POINTER MVW1 JSB NXTP NEXT TEST PARAM FROM TEST TABLE JMP MVW2 EXECUTE TEST JMP MVWT,I EXIT TEST JMP MVW4 EXECUTE MPT TEST JMP MVW5 EXECUTE INTP TEST MVW2 JSB MBTX SET UP PARAM LDA WRD1 ADDR OF SOURCE STRING LDB WRD2 ADDR OF DESTINATION STRING NOP DEBUG MVWA MVW WCP EXECUTE MVW INSTR NOP DEBUG MVW3 JSB CKDS CHECK DATA STRING JMP MVW1 NEXT TEST CASE * * MEMORY PROTECT TEST * MVW4 JSB MEMPR CHECK IF MPT IS PRESENT JMP MVW4B MPT NOT PRESENT JSB MBTX SET UP PARAM LDA MVWMP INTP ADDR JSB MEMTN TURN ON MPT LOGIC LDA WRD1 ADDR OF SOURCE STRING LDB WRD2 ADDR OF DESTINATION STRING NOP DEBUG MVWB MVW WCP EXECUTE MVW INSTR NOP DEBUG JSB MTNOF MPT FAILED, REPORT ERR JMP MVW4N NEXT TEST-CASE * MVW4B ISZ TP ADJUST TABLE POINTER ISZ TP FOR ISZ TP MVW4N ISZ TP NEXT PARAM JMP MVW1 * MVW3A LDA WDX,I STA WRD1 NOP DEBUG JMP MVW3 * * TEST MVW WITH INTP * MVW5 CLF INTP TURN OFF INTP SYST LDB JSB6 INTP ADDR JSB IIO TURN ON I-O DEVICE JSB MBTX SET UP PARAM LDA WRD1 SOURCE ADDR LDB WRD2 DESTINATION ADDR NOP DEBUG STF INTP TURN ON INTP SYST II6 MVW WCP EXECUTE MVW INSTR CLF INTP TURN OFF INTP SYST JSB TOIO TURN OFF I-O DEVICE JMP MVW3 CHECK RESULT * RT6 NOP CLF INTP TURN OFF INTP SYST JSB SABEO SAVE REGS LDA RT6 ADDR OF INTP INSTR LDç½þúB PTR6 EXP ADDR NOP DEBUG JMP RTX INTP ROUTINE * * * MVW TEST TABLE * * MVWTB EQU * * * MEANING OF THE TABLE ENTRIES: * * FIRST: ADDR OF SOURCE IN A-REG. * SECOND: ADDR OF DESTINATION IN B-REG. * THIRD: NUMBER OF WORDS TO BE MOVED. * FOURTH: NUMBER OF WORDS TO BE CHECKED * DEC 4,5,4,4 * * MEMORY PROTECT * DEC -2,4,5,4,4 MEMORY PROTECT * * INTERRUPT PARAMETER * DEC -3,4,5,4,4 * * TERMINATOR * DEC -1 HED TEST THE TEST-BIT INSTRUCTION TBS TST07 EQU * TBST NOP JSB MOVE PUT "TBS" DEF MTBS IN MESSAGE STRING LDA A.TBS ADDR OF SBS TEST TABLE STA TP STORE ADDR IN TABLE POINTER TBS1 JSB NXTP NEXT TEST PARAM FROM TEST TABLE JMP TBS2 EXECUTE TEST JMP TBST,I EXIT TEST TBS2 JSB LBB 1ST PARAM IS STA WRD2 STORED IN TO WRD2 JSB LBB 2ND PARAM IS IN WRD1 NOP DEBUG TBS WRD1 WRD2 EXECUTE TBS INSTR JSB CPSK0 RECORD JSB CPSK1 SKIP JSB CPSK2 RESULT NOP DEBUG JSB CKSK CHECK SKIP RESULT JMP TBS1 NEXT TEST CASE * * * TBS TEST TABLE * TBSTB EQU * * * MEANING OF TABLE ENTRIES: * * FIRST: ADDR OF 16 BIT MASK * SECOND: ADDR OF BIT TO BE TESTED * THIRD: SKIP RESULT * DEC 6,6,0 DEC 6,7,1 * * TERMINATOR * DEC -1 HED TEST THE SET-BIT INSTRUCTION SBS TST08 EQU * SBST NOP JSB MOVE PUT "SBS" DEF MSBS IN MESSAGE STRING LDA A.SBS ADDR OF SBS TEST TABLE STA TP STORE ADDR IN TABLE POINTER SBS1 JSB NXTP NEXT TEST PARAM FROM TEST TABLE JMP SBS2 EXECUTE TEST JMP SBST,I EXIT TEST JMP SBS5 EXECUTE MPT TEST JMP SBS4 EXECUTE TEST WITH NON INDIRECT SBS2 JSB PATX LOAD PATTERN JSEþúB LBB GET MASK FOR B-REG LDA A.DS ADDR OF DESTINATION STA WRD2 NOP DEBUG SBS WRD1,I WRD2,I EXECUTE SBS INSTR NOP DEBUG SBS3 JSB CKSB CHECK RESULT JMP SBS1 NEXT TEST CASE * SBS4 JSB PATX LOAD PATTERN JSB STDS IN DESTINATION STRING JSB LBB GET ADDR OF MASK LDA WRD1,I GET MASK STA WRD1 STORE MASK NOP DEBUG SBS WRD1 DS EXECUTE SBS INSTR NOP DEBUG JMP SBS3 NEXT TEST PARAM SPC 1 * * MEMORY PROTECT TEST * SBS5 JSB MEMPR CHECK IF MTP PRESENT JMP SBS5B MPT NOT PRESENT JSB PATX STORE PATTERN IN DATA STRING JSB LBB GET MASK FOR B-REGDATA STRING LDA A.DS ADDR OF DESTINATION STA WRD2 STORE ADDR LDA SBSMP INTP ADDR JSB MEMTN TURN ON MPT LOGIC NOP DEBUG SBS WRD1,I WRD2,I EXECUTE SBS INSTR NOP DEBUG JSB MTNOF MPT FAILED, REPORT ERR JMP SBS5N NEXT TEST-PARAM * SBS5B ISZ TP ADJUST TABLE POINTER ISZ TP FOR SBS5N ISZ TP NEXT PARAM JMP SBS1 * * * SBS TEST TABLE * * SBSTB EQU * * * MEANING OF TABLE ENTRIES: * * FIRST: PATTERN IN DATA STRING * SECOND: BIT(S) TO SET WITH MASK * THIRD: CHECK RESULT * * INDIRECT ADDRESSES * DEC 4,6,6 DEC 4,7,7 DEC 26,6,26 DEC 26,7,26 DEC 6,7,26 DEC 7,6,26 DEC 26,4,26 DEC 4,26,26 DEC 4,4,4 * * INDIRECT ADDR * DEC -3,4,6,6 DEC -3,4,7,7 DEC -3,26,7,26 * * MEMORY PROTECT * DEC -2,4,6,4 DEC -2,4,7,4 DEC -2,26,7,26 * * TERMINATOR * DEC -1 HED TEST THE CLEAR-BIT INSTRUCTION CBS TST09 EQU * CBST NOP JSB MOVE PUT "CBS" DEF MCBS IN MESSAGE STRING LDA A.CBS ë#þú ADDR OF CBS TEST TABLE STA TP STORE ADDR IN TABLE POINTER CBS1 JSB NXTP NEXT TEST PARAM IN TEST TABLE JMP CBS2 EXECUTE TEST WITH INDIRECT ADDR JMP CBST,I EXIT TEST JMP CBS4 EXECUTE TEST WITH NON-INDIRECT ADDR JMP CBS5 EXECUTE MPT TEST CBS2 JSB PATX STORE PATTERN DATA STRING JSB LBB SET UP MASK FOR B-REG LDA A.DS DESTINATION ADDR STA WRD2 NOP DEBUG CBS WRD1,I WRD2,I EXECUTE CBS INSTR NOP DEBUG CBS3 JSB CKSB CHECK RESULT JMP CBS1 NEXT TEST CASE * CBS4 JSB PATX STORE PATTERN JSB STDS IN DESTINATION STRING JSB LBB GET ADDR OF MASK LDA WRD1,I GET MASK STA WRD1 STORE MASK NOP DEBUG CBS WRD1 DS EXECUTE CBS INSTR NOP DEBUG JMP CBS3 NEXT TEST PARAM * * MEMORY PROTECT TEST * CBS5 JSB MEMPR CHECK IF MPT IS PRESENT JMP CBS5B MPT NOT PRESENT JSB PATX STORE PATTERN IN DATA STRING JSB LBB GET MASK FOR B-REG LDA A.DS GET DESTINATION ADDR STA WRD2 LDA CBSMP INTP ADDR JSB MEMTN TURN ON MPT LOGIC NOP DEBUG CBS WRD1,I WRD2,I EXECUTE CBS INSTR NOP DEBUG JSB MTNOF MPT FAILED, REPORT ERR JMP CBS5N * CBS5B ISZ TP ADJUST TABLE ISZ TP POINTER CBS5N ISZ TP NO MPT !! JMP CBS1 NEXT TEST-CASE * * * CBS TEST TABLE * * CBSTB EQU * * * MEANING OF TABLE ENTRIES: * * FIRST: PATTERN IN DATA STRING * SECOND: BIT(S) TO BE CLEARED WITH CBS INSTR. * THIRD: CHECK RESULT * * INDIRECT ADDRESSES * DEC 26,6,7 DEC 26,7,6 DEC 26,26,4 DEC 26,4,26 DEC 4,4,4 DEC 4,26,4 * *INDIRECT ADDR * DEC -2,26,6,7 DEC -2,26,7,6 DEC -2,26,26,4 :œþúDEC -2,26,4,26 DEC -2,4,4,4 DEC -2,4,26,4 * * MEMORY PROTECT * DEC -3,26,6,26 * * TERMINATOR * DEC -1 HED DATA CONSTANTS * WD EQU * DEF STG1 DEF STG2 DEF STG3 DEF STG4 DEF MWR1 DEF DS DBL STG1 DBL STG2 DBR STG1 DBR STG3 DBR STG4 DBR LSTG DBL LSTG DEF OP1 DEF OP2 DBL LSTG+8 DBL LSTG+17 DBL MSTG DBL DS DBR DS DEF LBA4 DEF LBA10 DBR MST1 DEF LBA2 DEF LBA10 DEF LBA26 DEF LBA25 DEF LBA5 DEF LBA7 DEF .M1 DEF SW15 DEF .+1 DEF LBA44 DEF LBA45 DEF OT9 DEF LBA46 DEF MSTG DEF MST2 * WD1 EQU * STG1 ASC 04,12345670 STG2 ASC 04,12345670 STG3 ASC 04,12347670 STG4 ASC 04,12345570 MWR1 ASC 04,Z0Y1XIW3 LSTG ASC 17,ABCDEFGHIJKLMNOPQRSTUVWXYZ12345670 OP1 ASC 01,0Q OP2 ASC 01,0/ MSTG ASC 04,A1B2C3D7 MST1 OCT 052501 PATTN + A ASC 1,BC OCT 042125 D + PATTN MST2 OCT 125101 ASC 1,BC OCT 042252 SPC 3 LB EQU * DBL LBA0 DBR LBA0 DBL LBA1 DBR LBA1 DBL LBA2 DBR LBA2 DBL LBA3 DBR LBA3 DBL LBA4 DBR LBA4 DBL DS DBR DS SPC 3 LBX EQU * LBA0 OCT 125377 LBA1 OCT 177652 LBA2 OCT 052777 LBA3 OCT 177525 LBA4 OCT 0 LBA5 OCT 125000 LBA6 OCT 125252 LBA7 OCT 052525 LBA8 OCT 052652 LBA9 OCT 125125 LBA10 OCT 1 OCT 2 OCT 4 OCT 10 OCT 20 OCT 40 OCT 100 OCT 200 OCT 400 OCT 1000 OCT 2000 OCT 4000 OCT 10000 OCT 20000 OCT 40000 LBA25 OCT 100000 LBA26 OCT 177777 OCT 177776 OCT 177775 OCT 177773 OCT 177767 OCT 177757 OCT 177737 OCT 177677 OCT 177577 OCT 177377 0¸640 OCT 176777 OCT 175777 OCT 173777 OCT 167777 OCT 157777 OCT 137777 LBA44 OCT 077777 LBA45 OCT 077777 LBA46 OCT 125252 OCT 125252 OCT 125252 OCT 125252 SPC 3 OCT EQU * OT1 OCT 252 OT2 OCT 377 OT3 OCT 377 OT4 OCT 252 OT5 OCT 125 OT6 OCT 377 OT7 OCT 377 OT8 OCT 125 OT9 OCT 0 * HED DIAGNOSTIC MESSAGES HDMS OCT 6412 ASC 15,EIG (WORD,BYTE,BIT) DIAGNOSTIC HDM1 ASC 07, DSN XXXXXX// ME00 ASC 14, IN TEST-CASE XXXXXX OF ME. ASC 06,XXX INSTR./ MH001 ASC 16,H001 MEMORY PROTECT NOT PRESENT/ ME03 ASC 17,E003 INSTR DOES NOT SKIP PROPERLY/ ME004 ASC 18,E004 TEST INSTRUCTION EXECUTED PAST ASC 11,SPECIFIED WORD COUNT/ ME005 ASC 18,E005 WRONG RESULT RETURNED IN A-REG/ ME006 ASC 18,E006 WRONG RESULT RETURNED IN B-REG/ ME007 ASC 13,E007 WRONG DATA RETURNED/ ME010 ASC 16,E010 DISTINATION STRING DOES NOT ASC 14, COMPARE WITH SOURCE STRING/ ME011 ASC 14,E011 INCORRECT TERMINATION/ ME012 ASC 17,E012 MEMORY PROTECT DIDN'T OCCUR/ ME013 ASC 12,E013 INTP DIDN'T OCCUR/ ME014 ASC 15,E014 INTP FROM WRONG LOCATION/ * MLBT ASC 02,LBT MSBT ASC 02,SBT MCBT ASC 02,CBT MSFB ASC 02,SFB MMBT ASC 02,MBT MCMW ASC 02,CMW MMVW ASC 02,MVW MTBS ASC 02,TBS MSBS ASC 02,SBS MCBS ASC 02,CBS FWAA EQU * FIRST WORD OF AVAL. MEMORY END š/6ÿÿ ÿý¨ ¶ ÿ12943-18004 1432 S 0122 12943A 2100 SERIES EIG DIAGNOSTIC             H0101 ÿìþúASMB,A,B,L,C HED GENERAL OPERATING PROCEDURE ORG 0 SUP * GENERAL OPERATING PROCEDURE * * A. LOAD DIAGNOSTIC CONFIGURATOR AND SET IT UP. * B. LOAD DIAGNOSTIC MAIN PROGRAM * C. LOAD ADDRESS 100B. * D. SKIP * E. SKIP * 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 * (SUPPRESS ALL OPERATOR INTERVENTION) * 11 = SUPRESS ERROR MESSAGES * 10 = SUPRESS NON-ERROR MESSAGES * 9 = GO TO USER CONTROL SECTION * AT END OF PRESENT TEST * 8= SUPPRESS OPERATOR INTERVENTION TESTS * 7 * = RESERVED * 0 * NOTE: STANDARD RUN SHOULD BE WITH SW. REG. = 0 * USER CONTROL WILL ASK FOR A 32 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 * * 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 * * CONTROL PROGRAM HALT MESSAGES * * 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 RESERVED * 102071 RESERVED * 102070 RESERVED * * 106077 TRAP CELL HALT * * * HED PROGRAM ORGANIZATION CHART * ******************************************* * * CONFIGURATOR 100B PËþú * * * LINKAGE TABLE * * ******************************************* * * EXECUTIVE 130B * * * LINKAGE * * ******************************************* * * CONSTANTS 150B * * * AND * * * STORAGE * * ******************************************* * * 2000B * * * EXECUTIVE CONTROL * * * * * ******************************************* * * IF USED * * * BASIC I/O TESTS (TEST 00) * * * ZCEND * * ******************************************* * * TABLE OF TEST POINTERS * * * TABLE OF I/O INSTR POINTERS * * ******************************************* * * * * * * * * * * * * * * * * * MAIN DIAGNOSTICS (1-31) * * * * * * * * * * * * * * * * * ******************************************* * * * * * * * * * * * * * * * * * * * * HED CONFIGURATOR LINKAGE TABLE A EQU 0 A REGISTER REFERENCE B EQU 1 B REGISTER REFERENCE SW EQU 1 SWITCH REGISTER REFEREݰþúNCE INTP EQU 0 INTERRUPT CHANNEL REFERENCE * * ORG 100B * JMP STRT,I GO START PROGRAM 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 NOP 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 101011 DIAGNOSTIC SERIAL NUMBER FMTR BSS 1 FORMATTER * * * CONTROL LINKAGE AND DATA REFERENCES * CFIG DEF ZCONF CONFIGURATION SECTION MSGC DEF ZMSGC MESSAGE WITH NO HALT MSGH DEF ZMSGH MESSAGE WITH HALT ERMS DEF ZERMS ERROR MESSAGE SWRT DEF ZSWRT SWITCH REGISTER CHECK ROUTINE TSTN OCT 0 CURRENT TEST NUMBER EXRT DEF ZEXRT RETURN TO CONTROL PROGRAM NOP RESERVED * * * * * * * * * * * * * SKP ORG 140B IOIP DEF IODP TSTP DEF TSTD HDMP DEF HDMS STDA OCT 7777 STDB OCT 0 HED EIG DIAGNOSTIC - CONSTANTS ORG 150B IODP EQU * 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 DEF TST13 DEC -1 ORG 200B AACT OCT 0 AEXP OCT 0 BACT OCT 0 BEXP OCT 0 XACT OCT 0 XEXP OCT 0 YACT OCT 0 YEXP OCT 0 MACT OCT 0 MEXP ªþúOCT 0 OEACT OCT 0 EEACT OCT 0 HDMS ASC 12, EIG (INDEX) DIAGNOSTIC/ STRT OCT 2000 SKP * TEST SEQUENCES * * TEST * * SUBTST 1 2 3 4 * * LDA LDA LDB LDB * 0 CAX CAY CBX CBY * STX STY STX STY * * LDX LDY LDX LDY * 1 CXA CYA CXB CYB * STA STA STB STB * * LDX LDY LDX LDY * 2 XAX XAY XBX XBY * STX STY STX STY * * LDX LDY LDX LDY * 3 ISX ISY DSX DSY * STX STY STK STY * * LDX LDY LDX LDY * 4 ADX +N ADY +N ADX -N ADY -N * STX STY STX STY * * LDX LDY LDX LDY * 5 LAX LAY LBX LBY * STA STA STB STB * * LDA LDA LDB LDB * 6 LDX LDY LDX LDY * SAX SAY SBX SBY * * JLY JLY I(2) LDY * 7 STY STY JPY * * 8 LDX A LDX B STX A STX B * * 9 LAX M,I(1) LAY M,I(2)LDX M,I(3)LDX A,I(1) * * 10 SAX MP SAY MP STX MP STY MP * * 11 JLY MP JPY MP * * * N = 52525 * M = MEMORY * I = INDIRECT * MP = MEMORY PROTECT * * * * SKP ZCONF EQU * MP EQU 5B BT15 OCT 100000 MPBT OCT 40 OP1 OCT 52525 OP2 OCT 125252 DM1 DEC -1 CT DEC -10000 LOCS OCT 0 B2 OCT 2 B4 OCT 4 B6 OCT 6 B7 OCT 7 D10 DEC 10 ECSV1 OCT 0 ERFLG OCT 0 BPFLG OCT 0 MFLG OCT 0 YFLG OCT 0 BUFS OCT 0 TPSV OCT 0 CTSV OCT 0 ECSV OCT 0 FPPS OCT 0 SPPS OCT 0 ASV OCT 0 BSV OCT 0 OPTS1 DEF *+1 OPTS BSS 40 OPTP1 DEF OPT1 OP†cþúT1 OCT 0 OCT 1 OCT 2 OCT 4 OCT 10 OCT 20 OCT 40 OCT 100 OCT 200 OCT 400 OCT 1000 OCT 2000 OCT 4000 OCT 10000 OCT 20000 OCT 40000 OCT 100000 OCT 177776 OCT 177775 OCT 177773 OCT 177767 OCT 177757 OCT 177737 OCT 177677 OCT 177577 OCT 177377 OCT 176777 OCT 175777 OCT 173777 OCT 167777 OCT 157777 OCT 137777 OCT 77777 OCT 177777 OTE1 DEF * SKP FPP DEF AACT OSV OCT 0 ESV OCT 0 OPP1 DEF OPTP1,I OPP2 DEF OPP1,I JMP1 JMP JP1P,I JMP2 JMP JP2P,I JMP3 JMP JP3P,I JP1P DEF JP1R JP2P DEF JP2R JP3P DEF JP3R EC11 OCT 70300 EC12 OCT 72340 EC13 OCT 70401 EC14 OCT 72441 EC21 OCT 04526 EC22 OCT 04627 EC23 OCT 06566 EC24 OCT 06667 EC31 OCT 71426 EC32 OCT 73467 EC33 OCT 71526 EC34 OCT 73567 EC41 OCT 71026 EC42 OCT 73067 EC43 OCT 70726 EC44 OCT 72767 EC51 OCT 70226 EC52 OCT 72267 EC53 OCT 70226 EC54 OCT 72267 EC61 OCT 05126 EC62 OCT 05167 EC63 OCT 07226 EC64 OCT 07267 EC71 OCT 75300 EC72 OCT 77340 EC73 OCT 101301 EC74 OCT 103341 EC101 OCT 71300 EC102 OCT 72340 SKP ISMT ASC 02,LDA- 00 00000 ASC 02,LDB- 01 00001 ASC 02,STA- 02 00010 ASC 02,STB- 03 00011 ASC 02,ADX- 04 00100 ASC 02,ADY- 05 00101 ASC 02,CAX- 06 00110 ASC 02,CAY- 07 00111 ASC 02,CBX- 08 01000 ASC 02,CBY- 09 01001 ASC 02,CXA- 10 01010 ASC 02,CXB- 11 01011 ASC 02,CYA- 12 01100 ASC 02,CYB- 13 01101 ASC 02,DSX- 14 01110 ASC 02,DSY- 15 01111 ASC 02,ISX- 16 100¸Fþú00 ASC 02,ISY- 17 10001 ASC 02,LAX- 18 10010 ASC 02,LAY- 19 10011 ASC 02,LBX- 20 10100 ASC 02,LBY- 21 10101 ASC 02,LDX- 22 10110 ASC 02,LDY- 23 10111 ASC 02,XAX- 24 11000 ASC 02,XAY- 25 11001 ASC 02,XBX- 26 11010 ASC 02,XBY- 27 11011 ASC 02,STX- 28 11100 ASC 02,STY- 29 11101 ASC 02,SAX- 30 11110 ASC 02,SAY- 31 11111 ASC 02,SBX- 32 10000 ASC 02,SBY- 33 10001 SKP SPP DEF *+1 AAP DEF AS+1 AEP DEF AS+5 BAP DEF BS+1 BEP DEF BS+5 XAP DEF XS+1 XEP DEF XS+5 YAP DEF YS+1 YEP DEF YS+5 MAP DEF MS MEP DEF MS+4 EPP DEF * MS030 ASC 12,E030 AAA-BBB-CCC-ERROR OCT 6412 ASC 06,REG-ACT-EXP OCT 6412 AS ASC 10,A AAAAAA AAAAAA BS ASC 10,B BBBBBB BBBBBB OCT 6412 XS ASC 10,X XXXXXX XXXXXX YS ASC 10,Y YYYYYY YYYYYY OCT 6412 MTRM ASC 01,/ MS ASC 07,MMMMMM MMMMMM OCT 6412 SLCH ASC 01,/ MCH ASC 01,M MS031 ASC 13,E031 OVERFLOW-EXTEND ERROR OCT 6412 ASC 06,REG-ACT-EXP OCT 6412 OES ASC 08,OV XX EX XX/ HED EIG DIAGNOSTIC - SUBROUTINES RCK01 NOP STA AACT SAVE ACT A STB BACT SAVE ACT B LDA YFLG SZA TEST FOR FLAG SET JMP RC00 YES LDA BPFLG LOAD BYPASS FLAG SZA,RSS IS IT SET ? JMP X01 CLA STA YACT CLEAR ACT STA YEXP CLEAR EXP JMP ECK CHECK FOR ERROR FLAG SET X01 STY YACT SAVE Y NOP DANGER DO NOT REMOVE JMP ECK CHECK FOR ERROR FLAG SET RC00 LDA BPFLG SZA,RSS IS IT SET ? JMP Y01 CLA STA XACT CLEAR ACT žþúSTA XEXP CLEAR EXP JMP ECK CHECK FOR ERROR FLAG SET Y01 STX XACT SAVE X NOP DANGER DO NOT REMOVE ECK LDA ERFLG LOAD ERROR FLAG SZA IS FLAG SET ? JMP RC11-1 YES MCK LDB MFLG LOAD MEM CHECK FLAG SZB,RSS IS IT SET ? JMP ATST NO * MTST LDB MACT LOAD ACT M CPB MEXP TEST M JMP ATST OK JSB RPER REPORT ERROR IN M JMP RC11 CONTINUE * ATST LDA AACT LOAD A CPA AEXP TEST A JMP BTST OK JSB RPER1 REPORT ERROR IN A JMP RC11 GO TO NEXT TEST CASE * BTST LDB BACT LOAD B CPB BEXP TEST B JMP XTST OK JSB RPER1 REPORT ERROR IN B JMP RC11 GO TO NXT TST CASE * XTST LDA XACT LOAD X CPA XEXP TEST X JMP YTST OK JSB RPER1 REPORT ERROR IN X JMP RC11 CONTINUE * YTST LDA YACT LOAD Y CPA YEXP Y JMP RC11 * JSB RPER1 REPORT ERROR IN Y JMP RC11 CONTINUE * JSB RPER1 REPORT ERROR RC11 ISZ TPSV BUMP TST CASE PTR LDA TPSV CPA OTE1 LAST TST CASE ? RCEX1 ISZ RCK01 MOVE RTN PT CLA CLEAR STA ERFLG ERROR FLAG LDA AACT NO, RELOAD A,B LDB BACT JMP RCK01,I EXIT STS OCT 0 ST1 OCT 20 ST2 OCT 40 ST3 OCT 60 ST4 OCT 100 SKP RPOEE NOP STA ASV SAVE A STB BSV SAVE B CCA SET STA ERFLG ERROR FLAG LDA OEACT FORM AND D1 IOR B60 ASCII STA TMP LDA OEACT FOR RAL AND D1 O IOR B60 ERROR ALF,ALF IOR TMP MESSAGE ALF,ALF POSITION ACT-EXP STA OAP,I LDA EEACT FORM AND D1 êkþú ASCII IOR B60 FOR STA TMP E LDA EEACT ERROR RAL AND D1 MESSAGE IOR B60 ALF,ALF IOR TMP ALF,ALF POSITION ACT-EXP STA EMP,I LDA TSTN LOAD TEST NO IOR STS OR IN SUBTEST NO E031 JSB ERMS,I REPORT ERROR DEF MS031 LDA ASV RELOAD A LDB BSV RELOAD B JMP RPOEE,I EXIT TMP OCT 0 D1 OCT 1 OAP DEF OES+2 EMP DEF OES+6 B60 OCT 60 SKP RPER NOP LDA MCH ADD MSG STA MTRM LINK JSB ERRP REPORT ERROR JMP RPER,I EXIT SPC 2 RPER1 NOP LDA SLCH ADD MSG STA MTRM TERMINATOR JSB ERRP REPORT ERROR JMP RPER1,I EXIT SPC 2 ERRP NOP JSB SIS INSERT SEQUENCE IN MESSAGE JSB CAID CONVERT AND INSERT DATA LDA TSTN LOAD TEST NO IOR STS OR IN SUBTEST NO E030 JSB ERMS,I REPORT ERROR DEF MS030 JMP ERRP,I EXIT SPC 2 SIS NOP LDA ISMP INITIALIZE STA ISMPS PTR TO FIRST MSG LDA ECSV LOAD ERROR CODE AND B37 MASK OFF CODE JSB MMSG CONVERT AND STORE 1 ST INSTR LDA ECSV RELOAD ERROR CODE RAR,ALF POSITION ALF,ALF NEXT CODE AND B37 MASK OFF CODE JSB MMSG CONVERT AND STORE 2 ND INSTR LDA ECSV RELOAD ERROR CODE ALF POSITION RAL,RAL LAST CODE AND B77 MASK OFF CODE JSB MMSG CONVERT AND STORE 3 RD INSTR JMP SIS,I EXIT SPC 2 MMSG NOP RAL MULTIPLY BY 2 ADA ISP ADD TABLE ENTRY POINT LDB A,I LOAD 1ST CHAR STB ISMPS,I STORE IN MSG INA BUMP ISZ ISMPS <6þú POINTERS LDB A,I LOAD 2ND CHAR STB ISMPS,I STORE IN MSG ISZ ISMPS MOVE POINTER JMP MMSG,I EXIT ISMPS OCT 0 ISMP DEF MS030+3 ISP DEF ISMT B37 OCT 37 B77 OCT 77 SKP CAID NOP LDA FPP LOAD OPERAND POINTER STA FPPS LDA SPP LOAD POINTER TO MSG STRING STA SPPS CLP CLE SET LDA FPPS,I UP LDB SPPS,I CONVERSION JSB O2AS,I ROUTINE ISZ FPPS BUMP NEXT OPERAND ISZ SPPS BUMP DESTINATION POINT LDA SPPS TEST CPA EPP FOR LAST OPERAND JMP CAID,I YES JMP CLP NO, CONTINUE SKP EOSV NOP STA ASV SAVE A ERA SAVE AND BT15 STA ESV E STA EEACT LDA BT15 SOS TEST FOR CLA O STA OSV SET/CLEAR STA OEACT CLO CLEAR E CLE O LDA ASV RESTORE A JMP EOSV,I EXIT SPC 2 EOCK NOP STA ASV SAVE A STB BSV SAVE B ERA TEST AND BT15 E LDB A SAVE A RAL POSITION BIT IOR EEACT ADD IN EXP VALUE STA EEACT SAVE EXP/ACT E LDA B RESTORE A CPA ESV JMP OCK OK JMP EOE ERROR OCK LDA BT15 SOS TEST FOR CLA O RAL POSITION BIT IOR OEACT ADD IN EXP VALUE STA OEACT SAVE EXP/ACT O LDA BT15 SOS TEST FOR CLA O CPA OSV JMP EOE+1 OK LDA ASV RESTORE A LDB BSV RESTORE B EOE JSB RPOEE REPORT O/E ERROR LDA ASV RESTORE A LDB BSV RELOAD B JMP EOCK,I EXIT SKP RSEI NOP STA ASV SAVE A STB 54þúBSV SAVE B LDA ERFLG LOAD FLAG SZA,RSS IS IT SET ? JMP END EXIT LDA ERFLG TEST CPA B2 FOR WHICH MSG TO USE JMP RSED LDA ISE NO ADA ECSV1 FORM LDB A,I MSG STB MS032+2 FOR INA OUTPUT LDB A,I STB MS032+3 LDA TSTN LOAD TEST NO IOR STS OR IN SUBTEST NO E032 JSB ERMS,I REPORT ERROR DEF MS032 JMP END EXIT RSED LDA ISE ADA ECSV1 FORM LDB A,I MSG STB MS033+2 FOR INA OUTPUT LDB A,I STB MS033+3 LDA TSTN LOAD TEST NO IOR STS OR IN SUBTEST NO E033 JSB ERMS,I REPORT ERROR DEF MS033 END LDA ASV RESTORE A LDB BSV RESTORE B JMP RSEI,I EXIT ISE DEF ISET ISET ASC 02, ISX ASC 02, ISY ASC 02, DSX ASC 02, DSY MS032 ASC 15,E032 ISX INSTR FAILED TO SKIP/ MS033 ASC 19,E033 ISX INSTR SKIP'D BUT SHOULD NOT/ SKP SKP1 NOP STA ASV SAVE A STB BSV LDA SKP1 MOVE STA SKXY RTN POINT LDA XEXP LOAD SKP INDICATOR JMP SKXY+1 SPC 2 SKP2 NOP STA ASV SAVE A STB BSV SAVE B LDA SKP2 MOVE STA SKXY RTN POINT LDA YEXP LOAD SKP INDICATOR JMP SKXY+1 SPC 2 SKXY NOP CCB SZA TEST FOR SKP CORRECT CLB STB ERFLG INITIALIZE FLAG LDA ASV RESTORE A LDB BSV B ISZ SKXY MOVE RTN POINT JMP SKXY,I EXIT SPC 2 SKP11 NOP STA ASV SAVE A STB BSV SAVE B LDA SKP11 MOVE STA SKXY1 RTN POINT LDA XEXP LOAD SKP INDICATOR JMP SKXY1+1 SPC 2 SKP21 NOP STA ASV SAVE A c…B@< STB BSV SAVE B LDA SKP21 MOVE STA SKXY1 RTN POINT LDA YEXP LOAD SKP INDICATOR JMP SKXY1+1 SPC 2 SKXY1 NOP LDB B2 SZA,RSS TEST FOR SKP CORRECT CLB STB ERFLG INITIALIZE FLAG LDA ASV RESTORE A LDB BSV B JMP SKXY1,I EXIT SKP RCK02 NOP STA AACT SAVE A STB BACT B STX XACT X NOP DANGER DO NOT REMOVE STY YACT Y NOP DANGER DO NOT REMOVE CPA AEXP TEST A JMP RCK02,I OK JSB RPIE REPORT INDIRECT ERROR JMP RCK02,I EXIT SPC 2 RCK03 NOP STA AACT SAVE A STB BACT B STX XACT X NOP DANGER DO NOT REMOVE STY YACT Y NOP DANGER DO NOT REMOVE LDA XACT CPA XEXP TEST X RESULTS JMP RCK03,I EXIT JSB RPIE REPORT INDIRECT ERROR JMP RCK03,I EXIT SPC 2 RPIE NOP LDA TSTN LOAD TEST NO IOR STS OR IN SUBTEST NO E040 JSB ERMS,I REPORT ERROR DEF MS040 JMP RPIE,I EXIT LAXM ASC 01,AX LAYM ASC 01,AY LDXM ASC 01,DX MS040 ASC 13,E040 LAX INDIRECT FAILED/ SKP òŽBÿÿ ÿý©¹ ÿ12943-18005 1432 S 0122 12943A 2100 SERIES EIG DIAGNOSTIC             H0101 ìþúCTI NOP LDA SAP LOAD PTR TO INSTR LOC'S STA SAPS SAVE CTI1 LDA SAPS,I LOAD INSTR PTR LDB CTI,I LOAD 1ST INSTR STB A,I STORE INLINE ISZ CTI BUMP PTRS LDA SAPS INA STA SAPS SAVE CPA EAP TEST FOR LAST LOC JMP CTI,I YES, EXIT JMP CTI1 NO, CONTINUE SAPS OCT 0 SAP DEF *+1 DEF ILI0 DEF ILI1 DEF ILI2 DEF ILI3 DEF ILI4 DEF ILI5 DEF ILI6 DEF ILI7 DEF ILI10 DEF ILI11 DEF ILI12 DEF ILI13 EAP DEF * SKP XINT NOP STA ASV SAVE A LDA OPTP1 INITIALIZE PTR STA TPSV TO TST CASES CLA CLEAR STA YFLG Y FLAG LDA BEXP STA YEXP LDY YEXP LOAD Y NOP DANGER DO NOT REMOVE LDA ASV RESTORE A JMP XINT,I EXIT SPC 2 YINT NOP STA ASV SAVE A LDA OPTP1 INITIALIZE PTR STA TPSV TO TST CASES CCA SET STA YFLG Y FLAG LDA BEXP STA XEXP LDX XEXP LOAD X NOP DANGER DO NOT REMOVE LDA ASV RESTORE A JMP YINT,I EXIT HED EXECUTIVE CONTROL ORG 2000B ZSTEX CLC INTP,C TURN I/O SYSTEM OFF JSB MSGC,I DO CRLF DEF ZRTLF LDA HDMP GET INTRODUCTORY MESSAGE STA *+2 JSB MSGC,I OUT PUT IT NOP CLA CLEAR PASS STA ZEOLC COUNT LDB ZSW9 CHECK FOR USER SELECTION REQ JSB SWRT,I JMP ZUSR IT'S USERS CHOICE ZNUSR LDA STDA GET STANDARD TEST RUN LDB STDB * JMP ZEXC * ZUSR LDA ZSINA RETRIEVE PREVIOUS RUN LDB ZSINB HLT 75B WAIT FOR USER INPUT NOP NOP NOP ZEXC STA ZUINA SAVE STB ZUINB USER P@þú STA ZSINA INPUT STB ZSINB PROGRAM LDB ZSW9 CHECK IF SW9 IS DOWN JSB SWRT,I JMP ZUSR NO GO AND WAIT CCA SET TEST NUMBER STA TSTN =-1 CLA STA ZTSTA CLEAR TEST RUN FLAG * * * * * * * * * * * * * * * * SKP ZEXCL LDA ZUINA RESTORE A REG. LDB ZUINB RESTORE B REG. ERA,RAL ROTATE ERB FIRST ERA TEST BIT STA ZUINA SAVE POSITIONS STB ZUINB ISZ TSTN MOVE TEST UP ONE NOP ZXCL1 LDA TSTN ADA TSTP GET IT'S LDA A,I ADDRESS CPA Z.M1 IS IT END OF LIST JMP ZEOL YES LDB ZUINB SSB,RSS SHOULD IT BE RUN? JMP ZEXCL NO STA ZTSTA YES - SAVE TEST ADDRESS JSB ZITCH INITIALIZE TRAP CELL HALTS JSB ZTSTA,I GO DO TEST ZEXRT LDA TSTN DISPLAY TEST NUMBER IF HALTED LDB ZSW15 CHECK FOR HALT AT END OF TEST JSB SWRT,I HLT 76B YES WAIT FOR OPERATOR LDB ZSW9 CHECK FOR ABORT JSB SWRT,I JMP ZUSR YES LDB ZSW13 CHECK FOR LOOP ON ROUTINE JSB SWRT,I JMP ZXCL1 YES - LOOP JMP ZEXCL CONTINUE * ZEOL LDA ZTSTA CHECK IF ANY TESTS WERE RUN SZA,RSS ? JMP ZNUSR NO SO PICK UP STANDARD RUN LDA ZEOLC UP DATE PASS COUNT INA STA ZEOLC CCE LDB ZPSCA GET PASS COUNT ADB Z.2 ADDRESS JSB O2AS,I CONVERT IT JSB MSGC,I CALL PRINT ROUTINE ZPSCA DEF ZPSC LDB ZSW12 CHECK FOR LOOP ON DIAG. JSB SWRT,I JMP *+3 YES LDA ZEOLC HLT 77B NO WAIT AND DISPLAY PASS COUNT LDA ZSINA RESTORE ORIGINAL LDB ZSINB PROGRAM JMP ZEXC DO IT ALL AGAIN * SKP * MESSAGE OUTPUT WITH OUT HALT r‡þú* ZMSGC NOP ENTRY JSB ZMSG OUTPUT MESSAGE OCT 2000 SWITCH 10 CHECK JMP ZMSGC,I RETURN TO CALLER * * MESSAGE OUTPUT WITH HALT * ZMSGH NOP ENTRY JSB ZMSG OUTPUT MESSAGE OCT 2000 SWITCH 10 CHECK LDA ZHLT GET HALT CODE STA *+2 PUT IT IN PLACE LDA ZSAVA RESTORE A REGISTER NOP HALT FOR DISPLAY JMP ZMSGH,I RETURN TO CALLER * * ERROR MESSAGE WITH HALT * ZERMS NOP ENTRY JSB ZMSG OUTPUT MESSAGE OCT 4000 SWITCH 11 CHECK CLA LDB ZSW14 CHECK SWR BIT 14 TO SUPPRESS JSB SWRT,I HALT STA *+3 PUT HALT IN PLACE LDA ZSAVA RESTORE A & B LDB ZSAVB ZHLT NOP WAIT FOR OPERATOR JMP ZERMS,I RETURN TO CALLER * * * * * * * * * * * * * SKP * OUTPUT MESSAGE * ZMSG NOP STA ZSAVA SAVE A AND B REGISTERS STB ZSAVB LDB ZMSG,I GET SWITCH REGISTER BIT LDA ZMSG ADA Z.M2 DECREMENT RETURN ADDRESS STA ZMSG JSB SWRT,I CHECK TO SUPPRESS MESSAGE JMP ZMSG0 YES LDA ZMSG,I CHECK IF ERROR LDA A,I LDA A,I IF SO ALF,ALF AND Z.177 CPA ZA.E JSB ZCFTN CHECK TO OUTPUT TEST NUMBER LDA ZMSG,I NO RETRIEVE FORMAT LDB A,I ADDRESS CLA,CLE JSB FMTR,I ZMSG0 LDA ZMSG,I CONVERT HALT CODE LDB A,I FROM ASCII STRING CCA,CCE JSB AS2N,I STA ZN2AO SAVE RESULT AND Z.300 DECODE LDB ZH2 HALT CODE CPA Z.100 LDB ZH6 CPA Z.200 LDB ZH3 CPA Z.300 LDB ZH7 LDA ZN2AO GET HALT NUMBER AND Z.77 IOR B STA ZHLT SAVE IT ISZ ZMSG,I ADJUST RETURN POINTERS ISZ ZMSG ISZ ZMSG ISZ ZMSG ;dþú LDA ZSAVA RESTORE A AND B REGISTERS LDB ZSAVB JMP ZMSG,I * * * * * * SKP ZCFTN NOP LDA TSTN GET TEST NUMBER CPA ZCFTT IS IT THE SAME ONE? JMP ZCFTN,I YES SKIP OUTPUT STA ZCFTT NO - THEN UPDATE IT JSB ZN2AO CONVERT IT STA ZTSTN PUT IT IN STRING CLA DO A CRLF JSB SLOP,I CLA,CLE INDICATE START OF FORMAT LDB ZTSTF JSB FMTR,I JMP ZCFTN,I RETURN * * * * ZSAVA NOP ZSAVB NOP ZEOLC NOP ZTSTA NOP ZSINA NOP ZSINB NOP ZUINA NOP ZUINB NOP ZBTMP NOP Z.2 OCT 2 Z.7 OCT 7 Z.10 OCT 10 Z.60 OCT 60 Z.77 OCT 77 Z.177 OCT 177 Z.M1 DEC -1 Z.M2 DEC -2 ZD100 DEC -100 ZIOM OCT 177700 ZSW15 OCT 100000 ZSW14 OCT 40000 ZSW13 OCT 20000 ZSW12 OCT 10000 ZS812 OCT 010400 ZSW9 OCT 1000 Z.100 OCT 100 Z.200 OCT 200 Z.300 OCT 300 ZH2 OCT 102000 ZH6 OCT 106000 ZH3 OCT 103000 ZH7 OCT 107000 ZCFTT DEC -1 ZTSTF DEF *+1 ASC 3,TEST ZTSTN ASC 2,XX// ZRTLF ASC 1,// ZPSC ASC 6,PASS XXXXXX/ ZA.E OCT 105 HED GENERAL ROUTINES * * ZN2AO NOP STA ZIOAD SAVE NUMBER AND Z.7 CONVERT FIRST IOR Z.60 NUMBER STA B SAVE IT LDA ZIOAD GET RAR,RAR SECOND RAR NUMBER AND Z.7 CONVERT IOR Z.60 IT ALF,ALF MOVE TO UPPER HALF IOR B ADD LOWER JMP ZN2AO,I AND RETURN * * * * SWITCH REGISTER CHECK * ZSWRT NOP STA ZN2AO SAVE A REGISTER LIA SW GET SWITCH REG. AND B MASK OUT BIT SZA,RSS IS IT UP? ISZ ZSWRT NO LDA ZN2AO RESTORE A REGISTER LIB SW LET B = SWITCH REGISTER JMP ZSWRT,I RETURN TO CALLER * * * * INITIALIZE TRAP CELL HALTS * ZITCH NOP LDA ZTSH GET STARTING TRAP CELL HALT çwþú LDB Z.2 GET FIRST TRAP CELL LOCATION ZTSHL STA B,I PUT IT IN PLACE CPB Z.77 AM I FINISHED JMP ZITCH,I YES INB NEXT ADDRESS JMP ZTSHL * ZTSH OCT 106077 * * * SKP * PUT JSB INSTRUCTION IN TRAP CELL * ZTCJI NOP LDB ZJSBI GET INSTRUCTION STB ZIOSC,I PUT IT IN TRAP CELL LDA ZTCJI,I GET LOCATION STA 3B SAVE IT FOR JSB INSTRUCTION ISZ ZTCJI ADJUST RETURN JMP ZTCJI,I RETURN TO CALLER * ZJSBI JSB 3B,I JSB INSTRUCTION * * * INITIALIZE SELECT CODE I/O INSTRUCTIONS * ZISC NOP STA ZIOSC SAVE SELECT CODE STB ZIOAD SAVE TABLE ADDRESS ZIOL LDB ZIOAD,I GET ADDRESS OF LOCATION CPB Z.M1 IS IT THE TERMINATOR JMP ZISC,I YES RETURN TO CALLER LDA B,I NO - GET CONTENTS AND ZIOM MASK OFF OLD SELECT CODE IOR ZIOSC ADD IN NEW SELECT CODE STA B,I RESTORE IT ISZ ZIOAD MOVE TO NEXT ADDRESS JMP ZIOL DO IT * ZIOSC NOP ZIOAD NOP * * * * ZCEND EQU * HED EIG DIAGNOSTIC - SUBROUTINES ORG ZCEND ISTS NOP CLA INITIALIZE STA BPFLG BYPASS FLAG STA MFLG MEMORY CHECK FLAG STA ERFLG ERROR FLAG ILI0 NOP INSTR LOADS ERROR CODE STA ECSV LDA ST1 SET UP STA STS TEST/SUBTEST NO CLB B= 0'S STB BEXP ILI1 NOP INSTR CALLS EXECUTION ROUTINE CCB B= 1'S STB BEXP ILI2 NOP INSTR CALLS EXECUTION ROUTINE ILI3 NOP INSTR LOADS ERROR CODE STA ECSV LDA ST2 SET UP STA STS TEST/SUBTEST NO CLB B= 0'S STB BEXP ILI4 NOP INSTR CALLS EXECUTION ROUTINE CCB B= 1'S STB BEXP ILI5 NOP INSTR CALLS EXECUTION ROZ¯þúUTINE ILI6 NOP INSTR LOADS ERROR CODE STA ECSV LDA ST3 SET UP STA STS TEST/SUBTEST NO CLA A= 0'S STA AEXP ILI7 NOP INSTR CALLS EXECUTION ROUTINE CCA A= 1'S STA AEXP ILI10 NOP INSTR CALLS EXECUTION ROUTINE ILI11 NOP INSTR LOADS ERROR CODE STA ECSV LDA ST4 SET UP STA STS TEST/SUBTEST NO CLA A= 0'S STA AEXP ILI12 NOP INSTR CALLS EXECUTION ROUTINE CCA A= 1'S STA AEXP ILI13 NOP INSTR CALLS EXECUTION ROUTINE JMP ISTS,I HED EIG (INDEX) DIAGNOSTIC - TEST 0 TST00 EQU * NOP JSB CTI LDA EC11 LOAD ERROR CODE IG1 JSB EXE11 EXECUTION ROUTINE JSB EXE11 EXECUTION ROUTINE LDA EC12 LOAD ERROR CODE JSB EXE12 EXECUTION ROUTINE JSB EXE12 EXECUTION ROUTINE LDA EC13 LOAD ERROR CODE JSB EXE13 EXECUTION ROUTINE JSB EXE13 EXECUTION ROUTINE LDA EC14 LOAD ERROR CODE JSB EXE14 EXECUTION ROUTINE JSB EXE14 EXECUTION ROUTINE JSB ISTS EXECUTE INITIALIZED SUBROUTINE JMP TST00,I EXIT SKP EXE11 NOP CCA INITIALIZE STA BPFLG BYPASS FLAG JSB XINT INITIALIZE PTRS/FLGS EX11 LDA TPSV,I LOAD 1ST TST CASE STA AEXP SAVE STA XEXP LDB BEXP LOAD B CAX X _ A STX XACT M _ X NOP DANGER DO NOT REMOVE JSB RCK01 CHECK RESULTS JMP EX11 LOOP JMP EXE11,I EXIT SPC 2 EXE12 NOP JSB YINT INITIALIZE PTRS/FLGS EX12 LDA TPSV,I LOAD TST CASE STA AEXP SAVE STA YEXP LDB BEXP LOAD B CAY Y _ A STY YACT M _ Y NOP DANGER DO NOT REMOVE JSB RCK01 ø·þú CHECK RESULTS JMP EX12 LOOP JMP EXE12,I EXIT SKP EXE13 NOP JSB XINT INITIALIZE PTRS/FLGS EX13 LDB TPSV,I LOAD TST CASE STB BEXP SAVE STB XEXP LDA AEXP LOAD A CBX X _ B STX XACT M _ X NOP DANGER DO NOT REMOVE JSB RCK01 CHECK RESULTS JMP EX13 LOOP JMP EXE13,I EXIT SPC 2 EXE14 NOP JSB YINT INITIALIZE PTRS/FLGS EX14 LDB TPSV,I LOAD TST CASE STB BEXP SAVE STB YEXP LDA AEXP LOAD A CBY Y _ B STY YACT M _ Y NOP DANGER DO NOT REMOVE JSB RCK01 CHECK RESULTS JMP EX14 LOOP JMP EXE14,I EXIT HED EIG (INDEX) DIAGNOSTIC - TEST 1 TST01 EQU * NOP JSB CTI LDA EC21 LOAD ERROR CODE IG2 JSB EXE21 EXECUTION ROUTINE JSB EXE21 EXECUTION ROUTINE LDA EC22 LOAD ERROR CODE JSB EXE22 EXECUTION ROUTINE JSB EXE22 EXECUTION ROUTINE LDA EC23 LOAD ERROR CODE JSB EXE23 EXECUTION ROUTINE JSB EXE23 EXECUTION ROUTINE LDA EC24 LOAD ERROR CODE JSB EXE24 EXECUTION ROUTINE JSB EXE24 EXECUTION ROUTINE JSB ISTS EXECUTE INITIALIZED SUBROUTINE JMP TST01,I EXIT SKP EXE21 NOP CCA INITIALIZE STA BPFLG BYPASS FLAG JSB XINT INITIALIZE PTRS/FLGS EX21 LDA TPSV,I LOAD TST CASE STA AEXP STA XEXP SAVE LDB BEXP LOAD B CLA LDX XEXP X _ M CXA A _ X STX XACT M _ X NOP DANGER DO NOT REMOVE JSB RCK01 CHECK RESULTS JMP EX21 LOOP JMP EXE21,I EXIT SPC 2 EXE22 NOP JSB YINT INITIALIZE PTRS/FLGS EX22 LDA TPSV,I LOAD TST CASE STA AEXP STA YEXP ´þú SAVE LDB BEXP LOAD B CLA LDY YEXP Y _ M CYA A _ Y STY YACT M _ Y NOP DANGER DO NOT REMOVE JSB RCK01 CHECK RESULTS JMP EX22 LOOP JMP EXE22,I EXIT SKP EXE23 NOP JSB XINT INITIALIZE PTRS/FLGS EX23 LDB TPSV,I STB BEXP SAVE STB XEXP LDA AEXP LOAD A CLB LDX XEXP X _ M CXB B _ X STX XACT M _ X NOP DANGER DO NOT REMOVE JSB RCK01 CHECK RESULTS JMP EX23 LOOP JMP EXE23,I EXIT SPC 2 EXE24 NOP JSB YINT EX24 LDB TPSV,I STB BEXP SAVE STB YEXP LDA AEXP LOAD A CLB LDY YEXP Y _ M CYB B _ Y STY YACT M _ Y NOP DANGER DO NOT REMOVE JSB RCK01 CHECK RESULTS JMP EX24 LOOP JMP EXE24,I EXIT HED EIG (INDEX) DIAGNOSTIC - TEST 2 TST02 EQU * NOP JSB CTI LDA EC31 LOAD ERROR CODE IG3 JSB EXE31 EXECUTION ROUTINE JSB EXE31 EXECUTION ROUTINE LDA EC32 LOAD ERROR CODE JSB EXE32 EXECUTION ROUTINE JSB EXE32 EXECUTION ROUTINE LDA EC33 LOAD ERROR CODE JSB EXE33 EXECUTION ROUTINE JSB EXE33 EXECUTION ROUTINE LDA EC34 LOAD ERROR CODE JSB EXE34 EXECUTION ROUTINE JSB EXE34 EXECUTION ROUTINE JSB ISTS EXECUTE INITIALIZED SUBROUTINE JMP TST02,I EXIT SKP EXE31 NOP JSB XINT INITIALIZE PTRS/FLGS EX31 LDA TPSV,I LOAD TST CASE STA AEXP SAVE CMA STA XEXP LDB BEXP LOAD B LDX AEXP X _ M XAX A _ X X _ A STX XACT M _ X NOP DANGER DO NOT REMOVE JSB RCK01 CHECK RESULTS JMP EX31 LOOP JMP EXE31,I U¾þúEXIT SPC 2 EXE32 NOP JSB YINT INITIALIZE PTRS/FLGS EX32 LDA TPSV,I LOAD TST CASE STA AEXP SAVE CMA STA YEXP LDB BEXP LOAD B LDY AEXP Y _ M XAY A _ Y Y _ A STY YACT M _ Y NOP DANGER DO NOT REMOVE JSB RCK01 CHECK RESULTS JMP EX32 LOOP JMP EXE32,I EXIT SKP EXE33 NOP JSB XINT INITIALIZE PTRS/FLGS EX33 LDB TPSV,I LOAD TST CASE STB BEXP SAVE CMB STB XEXP LDA AEXP LOAD A LDX BEXP X _ M XBX B _ X X _ B STX XACT M _ X NOP DANGER DO NOT REMOVE JSB RCK01 CHECK RESULTS JMP EX33 LOOP JMP EXE33,I EXIT SPC 2 EXE34 NOP JSB YINT INITIALIZE PTRS/FLGS EX34 LDB TPSV,I LOAD TST CASE STB BEXP SAVE CMB STB YEXP LDA AEXP LOAD A LDY BEXP Y _ M XBY B _ Y Y _ B STY YACT M _ Y NOP DANGER DO NOT REMOVE JSB RCK01 CHECK RESULTS JMP EX34 LOOP JMP EXE34,I EXIT HED EIG (INDEX) DIAGNOSTIC - TEST 3 TST03 EQU * NOP JSB CTI LDA EC41 LOAD ERROR CODE IG4 JSB EXE41 EXECUTION ROUTINE JSB EXE41 EXECUTION ROUTINE LDA EC42 LOAD ERROR CODE JSB EXE42 EXECUTION ROUTINE JSB EXE42 EXECUTION ROUTINE LDA EC43 LOAD ERROR CODE JSB EXE43 EXECUTION ROUTINE JSB EXE43 EXECUTION ROUTINE LDA EC44 LOAD ERROR CODE JSB EXE44 EXECUTION ROUTINE JSB EXE44 EXECUTION ROUTINE JSB ISTS EXECUTE INITIALIZED SUBROUTINE JMP TST03,I EXIT SKP EXE41 NOP JSB XINT INITIALIZE PTRS/FLGS EX41 LDA TPSV,I LOAD TST CASE STA AEXP SAVE INA STA XEXP CLA æ‰þú STA ECSV1 SAVE ERROR CODE LDB BEXP LOAD B LDA AEXP RELOAD A LDX AEXP X _ M ISX X _ X+1 JSB SKP1 CHECK SKP CONDITION JSB SKP11 CHECK SKP CONDITION STX XACT M _ X NOP DANGER DO NOT REMOVE JSB RSEI REPORT SKP ERROR IF PRESENT JSB RCK01 CHECK RESULTS JMP EX41 LOOP JMP EXE41,I EXIT SPC 2 EXE42 NOP JSB YINT INITIALIZE PTRS/FLGS EX42 LDA TPSV,I LOAD TST CASE STA AEXP SAVE INA STA YEXP LDA B2 STA ECSV1 SAVE ERROR CODE LDB BEXP LOAD B LDA AEXP RELOAD A LDY AEXP Y _ M ISY Y _ Y+1 JSB SKP2 CHECK SKP CONDITION JSB SKP21 CHECK SKP CONDITION STY YACT M _ X NOP DANGER DO NOT REMOVE JSB RSEI REPORT SKP ERROR IF PRESENT JSB RCK01 CHECK RESULTS JMP EX42 LOOP JMP EXE42,I EXIT SKP EXE43 NOP JSB XINT INITIALIZE PTRS/FLGS EX43 LDA TPSV,I LOAD TST CASE STA AEXP SAVE ADA DM1 STA XEXP LDA B4 STA ECSV1 SAVE ERROR CODE LDB BEXP LOAD B LDA AEXP RELOAD A LDX AEXP X _ M DSX X _ X-1 JSB SKP1 CHECK SKP CONDITION JSB SKP11 CHECK SKP CONDITION STX XACT M _ X NOP DANGER DO NOT REMOVE JSB RSEI REPORT ERROR IF PRESENT JSB RCK01 CHECK RESULTS JMP EX43 LOOP JMP EXE43,I EXIT SPC 2 EXE44 NOP JSB YINT INITIALIZE PTRS/FLGS EX44 LDA TPSV,I LOAD TST CASE STA AEXP SAVE ADA DM1 STA YEXP LDA B6 STA ECSV1 SAVE ERROR CODE LDB BEXP LOAD B LDA AEXP RELOAD A LDY AEXP Y _ M DSY Y _ Y-1 JSB SKP2 CHECK SKP :þúCONDITION JSB SKP21 CHECK SKP CONDITION STY YACT M _ Y NOP DANGER DO NOT REMOVE JSB RSEI REPORT ERROR IF PRESENT JSB RCK01 CHECK RESULTS JMP EX44 LOOP JMP EXE44,I EXIT HED EIG (INDEX) DIAGNOSTIC - TEST 4 TST04 EQU * NOP JSB CTI LDA EC51 LOAD ERROR CODE IG5 JSB EXE51 EXECUTION ROUTINE JSB EXE51 EXECUTION ROUTINE LDA EC52 LOAD ERROR CODE JSB EXE52 EXECUTION ROUTINE JSB EXE52 EXECUTION ROUTINE LDA EC53 LOAD ERROR CODE JSB EXE53 EXECUTION ROUTINE JSB EXE53 EXECUTION ROUTINE LDA EC54 LOAD ERROR CODE JSB EXE54 EXECUTION ROUTINE JSB EXE54 EXECUTION ROUTINE JSB ISTS EXECUTE INITIALIZED SUBROUTINE JMP TST04,I EXIT SKP EXE51 NOP JSB XINT INITIALIZE PTRS/FLGS EX51 LDA TPSV,I LOAD TST CASE STA AEXP SAVE CLE CLEAR E CLO O ADA OP1 STA XEXP JSB EOSV LDB BEXP LOAD B LDA AEXP RELOAD A LDX AEXP X _ M ADX OP1 X _ X + M STX XACT M _ X NOP DANGER DO NOT REMOVE JSB EOCK CHECK E/O RESULTS JSB RCK01 CHECK RESULTS JMP EX51 LOOP JMP EXE51,I EXIT SPC 2 EXE52 NOP JSB YINT INITIALIZE PTRS/FLGS EX52 LDA TPSV,I LOAD TST CASE STA AEXP SAVE CLE CLEAR E CLO O ADA OP1 STA YEXP JSB EOSV LDB BEXP LOAD B LDA AEXP RELOAD A LDY AEXP Y _ M ADY OP1 Y _ Y + M STY YACT M _ Y NOP DANGER DO NOT REMOVE JSB EOCK CHECK E/O RESULTS JSB RCK01 CHECK RESULTS JMP EX52 LOOP JMP EXE52,I EXIT SKP MHFBBHÿÿ ÿýª» ÿ12943-18006 1432 S 0122 12943A 2100 SERIES EIG DIAGNOSTIC             H0101 ìþúEXE53 NOP JSB XINT INITIALIZE PTRS/FLGS EX53 LDA TPSV,I LOAD TST CASE STA AEXP SAVE CLE CLEAR E CLO O ADA OP2 STA XEXP JSB EOSV LDB BEXP LOAD B LDA AEXP RELOAD A LDX AEXP X _ M ADX OP2 X _ X + M STX XACT M _ X NOP DANGER DO NOT REMOVE JSB EOCK CHECK E/O RESULTS JSB RCK01 CHECK RESULTS JMP EX53 LOOP JMP EXE53,I EXIT SPC 2 EXE54 NOP JSB YINT INITIALIZE PTRS/FLGS EX54 LDA TPSV,I LOAD TST CASE STA AEXP SAVE CLE CLEAR E CLO O ADA OP2 STA YEXP JSB EOSV LDB BEXP LOAD B LDA AEXP RELOAD A LDY AEXP Y _ M ADY OP2 Y _ Y + M STY YACT M _ X NOP DANGER DO NOT REMOVE JSB EOCK CHECK E/O RESULTS JSB RCK01 CHECK RESULTS JMP EX54 LOOP JMP EXE54,I EXIT HED EIG (INDEX) DIAGNOSTIC - TEST 5 TST05 EQU * NOP JSB CTI LDA EC61 LOAD ERROR CODE IG6 JSB EXE61 EXECUTION ROUTINE JSB EXE61 EXECUTION ROUTINE LDA EC62 LOAD ERROR CODE JSB EXE62 EXECUTION ROUTINE JSB EXE62 EXECUTION ROUTINE LDA EC63 LOAD ERROR CODE JSB EXE63 EXECUTION ROUTINE JSB EXE63 EXECUTION ROUTINE LDA EC64 LOAD ERROR CODE JSB EXE64 EXECUTION ROUTINE JSB EXE64 EXECUTION ROUTINE JSB ISTS EXECUTE INITIALIZED SUBROUTINE JMP TST05,I EXIT SKP EXE61 NOP JSB XINT INITIALIZE PTRS/FLGS CCA INITIALIZE STA CTSV COUNTER EX61 LDA TPSV,I LOAD TST CASE STA AEXP SAVE LDB BEXP LOAD B LDA CTSV INA STA CTSV STA XEXP LDX CTSV ëþú X _ M LAX OPT1 A _ M(X) STX XACT M _ X NOP DANGER DO NOT REMOVE JSB RCK01 CHECK RESULTS JMP EX61 LOOP JMP EXE61,I EXIT SPC 2 EXE62 NOP JSB YINT INITIALIZE PTRS/FLGS CCA INITIALIZE STA CTSV COUNTER EX62 LDA TPSV,I LOAD TST CASE STA AEXP LDB BEXP LOAD B LDA CTSV INA STA CTSV STA YEXP LDY CTSV Y _ M LAY OPT1 A _ M(Y) STY YACT M _ Y NOP DANGER DO NOT REMOVE JSB RCK01 CHECK RESULTS JMP EX62 LOOP JMP EXE62,I EXIT SKP EXE63 NOP JSB XINT INITIALIZE PTRS/FLGS CCB INITIALIZE STB CTSV COUNTER EX63 LDB TPSV,I LOAD TST CASE STB BEXP SAVE LDA AEXP LOAD A LDB CTSV INB STB CTSV STB XEXP LDX CTSV X _ M LBX OPT1 B _ M(X) STX XACT M _ X NOP DANGER DO NOT REMOVE JSB RCK01 CHECK RESULTS JMP EX63 LOOP JMP EXE63,I EXIT SPC 2 EXE64 NOP JSB YINT INTIIALIZE PTRS/FLGS CCB INITIALIZE STB CTSV COUNTER EX64 LDB TPSV,I LOAD TST CASE STB BEXP SAVE LDA AEXP LOAD A LDB CTSV INB STB CTSV STB YEXP LDY CTSV Y _ M LBY OPT1 B _ M(Y) STY YACT M _ Y NOP DANGER DO NOT REMOVE JSB RCK01 CHECK RESULTS JMP EX64 LOOP JMP EXE64,I EXIT HED EIG (INDEX) DIAGNOSTIC - TEST 6 TST06 EQU * NOP JSB CTI LDA EC71 LOAD ERROR CODE IG7 JSB EXE71 EXECUTION ROUTINE JSB EXE71 EXECUTION ROUTINE LDA EC72 LOAD ERROR CODE JSB EXE72 EXECUTION ROUTINE JSB EXE72 EXECUTION ROUTINE äøþú LDA EC73 LOAD ERROR CODE JSB EXE73 EXECUTION ROUTINE JSB EXE73 EXECUTION ROUTINE LDA EC74 LOAD ERROR CODE JSB EXE74 EXECUTION ROUTINE JSB EXE74 EXECUTION ROUTINE JSB ISTS EXECUTE INITIALIZED SUBROUTINE JMP TST06,I EXIT SKP EXE71 NOP CCA INITIALIZE STA MFLG MEMORY CHECK FLAG JSB XINT INITIALIZE PTRS/FLGS CCA INITIALIZE STA CTSV COUNTER LDA OPTS1 STA BUFS EX71 LDA TPSV,I LOAD TST CASE STA AEXP SAVE STA MEXP LDB BEXP LOAD B LDA CTSV INA STA CTSV STA XEXP CLA CLEAR STA BUFS,I BUFFER LDA AEXP RELOAD B LDX CTSV X _ M SAX OPTS M(X) _ A STX XACT M _ X NOP DANGER DO NOT REMOVE STB BSV LDB BUFS,I STB MACT LDB BSV ISZ BUFS MOVE PTR TO NXT BUFFER LOC JSB RCK01 CHECK RESULTS JMP EX71 LOOP JMP EXE71,I EXIT SPC 2 EXE72 NOP JSB YINT INITIALIZE PTRS/FLGS CCA INITIALIZE STA CTSV COUNTER LDA OPTS1 STA BUFS EX72 LDA TPSV,I LOAD TST CASE STA AEXP SAVE STA MEXP LDB BEXP LOAD B LDA CTSV INA STA CTSV STA YEXP CLA CLEAR STA BUFS,I BUFFER LDA AEXP RELOAD LDY CTSV Y _ M SAY OPTS M(Y) _ A STY YACT M _ Y NOP DANGER DO NOT REMOVE STB BSV LDB BUFS,I STB MACT LDB BSV ISZ BUFS JSB RCK01 CHECK RESULTS JMP EX72 LOOP JMP EXE72,I MOVE PTR TO NXT BUFFER LOC SKP EXE73 NOP JSB XINT INITIALIZE PTRS/FLGS CCB INITIALIZE STB CTSV .ùþú COUNTER LDB OPTS1 STB BUFS EX73 LDB TPSV,I LOAD TST CASE STB BEXP SAVE STB MEXP LDA AEXP LOAD A LDB CTSV INB STB CTSV STB XEXP CLB CLEAR STB BUFS,I BUFFER LDB BEXP RELOAD LDX CTSV X _ M SBX OPTS M(X) _ B STX XACT M _ X NOP DANGER DO NOT REMOVE STA ASV LDA BUFS,I STA MACT LDA ASV ISZ BUFS MOVE PTR TO NXT BUFFER LOC JSB RCK01 CHECK RESULTS JMP EX73 LOOP JMP EXE73,I EXIT SPC 2 EXE74 NOP JSB YINT INITIALIZE PTRS/FLGS CCB INITIALIZE STB CTSV COUNTER LDB OPTS1 STB BUFS EX74 LDB TPSV,I LOAD TST CASE STB BEXP SAVE STB MEXP LDA AEXP LOAD A LDB CTSV INB STB CTSV STB YEXP CLB CLEAR STB BUFS,I BUFFER LDB BEXP RELOAD LDY CTSV Y _ M SBY OPTS M(Y) _ B STY YACT M _ Y NOP DANGER DO NOT REMOVE STA ASV LDA BUFS,I STA MACT LDA ASV ISZ BUFS JSB RCK01 CHECK RESULTS JMP EX74 LOOP JMP EXE74,I MOVE PTR TO NXT BUFFER LOC HED EIG (INDEX) DIAGNOSTIC - TEST 7 ORG 4000B TST07 EQU * NOP LDA JDP1 SET UP STA YEXP Y EXP MLOC JLY LOC1 EXECUTE JLY NOP DANGER DO NOT REMOVE LDA ST1 SET UP IOR TSTN TEST/SUBTEST NO E041 JSB ERMS,I REPORT ERROR - NO JMP DEF MS041 JMP JLYI GO TO NEXT TEST LOC1 STY YACT SAVE Y NOP DANGER DO NOT REMOVE LDA YEXP CPA YACT TEST Y RESULTS JMP JLYI OK LDA ST1 SET UP IOR TSTN TEST/SUBTEST NO E042 JSB ERMS,I REPORT ERROR -‰Ïþú Y INCORRECT DEF MS042 SPC 2 JLYI LDA JDP2 SET UP STA YEXP Y EXP MLOC1 JLY LOCI,I EXECUTE JLY I NOP DANGER DO NOT REMOVE LDA ST2 SET UP IOR TSTN TEST/SUBTEST NO E043 JSB ERMS,I REPORT ERROR - NO JMP I DEF MS043 JMP JPYT GO TO NEXT TEST LOC2 STY YACT SAVE Y NOP DANGER DO NOT REMOVE LDA YEXP CPA YACT TEST Y RESULTS JMP JPYT OK LDA ST2 SET UP IOR TSTN TEST/SUBTEST NO E044 JSB ERMS,I REPORT ERROR - Y INCORRECT DEF MS044 SPC 2 JPYT LDA RTNP SET UP STA YEXP Y EXP LDY RTNP Y _ M JPY 0 EXECUTE JPY NOP DANGER DO NOT REMOVE LDA ST3 SET UP IOR TSTN TEST/SUBTEST NO E045 JSB ERMS,I REPORT ERROR - NO JMP DEF MS045 JMP TSTE GO TO END RTN STY YACT SAVE Y NOP DANGER DO NOT REMOVE LDA YEXP CPA YACT TEST Y RESULTS JMP TSTE OK LDA ST3 SET UP IOR TSTN TEST/SUBTEST NO E046 JSB ERMS,I REPORT ERROR - Y INCORRECT DEF MS046 TSTE JMP TST07,I EXIT RTNP DEF RTN JDP1 DEF MLOC+2 JDP2 DEF MLOC1+2 LOCI DEF LOCI1,I LOCI1 DEF LOC2 DISP1 OCT 0 MS041 ASC 15,E041 JLY INSTR FAILED TO JMP/ MS042 ASC 19,E042 JLY INSTR JMP'D BUT Y INCORRECT/ MS043 ASC 16,E043 JLY INSTR FAILED TO JMP,I/ MS044 ASC 23,D044 JLY INSTR JMP'D INDIRECT BUT Y INCORRECT/ MS045 ASC 15,E045 JPY INSTR FAILED TO JMP/ MS046 ASC 19,E046 JPY INSTR JMP'D BUT Y INCORRECT/ HED EIG (INDEX) DIAGNOSTIC - TEST 8 TST10 EQU * NOP LDA OP1 LOAD OPERAND STA XEXP SAVE A STA AEXP LDX A LOAD X STX XACT SAVE X NOP DANGER DO NOT REMOVE STA AACT LDA XEXP RELOAD A CPA XACT TEST X RESULT 0cþú RSS OK JSB E034 REPORT ERROR SPC 2 LDB OP2 LOAD OPERAND STB XEXP SAVE B STB BEXP LDX B LOAD X STX XACT SAVE X NOP DANGER DO NOT REMOVE STB BACT LDB OP2 RELOAD B CPB XACT TEST X RESULT RSS OK JSB E035 REPORT ERROR SPC 2 LDA OP1 LOAD A CLB LOAD B STB AEXP SAVE STB XEXP LDX AEXP LOAD X STX A SAVE IN A STX XACT NOP DANGER DO NOT REMOVE STA AACT SAVE A CPA AEXP TEST A RESULT RSS OK JSB E036 REPORT ERROR SPC 2 LDB OP2 LOAD B CCA LOAD A STA BEXP SAVE STA XEXP LDX BEXP LOAD X STX B SAVE X IN B STX XACT NOP DANGER DO NOT REMOVE STB BACT SAVE B CPB BEXP TEST B RESULT JMP TST10,I EXIT LDA ST4 SET UP IOR TSTN TEST/SUBTEST NO E037 JSB ERMS,I REPORT ERROR DEF MS037 JMP TST10,I EXIT E034 NOP LDA ST1 SET UP IOR TSTN TEST/SUBTEST NO JSB ERMS,I REPORT ERROR DEF MS034 JMP E034,I EXIT E035 NOP LDA ST2 SET UP IOR TSTN TEST/SUBTEST NO JSB ERMS,I REPORT ERROR DEF MS035 JMP E035,I EXIT E036 NOP LDA ST3 SET UP IOR TSTN TEST/SUBTEST NO JSB ERMS,I REPORT ERROR DEF MS036 JMP E036,I EXIT MS034 ASC 09,E034 LDX A FAILED/ MS035 ASC 09,E035 LDX B FAILED/ MS036 ASC 09,E036 STX A FAILED/ MS037 ASC 09,E037 STX B FAILED/ HED EIG (INDEX) DIAGNOSTIC - TEST 9 TST11 EQU * NOP CLA STA BPFLG CLEAR STA ERFLG STA MFLG FLAGS LDA EC61 INITIALIZE ST‚ðþúA ECSV ERROR CODE LDA LAXM SET UP STA MS040+3 MESSAGE LDA ST1 SET UP STA STS TEST/SUBTEST NO CCB SET UP STB BEXP B STB YEXP Y LDA OPT1+7 STA AEXP A LDA B7 STA XEXP X CLA LOAD A STA YFLG LDY YEXP LDX XEXP M _ M LAX OPTP1,I A _ M(X),I NOP DANGER DO NOT REMOVE JSB RCK02 CHECK RESULTS SPC 2 LDA EC62 INITIALIZE STA ECSV ERROR CODE LDA LAYM SET UP STA MS040+3 MESSAGE LDA ST2 SET UP STA STS TEST/SUBTEST NO LDB OP1 SET UP STB BEXP B STB XEXP X LDA OPT1+10 STA AEXP A LDA D10 STA YEXP Y STA YFLG CLA LOAD A LDY YEXP Y _ M LDX XEXP X _ M LAY OPP1,I A _ M(Y),I NOP DANGER DO NOT REMOVE JSB RCK02 CHECK RESULTS SPC 2 LDA EC101 INITIALIZE STA ECSV ERROR CODE LDA LDXM SET UP STA MS040+3 MESSAGE LDA ST3 SET UP STA STS TEST/SUBTEST NO CLB SET UP STB BEXP B STB YEXP Y CLA STA YFLG CCA STA AEXP A LDA OPP2,I STA XEXP X CCA LOAD A LDY YEXP Y _ M LDX OPP2,I X _ M(I) NOP DANGER DO NOT REMOVE JSB RCK03 CHECK RESULTS SPC 2 LDA EC102 INITIALIZE STA ECSV ERROR CODE LDA ST4 SET UP STA STS TEST/SUBTEST NO LDB OP2 SET UP STB BEXP B STB NñþúYEXP Y STB XACT LDA OPTP1,I STA AEXP A STA XEXP X LDA OPTP1 A _ M LDY YEXP Y _ M LDX A,I X _ A(I) NOP DANGER DO NOT REMOVE JSB RCK03 CHECK RESULTS JMP TST11,I EXIT HED EIG (INDEX) DIAGNOSTIC - TEST 10 TST12 EQU * NOP JSB MPCK CHECK FOR MEMORY PROTECT PRESENT JMP TST12,I EXIT LDA FN1 SET UP OTA MP FENCE LDA JMP1 SET UP STA MP RETURN POINT LDA LAXM SET UP STA MS050+3 ERROR STA MS051+3 MESSAGES CLA STA NEL MEMORY LDA INT1 STA INTS LDA ST1 SET UP STA STS TEST/SUBTEST NO LDA CT INITIALIZE STA LOCS COUNTER LDA SAYP STA RTNS SAVE RTN POINT STF INTP TURN ON INTS STC MP TURN ON MP LDA OP1 LOAD A LDX DISP1 LOAD X INT1 SAX NEL CAUSE M.P. INT NOP DANGER DO NOT REMOVE CLF INTP FORCE INT ISZ LOCS INCREMENT COUNT JMP *-2 LOOP OCT 106010 M.P. NOT INSTALLED / CLF 0 ERROR JMP TST12,I EXIT SPC 2 SAYT LDA FN1 SET UP OTA MP FENCE LDA JMP1 SET UP STA MP RETURN POINT LDA LAYM SET UP STA MS050+3 ERROR STA MS051+3 MESSAGES CLA CLEAR STA NEL MEMORY LDA INT2 SET UP STA INTS INT CHECK LDA ST2 SET UP STA STS TEST/SUBTEST NO LDA CT INITIALIZE STA LOCS COUNTER LDA STXP STA RTNS SAVE RTN POINT STF INTP TURN ON INTS STC MP TURN ON MP LDA OP1 LOAD A LDY #7þúDISP1 LOAD Y INT2 SAY NEL CAUSE M.P. INT NOP DANGER DO NOT REMOVE CLF INTP FORCE INT ISZ LOCS INCREMENT COUNT JMP *-2 LOOP OCT 106010 M.P. NOT INSTALLED / CLF 0 ERROR JMP TST12,I EXIT SPC 2 STXT LDA FN1 SET UP OTA MP FENCE LDA JMP1 SET UP STA MP RETURN POINT LDA STXM SET UP STA MS050+3 ERROR STA MS051+3 MESSAGES CLA CLEAR STA NEL MEMORY LDA INT3 SET UP STA INTS INT CHECK LDA ST3 SET UP STA STS TEST/SUBTEST NO LDA CT INITIALIZE STA LOCS COUNTER LDA STYP STA RTNS SAVE RTN POINT STF INTP TURN ON INTS STC MP TURN ON MP LDX OP1 LOAD X INT3 STX NEL CAUSE M.P. INT NOP DANGER DO NOT REMOVE CLF INTP FORCE INT ISZ LOCS INCREMENT COUNT JMP *-2 LOOP OCT 106010 M.P. NOT INSTALLED / CLF 0 ERROR JMP TST12,I EXIT SPC 2 STYT LDA FN1 SET UP OTA MP FENCE LDA JMP1 SET UP STA MP RETURN POINT LDA STYM SET UP STA MS050+3 ERROR STA MS051+3 MESSAGE CLA SET UP STA NEL MEMORY LDA INT4 SET UP STA INTS INT CHECK LDA ST4 SET UP STA STS TEST/SUBTEST NO LDA CT INITIALIZE STA LOCS COUNTER LDA TEXT STA RTNS SAVE RETURN STF INTP TURN ON INTS STC MP TURN ON MP LDY OP1 LOAD Y INT4 STY NEL CAUSE M.P. INT NOP DANGER DO NOT REMOVE CLF INTP FORCE INT ISZ LOCS INCREMENT COUNT JMP *-2 LOOP“Aþú OCT 106010 M.P. NOT INSTALLED / CLF 0 ERROR LSTST JMP TST12,I EXIT SPC 2 JP1R CLF INTP TURN OFF INTS LDA TSTN SET UP IOR STS TEST/SUBTEST NO LIB MP GET VIOLATION ADDR SSB,RSS JMP *+3 OCT 106005 JMP *-1 LIA MP RELOAD VIOLATION REGISTER LDA A,I GET INSTR AT LOC CPA INTS TEST FOR CORRECT INSTR JMP CN1 YES LDA TSTN LOAD TEST NO IOR STS OR IN SUBTEST NO E050 JSB ERMS,I REPORT ERROR DEF MS050 JMP RTNS,I GO TO NEXT TEST CN1 LDA NEL IS MEMORY SZA,RSS CHANGED JMP RTNS,I NO LDA TSTN LOAD TEST NO IOR STS OR IN SUBTEST NO E051 JSB ERMS,I REPORT ERROR DEF MS051 JMP RTNS,I GO TO NEXT TEST NEL OCT 77 FN1 DEF TEXT RTNS OCT 0 INTS OCT 0 STXM ASC 01,TY STYM ASC 01,TX SAYP DEF SAYT STXP DEF STXT STYP DEF STYT TEXT DEF LSTST MS050 ASC 18,E050 SAX INSTR DID NOT CAUSE MP INT/ MS051 ASC 20,E051 SAX INSTR CAUSED MP INT BUT MEMORY OCT 6412 ASC 09,WAS NOT PROTECTED/ SPC 2 MPCK NOP LDA CPTO LOAD OPTION WORD AND MPBT SZA,RSS TEST FOR MP PRESENT JMP MP1 NO ISZ MPCK YES MOVE RTN POINT JMP MPCK,I EXIT MP1 JSB MSGC,I REPORT MP NOT PRESENT DEF MS047 JMP MPCK,I MS047 ASC 20,H047 MEMORY PROTECT OPTION NOT PRESENT/ HED EIG (INDEX) DIAGNOSTIC - TEST 11 TST13 EQU * NOP JSB MPCK CHECK FOR MEMORY PROTECT PRESENT JMP TST13,I EXIT LDA FN2 SET UP OTA MP FENCE LDA CT INITIALIZE STA LOCS COUNTER LDA JMP2 SET UP STA MP RETURN STF INTP TURN ON INTS STC MP TURN ON M.P. INT5 JLY MPV1 EXECUTE JLY NOP DANGER DO NOT REMOVE ž²þú CLF INTP FORCE INT ISZ LOCS INCREMENT COUNT JMP *-2 LOOP OCT 106010 M.P. NOT INSTALLED / CLF 0 ERROR JMP TST13,I EXIT MPV1 CLF INTP FORCE M.P. INT JMP *-1 HANG SPC 2 JPYT1 LDA FN2 SET UP OTA MP FENCE LDA CT INITIALIZE STA LOCS COUNTER LDA JMP3 SET UP STA MP RETURN STF INTP TURN ON INTS STC MP TURN ON M.P. LDY OPT1 INT6 JPY MPV2 EXECUTE JPY NOP DANGER DO NOT REMOVE CLF INTP FORCE INT ISZ LOCS INCREMENT COUNT JMP *-2 LOOP OCT 106010 M.P. NOT INSTALLED / CLF 0 ERROR JMP TST13,I EXIT MPV2 CLF INTP FORCE M.P. INT JMP *-1 HANG SPC 2 JP2R CLF INTP TURN OFF INTS LDA TSTN SET UP IOR ST1 OR IN SUBTEST NO LIB MP GET VIOLATION ADDR SSB,RSS JMP *+3 OCT 106005 JMP *-1 LIA MP RELOAD VIOLATION REGISTER LDA A,I GET CONTENTS CPA INT5 CORRECT CONTENTS JMP JPYT1 GO TO NEXT TEST LDA ST1 SET UP IOR TSTN TEST/SUBTEST NO E054 JSB ERMS,I REPORT ERROR DEF MS054 JMP JPYT1 GO TO NEXT TEST SPC 2 JP3R CLF INTP TURN OFF INTS LDA TSTN SET UP IOR ST2 OR IN SUBTEST NO LIB MP GET VIOLATION ADDR SSB,RSS JMP *+3 OCT 106005 JMP *-1 LIA MP RELOAD VIOLATION REGISTER LDA A,I GET CONTENTS CPA INT6 CONTENTS CORRECT LSTTE JMP TST13,I EXIT LDA ST2 SET UP IOR TSTN TEST/SUBTEST NO E056 JSB ERMS,I REPORT ERROR DEF MS056 JMP LSTTE FN2 DEF LSTTE MS054 ASC 19,E054 JLY INSTR FAILED TO CAUSE MP INT ASC 01,/ MS056 ASC 19,E056 JPY INSTR FAILED TO CAUSE MP INT !gHFB ASC 01,/ SKP LDA ECPT ROUTINE STA ECPTS TO ELP LDA ECPTS CHECK STA ECSV ALL JSB RPER1 CODED ISZ ECPTS ERROR LDA ECPTS MESSAGES CPA ECLE HLT 66B JMP ELP ECPT DEF EC11 ECPTS OCT 0 ECLE DEF EC74+1 FWAA EQU * END „NHÿÿ ÿý«¼ ÿ12960-18001 1805 S 0122 DIAG-7900/7901              H0101 ”¼þúASMB,A,B,L,C HED 7900/7901 CARTRIDGE DISC DIAGNOSTIC FOR 2100 SERIES * 7900/7901 CARTRIDGE DISC DIAGNOSTIC FOR 2100 SERIES COMPUTERS * * CONFIGURATION ADDRESS = 100B * * STARTING ADDRESS = 2000B * * SWITCH REGISTER DURING CONFIGURATION * BITS 0-5 SELECT CODE FOR THE I/O CHANNEL CONTAINING THE * DATA INTERFACE FOR THE DISC * THE COMMAND CHANNEL INTERFACE BOARD IS THE NEXT * HIGHER SELECT CODE * BITS 6-13 SPARES * BIT 14 SET TO ZERO FOR DMA CHANNEL 6 * * SWITCH REGISTER DURING EXECUTION * * BIT 0 NOT USED * BIT 1 SKIP TO END OF SECTION ONCE WHEN SET * BIT 2 IF SET TO ONE,ALTER CYLINDER TABLE AND/OR * PATTERN TABLE AND/OR SELECT HEADS * AND/OR CHANGE UNIT REMOVAL THRESHOLD * AND/OR ALTER UNIT TABLE * BIT 3 IF SET TO ONE,EXECUTE OPERATOR DESIGN PROGRAM * BIT 4 IF SET TO ONE, EXECUTE WRITE * ADDRESS PART OF S1 * BIT 5 IF SET TO ONE,SHORTEN TEST IN S2,S3,S4 AND S5 * BIT 6 IF SET TO ONE,RESTRICT CYLINDER SELECTION * BIT 7 IF SET TO ONE,REPEAT LAST SECTION * BIT 8 SUPPRESS SPACES,PRINT H65 INDEPENDENT OF BIT 10 * IF ERROR OCCURS. * BIT 9 IF SET TO ONE,HALT AFTER EACH SECTION OF THE * PROGRAM * BIT 10 IF SET TO ONE,ALL NON-ERROR MESSAGES FOR THE * TELEPRINTER WILL BE SUPPRESSED,EXCEPT CURRENT * OPERATION MESSAGES AND H51 * BIT 11 IF SET TO ONE,ALL MESSAGES FOR THE TELEPRINTER * WILL BE SUPPRESSED * BIT 12 IF SET TO ONE, PRINT TIMING MESSAGES * IN S2 AND S4 * BIT 13 IF SET TO ONE,LOOP ON LAST STEP * BIT 14 IF SET TO ZERO,PROGRAM HALTS AFTER EACH ERROR * BIT 15 IF SET TO ONkþúE,PROGRAM WILL COME TO AN ORDERLY * HALT AT THE END OF CURRENT STEP * ORG 100B JMP CNFIG,I CONFIGURE PROGRAM ORG 105B TO DEFINE ENDING ADDRESS FOR SIO DUMP DEF PEND ENDING LOCATION OF PROGRAM ORG 126B OCT 151302 DSN=151302,REV=1805 (1-10-78) ORG 130B * * CURRENT OPERATION (LOOP ADDRESS) * COPR NOP STA STEPN CAPTURE RETURN JMP COPR,I ADDRESS * A EQU 0 A REGISTER ADDRESS B EQU 1 B REGISTER ADDRESS CC EQU 0 THIS SYMBOL IS USED AT ALL PLACES * WHERE THE COMMAND CHANNEL NUMBER * IS STORED CH EQU 0 THIS SYMBOL IS USED AT ALL * PLACES WHERE BOTH CHANNELS ARE * STORED IN BASIC I/O DC EQU 0 THIS SYMBOL IS USED AT ALL * PLACES WHERE THE DATA CHANNEL * NUMBER IS STORED DMAC EQU 2 DMA CONTROL CHANNEL DMAD EQU DMAC+4 DMA INTERRUPT CHANNEL SIOLO EQU 102B ENTRY ADDRESS FOR SIO LIST OUTPUT SIOFO EQU 103B ENTRY ADDRESS FOR FAST OUTPUT * SZREF EQU 0 APPEARS WHERE A REFERENCE DEPENDS * ON THE SECTOR SIZE. * MSIZE EQU 117B MEMORY SIZE TMR EQU 121B LINK TO ONE MSEC TIME DELAY I2ASC EQU 123B LINK TO INTEGER TO ASCII CONV. O2ASC EQU 124B LINK TO OCTAL TO ASCII CONV. * ATTN BSS 1 BILD BSS 1 BPTRA BSS 1 BUFAD BSS 1 PRIMARY BUFFER ADDRESS BUFAE BSS 1 SECONDARY BUFFER ADDRESS CC7 OCT 0 CCHAR BSS 1 CCNT BSS 1 CH13 NOP CLOAD BSS 1 COPRN NOP CPNT BSS 1 CPONT BSS 1 CSAVE BSS 1 CSTOR BSS 1 CYL BSS 1 CYLINDER NUMBER CYLX BSS 1 DC14 OCT 0 DFLT BSS 1 DMRF BSS 1 DMA ERROR INDICATOR ELOC BSS 1 LAST ERROR NUMBER ERR BSS 1 NUMBER OF ERRORS FIRST BSS ãfþú1 USED IN S4 FL6 BSS 1 FSAVE BSS 1 GLOB1 BSS 1 GLOB2 BSS 1 GLOB3 BSS 1 GLOB4 BSS 1 GLOB5 BSS 1 GLOB6 BSS 1 HDON OCT 0 HEAD BSS 1 BITS 6 - 0 HEAD NUMBER HFLAG OCT 0 IFRST BSS 1 ISR BSS 1 LABEL BSS 1 LABLC OCT 0 LBLP1 BSS 1 LBLP2 BSS 1 LCNT BSS 1 LOCAL BSS 1 LWAM BSS 1 LAST WORD OF AVAILABLE MEMORY MAX DEC 20 NO. OF ERRORS FOR UNIT REMOVAL MDFLG BSS 1 SET TO 14B FOR MULTI-DRIVE NEWBD OCT 0 INDICATE IF TESTING NEW BOARD NI BSS 1 NUMP DEC 1 OPCNT BSS 1 OPSRT BSS 1 PASS BSS 1 PASS NUMBER STORED HERE PCNT BSS 1 PCNTA BSS 1 PFLAG BSS 1 PLOAD BSS 1 PSAVE NOP PSTOR BSS 1 S400 DEF S40 S40 BSS 4 S4BUG BSS 1 S6CNT BSS 1 SAV6 BSS 1 SECTN BSS 1 CURRENT SECTION NUMBER SECTR BSS 1 SECTOR WHERE CURRENT OPERATION * WILL START SFLAG BSS 1 SHTAS BSS 1 STAUS BSS 1 DEVICE STATUS STORED HERE STEPN OCT 0 STRF BSS 1 ERROR POINTER OR ZERO IF NO SVCTA BSS 1 USED TO TIME SEEKS IN S2 AND S4 TEMP1 BSS 1 TEMP2 BSS 1 TEMP3 BSS 1 UNITS DEF UNITA UNITA OCT 0 BSS 3 UNITC OCT 1 UNIT OCT 0 VAL1 BSS 1 VAL2 BSS 1 VALUE BSS 1 WCNT BSS 1 POSITIVE WORD COUNT FOR * CURRENT OPERATION WD0 DEF * WD1 BSS 1 WD2 BSS 1 WD3 BSS 1 WD4 BSS 2 CVT3 EQU WD1 CVT1 EQU WD2 CVT2 EQU WD3 CVT DEF WD1 SKP D0 DEC 0 B1 DEC 1 D1 EQU B1 D2 DEC 2 CRLFL EQU D2 BIT1 EQU D2 D3 DEC 3 B3 EQU D3 D4 DEC 4 BIT2 EQU D4 B4 EQU D4 D5 DEC 5 D6 DEC 6 D7 DEC 7 B7 EQU D7 D8 DEC 8 BIT3 EQU D8 B10 EQU D8 D9 DEC 9 B11 EQU D9 D10 DEC 10 D11 DEC 11 D12 DEC 12 B14 EQU D12 D13 DEC 13 B15 EQU D13 D14 DEC 14 B16 EQU D14 D15 DEC 15 B17 EQU D15 BIT4 DEC 16 B20 EQU BIT4 D16 EQU BIT4 D17 DEC 17 B21 EQU D17 D18 DEC 18 B22 EQU D18 D1—ûþú9 DEC 19 B23 EQU D19 D20 DEC 20 B24 EQU D20 B25 DEC 21 D21 EQU B25 B26 DEC 22 D22 EQU B26 D23 DEC 23 B27 EQU D23 B30 DEC 24 D24 EQU B30 D25 DEC 25 B31 EQU D25 B32 DEC 26 D26 EQU B32 D27 DEC 27 B33 EQU D27 D28 DEC 28 B34 EQU D28 D29 DEC 29 B35 EQU D29 D30 DEC 30 B36 EQU D30 B37 DEC 31 D31 EQU B37 B40 DEC 32 BIT5 EQU B40 D32 EQU B40 B41 DEC 33 D33 EQU B41 B42 DEC 34 D34 EQU B42 B43 DEC 35 D35 EQU B43 B44 DEC 36 D36 EQU B44 B45 DEC 37 D37 EQU B45 B46 DEC 38 D38 EQU B46 B47 DEC 39 B51 DEC 41 B52 DEC 42 B53 DEC 43 B54 DEC 44 B55 DEC 45 D45 EQU B55 B56 DEC 46 D46 EQU B56 B57 DEC 47 D47 EQU B57 B60 DEC 48 D48 EQU B60 B61 DEC 49 D49 EQU B61 B62 DEC 50 D50 EQU B62 D51 DEC 51 B64 DEC 52 D52 EQU B64 B65 DEC 53 D53 EQU B65 B66 DEC 54 D54 EQU B66 B67 DEC 55 D55 EQU B67 B70 DEC 56 D56 EQU B70 B71 DEC 57 D57 EQU B71 B100 DEC 64 BIT6 EQU B100 B103 DEC 67 B104 DEC 68 B105 OCT 105 D72 DEC 72 D95 DEC 95 B142 OCT 142 D106 DEC 106 BIT7 OCT 200 BIT8 OCT 400 B401 OCT 401 BIT9 OCT 1000 BIT10 OCT 2000 B2011 OCT 2011 A2400 OCT 2400 BIT11 OCT 4000 A4400 OCT 4400 BIT12 OCT 10000 BIT13 OCT 20000 C0001 OCT 20001 C1440 OCT 21440 C7461 OCT 27461 BIT14 OCT 40000 E2001 OCT 42001 BIT15 OCT 100000 B7777 OCT 17777 BB OCT 20040 B2060 OCT 20060 CRLF OCT 6412 D7777 OCT 37777 H7777 OCT 77777 HA OCT 40400 HB OCT 1400 HC EQU BIT8 JMPI OCT 126000 JSB1 JSB R1,I MEM OCT 70000 NN OCT 47000 P7400 OCT 177400 P7700 OCT 177700 THLT2 OCT 106002 HLTC OCT 102010 YY OCT 13400 B77 OCT 77 B177 OCT 177 B377 OCT 377 B1777 OCT 1777 B3777 OCT 3777 D128 EQU BIT7 D129 DEC 129 D202 DEC 202 D203 DEC 203 D256 EQU BIT8 D384 DEC 384 D512 EQU BIT9 B6000 OCT 6000 D1024 EQU BIT10 PAGE8 OCT 16000 MM1 Íúþú DEC -1 MM2 DEC -2 MM3 DEC -3 MM4 DEC -4 MM5 OCT -5 MM6 DEC -6 MM7 DEC -7 MM8 DEC -8 MM10 DEC -10 MM13 DEC -13 MM16 DEC -16 MM31 DEC -31 MM48 OCT -60 MM56 OCT -70 MM58 OCT -72 MM64 EQU P7700 MM105 DEC -105 M124 DEC -124 M175 DEC -175 M256 EQU P7400 MM512 DEC -512 MM650 DEC -650 M1024 DEC -1024 M3000 DEC -3000 M7936 DEC -7936 * * ASCD0 ASC 1,.0 ASCZZ ASC 1,00 UPD ASC 1,U/ LRD ASC 1,L/ BPTR DEF BUFB WRITE BUFFER BPTR1 DEF BUFB+128 BPTS DEF BUFB+1024 READ BUFFER BPTO DEF BUFB+2048 DMACW ABS 120000B+DC SKP * * * BASE PAGE LINKS AND POINTERS * * .E6 DEF E6 ADDOI DEF ADDO ADDRS DEF INTPT+1 CNFIG DEF INIT CRLFI DEF CRLF DDD DEF D0 EFER DEF FER EFERC DEF FERC ELER DEF LER ERHTI DEF ERHLT FCYKI DEF FCYCK FTR DEF FTRBN GETNI DEF GETN JE6 JMP .E6,I LONG DEF JP65C OPDNI DEF OPDSN P001A DEF J001A P002A DEF J002A P003A DEF J003A P004A DEF J004A P005A DEF J005A P013A DEF JP13A P013B DEF JP13B P023A DEF JP23A P024A DEF JP24A P027A DEF JP27A P033A DEF JP33A P037A DEF JP37A P037B DEF JP37B P040A DEF JP40A P040B DEF JP40B P041A DEF JP41A P042A DEF JP42A P047A DEF JP47A P047B DEF JP47B P047C DEF JP47C P050A DEF JP50A P050B DEF JP50B P051A DEF JP51A P051B DEF JP51B P051C DEF JP51C P051D DEF JP51D P052A DEF JP52A P052B DEF JP52B P052C DEF JP52C P052D DEF JP52D P052E DEF JP52E P052F DEF JP52F P053A DEF JP53A P053B DEF JP53B P054A DEF JP54A P054B DEF JP54B P056A DEF JP56A P057A DEF JP57A P064A DEF JP64A P064B DEF JP64B P065A DEF JP65A P065B DEF JP65B P065E DEF JP65E P070A DEF JP70A PO72A DEF JP72A PATR DEF PATTR PATTI DEF GLOB4 USED IN PCHK PCHKI DEF PCHK PCOPI DEF PCOPR PFMI DEF FMI PPT1 JSB TV1,I PPT2 JSB TV2,I PPT4 JSB TV4,I PPT5 JSB TV5,I PPT6 JSB TV6,I PPT7 JMP OPDNI,I PPT8 JSB TV8,I PPT9 JSB TV9,I PPT10 JSB TV10,I PPT13 JSB TV13,I PPT14 JMP TV14,I PPT1nnþú5 JSB TV15,I R1 DEF RETRN RNCHI DEF RNCH RNSCI DEF RNSC SHORT DEF JP65D SKIPI DEF SKIP ST32I DEF STP32 ST35I DEF STP35 THRUI DEF THRU TRT DEF TRTBP TV1 DEF TVP1 TV2 DEF TVP2 TV4 DEF TVP4 TV5 DEF TVP5 TV6 DEF TVP6 TV8 DEF TVP8 TV9 DEF TVP9 TV10 DEF TVP10 TV13 DEF TVP13 TV14 DEF TVP14 TV15 DEF TVP15 VAL DEF VALUE WADI DEF WADR WADRI DEF WADRA * * SECT DEF *,I * DEF S1 * DEF S2 * DEF S3 * DEF S4 * DEF S5 * * * * THE FOLLOWING WORDS AND EQUATES DETERMINE THOSE * STATUSES, COMMANDS, SIZES, ETC. THAT MIGHT * VARY BECAUSE OF DESIGN CHANGES * * CYCHK OCT 060000 CYCLIC CHECK COMMAND CYPP EQU D203 NUMBER OF CYLINDERS PER PACK DFTB EQU BIT8 DEFECTIVE TRACK BIT FOR ADDRESSES LCYL EQU 202 LAST CYLINDER PALT OCT 130000 ALTERNATE POSITION COMMAND POSIT OCT 030000 POSITION COMMAND READC EQU BIT13 READ COMMAND RFINE OCT 050000 SCPT EQU B30 NUMBER OF SECTORS PER TRACK WPCYL DEC 6144 WORDS PER CYLINDER (=TRPC*SCPT*WORDS PER * SECTOR (128 FOR HP 7900)) STATS EQU D0 STATUS COMMAND TRPC EQU D2 NUMBER OF TRACKS PER CYLINDER WRILB EQU BIT9 WRITE LOCKOUT BIT FOR ADDRESSES WRITA OCT 110000 WRITE ADDRESS COMMAND WRITC EQU BIT12 WRITE COMMAND * * BIT0 ANY ERROR BIT * BIT1 DATA ERROR BIT PBBIT EQU BIT2 DRIVE BUSY BIT FLBIT EQU BIT3 FLAGGED CYLINDER BIT * BIT4 ADDRESS ERROR BIT * BIT5 END OF CYLINDER BIT NRBIT EQU BIT6 NOT READY BIT * BIT7 NOT USED * BIT8 SEEK CHECK BIT * BIT9 ENABLE INITIALIZATION BIT * BIT10 SURFACE PROTECT BIT * BIT11 DRIVE UN]$þúSAFE BIT * BIT12 NOT USED * BIT13 OVERRUN ERROR BIT * BIT14 FIRST SEEK BIT * BIT15 NOT USED * * SCST EQU D8 SECTOR WHERE SECOND THIRD STARTS SCLT EQU D16 SECTOR WHERE LAST THIRD STARTS WCFT EQU BIT10+SZREF WORD COUNT FOR FIRST THIRD WCLT EQU BIT10+SZREF WORD COUNT FOR LAST THIRD * NFFB OCT 177777 HED RAND * * * * RANDOM NUMBER GENERATOR * * THIS ROUTINE GENERATES BIT PATTERNS FOR * THE DISK DIAGNOSTIC. NO CLAIM IS MADE FOR * STATISTICAL RANDOMNESS. * * EXITS WITH PATTERN IN A, * B UNCHANGED, * * * RAND NOP LDA BASE LOAD BASE ADA PRIME SUBTRACT THE PRIME SSA SKIP IF STILL POSITIVE LDA BASE OOPS, BASE NOT BIG ENOUGH CLE,ELA DOUBLE BASE OR REMAINDER STA BASE FOR NEXT TRY JMP RAND,I * PRIME DEC -31069 * THIS PRIME NUMBER LOOPS EVERY * 31068 TIMES IN ITS RECIPROCAL * EXPANSION BASE ABS 034521B HED SEEK,SEES,SEEH,STAT,COMMD,DADO,WAITD * * * ROUTINES TO DO COMMONLY REQUIRED OPERATIONS. * * SEEK NOP LDB B44 CURRENT OPERATION CODE LDA CYL PUT CYLINDER NUMBER OUT BEFORE JSB DADO GIVING THE COMMAND LDA POSIT LOAD COMMAND FOR POSITION SEEK1 JSB COMMD ISSUE COMMAND JSB WAITD LDA HEAD IOR HDON SELECT SURFACE ALF,ALF HEAD NUMBER TO LEFT HALF IOR SECTR PLUG IN SECTOR NUMBER JSB DADO OUTPUT HEAD-SECTOR JSB WAITD JMP SEEK,I * * SEES NOP SEEH EQU SEES LDB B15 CURRENT OPERATION CODE LDA CYL LOAD CYLINDER NUMBER JSB DADO PUT OUT ON DATA CHANNEL LDA SEES STA SEEK LDA PALT LOAD ALTERNATE POSITION CÔ‘þúOMMAND JMP SEEK1 * * STAT NOP STATUS CHECK ROUTINE LDA STATS LOAD THE DCU STATUS COMMAND DC23 STC DC,C SET UP DATA CHANNEL FOR INPUT LDB COPRN DON'T CHANGE CURRENT OPERATION JSB COMMD OUTPUT COMMAND NOP ALLOW SOME TIME CLA,INA DC15 SFS DC BACK YET? JSB TMR,I NO- DELAY 1 MS DC12 SFC DC STATUS SHOULD BE BACK JMP STABK AFTER 1 MS JSB PCOP PRINT CURRENT OPERATION MESSAGE E12 JSB ERROR NO DC FLAG WHILE CHECKING STATUS JSB ADDOI,I * FALLOUT OKAY STABK EQU * DC01 LIA DC AND NFFB STA STAUS SAVE STATUS JMP STAT,I RETURN STATUS IN A * * COMMD NOP IOR UNIT PLUG IN UNIT NUMBER CC01 OTA CC CC02 CLC CC MAKE SURE ENCODE IS ZERO CC03 STC CC,C NOW SET ENCODE STB COPRN SET UP CURRENT OPERATION NUMBER JMP COMMD,I * * DADO NOP DC02 OTA DC DC03 STC DC,C JMP DADO,I * * WAITD NOP WAIT ON DATA CHANNEL LDA MM16 ALLOW A SHORT COUNT WALP EQU * DC04 SFC DC JMP WAITD,I SSA,INA JMP WALP JSB PCOP PRINT CURRENT OPERATION MESSAGE DC13 SFS DC CHECK FOR FLAG NOW JMP E63 E11 JSB ERROR LATE DC FLAG JMP *+2 E63 JSB ERROR NO DC FLAG JSB ADDOI,I JMP WAITD,I HED WAITS,WAIH,WAIS * * THE WAITS ROUTINE WAITS FOR UP TO 105 MILLISECONDS * FOR THE COMMAND CHANNEL FLAG. WHEN THE FLAG SETS, * WAITS CALLS STAT FOR THE STATUS * WAITS NOP LDA MM105 WAX EQU * STA LCNT SET EXTRA CLOCK COUNTER WASD EQU * CLA,INA JSB TMR,I ONE MSEC TIME DELAY CC05 SFS CC SKIP IF SEEK DONE JMP WASQ CC15 LIA CC GET ATTENTION FOR POSSIBLE CHECK STA ATTN LDA LCNT CALCULATE ADA D106 TIME SPENT BEFORE FLAG SET, ADA SVCTA ADD TO AÀ“640CCUMULATED AMOUNT STA SVCTA AND SAVE IT JSB STAT CALL FOR STATUS JMP WAITS,I * WASQ EQU * ISZ LCNT SKIP WHEN TIMED OUT JMP WASD KEEP LOOPING JSB MC WIPE OUT THE CARDS JSB PCOP PRINT CURRENT OPERATION MESSAGE E10 JSB ERROR NO CC FLAG JSB ADDOI,I JMP WAITS,I RETURN * * * WAIH ALLOWS ENOUGH TIME FOR HEAD * SWITCHING TO OCCUR. * WAIH NOP LDA WAIH LOAD RETURN ADDRESS STA WAITS SAVE FOR RETURN LDA MM2 ALLOW TWO MILLISECONDS JMP WAX * * * WAIS ALLOWS TIME FOR SECTOR SWITCHING TO * OCCUR. * WAIS EQU WAIH HED FSEEK,FSEEH,FSEES * FSEEK,FSEEH,FSEES * PERFORM JSB SEEK OR SEEH * JSB WAITS OR WAIH * JSB WCHK * WITH EXPECTED STATUS = 0 * FSEEK NOP JSB SEEK PERFORM SEEK JSB WAITS WAIT FOR SEEK TO COMPLETE LDA ATTN CHECK ATTENTION JSB GETNI,I DETERMINE BIT NUMBER RSS OK SO FAR JMP *+3 ERROR - NONE SET CPB UNIT CORRECT UNIT JMP ATTEN OK JSB PCOP START ERROR REPORT LDA B21 STA ELOC JSB FPRNT E21 MISSING OR DUP. ATTENTION JSB ADDOI,I ATTEN EQU * FSK LDA SHTAS STA FSAVE SAVE STATUS-EXPECTED FOR OTHER CLA OPERATION STA SHTAS EXPECTED STATUS FOR SEEK IS 0 JSB WCHK CHECK STATUS LDA FSAVE STA SHTAS RESTORE EXPECTED STATUS JMP FSEEK,I FSEES EQU * FSEEH NOP JSB SEEH SWITCH HEADS JSB WAIH WAIT FOR HEADS TO SWITCH LDA FSEEH STA FSEEK JMP FSK ö=6ÿÿ ÿý¬ º ÿ12960-18002 1805 S 0122 DIAG-7900/7901              H0101 •¼þú HED PCOP,ERROR,B11CK,SWR,PRINT,PRNT1,FPRNT,CNVRT,TTYCK * PCOP NOP ROUTINE TO PRINT COPR LDA COPRN JMP PCOPI,I * * ERROR * REPORT ERROR MESSAGES * USES SIOLO,SWR,B11CK * THE RETURN ADDRESS IS USED TO LOOK UP THE ADDRESS,LENGTH AND * NUMBER OF THE ERROR MESSAGE * ERROR NOP CLF 0 DISABLE INTERRUPTS CCB ADB ERROR LDA EFER,I FIND ERROR NUMBER BASED ON RETRN ER2 EQU * CPB A,I ADDRESS AND TABLE JMP ER1 FOUND IT INA CPA ELER,I JMP 1777B PROGRAM ERROR,PAGE 0 MAY BE * WIPED OUT. JMP ER2 ER1 EQU * ADA EFERC,I ADA MM1 STA ELOC JSB FPRNT PRINT MESSAGE LDB ELOC ADB MM8 -8 SSB SKIP IF ERROR NUMBER GTR THAN 7 JSB ERHTI,I CHECK FOR HALT JMP ERROR,I * * B11CK * IF TTY SUPPRESSED,RETURN * IF TTY NOT SUPPRESSED,SKIP NEXT INSTRUCTION ON RETURN * USES SWR * B11CK NOP JSB SWR AND BIT11 SZA,RSS IS TTY SUPPRESSED? ISZ B11CK NO JMP B11CK,I * * SWR * INPUT SWITCH REGISTER TO A-REGISTER * SWR NOP LIA 1 IOR ISR CAPTURE ALL SWITCHES STA ISR WHICH ARE SET LIA 1 JMP SWR,I * * PRINT * A = ERROR NUMBER * PRINT NOP JSB PRNT1 GET ADDRESS AND LENGTH JMP PRINT,I TTY SUPPRESSED JSB SIOLO,I OUTPUT MESSAGE JMP PRINT,I * * PRNT1 * EXITS WITH B=MESSAGE ADDRESS * A=MESSAGE LENGTH * PRNT1 NOP STA PSAVE JSB B11CK JMP PRNT1,I ISZ PRNT1 LDB PSAVE ADB PFMI,I MESSAGE ADDRESS LDB B,I STB PSAVE SAVE ADDRESS CLA STA LOCAL LENGTH COUNTER * * SCAN MESSAGE UNTIL # * PLOOP EQU * LDA B,I NEXT TWO CHARACTÚÌþúERS CPA C1440 21440B = #,BLANK? JMP L1 YES AND B377 NO CPA B43 =#? JMP L2 YES ISZ LOCAL NO ISZ LOCAL ISZ B JMP PLOOP L2 EQU * ISZ LOCAL L1 EQU * LDB PSAVE ADDRESS LDA LOCAL LENGTH JMP PRNT1,I RETURN * * * FPRNT * OUTPUT TO FAST DEVICE IF CONFIGURED * FPRNT NOP LDB 113B IS FAST DEVICE SZB CONFIGURED? JMP FPR1 YES JSB PRINT OUTPUT TO SLOW DEVICE JMP FPRNT,I FPR1 EQU * JSB PRNT1 GET MESSAGE AND LENGTH JMP FPRNT,I TTY SUPPRESSED JSB SIOFO,I JMP FPRNT,I * * * CNVRT CLEARS E AND CALLS O2ASC * CNVRT NOP CLE JSB O2ASC,I JMP CNVRT,I * * TTYCK * RETURN IF TTY NOT AVAILABLE FOR NON-ERROR MESSAGES * INCREMENT RETURN ADDRESS IF PRINTOUT OK * TTYCK NOP JSB SWR LOAD SWITCH REGISTER AND B6000 SZA,RSS IS TTY AVAILABLE? ISZ TTYCK YES JMP TTYCK,I RETURN HED DECIN,DCIN1,DCIN2,SWR4 * * DECIN * CONVERTS DECIMAL INTEGERS TO ASCII * A=VALUE ON INPUT * CVT1 = MIDDLE TWO DIGITS ON EXIT * CVT2 = LAST TWO DIGITS ON EXIT * DECIN NOP CLE LDB CVT TEMPORARY STORAGE BUFFER JSB I2ASC,I JMP DECIN,I * * * DCIN1 * STORE ONE WORD OF CONVERTED A AT B * DCIN1 NOP STB LOCAL SAVE POINTER JSB DECIN CONVERT TO ASCII LDA CVT2 STORE STA LOCAL,I INTO MESSAGE JMP DCIN1,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 þ#þú * * * SWR4 * INPUT SWITCH REGISTER IF SFLAG = 0 (S1,S2,S3) * USE STORED VERSION IF SFLAG = 1 (S4,S5) * SWR4 NOP LDA SFLAG IS FLAG = O? SZA JMP SWR4A NO JSB SWR YES,USE SWITCH REGISTER JMP SWR4,I SWR4A LDA S400 USE ADA UNIT STORED LDA A,I VALUE JMP SWR4,I HED DCHK,WCHK * * * THE DCHK ROUTINE IS CALLED AFTER A READ. * IT COMPARES THE READ AND WRITE BUFFERS. * * THE WCHK ROUTINE IS CALLED AFTER A WRITE. * IT CHECKS ONLY THE STATUS. * THE WRERX AND WRERZ ENTRIES ARE USED BY THE * OTHER ROUTINES TO DO THEIR STATUS CHECK. * * * THE PCHK ROUTINE IS CALLED AFTER A READ. * IT COMPARES THE READ BUFFER TO A PATTERN WORD. * * THE RCHK ROUTINE IS CALLED AFTER A READ. * IT CHECKS THE CHECKSUMMED SECTOR IN * THE READ BUFFER. * * THEY COMPARE THE CURRENT STATUS ( STAUS ) WITH THE * PREDICTED STATUS ( SHTAS ) BY CALLING THE ERRAN ROUTINE. * * * THE ROUTINES GIVE A NORMAL RETURN IF NO ERRORS ARE * DETECTED. IF AN ERROR OCCURS, THE ROUTINES GENERATE AN * ERROR MESSAGE AND CHECK FOR HALT OR CONTINUE. * * DCHK NOP TO CHECK FOR ERRORS IN * READ AND TO COMPARE READ * AND WRITE BUFFERS LDA DCHK LOAD RETURN ADDRESS STA WCHK SAVE FOR POSSIBLE CALL * * * COMPARES THE BUFAD AND BUFAE BUFFERS USING WCNT * FOR BUFFER LENGTH. * * LDA BUFAD LOAD FIRST BUFFER ADDRESS STA TEMP1 LDA BUFAE LOAD SECOND BUFFER ADDRESS STA TEMP2 LDA WCNT CMA,INA STA TEMP3 SET ISZ COUNTER DCM EQU * LDA TEMP1,I CPA TEMP2,I JMP DCL EQUAL COMPARE * LDA TEMP3 ADA WCNT GENERATE RELATIVE LOCATION EE101 LDB P047A LOAD POINTER JSB DCIN2 CALL CONVERT ROU êþúTINE LDA TEMP1,I LOAD WHAT WORD SHOULD BE LDB P047C LOAD POINTER JSB CNVRT CALL CONVERT AND MOVE ROUTINE LDA TEMP2,I LOAD WHAT WORD ACTUALLY WAS LDB P047B LOAD POINTER JSB CNVRT CONVERT TO ASCII LDA NUMP DECREMENT ADA MM1 PRINTOUT COUNT SZA,RSS JMP DCLA IF 1 LEAVE AT 1 AND EXIT STA NUMP E47 JSB ERROR DATA WORD XXXX IS YYYYYY SHOULD * BE ZZZZZZ JMP DCL DCLA EQU * LDB B47 DATA WORD XXXX IS YYYYYY SHOULD * BE ZZZZZZ STB ELOC SAVE FOR ERHLT STB STRF JMP WRERZ GO ANALYZE ERRORS * * DCL EQU * ISZ TEMP1 COUNT UP BUFFER ISZ TEMP2 ADDRESSES AND ISZ TEMP3 CHECK FOR COMPLETION JMP DCM JMP WRERX BUFFERS OKAY, NORMAL STATUS CHECK SKP * * WCHK NOP TO CHECK FOR ERRORS ON * NON-READ OPERATIONS WRERX EQU * JSB ERRAN CALL ERROR COMPARITOR SZA SKIP IF NO ERROR JMP WRERZ REPORT ERROR LDA DMRF CHECK FOR DMA NOT FINISHED SZA,RSS SKIP IF ERROR JMP WOUT RETURN IF NO TROUBLE JSB PCOP PRINT CURRENT OPERATION MESSAGE JSB DMERQ PRINT DMA ERROR MESSAGE WROUT JSB ADDOI,I WOUT JMP WCHK,I RETURN * * WRERZ EQU * JSB PCOP PRINT CURRENT OPERATION MESSAGE JSB DMERQ CHECK FOR DMA ERROR JSB ERRAN CHECK FOR STATUS ERRORS SZA SKIP IF STATUS OKAY JSB FPRNT PRINT OUT ERROR MESSAGE LDA STRF CHECK FOR BUFFER ERRORS SZA SKIP IF NO SUCH ERRORS JSB FPRNT PRINT OUT ERROR MESSAGE CLB STB STRF CLEAR OUT POINTER WORD JMP WROUT HED ERRAN ERRAN NOP ROUTINE TO PERFORM ERROR ANAL. LDA STAUS XOR SHTAS IS ALL AS SHOULD BE ¿Ôþú SZA,RSS JMP ERRAN,I EVERYTHING IS FINE LDA STAUS LOAD CURRENT STATUS LDB P064A AND ADDRESS FOR ASCII JSB CNVRT CONVERT TO OCTAL AND MOVE LDA SHTAS LOAD WHAT STATUS SHOULD BE LDB P064B AND ADDRESS FOR ASCII JSB CNVRT CONVERT TO OCTAL AND MOVE E64 LDA B64 STATUS IS XXXXXX SHOULD BE XXXXXX STA ELOC SAVE FOR ERHLT * A MUST BE NON-ZERO AT THIS POINT JMP ERRAN,I RETURN HED DGEN,RFNE,CYCK,DMRFC,ENDST * DGEN * THIS ROUTINE FILLS UP THE BUFFER WITH RAW RANDOM DATA * USES WCNT AS A LENGTH * USES BUFAD FOR ADDRESS * * DGEN NOP LDA WCNT CMA,INA STA TEMP1 NEGATIVE WORD COUNT LDA BUFAD STA TEMP2 DGL EQU * JSB RAND GET RANDOM NUMBER STA TEMP2,I ISZ TEMP2 COUNT UP ADDRESS ISZ TEMP1 COUNT JMP DGL JMP DGEN,I * * RFNE * ISSUE REFINE COMMAND * RFNE NOP LDB B60 SET UP CURRENT OPERATION LDA RFINE REFINE COMMAND JSB COMMD ISSUE COMMAND JSB WAITS WAIT FOR COMPLETION JMP RFNE,I RETURN * * CYCK * ISSUE CYCLIC CHECK COMMAND * CYCK NOP LDB B22 SET UP CURRENT OPERATION JSB DADO A = NUMBER OF SECTORS ON ENTRY LDA CYCHK CYCLIC CHECK COMMAND JSB COMMD ISSUE COMMAND JSB WAITS WAIT FOR COMPLETION JMP CYCK,I RETURN * * DMRFC * REMOVE BIT 15 FROM DMRF * DMRFC NOP LDA DMRF AND H7777 =77777B STA DMRF JMP DMRFC,I * * ENDST * END OF STEP ROUTINE * ENDST NOP JSB SWR GET SWITCH REGISTER SSA HLT 4 HALT IF BIT 15 SET JSB SWR GET FRESH COPY OF SWITCH REG. AND BIT1 SZA JMP END1 SKIP JSB SWR AND BIT13 SZA,RSS JMP ENDST,I JMP PCþúCOPR,I LOOP IF BIT 13 SET END1 EQU * LDA STEPN INCREMENT CPA D51 S4BUG RSS FOR STEPS CPA D52 51 AND ISZ S4BUG 52 JMP SKIPI,I HED DMR,DMW,DMALL * * * THESE ROUTINES SET UP DMA AND START THE DATA CHANNEL. * * THE DMR ROUTINE SETS UP A READ INTO THE INPUT * BUFFER ( ADDRESS IN BUFAE, COUNT IN WCNT ) * * THE DMW ROUTINE SETS UP A WRITE FROM THE OUTPUT * BUFFER ( ADDRESS IN BUFAD, COUNT IN WCNT ) * * DMR NOP SET UP DMA READ OPERATION JMP DMRI,I DMRI DEF DMRR * * DMW NOP JMP DMWI,I DMWI DEF DMWW * DMALL NOP (A = MEMORY ADDRESS) LDB DMACW LOAD DMA COMMAND WORD DM6A OTB DMAD SEND TO DATA CHANNEL DM2A CLC DMAC PREPARE TO LOAD ADDRESS DM2B OTA DMAC OUTPUT MEMORY ADDRESS DM2C STC DMAC PREPARE TO LOAD COUNT LDA WCNT AND CMA,INA OUTPUT TWOS COMPLEMENT OF DM2D OTA DMAC WORD COUNT JMP DMALL,I HED READ,WRITE * * * READ AND WRITE * * THESE ROUTINES ARE CALLED TO INITIALIZE ALL * DMA TRANSFERS TO AND FROM THE DISK. * * THEY ASSUME THAT * THE WORD COUNT IS IN WCNT * READ ASSUMES BUFFER ADDRESS IN BUFAE * WRITE ASSUMES BUFFER ADDRESS IN BUFAD * * READ NOP JSB DMR SET UP DMA READ OPERATION LDB B46 SET UP CURRENT OPERATION LDA READC LOAD READ COMMAND JSB COMMD OUTPUT COMMAND JSB DMAT JSB STAT GET STATUS JMP READ,I RETURN * * * WRITE NOP JSB DMW SET UP DMA WRITE OPERATION LDB B45 SET UP CURRENT OPERATION LDA WRITC LOAD WRITE COMMAND JSB COMMD OUTPUT COMMAND JSB DMAT JSB STAT GET STATUS JMP WRITE,I HED DMAT * * * * THIS SECTION SHOULD BE CALLED FOR EACH TRANSFER USING THE * DMA. IT C±´þúONTINUOUSLY CHECKS FOR THE FLAG TO BE SET ON THE * COMMAND CHANNEL WHILE MONITORING THE DATA TRANSFER AND * CHECKING FOR OVERTIME. * * * DMAT NOP LDA MM650 ALLOW 650 MSEC WORST CASE STA LCNT SET EXTRA CLOCK LDA DMSP WILL THIS DMA TRANSFER SZA,RSS BE INTERRUPTED? JMP DMSL NO DM2I LIA DMAC LOAD CURRENT WORD COUNT STA TEMP1 AND SAVE IT FOR COMPARISON LDB BIT15 ALLOWS LOTS OF TIME DMBL EQU * INB SZB,RSS WAITED LONG ENOUGH? JMP DMSP YES DM2J LIA DMAC LOAD CURRENT WORD COUNT CPA TEMP1 CHECK FOR START OF OPERATION JMP DMBL IF OPERATION HAS NOT STARTED DATA * * THIS LOCATION IS USED BY ROUTINES THAT * MUST INTERRUPT THE DMA TRANSFER. DMSP NOP *** * DMSL EQU * RUNS AROUND CHECKING FOR END * OF OPERATION FLAG. * TIMES OUT WHEN LCNT GOES POSITIVE CLA,INA JSB TMR,I DELAY FOR ONE MSEC ISZ LCNT CLA,RSS JMP TOUT TIME OUT CC04 SFS CC JMP DMSL NO FLAG YET. DM6G SFC DMAD SKIP IF DMA NOT DONE JMP DMAT,I EVERYTHING IS ALRIGHT JMP FTCX CALL WORD COUNT CONVERTER * TOUT EQU * CLA,INA DM6H SFS DMAD CHECK FOR FLAG ON DMA CHANNEL FTCX EQU * IOR BIT15 TRANSFER NOT COMPLETE BIT STA DMRF SAVE FOR LATER CHECK JSB MC TROUBLE. BOMB OUT CARDS DM2K LIA DMAC LOAD CURRENT WORD COUNT SZA,RSS RESIDUE = 0? JMP DMATA YES-DISABLE E13,CHECK FOR E43 ADA WCNT MAKE INTO POSITIVE WORD COUNT AND B7777 MASK OFF UPPER THREE BITS LDB P013A LOAD POINTER FOR ASCII STORE JSB DCIN2 CALL CONVERT ROUTINE JMP DMAT,I RETURN AND WAIT FOR VERDICT DMATA EQU * LDA DMRF SSA XOR PALT =130000B - BIT 15 -5þúOFF,BIT 13 ON STA DMRF JMP DMAT,I * * MC NOP MASTER CLEAR DM6E CLC DMAD DM6F STF DMAD KILL DMA TRANSFER CC06 CLC CC DC11 CLC DC DC22 STF DC JMP MC,I * * DMERQ NOP LDB DMRF CHECK FOR ACTUAL ERROR SZB,RSS SKIP IF ERROR CONDITION EXISTS JMP DMERQ,I EXIT IF NO ERROR SLB SKIP IF NOT TIME OUT E14 JSB ERROR NO COMMAND FLAG ON DMA OPERATION LDB DMRF RBL,RBL SSB SKIP IF BIT 13 = 0 E43 JSB ERROR DMA MISSING LDB DMRF CLA STA DMRF CLEAR ERROR INDICATOR SSB,RSS SKIP IF DMA FLAG WAS NOT SET JMP DMERQ,I RETURN * LDA WCNT LOAD THE EXPECTED WORD COUNT LDB P013B LOAD POINTER FOR ASCII STORE JSB DCIN2 CALL CONVERT ROUTINE E13 JSB ERROR XXXX WORDS TRANSFERRED YYYY * EXPECTED JMP DMERQ,I RETURN HED CHAR,DCHAR,OCHAR,HIN,H31 * * * CHAR * GET NEXT NON-BLANK CHARACTER * WONT SKIP IF BUFFER EMPTY * CHAR NOP CHAR1 ISZ CCNT DONE? PPT3 RSS NO JMP CHAR,I YES LDA BPTRA,I TTY WORD ISZ IFRST JMP SEC ALF,ALF USE LEFT HALF JMP COUT SEC CCB USE RIGHT HALF STB IFRST ISZ BPTRA BUMP WORD POINTER COUT AND B377 STA CCHAR SAVE IT XOR B40 IS IT BLANK SZA,RSS SKIP IF NO JMP CHAR1 IGNORE BLANKS LDA CCHAR ISZ CHAR JMP CHAR,I * * * DCHAR * GET DECIMAL VALUE * SKIPS ON EXIT IF NOT DONE * DCHAR NOP LDA MM58 UPPER LIMIT LDB VAL POINTS TO VALUE DCHR1 STA VAL2 STB VAL1 LDA MM1 STA DFLT DFLT = -1 CLA INITIALIZE TO ZERO DCHR2 STA VALUE STORE VALUE JSB CHAR GET NEXT CHARACTER JMP DOUT2 DONE XOR B54 IS CHARACTER õÓþúSZA,RSS A COMMA JMP DOUT1 YES,DONE LDA VAL2 CHECK ADA CCHAR VALIDITY SSA OF JMP *+3 CHARACTER CCERR JSB H31 BAD INPUT JMP DOUT2 LDA CCHAR ADA MM48 LOWER LIMIT SSA JMP CCERR STA DFLT DFLT # -1 LDB VALUE OK,BUILD BLF,RBR UP ADB VAL1,I VALUE ADB VAL1,I ADA B JMP DCHR2 CONTINUE DOUT1 ISZ DCHAR NORMAL EXIT DOUT2 LDA VALUE ERROR OR END OF READ BUFFER JMP DCHAR,I * * * OCHAR * GET OCTAL VALUE * SKIPS ON EXIT IF NOT DONE * OCHAR NOP LDA OCHAR STA DCHAR SET RETURN LDA MM56 UPPER LIMIT LDB DDD POINTS TO D0 JMP DCHR1 * * * HIN * INPUT FROM TTY * HIN NOP LDA D72 CHARACTER COUNT LDB BINA BUFFER ADDRESS JSB 104B,I TTY INPUT DRIVER SZA,RSS WERE ZERO WORDS INPUT? JMP HIN+1 YES,TRY AGAIN CMA STA CCNT SAVE CHARACTER COUNT CCA STA IFRST FLAG = -1 LDA BINA STA BPTRA SET POINTER JMP HIN,I BINA DEF BUFB * * H31 NOP LDA B31 BAD INPUT JSB PRINT JMP H31,I * HED OVJ,ASK OVIJS JMP OVJ OVJ EQU * LDA C0001 OVBIT+AEBIT 020001 STA SHTAS WHAT STATUS SHOULD BE CLA STA DMSP SET BACK TO NO-OP LDA M256 ALLOW A SHORT WAIT FOR THE FLAG OVJR EQU * SSA,INA,RSS DON'T HANG FOREVER JMP OVJX PRETEND FLAG SET DM6I SFS DMAD SKIP WHEN DMA DONE JMP OVJR BACK IF NOT DONE JSB DADO OUTPUT ONE EXTRA WORD . . . LATE OVJX EQU * JMP DMSL * * ASK * ASK OPERATOR IF HE WISHES TO CHANGE TABLE * ASK NOP H25 LDA B25 DO YOU WISH TO CHANGE TABLE? JSB PRINT JSB HIN INPUT FROM KEYBOARD LDA m<:6BINA,I INPUT BUFFER AND P7400 XOR NN =47000B IS FIRST CHARACTER N? SZA,RSS SKIP IF NO JMP ASK,I XOR YY =13400B IS FIRST CHARACTER Y? SZA JMP H25 TRY AGAIN ISZ ASK JMP ASK,I ORG 1777B DONE NOP ALLOW JUMP FROM ANY PAGE •€<ÿÿ ÿý­¼ ÿ12960-18003 1805 S 0122 DIAG-7900/7901              H0101 –¼þú HED START ORG 2000B * START * INITIALIZES PROGRAM AND STUFFS HALTS INTO LOW CORE * START CLC 0,C TURN EVERYTHING OFF LDA 106B LAST WORD OF AVAILABLE MEMROY STA LWAM STORE IT IN LWAM JSB TTYCK IS TTY AVAILABLE? JMP AGAIN NO CLA H0 JSB PRINT CARTRIDGE DISK MEMORY DIAGNOSTIC AGAIN EQU * LDB D2 TRAP CELL LOCATION LDA THLT2 TRAP CELL HALT OLP STA B,I INB INA CPB B100 TRAP CELL HALTS COMPLETE? RSS YES JMP OLP NO,REPEAT * CLA STA DMSP SET WORD TO NO-OP STA PASS RESTART STA WCNT STA CYL STA HEAD STA SECTR STA S4BUG LDA BPTR STA BUFAD INITIALIZE BUFAD CLA,INA STA NI LDA MM1 STA NFFB RESET STATUS MASK LDA UNITA STA UNIT UNIT = UNIT TABLE(0) BGN EQU * CLA STA ISR ZERO SWITCH REGISTER SUMMARY STA ERR ZERO NUMBER OF ERRORS STA STEPN STEP NUMBER = 0 CLA,INA A _ 1 LDB MDFLG RESET NI CPB B14 IF MULTI-DRIVE CONDITION STA NI IS TRUE STA SECTN START WITH SECTION ONE LDA D3 STA MDFLG LDA UNIT STUFF ADA ASCZZ UNIT INTO STA P065E,I PASS MESSAGE * H35 LDA B35 INITIAL STATUS STA COPRN LDA DC14 DATA CHANNEL JSB CNVS LDA CC7 COMMAND CHANNEL JSB CNVS CLB STB LOCAL ISZ LOCAL DELAY,ALLOW FOR JMP *-1 SWITCH THREE TO BE SET LDA UNIT SAVE STA GLOB4 UNIT NUMBER CLA STA SHTAS * * CLEAR ATTENTION INITIALLY ON ALL DRIVES THAT ARE ONLINE * STA UNIT INST1 EQU * LDA M1024 SET UP FOR 1024 MSEC DELAY STA LCNT INST3 CLA,INA DELAY 1 MSEC JSB TMR,I ISZ LCNT6^þú DONE? RSS NO JMP INST5 YES - GIVE UP JSB STAT GET STATUS AND B104 NRBIT + PBBIT 000104 CPA PBBIT IS UNIT READY AND BUSY? JMP INST3 YES - WAIT INST5 ISZ UNIT NO - CONTINUE LDA UNIT CPA D4 DONE WITH ALL UNITS? CLA,RSS YES JMP INST1 NO - CONTINUE HLP2 EQU * STA UNIT SET UP UNIT NUMBER JSB STAT GET STATUS AND NRBIT IS THIS UNIT READY? SZA SKIP IF YES JMP HLP3 NO JSB SEEK ISSUE SEEK JSB WAITS TO CLEAR ANY SEEK PROBLEMS JMP HLP1 HLP3 EQU * JSB SEEH CLEAR STATUS BITS THAT JSB WAIH LATCH HLP1 LDA UNIT INCREMENT INA UNIT NUMBER CPA D4 DONE? RSS YES JMP HLP2 NO,CONTINUE LDA GLOB4 STA UNIT SCALR EQU * SECTION CALLER LDA HDON SAVE STA GLOB2 HEAD ASSIGNMENT SCAL1 EQU * * CLA STA STEPN STEP NUMBER = 0 LDA B35 STA COPRN INITIAL STATUS JSB SW2 TEST BIT 2 , RETURN IF SET CTD EQU * PREPARE CYLINDER TABLE LDA P024A INITIALIZE STA CPNT POINTER LDA MM10 -10 STA CSAVE CLOOP ADA TRT CYLINDER TABLE POINTER LDA A,I JSB DECIN CONVERT NUMBER LDA CVT1 USE RIGHT AND B377 CHARACTER ALF,ALF OF LDB A CVT1 LDA CVT2 AND AND P7400 LEFT ALF,ALF CHARACTER IOR B OF CVT2 STA CPNT,I FOR FIRST ISZ CPNT WORD LDA CVT2 USE AND B377 RIGHT ALF,ALF CHARACTER IOR B54 OF CVT2 STA CPNT,I AND ISZ CPNT ASCII COMMA ISZ CSAVE FOR LDA CSAVE SECOND WORD SSA Ãíþú JMP CLOOP LDB P024A REMOVE ADB D19 LAST LDA B,I COMMA AND P7400 IOR B40 STA B,I H24 LDA B24 CYLINDER TABLE CONTENTS JSB PRINT JSB ASK WISH TO CHANGE? JMP PAT NO H26 LDA B26 YES,ENTER CYLINDER NUMBERS * SEPARATED BY COMMAS JSB PRINT JSB HIN INPUT FROM KEYBOARD CTS JSB DCHAR GET DECIMAL VALUE JMP CTS1 ERROR OR DONE? JSB CSTR STORE IN TABLE JMP CTS CONTINUE CTS1 LDA CCNT SZA,RSS SKIP IF ERROR JSB CSTR DONE JMP CTD PAT EQU * JSB SW2 TEST BIT 2 , RETURN IF SET PAT1 LDA MM1 TWO LINES WILL BE USED STA PCNTA LDA PATR ADDRESS ADA MM10 OF FIRST STA PLOAD PATTERN LDA P027A ADDRESS STA PSTOR OF MESSAGE PC LDA MM5 FIVE PATTERNS PER LINE STA PCNT PB LDB PSTOR LDA PLOAD,I JSB CNVRT CONVERT TO ASCII ISZ PLOAD LDB PSTOR ADB D3 LDA BB TWO ASCII BLANKS STA B,I INB STB PSTOR ISZ PCNT HAVE WE DONE 5 YET? JMP PB NO ISZ PCNTA YES,HAVE WE DONE TEN? JMP PATT1 YES LDA CRLF 06412 STA PSTOR,I ISZ PSTOR JMP PC PATT1 EQU * H27 LDA B27 PATTERN TABLE CONTENTS JSB PRINT JSB ASK WISH TO CHANGE? JMP HD NO H30 LDA B30 YES,ENTER PATTERN NUMBERS * SEPARATED BY COMMAS JSB PRINT JSB HIN INPUT FROM KEYBOARD PTS JSB OCHAR GET OCTAL VALUE JMP PTS1 ERROR OR DONE? JSB PSTR STORE IN TABLE JMP PTS CONTINUE PTS1 LDA CCNT SZA,RSS SKIP IF ERROR JSB PSTR DONE JMP PAT1 HD EQU * JSB SW2 TEST BIT 2 , RETURÀþúN IF SET HD3 LDA B62 CHOOSE HEAD MODE;A=0,1;B=2,3 * C=0,1 THEN 2,3 H62 JSB PRINT JSB HIN CLA STA HFLAG LDA BINA,I AND P7400 XOR HA =40400 SZA,RSS JMP HD1 XOR HB =1400 SZA,RSS JMP HD2 XOR HC =400 SZA JMP HD3 CLA,INA STA HFLAG HD1 CLA,RSS HD2 LDA D2 STA HDON JSB SW2 TEST BIT 2 , RETURN IF SET MAX2 LDA MAX SET LDB P023A UP INB MESSAGE JSB DCIN2 LDA CVT3 STA P023A,I LDA B23 H23 JSB PRINT XXXXXX ERRORS/PASS ALLOWED JSB ASK WISH TO CHANGE? JMP MAX3 NO MAX1 LDA B32 H32 JSB PRINT ENTER ERRORS/PASS JSB HIN JSB DCHAR RSS ERROR OR DONE? JMP MAX1 MUST BE DONE LDB CCNT SZA MAX MAY NOT BE ZERO SZB SKIP IF DONE JMP MAX1 ERROR STA MAX JMP MAX2 MAX3 EQU * JSB SW2 TEST BIT 2 , RETURN IF SET * PREPARE UNIT TABLE * LDA UNITC NUMBER OF UNITS LDB P037A JSB DCIN1 DEPOSIT IN MESSAGE LDA UNITC CMA,INA STA CSAVE LDB P037B LDA UNITS STA CPNT PUNA LDA CPNT,I GET UNIT ADA B2060 BLANK,0 STA B,I STORE IN MESSAGE INB ISZ CPNT ISZ CSAVE DONE? JMP PUNA NO LDA C1440 #,BLANK STA B,I LDA B37 H37 JSB PRINT UNIT TABLE/X DRIVE(S);A,B... JSB ASK WISH TO CHANGE? JMP H34H NO H34 LDA B34 ENTER UNIT NUMBER(0-3) SEPARATED * BY COMMAS JSB PRINT JSB HIN INPUT FROM KEYBOARD CLA STA UNITC NUMBER OF UNITS = 0 LDA UNITS STA GLOB3 POINTER FOR UNIT NUMBERS H34A JSB OCHAR GET •þúCHARACTER JMP H34B ERROR OR DONE JSB H34G STORE AND CHECK ISZ GLOB3 BUMP POINTER LDA UNITC PROCESS FIRST CPA D4 FOUR ONLY JMP H34D DONE JMP H34A CONTINUE H34B LDB CCNT DONE OR ERROR? SZB JMP H34 ERROR (ALREADY REPORTED) JSB H34G STORE AND CHECK H34D EQU * LDA UNITC SET CMA,INA UP NUMBER STA FL6 OF UNITS CLA ZERO STA SHTAS EXPECTED STATUS LDA UNITS SET STA GLOB4 UP POINTER H34F EQU * LDA GLOB4,I LOAD UNIT NUMBER STA UNIT IOR B2060 STA PO72A,I JSB STAT GET STATUS AND NRBIT IS NOT READY BIT SET? SZA SKIP IF NO JSB WCHK YES,PRINT ERROR LDA STAUS AND PBBIT IF NOT ONLINE SZA SKIP IF NO E72 JSB ERROR UNIT X NOT READY ISZ GLOB4 NEXT UNIT NUMBER ISZ FL6 DONE? JMP H34F NO,CONTINUE LDA UNITA SWITCH NUMBER STA UNIT ADA ASCZZ SET UP STA P065E,I PASS MESSAGE JMP MAX3 H34H EQU * JMP SCAL1 CONTINUE H34G NOP ISZ UNITC BUMP COUNT STA GLOB3,I STORE UNIT NUMBER ADA MM4 TEST SSA RANGE 0 LEQ X LEQ 3 JMP H34G,I OK,RETURN JSB H31 BAD INPUT JMP H34 TRY AGAIN SW2 NOP JSB SWR AND BIT2 IS BIT 2 SET? SZA BRANCH IF NO JMP SW2,I LDA GLOB2 DID HEAD ASSIGNMENT CPA HDON CHANGE? RSS NO JMP BGN YES - CLEAR LATCHED STATUS BITS JSB SWR AND BIT3 SZA IS BIT 3 SET? JMP OPDNI,I YES * * CHECK TO SEE UNIT IS PRESENT * JSB STAT IS UNIT AND NRBIT PRESENT? SZA,RSS JMP UD1 YES LDA UNIT NO ^=þúSTA GLOB1 ADA B2060 STA P050A,I SET UP FIRST PART OF MESSAGE LDA P050B STA GLOB2 LDA NRBIT STA GLOB3 CLA UD2 EQU * STA UNIT CPA GLOB1 LOOK AT ALL OTHER UNITS JMP UD3 NO - SAME UNIT JSB STAT IS THIS AND NRBIT UNIT PRESENT? LDB MM16 SZA,RSS LDB UNIT YES AND GLOB3 STA GLOB3 ADB B2060 B = BLANK,BLANK OR BLANK,UNIT # STB GLOB2,I SET UP LAST PART ISZ GLOB2 OF MESSAGE UD3 EQU * CLA,INA ADA UNIT CPA D4 DONE? RSS YES JMP UD2 CONTINUE LDA GLOB3 LDB BB BLANK,BLANK SZA,RSS LDB C1440 #,BLANK STB GLOB2,I E50 JSB ERROR E50 UNIT MISSING - PRESENT ... LDA PASS SZA JMP UD4 DONT HALT IF PASS <> 0 HLT 6 JMP START UD4 EQU * LDA GLOB1 STA UNIT UD1 EQU * LDA SECTN LOAD SECTION NUMBER ADA SECT ADD ON POINTER JMP A,I CALL SECTION SKIP EQU * LDA HLTC =102010 IOR SECTN SECTION NUMBER STA SHLT HALT BETWEEN SECTIONS JSB SWR CHECK FOR HALT AT END OF SECTION AND BIT9 SZA SHLT NOP JSB SWR CHECK FOR TEST REPEAT AND BIT7 SZA SKIP IF NO REPEAT JMP SCALR REPEAT LAST TEST THRU EQU * ENTRY POINT FROM SECTION 5 LDB SECTN COUNT UP SECTION NUMBER INB STB SECTN CPB D6 FIVE SECTIONS CLA,INA,RSS JMP SCALR ADA PASS INCREMENT PASS NUMBER STA PASS LDA ERR SZA,RSS JMP PS1 JSB SWR AND A2400 CPA A2400 BOTH SET? JMP PS2 YES PS1 EQU * JSB TTYCK JMP ECHOS PS2 EQU * LDA PASS LDB P065A CONVERT PASS JSB DCIN2 NUMBER Åzþú LDA ERR LDB P065B CONVERT NUMBER JSB DCIN2 OF ERRORS LDA MM3 STA TEMP1 LDB LONG LDA ISR AND B142 SZA SKIP IF LONG PASS LDB SHORT STB LOCAL LDB P065A ADB MM4 LPASS EQU * LDA LOCAL,I MOVE STRING STA B,I INTO ADB MM1 MESSAGE ISZ LOCAL ISZ TEMP1 JMP LPASS LDB P065B CHECK ADB D5 FOR LDA B,I MULTI-DRIVE AND MM16 =177760B IOR MDFLG STA B,I LDA B65 H65 JSB PRINT PASS XXXX ECHOS JMP BGN RUN TEST OVER SKP FRSTA DEF *+1 DEF CH1 DEF CH2 DEF CH3 DEF CH4 DEF CH5 DEF CH6 DEF CH7 DEF CH8 DEF CH9 DEF CH10 DEF CH13 DEF CH15 LASTA DEF *-1 * * CNVS * CONVERT CHANNEL NUMBER TO ASCII AND STORE IN * MESSAGES M2 THROUGH M7. INITIALIZE CH1 * THROUGH CH13 TO CHANNEL SELECT CODE * CNVS NOP STA LOCAL SAVE SELECT CODE LDB CVT TEMPORARY STORAGE BUFFER JSB CNVRT CONVERT TO OCTAL LDA WD3 GET LEAST SIGNIFICANT PART STA P002A,I STORE STA P003A,I INTO STA P004A,I MESSAGES STA P005A,I STA P057A,I LDB FRSTA STB GLOB2 SAVE FIRST POINTER CLB LDB GLOB2,I LOAD POINTER LDA B,I LOAD WORD AND P7700 MASK OUT SELECT CODE IOR LOCAL STUFF IN NEW SELECT CODE STA B,I STORE BACK CPB LASTA,I DONE? JMP CTEST YES ISZ GLOB2 JMP CLB * * * CTEST * TEST CHANNEL * CTEST EQU * CLC 0,C INITIALIZE I/O SYSTEM LDA M1024 PUT ILLEGAL DISC CH15 OTA CH COMMAND IN A CH1 CLF CH CLEAR CHANNEL FLAG CH2 SFS CH RSS E2 JSB ERROR CLF OR SFS FAILED ON CHANNEL X CH3 CLF CH TRY AG‚_þúAIN CH4 SFC CH E3 JSB ERROR SFC FAILED WITH FLAG CLEAR-CH. X CH5 STF CH CH6 SFC CH RSS E4 JSB ERROR STF OR SFC FAILED ON CHANNEL X CH7 STF CH TRY AGAIN CH8 SFS CH E5 JSB ERROR SFS FAILED WITH FLAG SET - CH. X * * SCREEN TEST * LDA B10 START AT SELECT CODE 10 C1 STA GLOB3 CPA CH13 SAME AS THIS SELECT CODE? JMP C2 YES - SKIP TEST IOR STF0 NO - SET UP STF X STA C3 CH9 CLF CH CLEAR CH C3 STF CH STF X CH10 SFS CH SKIP CH JMP C2 OK E57 JSB ERROR SCREEN TEST ERROR JSB ERHTI,I HALT? C2 EQU * LDA GLOB3 INA CPA B100 DONE? RSS YES JMP C1 NO * TEST INTERRUPT CAPABILITY * LDA CH13 EXIT IF DATA CHANNEL CPA DC14 JMP CNVS,I LDA CH13,I STA GLOB1 LDA JSB1 SET UP INTERRUPT TRAP CELL STA CH13,I LDA JE6 CC16 STC CC SET CHANNEL TO REQUEST CC17 STF CC AN INTERRUPT STF0 STF 0 ENABLE INTERRUPTS STC 1 * INTERRUPTS STF 1 SHOULD CLC 1 BE CLF 1 DELAYED JMP *+1,I UNTIL DEF *+1 . JSB *+1,I . DEF *+1 . NOP . INTPT NOP * HERE E6 JSB ERROR NO INTERRUPT ON CHANNEL X JMP CC18 RETRN NOP INTERRUPT SUBROUTINE CLF 0 DISABLE INTERRUPTS LDA GLOB1 TRAP CELL HALT STA CH13,I STF 0 TEST INTERRUPT ACKNOWLEDGE NOP * SHOULD NOT NOP INTERRUPT HERE CLF 0 DISABLE INTERRUPTS LDA RETRN DID INTERRUPT OCCUR AT THE CPA ADDRS CORRECT MEMORY LOCATION RSS E7 JSB ERROR INCORRECT RETURN ADDRESS - CH. X CC18 STC CC SET CONTROL CC19 STF CC CLC 0 SHOULD CLEAR ALL CONÓ&þúTROL BITS STF 0 ENABLE INTERRUPTS NOP ** SHOULD NOT INTERRUPT NOP HERE CLC 0 TURN EVERYTHING OFF LDA GLOB1 STA CH13,I * CLF 0 JMP CNVS,I YES HED WADR,DGEN1,CSTR,PSTR * * WADR * USE DMA TO WRITE ADDRESSES ON THE DISC * WADR NOP JSB FSEEH RESET RAR LDA WPCYL STA WCNT SET UP WORD COUNT JSB WADRI,I WRITE ADDRESS JSB WCHK CHECK FOR ERRORS JMP WADR,I EXIT * * DGEN1 * LIMIT WORD COUNT TO 1024. * DGEN1 NOP STA WRSP LDA D1024 STA WCNT WCNT = 1024 JSB DGEN FILL WRITE BUFFER WITH RANDOM JMP DGEN1,I DATA * CSTR NOP LDA TRT CSTR1 STA CPONT SET POINTER ADA MM2 PUSH CYLINDER STA CLOAD TABLE INA DOWN ONE STA CSTOR AND MOVE LDA CLOAD,I PLACE STA CSTOR,I NEW LDA CLOAD ENTRY STA CSTOR ON ADA MM1 TOP STA CLOAD ADA D11 CPA CPONT RSS JMP MOVE LDA VALUE STA CSTOR,I JMP CSTR,I * PSTR NOP LDA PSTR STA CSTR SET UP RETURN LDA PATR JMP CSTR1 HED FCYCK,WEND,SEND,DEND * FCYCK * PERFORM COMPLETE CYCLIC CHECK OPERATION,INCLUDING SEEK. * A = NUMBER OF SECTORS ON ENTRY. * FCYCK NOP STA WCNT SAVE NUMBER OF SECTORS JSB FSEEK SEEK LDA WCNT JSB CYCK ISSUE CYCLIC CHECK JSB WCHK CHECK STATUS JMP FCYCK,I RETURN * * WEND * JSB WCHK CHECK STATUS * JSB ENDST END STEP * WEND NOP JSB WCHK JSB ENDST JMP WEND,I * * SEND * CLA * STA SHTAS * JSB ENDST * SEND NOP CLA STA SHTAS EXPECTED STATUS = 0 JSB ENDST JMP SEND,I * _<:6* DEND * JSB READ * JSB DCHK * JSB ENDST * DEND NOP JSB READ JSB DCHK VERIFY DATA READ JSB ENDST JMP DEND,I ³3<ÿÿ ÿý®½ ÿ12960-18004 1805 S 0122 DIAG-7900/7901              H0101 —¼þú HED S1 - SECTION 1 * SECTION 1 * THIS SECTION TESTS MOST CONTROLLER FUNCTIONS USING SHORT * READS AND WRITES. * WRSP EQU GLOB1 LOCATION FOR PCI AND DCI BITS WRR EQU GLOB2 TIMER S1 EQU * CLB STB SFLAG STB SHTAS WHAT STATUS SHOULD BE STB DMRF NO DMA ERRORS AT START STB STRF NO INITIAL ERRORS STB CYL STB HEAD STB SECTR LDA BPTR STA BUFAD INITIALIZE BUFFER ADDRESS LDA BPTS LOAD READ BUFFER ADDRESS STA BUFAE SET POINTER * * STEP 1 * GET AND CHECK STATUS FOR 0 * LDA D1 JSB COPR LDA B35 INITIAL STATUS STA COPRN JSB STAT GET STATUS JSB WEND CHECK STATUS AND END STEP * * STEP 2 * SEEK TO CYLINDER 0 * LDA D2 JSB COPR JSB FSEEK SEEK JSB ENDST * * SKIP TO STEP 21 IF BIT 4 IS CLEAR * JSB SWR AND BIT4 SZA,RSS JMP STP21 * * STEP 3 * ASK OPERATOR TO SET OVERRIDE SWITCH * LDA D3 JSB COPR JSB TTYCK IS TTY AVAILABLE? JMP WHLTA NO LDA B66 YES JSB PRINT WHLTA LDA B66 SET OVERRIDE SWITCH PUSH RUN HLT 2 JSB ENDST * * STEP 4 * PLACE WRITE LOCKOUT BIT ON CYLINDER ZERO,READ CYLINDER ZERO * (CHECKING FOR FLAGGED CYLINDER INDICATION) AND CYCLIC CHECK * CYLINDER ZERO (CHECKING FOR FLAGGED CYLINDER INDICATION). * LDA D4 JSB COPR LDA WRILB LOAD WRITE LOCKOUT BIT JSB DGEN1 GENERATE BUFFER JSB WADR WRITE ADDRESSES ONTO DISK LDA FLBIT FLAGGED TRACK BIT STA SHTAS WHAT STATUS SHOULD BE LDA D128+SZREF READ ONE STA WCNT SECTOR JSB FSEEH READ JSB READ BACK JSB DCHK AND CHECK LDA D1 ONE SECTOR JSB FCYCK ISSUE CYCLIC CHECK JSB SEND * * Û&þú STEP 5 * PLACE DEFECTIVE CYLINDER BIT ON CYLINDER ONE * ISZ CYL CYL = 1 LDA D5 JSB COPR JSB FSEEK SEEK IN S0 LDA DFTB LOAD DEFECTIVE TRACK INDICATOR JSB DGEN1 GENERATE BUFFER JSB WADR WRITE ONTO DISK JSB ENDST * * STEP 6 * ASK OPERATOR TO CLEAR OVERRIDE SWITCH * LDA D6 JSB COPR JSB TTYCK IS TTY AVAILABLE? JMP WHLTB NO LDA B67 YES JSB PRINT WHLTB LDA B67 CLEAR OVERRIDE SWITCH,PUSH RUN HLT 2 JSB ENDST * * STEP 7 * READ CYLINDER ONE (CHECKING FOR ADDRESS ERROR,FLAGGED CYLINDER * AND ANY ERROR INDICATIONS). * LDA D7 JSB COPR LDA D128+SZREF STA WCNT SET WORD COUNT FOR ONE SECTOR JSB FSEEH ADDRESS RECORD IN S0 JSB READ LDA B31 FLBIT+NFBIT+AEBIT 000031 STA SHTAS WHAT STATUS SHOULD BE JSB DMRFC OK IF TRANSFER IS INCOMPLETE JSB WEND CHECK STATUS AND END STEP * * STEP 8 * WRITE CYLINDER ZERO (CHECKING FOR FLAGGED CYLINDER AND ANY * ERROR INDICATIONS). * LDA D8 JSB COPR CLA STA CYL SET TO CYLINDER ZERO JSB FSEEK SEEK IN S0 JSB WRITE LDA B11 FLBIT+AEBIT 000011 STA SHTAS JSB DMRFC OK IF TRANSFER IS INCOMPLETE JSB WEND CHECK STATUS AND END STEP * * STEP 9 * WRITE ADDRESS ON CYLINDER ZERO (CHECKING FOR FLAGGED CYLINDER * AND ANY ERROR INDICATIONS). * LDA D9 JSB COPR JSB FSEEK SEEK CLA JSB DGEN1 GENERATE BUFFER LDA WPCYL =6144 STA WCNT JSB WADRI,I JSB DMRFC OK IF TRANSFER IS INCOMPLETE JSB WEND CHECK STATUS AND END STEP * * STEP 10 * ASK OPERATOR TO SET OVERRIDE SWITCH * LDA D10 JSB COPR CLA STA SHTAS WHAT STATUS SHOULD NORMALLY BE ·Æþú JSB TTYCK IS TTY AVAILABLE? JMP WHLTC NO LDA B66 YES JSB PRINT WHLTC LDA B66 SET OVERRIDE SWITCH,PUSH RUN HLT 2 JSB ENDST * * STEP 11 * INITIALIZE ENTIRE PACK * LDA D11 JSB COPR CLA WRCL EQU * STA CYL SET NEW CYLINDER NUMBER * * THE FOLLOWING OPERATION IS A SEEK THAT * CAUSES POSITIONER MOTION. * JSB SEEK CLA JSB DGEN1 GENERATE BUFFER JSB WAITS WAIT FOR SEEK COMPLETION JSB WADR WRITE AND READ ADDRESSES LDA D1024+SZREF READ BACK EIGHT SECTORS STA WCNT JSB FSEEH READ JSB READ BACK JSB DCHK AND CHECK CLA,INA INCREMENT CYLINDER ADA CYL COUNT UP TO NEXT CYLINDER CPA CYPP CHECK FOR END OF PACK RSS JMP WRCL NOT DONE, FINISH PACK JSB ENDST * * STEP 12 * ASK OPERATOR TO CLEAR OVERRIDE SWITCH * LDA D12 JSB COPR JSB TTYCK IS TTY AVAILABLE? JMP WHLTD NO LDA B67 YES JSB PRINT WHLTD LDA B67 CLEAR OVERRIDE SWITCH,PUSH RUN HLT 2 JSB ENDST * * STEP 13 * ASK OPERATOR TO UNLOCK DRIVE * LDA D13 JSB COPR LDA UNIT CONVERT ADA B2060 UNIT NUMBER STA P070A,I TO ASCII STA P040B,I JSB TTYCK IS TTY AVAILABLE? JMP WHLTE NO H70 LDA B70 YES JSB PRINT WHLTE LDA B70 UNLOCK UNIT X,PUSH RUN HLT 2 JSB ENDST * * STEP 14 * CHECK FOR NOT-READY AND ANY ERROR INDICATIONS. ISSUE A WRITE * COMMAND AND CHECK STATUS. ISSUE A SEEK TO CHECK THAT THE * CONTROLLER SETS THE COMMAND FLAG IMMEDIATELY IF THE DISC * DRIVE IS NOT READY. * THIS STEP REPORTS A SEEK CHECK ERROR WHEN LOOPED. * LDA D14 JSB COPR JSB STAT LDA B105 NR['þúBIT+PBBIT+AEBIT 000105 STA SHTAS SET WHAT STATUS SHOULD BE JSB WCHK LDA D128+SZREF STA WCNT JSB WRITE JSB DMRFC OK IF TRANSFER IS INCOMPLETE JSB WCHK AND CHECK FOR ERRORS JSB SEEK SEEK JSB WAITS WAIT FOR SEEK TO COMPLETE JSB ENDST * * STEP 15 * ASK OPERATOR TO SET DATA PROTECT SWITCH AND READY DRIVE. TEST * ATTENTION BITS WHEN HEADS LOAD. * LDA D15 JSB COPR LDA HDON LDB UPD SZA IF HDON = 0, UPPER DISC LDB LRD OTHERWISE, LOWER DISC STB P040A,I PREPARE STB P041A,I MESSAGES NRCB EQU * LDA MM10 PRINT EVERY STA WRR 82 SECONDS JSB TTYCK JMP WHLTF H40 LDA B40 PROTECT X/D THEN READY UNIT X JSB PRINT WHLTF LDA M7936 STA LCNT SET MILLISECOND COUNTER CC13 CLC CC SET UP FOR CC14 STC CC,C FLAG ON HEAD-LOAD NRCF EQU * CC11 SFC CC SKIP IF NOT READY JMP CC12 FLAG IS SET CLA,INA JSB TMR,I DELAY 1 MSEC ISZ LCNT JMP NRCF ISZ WRR READY TO PRINT? JMP WHLTF NO JMP NRCB YES CC12 LIB CC ATTENTION BITS LDA B21 SZB,RSS JSB FPRNT MISSING ATTENTION BITS JSB ENDST * * STEP 16 * PERFORM A SEEK OPERATION AND TEST FOR FIRST SEEK BIT. * THIS STEP REPORTS A FIRST SEEK ERROR WHEN LOOPED. * LDA D16 JSB COPR CLA STA CYL JSB SEEK * * TEST FIRST SEEK BIT * LDA E2001 FSBIT+SPBIT+AEBIT 042001 STA SHTAS JSB WAITS JSB WEND CHECK STATUS AND END STEP * * STEP 17 * ATTEMPT TO WRITE DATA ON THE DISC AND THEN VERIFY THAT NO * DATA TRANSFER TOOK PLACE. CHECK STATUS. LDA D17 JSB COPR JSB SEEK JSB STAT JSB DMW INITIATE DMA LDB B45 SET UP CURRENT OPE=ÓþúRATION LDA WRITC JSB COMMD WRITE ON PROTECTED SUBCHANNEL LDA M175 STA LCNT WATE EQU * CLA,INA JSB TMR,I DELAY 1 MSEC ISZ LCNT JMP WATE LOOP UNITL TIMEOUT JSB MC TURN OFF DMA DM2L LIA DMAC ADA WCNT AND B7777 CPA D1 SHOULD BE ONLY 1 TRANSFERRED JMP PSTAT IF SO, GO AHEAD AND CHECK STATUS LDB P013A IF NOT, BOMB JSB DCIN2 CLA,INA STA WCNT LDA BIT15 STA DMRF JSB PCOP JSB DMERQ JSB ADDOI,I PSTAT LDA B2011 SPBIT+FLBIT+AEBIT 002011 STA SHTAS JSB STAT JSB WCHK CHECK STATUS ON WRITE JSB SEND * * STEP 18 * ASK OPERATOR TO CLEAR DATA PROTECT SWITCH * LDA D18 JSB COPR JSB TTYCK JMP WHLTH LDA B41 H41 JSB PRINT H41 CLEAR X/D PROTECT,LOAD,RUN WHLTH LDA B41 HLT 2 JSB STAT CLEAR FIRST STATUS JSB ENDST * * STEP 19 * TEST POPIO LINE WITH PRESET SWITCH. * ISZ CYL LDA D19 JSB COPR CLA STA SHTAS JSB FSEES ADDRESS RECORD * * RAR NOW DIFFERS FROM POSITIONER. * A READ WILL SHOW A STATUS OF 21B. * JSB DMR SET UP DMA READ OPERATION LDB B46 SET UP CURRENT OPERATION LDA READC LOAD READ COMMAND JSB COMMD OUTPUT COMMAND JSB DMAT JSB TTYCK JMP WHLTG LDA B71 H71 JSB PRINT PRESS PRESET(S) THEN PRESS RUN WHLTG LDA B71 HLT 2 JSB STAT * * THE FOLLWOING TEST VERIFIES THE POPIO LINE * JSB WEND CHECK STATUS AND END STEP * * STEP 21 * SEEK TO CYLINDER 0,THEN SEEK TO CYLINDER 1 AND CHECK STATUS * FOR BUSY * STP21 EQU * LDA D21 JSB COPR CLA STA CYL JSB FSEEK SEEK IN S1 ISZ CYL * * THE FOLLOWING OPERATIONS ARE, * »þú A SEEK THAT CAUSES POSITIONER MOTION * AND A STATUS OPERATION IMMEDIATELY * FOLLOWING WHICH SHOULD SEE A * POSITIONER BUSY STATUS. * JSB SEEK LDA D5 PBBIT+AEBIT 000005 STA SHTAS WHAT STATUS SHOULD BE JSB STAT GET STATUS WHILE BUSY JSB WCHK CHECK FOR ERRORS CLB FOR WAITS TIME COUNTER STB SHTAS WHAT STATUS NORMALLY IS JSB WAITS WAIT FOR SEEK TO FINISH JSB ENDST * * STEP 22 * SEEK TO CYLINDER 203 AND CHECK STATUS FOR SEEK-CHECK AND ANY * ERROR INDICATIONS. * LDA D22 JSB COPR LDA CYPP LOAD FIRST NON-EXISTANT CYLINDER NUMBER STA CYL JSB SEEK SEEK TO NON-EXISTANT CYLINDER JSB WAITS WAIT FOR SEEK LDA B401 SCBIT+AEBIT 000401 STA SHTAS JSB WEND CHECK STATUS AND END STEP * * STEP 23 * SEEK WHILE A SEEK IS IN PROGRESS,THEN CHECK STATUS FOR SEEK- * CHECK AND ANY ERROR INDICATIONS. * LDA D23 JSB COPR LDA FTR,I GET FIRST CYLINDER THAT STA CYL WE ARE ALLOWED TO WRITE ON. JSB SEEK JSB SEEK SEEK WITHIN A SEEK JSB WAITS ALLOW COMPLETION JSB WEND CHECK STATUS AND END STEP * * STEP 24 * SEEK TO FIRST CYLINDER IN CYLINDER TABLE AND WRITE ONE SECTOR * AT SECTOR ZERO * LDA D24 JSB COPR CLA STA SHTAS STATUS IS NORMALLY ZERO JSB FSEEK SEEK IN S1 LDA D384+SZREF STA WCNT SET WORD COUNT FOR THREE SECTORS JSB DGEN GENERATE NEW BUFFER * * THE FOLLOWING OPERATION DOES THE FIRST * WRITE ON THE DISK ON HEAD ZERO, SECTOR ZERO * LDA D128+SZREF STA WCNT SET WORD COUNT FOR ONE SECTOR JSB WRITE WRITE ON FIRST SECTOR JSB WEND CHECK STATUS AND END STEP * * STEP 25 * WRITE TWO SECTOÄþúRS AT SECTOR 7. * LDA D25 JSB COPR LDA D7 STA SECTR OPERATION STARTS AT SECTOR 7 JSB SEES LDA BPTR1 = BPTR + 128 STA BUFAD LDA D256+SZREF STA WCNT TWO SECTOR WORD COUNT JSB WAIS WAIT FOR SECTOR SWITCHING JSB WRITE JSB WEND CHECK STATUS AND END STEP * * STEP 26 * READ ONE SECTOR AT SECTOR ZERO AND CHECK AGAINST DATA THAT * WAS WRITTEN * LDA D26 JSB COPR CLA STA SECTR NEXT OP STARTS AT SECTOR ZERO JSB SEES LDA D128+SZREF STA WCNT SET WORD COUNT FOR ONE SECTOR LDA BPTR STA BUFAD PUT BUFFER ADDRESS BACK JSB WAIS WAIT FOR SECTOR SWITCHING JSB DEND * * STEP 27 * READ TWO SECTORS AT SECTOR 7 AND CHECK AGAINST DATA THAT WAS * WRITTEN. * LDA D27 JSB COPR LDA D7 STA SECTR OPERATION STARTS AT SECTOR 7 JSB SEES LDA BPTR1 = BPTR + 128 STA BUFAD SET TO SECOND READ/WRITE ADDRESS LDA D256+SZREF TWO SECTOR STA WCNT SET WORD COUNT JSB WAIS WAIT FOR SECTOR SWITCHING JSB DEND * * STEP 28 * REFINE ONE SECTOR AT SECTOR SEVEN. READ AND VERIFY SECTOR 7. * LDA D28 JSB COPR JSB FSEES ADDRESS RECORD IN S1 JSB RFNE ISSUE REFINE COMMAND JSB WCHK CHECK STATUS JSB FSEES ADDRESS RECORD IN S1 JSB DEND * * STEP 29 * WRITE FOUR SECTORS AT SECTOR 21,CAUSING A TRACK CHANGE. * LDA D29 JSB COPR LDA SCPT-3 STA SECTR SET SECTOR NUMBER JSB SEES LDA D512+SZREF STA WCNT SET FOUR SECTOR WORD COUNT LDA BPTR STA BUFAD JSB DGEN GENERATE BUFFER JSB WAIS WAIT FOR SECTOR SWITCHING JSB WRITE JSB WEND CHECK STATUS AND END STEP * * STEP 30 * PERFORMS A CYCLIC CHECK ON GROUPS OF SECTORS STº þúARTING AT HEAD * ZERO,SECTOR ZERO. (ONE SECTOR,THEN 2 SECTORS,THEN 4,8,16,32, * 48 AND 49 SECTORS.) THE LAST ONE RESULTS IN END OF CYLINDER * INDICATION. * LDA D30 JSB COPR CLA STA SECTR SET SECTOR ZERO LDA MM6 CYCLIC CHECK STA WRR 1,2,4,8,16 AND 32 SECTORS LDA D1 STP30 EQU * JSB FCYCK ISSUE CYCLIC CHECK LDA WCNT ALS ISZ WRR DONE? JMP STP30 NO LDA D48 48 SECTORS JSB FCYCK ISSUE CYCLIC CHECK LDA B41 END-OF-CYLINDER AND ANY-ERROR STA SHTAS LDA D49 49 SECTORS JSB FCYCK ISSUE CYCLIC CHECK JSB SEND * * STEP 31 * READ FOUR SECTORS AT SECTOR 21 AND VERIFY THE DATA AGAINST * THAT WHICH WAS WRITTEN. * LDA D31 JSB COPR LDA D512 STA WCNT WORD COUNT = FOUR SECTORS LDA SCPT-3 STA SECTR SET SECTOR JSB FSEES ADDRESS RECORD IN S1 JSB DEND * * STEP 32 * AT SECTOR SEVEN,LOWER TRACK FORCE OVERRUN FOLLOWING WRITE OF * TWO WORDS. * LDA D32 JSB COPR LDA TRPC-1 LOAD LAST TRACK NUMBER STA HEAD LDA D7 STA SECTR SET SECTR TO SEVEN JSB SEEH MOVE TO THE BOTTOM TRACK * * THIS OPERATION OUTPUTS A PAIR OF WORDS TO THE * DATA CHANNEL. ABOUT 50 MICROSECONDS AFTER THE SECOND * IS ACCEPTED, A THIRD WORD IS OUTPUT TO SET OVERRUN FLAG. * LDA BUFAD CLB STB A,I SET TWO WORDS OF ZERO INA STB A,I LDA D2 STA WCNT SET WORD COUNT LDA OVIJS JUMP TO SUBROUTINE STA DMSP SET DMA BREAK LOCATION JSB WAIH WAIT FOR HEAD SWITCHING JSB WRITE JSB ST32I,I * * STEP 33 * WRITE FOUR SECTORS AT SECTOR 21,LOWER TRACK. THE END-OF- * CYLINDER AND ANY ERROR CONDITIONS ARE EXPECTED. * LDA D33 JSB COPR  þú CLA STA SHTAS LDA SCPT-3 STA SECTR SET SECTOR JSB SEEK LDA D512+SZREF STA WCNT SET WORD COUNT FOR FOUR SECTORS JSB DGEN GENERATE BUFFER JSB WAITS WAIT FOR SEEK TO COMPLETE JSB WRITE JSB DMRFC OK IF TRANSFER IS INCOMPLETE LDA B41 ECBIT+AEBIT 000041 STA SHTAS THIS IS WHAT STATUS SHOULD BE JSB WENDI,I * * STEP 34 * TEST COMMAND BIT 14 * IF MISSING CYCHK BECOMES READC AND END OF CYLINDER WON'T OCCUR * LDA D34 JSB COPR JSB FSEEK SEEK IN S1 LDA D128+SZREF STA WCNT JSB DMR SET UP DMA IN CASE IT IS READ LDB B22 SET UP CURRENT OPERATION LDA B62 CHECK IS FOR 50 JSB DADO SECTORS LDA CYCHK JSB COMMD OUTPUT COMMAND JSB DMAT JSB STAT GET STATUS JSB WENDI,I * * STEP 35 * AT SECTOR SEVEN,LOWER HEAD;READ THIRTY WORDS AND FORCE * OVERRUN. CHECK ZERO FILL AND VERIFY THAT THE WORD CAUSING * THE PREVIOUS OVERRUN WAS NOT WRITTEN ON THE DISC. * LDA D35 JSB COPR CLA STA SHTAS STATUS SHOULD NORMALLY BE ZERO LDA D7 STA SECTR SET SECTR TO SEVEN JSB SEEH RETURN TO BOTTOM TRACK LDA D30 STA WCNT SET WORD COUNT FOR ONE SECTOR LDA OVIJS STA DMSP SET TO INTERRUPT DMA TRANSFER JSB WAIH WAIT FOR HEAD SWITCHING JSB READ JSB ST35I,I * * STEP 36 * READ FOUR SECTORS AT SECTOR 21,LOWER TRACK. THE END-OF- * CYLINDER AND ANY ERROR INDICATIONS ARE EXPECTED. THE THREE * SECTORS READ ARE CHECKED AGAINST THOSE WRITTEN. * LDA D36 JSB COPR LDA SCPT-3 STA SECTR SET SECTOR JSB FSEES LDA D512+SZREF STA WCNT SET WORD COUNT FOR FOUR SECTORS JSB READ READ AND JSB DMRFC OK IF TRANSFER IS INCOMPLETE LDA D384—­<:6+SZREF STA WCNT SET WORD COUNT FOR THREE SECTORS LDA B41 ECBIT+AEBIT 000041 STA SHTAS THIS IS WHAT STATUS SHOULD BE JSB DCHK CHECK FOR ERRORS AND COMPARE BUFFERS JSB ENDST * * STEP 37 * SEEK TO LAST CYLINDER. READ ONE SECTOR AT CYLINDER 0. ADDRESS * ERROR AND ANY ERROR ARE EXPECTED. FORCES WORST CASE * RECALIBRATE. * LDA D37 JSB COPR LDA D202 STA CYL JSB FSEEK SEEK TO CYL 202 CLA STA CYL JSB FSEES SET CYL TO 0 LDA D128+SZREF STA WCNT SET WORD COUNT FOR ONE SECTOR JSB READ LDA STAUS MASK OUT BITS 10 AND 13 AND N5777 =155777 STA STAUS LDA B21 NFBIT+AEBIT 000021 STA SHTAS WHAT STATUS SHOULD BE JSB WENDI,I * * STEP 38 * SEEK TO CYLINDER 202(OR 0 IF FIRST ENTRY IS 202)AND THEN SEEK * TO FIRST ENTRY IN CYLINDER TABLE. AT HEAD 1,SECTOR 21 READ * ONE SECTOR AND VERIFY CONTENTS. THE READ COMMAND IS ISSUED * BEFORE THE SEEK IS COMPLETE. * LDA D38 JSB COPR CLA STA SHTAS WHAT STATUS SHOULD NORMALLY BE LDB D202 LDA FTR,I IS FIRST ENTRY IN TABLE CPA D202 EQUAL TO 202 CLB YES STB CYL CYL = 202 (OR 0) JSB FSEEK PERFORM FULL SEEK LDA FTR,I STA CYL JSB SEEK JSB DENDI,I JMP SKIPI,I EXIT S1 x^<ÿÿ ÿý¯¾ ÿ12960-18005 1805 S 0122 DIAG-7900/7901              H0101 ˜¼þú HED S2 - SECTION 2 * * * SECTION 2 IS ORGANIZED AS FOLLOWS * * CYLINDER ADVANCE * SWITCH 6=0 -- ALL CYLINDERS FROM 0 TO 202 * SWITCH 6=1 -- ALL CYLINDERS IN TRTAB * . * . * . PATTERN GENERATOR * . GENERATE BUFFERS FOR EACH OF THE PATTERNS IN PATTR * . SKIP THIS SECTION IF SWITCH 5=1 * . . * . . TRACK ADVANCE * . . ALL TRACKS FROM 0 TO TRPC-1 * . . . * . . . BLOCK ADVANCE * . . . EACH TRACK IS WRITTEN AS THREE BLOCKS * . . . . * . . . . WRITE DATA BUFFER * . . . . * . . * . . TRACK ADVANCE * . . ALL TRACKS FROM 0 TO TRPC-1 * . . . * . . . BLOCK ADVANCE * . . . EACH TRACK IS READ AS THREE * . . . BLOCKS * . . . . * . . . . READ EACH BLOCK * . . . . * . . . . CHECK DATA READ * . . . . * . . . * . . * . * . * * SVCT EQU GLOB1 USED TO COUNT TOTAL TIME FLAG2 EQU GLOB2 USED WHEN STEP 45 LOOPS SVKC EQU GLOB3 PATT EQU GLOB4 VARIABLE TO SAVE CURRENT PATTERN PTNX EQU GLOB5 COUNTER FOR PATTERN TABLE S2 EQU * CLA STA SVCT ZERO TOTAL TIME IN SEEKS STA SVKC ZERO SEEK COUNT STA CYLX SET ZERO INTO INITIAL CYLINDER STA SHTAS CCA STA FIRST FIRST = -1 S2L EQU * JSB CYLJ TRANSLATE CYLX INTO CYL CLA A _ 0 STA HEAD POSITION FOR HEAD ZERO AND STA SECTR SECTOR ZERO CLA,INA SET UP STA FLAG2 FOR TIMING LDA SVCT MOVE SAVED STA SVCTA COUNTER BACK * * STEP 45 * SELECT CYLINDER ACCORDING TO SWITCH REGISTER BIT 6. PERFORM * SEEK OPERATIO¹IþúN * LDA D45 JSB COPR JSB FSEEK LDA FLAG2 HAS THIS STEP BEEN REPEATED? SZA,RSS SKIP IF NO JMP S2A YES CLA DON'T COUNT STA FLAG2 ( DISABLE TIMING ON LOOP ) ISZ FIRST FIRST SEEK LDA SVCTA SAVE CURRENT STA SVCT MILLISECOND COUNT S2A EQU * JSB ENDST LDA SVKC INA COUNT UP SEEK COUNTER STA SVKC CPA D129 HAVE WE DONE 128 FULL SEEKS RSS YES, PRINT OUT SEEK TIMING JMP TNTW NO, CONTINUE ON * JSB SWR LOAD SWITCH REGISTER AND BIT12 SZA SKIP IF BIT 12 CLEAR JSB TTYCK JMP TNTW ABORT PRINOUT LDA SVCT LOAD NUMBER OF MILLISECONDS ADA MM64 AVERAGE ADJUSTMENT JSB MSCV CALL CONVERTER LDA CVT2 TRANSFER STA P053A,I TO LDA CVT3 MESSAGE STA P053B,I H53 LDA B53 AVERAGE MINIMUM SEEK TIME XX.X JSB PRINT PRINT OUT SEEK TIME MESSAGE * TNTW EQU * JSB SWR LOAD SWITCH REGISTER AND BIT5 CHECK FOR SHORT TEST SZA SKIP IF LONG JMP S2H SHORTEN SECTION TWO * * * THE FOLLOWING SECTION OF CODE CYCLES THROUGH * ALL TEN PATTERNS IN THE PATTERN TABLE * * LDA BPTR LOAD BUFFER ADDRESS STA BUFAD SET WRITE AND LDA BPTS STA BUFAE READ BUFFER ADDRESSES LDA MM10 PATTERN TABLE IS TEN ENTRIES LONG STA PTNX SAVE IN COUNTER WORD * WGEN EQU * LDA M256+SZREF 8 SECTOR WORD COUNT / 4 STA TEMP1 SAVE FOR THE FAST FILL LOOP LDB PTNX LOAD THE PATTERN COUNTER ADB PATR ADD ON THE TABLE ADDRESS LDA B,I LOAD THE PATTERN TO A STA PATT SAVE IT FOR THE PCHK ROUTINE LDB BUFAD LOAD THE WRITE ADDRESS WGL EQU * STA B,I INB STA B,I INB STA B,I INB ÿtþú STA B,I INB ISZ TEMP1 COUNT DOWN COUNTER ( BY FOUR ) JMP WGL CONTINUE ON IF NOT DONE SKP * * STEP 46 * THE FOLLOWING CODE WRITES THE PATTERN IN THE BUFFER * ONTO THE ENTIRE CYLINDER * * TO USE THE MINIMUM TIME FOR EACH TRACK, THE TRACK * IS DIVIDED INTO THIRDS WHICH ARE WRITTEN * IN THE ORDER, FIRST, THIRD, SECOND. * LDA D46 JSB COPR CLB STB HEAD SET HEAD ZERO WNHW EQU * CLA STA SECTR FIRST BLOCK STARTS AT SECTOR ZERO * * THIS SEEK SELECTS A NEW HEAD * JSB SEEH SEEK TO CURRENT HEAD * * THE FOLLOWING WRITE IS FOR THE * FIRST THIRD OF THIS TRACK * LDA WCFT STA WCNT SET WORD COUNT JSB WAIH WAIT FOR HEAD SWITCHING JSB WRITE JSB WCHK CHECK FOR ERRORS * * THIS OPERATION IS A WRITE FOR * THE LAST THIRD OF THIS TRACK * LDA SCLT STA SECTR JSB SEES LDA WCLT STA WCNT SET WORD COUNT JSB WAIS WAIT FOR SECTOR SWITCHING JSB WRITE JSB WCHK CHECK FOR ERRORS * * THIS OPERATION IS A WRITE FOR * THE SECOND THIRD OF THIS TRACK * LDA SCST STA SECTR JSB SEES LDA WCFT STA WCNT SET WORD COUNT JSB WAIS WAIT FOR SECTOR SWITCHING JSB WRITE JSB WCHK CHECK FOR ERRORS * ISZ HEAD HEAD := HEAD + 1 LDA HEAD CPA TRPC CONTINUE ON IF NOT FINISHED WITH THE CYLINDER CLA,RSS DONE, SKIP OUT JMP WNHW WRITE ON EACH TRACK JSB ENDST SKP * * STEP 47 * THE FOLLOWING SECTION READS BACK THE PATTERNS AND * COMPARES EACH WORD WITH PATT. * LDA D47 JSB COPR CLA STA HEAD SET HEAD ZERO WNHR EQU * CLA STA SECTR START AT SECTOR ZöþúERO JSB FSEEH ADDRESS RECORD IN S2 * * THIS OPERATION IS A READ FOR * THE FIRST THIRD OF THIS TRACK * LDA WCFT STA WCNT SET LENGTH OF FIRST THIRD JSB READ JSB PCHK CHECK FOR BUFFER MISMATCH * * THIS OPERATION IS A READ FOR * THE LAST THIRD OF THIS TRACK * LDA SCLT STA SECTR SET SECTOR NUMBER JSB SEES LDA WCLT LENGTH OF LAST THIRD STA WCNT SET WORD COUNT JSB WAIS WAIT FOR SECTOR SWITCHING JSB READ JSB PCHK * * THIS OPERATION IS A READ FOR * THE SECOND THIRD OF THIS TRACK * LDA SCST SECTOR WHERE SECOND THIRD STARTS STA SECTR JSB SEES LDA WCFT WORD COUNT FOR FIRST THIRD STA WCNT SET WORD COUNT JSB WAIS WAIT FOR SECTOR SWITCHING JSB READ JSB PCHK CHECK FOR BUFFER ERRORS ISZ HEAD HEAD := HEAD + 1 LDA HEAD CPA TRPC CHECK FOR END OF CYLINDER RSS SKIP OUT IF DONE JMP WNHR CONTINUE FOR ALL TRACKS JSB ENDST ISZ PTNX HAVE ALL PATTERNS BEEN TRIED JMP WGEN NO, GO BACK FOR NEXT SKP S2H EQU * JSB CYLD COUNT UP CYLX AND CHECK FOR DONE JMP S2L LOOP * JMP SKIPI,I EXIT S2 * * OCT 000000 OCT 177777 OCT 125252 OCT 052525 OCT 007417 OCT 170360 OCT 162745 OCT 163346 OCT 155555 OCT 022222 PATTR EQU * HED S3 - SECTION 3 * * * SECTION 3 * * SECTION 3 IS ORGANIZED AS FOLLOWS * * GENERATE RANDOM CYLINDER NUMBERS AND * RANDOM HEAD AND SECTOR NUMBERS * . * . * . GENERATE A RANDOM WORD COUNT * . ( NOT BEYOND END OF CYLINDER ) * . . * . . * . . GENERATE A BUFFER OF RANDOM DATA * z‡þú . . STORE A WORD OF ZERO INTO THE * . . FIRST UNUSED WORD * . . * . . * . . WRITE BUFFER TO DISK * . . * . . * . . . * . . . ISSUE SEEK * . . . * . . . * . . . READ BLOCK BACK * . . . READ AND CHECK ONE EXTRA WORD IF * . . . NOT A MULTIPLE OF SECTOR SIZE * . . . * . . . * . . . CHECK DATA READ * . . . * . . . * . . * . . * . * . * SKNT EQU GLOB1 RRPT EQU GLOB2 WSAVE EQU GLOB3 WRPT EQU GLOB4 S3 EQU * JSB SWR SWITCH REGISTER TO A AND BIT5 LDB M1024 COUNT FOR LONG VERSION SZA SKIP IF INDEED LONG TEST LDB MM64 COUNT FOR SHORT TEST STB SKNT S3A EQU * JSB RNCH GET RANDOM CYLINDER,HEAD NUMBER JSB RNSC GET RANDOM SECTOR NUMBER * * STEP 48 * THIS SEEK MOVES THE POSITIONER TO A RANDOM * CYLINDER AND HEAD. * LDA D48 JSB COPR JSB SEEK START SEEK ON ITS WAY * GENERATE A RANDOM WORD COUNT BETWEEN 1 AND * 1023. THE WORD COUNT WILL NOT EXTEND BEYOND * THE END OF CYLINDER. RWCA EQU * JSB RAND GET A RANDOM NUMBER RAR AND B1777 WCNT < 1024 SZA,RSS ZERO IS NOT LEGAL JMP RWCA IF ZERO,TRY AGAIN RWCT EQU * STA WCNT SAVE CHOSEN WORD COUNT LDB HEAD CHECK FOR LAST HEAD IN CYLINDER INB CPB TRPC CHECK FOR LAST HEAD RSS JMP RWCG OK LDB SCPT IS CMB,INB WORD ADB SECTR COUNT ALF,ALF TOO RAL LARGE? AND B77 ADA B SSA JMP RWCG OK LDA WCNT TRY HALF ARS AS 4ÁþúJMP RWCT MUCH RWCG EQU * LDA BPTR LOAD FIRST BUFFER POINTER STA BUFAD LDA BPTS LOAD SECOND BUFFER POINTER STA BUFAE JSB DGEN GENERATE A RANDOM BUFFER LDA WCNT SAVE LAST STA WSAVE LOCATION+1 ADA BUFAD ADD BASE OF WRITE BUFFER CLB STB A,I SAVE TO CHECK SECTOR ZEROING JSB WAITS WAIT FOR SEEK TO FINISH JSB WENDI,I LDA MM2 TRY TWO WRITE/READ CYCLES STA WRPT * S3RA EQU * * * STEP 49 * THIS WRITE FILLS UP A GIVEN AREA WITH * RANDOM DATA. THE WORD COUNT MAY BE FROM * ONE WORD TO 1023 WORDS. * LDA D49 JSB COPR JSB FSEEH ADDRESS RECORD IN S3 JSB WRITE FILL UP CHOSEN AREA WITH JUNK JSB WENDI,I LDA MM2 TRY TWO READS STA RRPT S3RB EQU * * * STEP 50 * READ IT BACK TWICE FOR EACH OF TWO WRITES (STEP 49) * LDA D50 JSB COPR LDA WCNT CHECK FOR SECTOR BOUNDARY AND B177+SZREF CHECK FOR EVEN SECTOR BOUNDARY SZA SKIP IF EVEN MULTIPLE OF SECTOR ISZ WCNT COUNT UP WORD COUNT * * THIS SEEK RESELECTS THE PROPER HEAD JSB FSEEH ADDRESS RECORD IN S3 * * THIS READ READS BACK THE DATA WRITTEN * BY THE PREVIOUS WRITE. * THE DATA IS COMPARED WITH THAT WRITTEN. * JSB DENDI,I LDA WSAVE STA WCNT ISZ RRPT CHECK FOR ENOUGH TIMES JMP S3RB TRY TO READ AGAIN ISZ WRPT JMP S3RA TRY TO WRITE AGAIN ISZ SKNT ARE WE DONE WITH THIS SECTION JMP S3A NOT DONE, TRY ANOTHER PLACE JMP SKIPI,I EXIT S3 HED CYLD,CYLJ * * * CYLD COUNTS UP CYLX AND CHECKS FOR COMPLETION OF * TEST ON ALL CYLINDERS. IT GIVES A SKIP RETURN WHEN * ALL CYLINDERS HAVE BEEN COVERED * CYLD NOP LD,yþúB CYLX LOAD CURRENT CYLINDER REFERENCE INB COUNT IT UP BY ONE STB CYLX AND STORE IT BACK CMB MAKE ONES COMPLEMENT JSB SWR4 LOAD EFFECTIVE SWITCH REGISTER AND BIT6 CHECK FOR RESTRICTED CYLINDERS SZA,RSS SKIP IF SHORT TEST REQUESTED JMP CDY FULL TEST ADB D10 THERE ARE TEN TABLE ENTRIES JMP CDZ CDY EQU * ADB CYPP CHECK FOR END OF PACK CDZ EQU * SSB SKIP IF NOT DONE ISZ CYLD COUNT UP RETURN ADDRESS ( DONE ) JMP CYLD,I RETURN * * CYLJ TRANSLATES THE NUMBER IN CYLX TO THE DESIRED * CYLINDER NUMBER IN CYL * CYLJ NOP JSB SWR4 LOAD EFFECTIVE SWITCH REGISTER AND BIT6 CHECK FOR RESTRICTED CYLINDERS SZA,RSS SKIP IF SHORT TEST JMP CJW LDA CYLX CJQ EQU * ADA MM10 CHECK FOR CYLX TOO BIG SSA,RSS SKIP IF OKAY JMP CJQ OTHERWISE, KEEP REDUCING ADA TRT ADD ON THE TABLE ADDRESS LDA A,I LOAD THE WORD FROM THE TABLE STA CYL SET BACK INTO CYLINDER JMP CYLJ,I RETURN * CJW EQU * LDA CYLX STA CYL STRAIGHT COPY JMP CYLJ,I RETURN * * FTRBN EQU * TRACK TABLE BEGIN OCT 0,1,2,4,10,20,40,100,200 ABS LCYL TRTBP EQU * HED S4 - SECTION 4 * * * SECTION 4 IS ORGANIZED AS FOLLOWS * * CYLINDER ADVANCE * SWITCH 6=0 -- ALL CYLINDERS FROM 0 TO 202 * SWITCH 6=1 -- ALL CYLINDERS IN TRTAB * . * . * . RANDOM NUMBER GENERATOR * . GENERATES A NEW BUFFER OF RANDOM DATA * . FOR EACH CYLINDER * . * . TRACK ADVANCE * . ALL TRACKS FROM 0 TO TRPC-1 * . . * . . BLOCK ADVANCE * . . EACH TRACK IS WRITTEN AS THREE * . . BLOCKS * . . THE SCHEME USED IS THE S/ïþúAME * . . AS THAT OF THE SECTION * . . 2 PATTERN READ SINCE * . . RCGEN AND PCHK TAKE * . . ABOUT THE SAME AMOUNT * . . OF TIME. * . . . * . . . CHECKSUM BLOCK SO THAT IT IS * . . . UNIQUE AND IDENTIFIABLE. * . . . * . . . WRITE BLOCK TO DISK * . . . * . . * . * . * . * * S4 EQU * JSB SWR LOAD SWITCH REGISTER AND BIT6 SAVE BIT 6 LDB S400 FOR ADB UNIT S4,S5 AND S6 STA B,I CLA,INA A = 1 STA SFLAG CLA STA CYLX SET CYLINDER REFERENCE WORD * S4L EQU * JSB CYLJ TRANSLATE CYLX INTO CYL CLA STA HEAD POSITION FOR HEAD ZERO AND STA SECTR SECTOR ZERO * * STEP 51 * THIS SEEK CAUSES POSITIONER MOTION TO * THE NEXT CYLINDER. * LDA D51 JSB COPR JSB FSEEK SEEK IN S4 JSB ENDST * * STEP 52 * THE FOLLOWING SECTION OF CODE GENERATES THE * CHECKSUMMED RANDOM DATA. * LDA D52 JSB COPR LDA WCFT LENGTH OF FIRST THIRD STA WCNT SET WORD COUNT JSB DGEN GENERATE RANDOM BUFFER CLA STA SHTAS STATUS SHOULD BE ZERO S4RN EQU * CLA STA SECTR THIS OP STARTS AT SECTOR ZERO JSB FSEEH ADDRESS RECORD IN S4 * * THIS OPERATION IS A WRITE FOR * THE FIRST THIRD OF THIS TRACK * * WCNT AND SECTR ARE SET UP JSB RCGEN GENERATE CHECKSUMS JSB WRITE JSB WCHK CHECK FOR ERRORS * * THIS OPERATION IS A WRITE FOR * THE LAST THIRD OF THIS TRACK * LDA SCLT SECTOR WHERE LAST THIRD STARTS STA SECTR JSB SEES LDA WCLT LENGTH OF‹éþú LAST THIRD STA WCNT SET WORD COUNT JSB RCGEN GENERATE CHECKSUMS JSB WAIS WAIT FOR SECTOR SWITCHING JSB WRITE JSB WCHK CHECK FOR ERRORS * * THIS OPERATION IS A WRITE FOR * THE MIDDLE THIRD OF THIS TRACK * LDA SCST SECTOR WHERE THIS THIRD STARTS STA SECTR JSB SEES LDA WCFT LENGTH OF MIDDLE THIRD STA WCNT SET WORD COUNT JSB RCGEN GENERATE CHECKSUMS JSB WAIS WAIT FOR SECTOR SWITCHING JSB WRITE JSB WCHK CHECK FOR ERRORS ISZ HEAD HEAD := HEAD + 1 LDA HEAD CPA TRPC CHECK TO SEE IF DONE RSS SKIP OUT WHEN DONE JMP S4RN FINISH ENTIRE CYLINDER JSB ENDST JSB CYLD COUNT UP CYLX AND CHECK FOR DONE JMP S4L CONTINUE ON TO NEXT CYLINDER JMP S5A CONTINUE SECTION 4 HED RCGEN,RNCH,RNSC * * * RCGEN * THIS ROUTINE CONSTRUCTS THE CHECKSUMS FOR THE WRITE BUFFER. * 1.) EACH SECTOR IS CHECKSUMMED SEPARATELY * 2.) THE ENTIRE SECTOR SUMS TO ZERO ( TWOS COMPLEMENT ) * 3.) THE FIRST TWO WORDS SUM TO THE CYLINDER NUMBER * 4.) WORDS 2 AND 3 SUM TO THE HEAD/SECTOR NUMBER * RCGEN NOP LDA WCNT ALF,ALF RAL AND B77 LEAVE THE NUMBER OF SECTORS CMA,INA COMPLEMENT FOR ISZ STA TEMP1 LDA HEAD IOR HDON ALF,ALF HEAD NUMBER TO LEFT SIDE IOR SECTR PLUG IN SECTOR NUMBER STA TEMP2 LDB BUFAD LOAD ADDRESS OF FIRST SECTOR * RCGL EQU * LDA MM31+SZREF STA TEMP3 COUNT FOR FOUR UNIT LOOP * LDA B,I GET WORD ZERO CMA,INA MAKE COMPLEMENT ADA CYL THIS SUMS TO THE CYLINDER NUMBER INB COUNT UP BUFFER ADDRESS STA B,I * INB COUNT UP BUFFER POINTER LDA B,I LOAD WORD 2 CMA,INA n'þú CHECK WORD IS COMPLEMENT ADA TEMP2 ADD HEAD/SECTOR INB COUNT UP TO SLOT FOR WORD STA B,I SAVE SECOND CHECKWORD * LDA CYL ADA TEMP2 ADD ON HEAD/SECTOR NUMBER * SUM TO DATE IN A RCGF EQU * INB COUNT UP BUFFER POINTER ADA B,I ADD ON NEXT WORD OF BUFFER INB ADA B,I INB ADA B,I INB ADA B,I ISZ TEMP3 CHECK FOR DONE JMP RCGF GET ENTIRE BUFFER * CMA,INA CHECK IS NEGATIVE ADA B,I SUBTRACT OUT LAST WORD STA B,I INB COUNT TO BEGINNING OF NEXT SECTOR ISZ TEMP2 COUNT UP SECTOR NUMBER ISZ TEMP1 CHECK FOR DONE WITH ENTIRE WRITE BUFFER JMP RCGL NO, GO DO ANOTHER SECTOR JMP RCGEN,I RETURN * * ROUTINE TO PICK A RANDOM CYLINDER AND HEAD NUMBER * * RNCH NOP RNCA EQU * JSB RAND GET A RANDOM NUMBER ALF,ALF USE LEFT HALF AND B377 CYL < 256 STA CYLX SAVE IN CYLINDER REFERENCE WORD CMA ONES COMPLEMENT ADA CYPP CANNOT BE A NON-EXISTANT CYLINDER SSA SKIP IF OKAY JMP RNCA OTHERWISE, TRY AGAIN JSB CYLJ TRANSLATE CYLX INTO CYL * JSB RAND GET A RANDOM NUMBER RAR,RAR TO ELIMINATE CORRELATION-SECTOR AND B1 HEAD < 2 STA HEAD SET HEAD NUMBER JMP RNCH,I RETURN * * ROUTINE TO PICK A RANDOM SECTOR NUMBER * * RNSC NOP RNSA EQU * JSB RAND CALL RAND THREE TIMES TO JSB RAND GET THREE GOOD BITS ON RIGHT END JSB RAND WANT NO CORRELATION WITH HEAD NUMBER JSB RAND RAR DO NOT USE BIT 0(NOT RANDOM) AND B37 SECTOR < 32 STA SECTR SAVE SECTOR NUMBER CMA ONES COMPLEMENT ADA SCPT TEST FOR LEGAL SECTOR NUMBER SSA SKIP IF OKAY JMP RNSA OoqB@EXPECTED STATUS RETURNED IN END * OF CYL CHECK (TEOC) IS * NORMAL COMPLETE * 1=>EXPECTED STATUS RETURNED IN * END OF CYL CHECK (TEOC) IS END OF CCNT BSS 1 COPRN NOP CSTOR BSS 1 CYL BSS 1 CYLINDER NUMBER CTYPE BSS 1 HOLDS CURRENT TYPE INDEXES FOR DEVICE TYPES PRESENT CTYPT BSS 1 TEMPORARY STORAGE FOR MODIFIED CTYPE D6000 OCT 36000 DCNT BSS 1 DERR OCT 0 USED TO CHECK BUFFERS DERR1 BSS 1 USED TO CHECK BUFFERS DFLT BSS 1 DFRST BSS 1 USED TO CHECK BUFFERS DISCK OCT 0 DISABLE CHECKING IN OPDSN OF CYL,HEAD,SECTOR * IF = 1, DO CHECKING IF = 0 DMAWC BSS 1 DMRF OCT 0 DMA ERROR INDICATOR DSTEP OCT 177777 E7117 ASC 1,NO EFLAG BSS 1 ELOC BSS 1 LAST ERROR NUMBER ERR BSS 1 NUMBER OF ERRORS EXPTS OCT 1 0 => EXPECTED TERM. STATUS NOT PRINTED * 1 => EXPECTED TERM. STATUS PRINTED F2040 ASC 1,T FERR BSS 1 NUMBER OF FATAL ERRORS FFLAG OCT 0 FIFCT BSS 1 STORES NO. TO BE USED IN CHECKING FIFO FIFLK BSS 1 FIFO LOCK FOR DETERMINING IF 16 OR * 3 LEVELS OF FIFI PRESENT FINSH BSS 1 SAVES LAST ADDRESS IN MOVING DATA STRING FOR STATUS FL6 BSS 1 FLMSK BSS 1 FLOOP BSS 1 EQUAL 0 IF NOT FROM BIT 2 LOOP FSAVE BSS 1 GLOB1 BSS 1 GLOB2 BSS 1 GLOB3 BSS 1 GLOB4 BSS 1 GLOB5 BSS 1 GLOB6 BSS 1 H0000 OCT 70000 HEAD BSS 1 BITS 6 - 0 HEAD NUMBER IFRST BSS 1 ISR BSS 1 LCNT BSS 1 LIMIT BSS 1 LONGF OCT 1 0 => LONG FORM OF STATUS NOT GIVEN * 1 => LONG FORM OF STATUS GIVEN LOCAL BSS 1 M32K OCT 0 MASK1 BSS 1 MASK2 BSS 1 MAX DEC 40 NO. OF ERRORS FOR UNIT REMOVAL MCPU OCT 0 <> \hþú-1 IMPLIES ALLOW REG. TIME IN WAITS * = -1 IMPLIES ALLOW 1 SEC. IN WAITS * = 200B => RESET HOLD BIT IN VERIFY MDFLG BSS 1 SET TO 14B FOR MULTI-DRIVE NBSZE DEC -1024 NI BSS 1 NLOOP BSS 1 NOTLC BSS 1 NOWDS OCT 0 NSECT BSS 1 NUMP DEC 3 OLCYL BSS 1 OPCNT BSS 1 OPSRT BSS 1 PASS BSS 1 PASS NUMBER STORED HERE PMASK OCT 0 PSAVE NOP PTYPE BSS 1 INDEX ASSOC. WITH CURRENT DEVICE TYPE RCYL OCT 0 RHDS OCT 0 RMASK OCT 0 S400 DEF S40 S4BUG BSS 1 SAVA BSS 1 SAVB BSS 1 SCNT BSS 1 SECTR BSS 1 SECTOR WHERE CURRENT OPERATION * WILL START SFLAG BSS 1 SHTAS BSS 1 SHTS2 BSS 1 SOFT BSS 1 0 => SOFT ERRORS NOT PRINTED * 1 => SOFT ERRORS PRINTED SOFTA DEF SOFT SPDVR OCT 0 0 IMPLIES PRINT PCOP * 1 IMPLIES PRINT S,P,D INFO. STAS1 BSS 1 STAS2 BSS 1 STP56 BSS 1 STEPN OCT 0 STOVR BSS 1 SECOND TIME OVERRIDE SVCTA BSS 1 USED TO TIME SEEKS IN S2 AND S4 TCYL OCT 0 TEMP1 BSS 1 TEMP2 BSS 1 TEMP3 BSS 1 TEMPS BSS 1 TMXE OCT 0 TRT BSS 1 ADDRESS OF LAST ENTRY IN CYL. TABLE FOR THIS UNIT TSOFI DEF TSOFT TYPE BSS 1 INDICATES COL. OF TABLE TO USE IN STATUS CONVERSION * FOR OUTPUT * PLUS ONE UNITS DEF UNITA UNITA OCT 0 BSS 7 UNITC OCT 1 UNIT OCT 0 UNSET OCT 0 DETERMINE IF DEFAULT FOR UNIT TABLE * HAS BEEN SET VAL1 BSS 1 VAL2 BSS 1 VALID OCT 0 VALUE BSS 1 WCNT BSS 1 POSITIVE WORD COUNT FOR * CURRENT OPERATION WD0 DEF * WD1 BSS 1 WD2 BSS 1 WD3 BSS 1 WD4 BSS 1 WD5 BSS 1 WD6 BSS 3 WTYPE BSS 1 WWCNT OCT 0 XMCPU OCT 0 => NOT IN MCPU MODE * 1 => IN MCPU MODE XXX1 BSS 1 USED FOR SHORT ;ÆþúTEMP. STORAGE XXX2 BSS 1 XXX3 BSS 1 XXX4 BSS 1 CVT3 EQU WD1 CVT1 EQU WD2 CVT2 EQU WD3 CVT DEF WD1 SKP D0 DEC 0 B1 DEC 1 D1 EQU B1 BIT0 EQU B1 D2 DEC 2 CRLFL EQU D2 BIT1 EQU D2 D3 DEC 3 B3 EQU D3 D4 DEC 4 BIT2 EQU D4 B4 EQU D4 D5 DEC 5 D6 DEC 6 D7 DEC 7 B7 EQU D7 D8 DEC 8 BIT3 EQU D8 B10 EQU D8 D9 DEC 9 B11 EQU D9 D10 DEC 10 B12 EQU D10 D11 DEC 11 D12 DEC 12 B14 EQU D12 D13 DEC 13 B15 EQU D13 D14 DEC 14 B16 EQU D14 D15 DEC 15 B17 EQU D15 BIT4 DEC 16 B20 EQU BIT4 D16 EQU BIT4 D17 DEC 17 D18 DEC 18 B22 EQU D18 D19 DEC 19 B23 EQU D19 D20 DEC 20 B24 EQU D20 B25 DEC 21 D21 EQU B25 B26 DEC 22 D22 EQU B26 D23 DEC 23 B27 EQU D23 B30 DEC 24 D24 EQU B30 D25 DEC 25 B31 EQU D25 B32 DEC 26 D26 EQU B32 D27 DEC 27 B33 EQU D27 D28 DEC 28 B34 EQU D28 D29 DEC 29 B35 EQU D29 D30 DEC 30 B36 EQU D30 B37 DEC 31 D31 EQU B37 B40 DEC 32 BIT5 EQU B40 D32 EQU B40 B41 DEC 33 D33 EQU B41 D34 DEC 34 B43 DEC 35 D35 EQU B43 B44 DEC 36 D36 EQU B44 B45 DEC 37 D37 EQU B45 B46 DEC 38 D38 EQU B46 B47 DEC 39 D39 EQU B47 D40 DEC 40 B51 DEC 41 D41 EQU B51 B52 DEC 42 D42 EQU B52 B53 DEC 43 D43 EQU B53 B54 DEC 44 D44 EQU B54 B55 DEC 45 D45 EQU B55 B56 DEC 46 D46 EQU B56 B57 DEC 47 D47 EQU B57 B60 DEC 48 D48 EQU B60 B61 DEC 49 B62 DEC 50 B64 DEC 52 B65 DEC 53 B66 DEC 54 B67 DEC 55 D55 EQU B67 B70 DEC 56 D56 EQU B70 B71 DEC 57 D57 EQU B71 D58 DEC 58 B72 EQU D58 D59 DEC 59 B73 EQU D59 D60 DEC 60 B74 EQU D60 D61 DEC 61 B76 OCT 76 B75 EQU D61 D62 EQU B76 B77 OCT 77 D63 EQU B77 B100 DEC 64 BIT6 EQU B100 D64 EQU B100 B101 OCT 101 B104 DEC 68 D68 EQU B104 B105 OCT 105 EE EQU B105 B106 OCT Lnþú 106 D71 DEC 71 B107 EQU D71 D72 DEC 72 B110 EQU D72 D75 DEC 75 D76 DEC 76 B114 EQU D76 B115 OCT 115 D77 EQU B115 NN OCT 116 B116 EQU NN D78 EQU NN B117 OCT 117 D79 EQU B117 D80 DEC 80 B120 EQU D80 B121 OCT 121 D81 EQU B121 B122 OCT 122 D82 EQU B122 B123 OCT 123 D85 DEC 85 YY OCT 131 D90 DEC 90 B135 OCT 135 B140 OCT 140 B141 OCT 141 B146 OCT 146 B147 OCT 147 D106 DEC 106 B177 OCT 177 BIT7 OCT 200 HOLD EQU BIT7 D128 EQU BIT7 D138 DEC 138 B377 OCT 377 BIT8 OCT 400 D256 EQU BIT8 B400 EQU BIT8 D276 DEC 276 D384 DEC 384 B777 OCT 777 BIT9 OCT 1000 D512 EQU BIT9 D650 DEC 650 A1400 OCT 1400 B1777 OCT 1777 BIT10 OCT 2000 D1024 EQU BIT10 A2400 OCT 2400 A3000 OCT 3000 A3400 OCT 3400 B3777 OCT 3777 BIT11 OCT 4000 D2048 EQU BIT11 A4000 EQU BIT11 A4400 OCT 4400 A5000 OCT 5000 A5400 OCT 5400 A6000 OCT 6000 A6400 OCT 6400 CRLF OCT 6412 A7000 OCT 7000 A7400 OCT 7400 BIT12 OCT 10000 B0000 EQU BIT12 B0400 OCT 10400 B1000 OCT 11000 B2000 OCT 12000 B2400 OCT 12400 B7400 OCT 17400 B7777 OCT 17777 BIT13 OCT 20000 BLNK0 ASC 1, 0 D8192 EQU BIT13 C0000 EQU BIT13 BB OCT 20040 B2060 OCT 20060 C0377 OCT 20377 C1440 OCT 21440 D0400 OCT 30400 D3514 OCT 33514 D4000 OCT 34000 D7777 OCT 37777 BIT14 OCT 40000 F3000 OCT 53000 F6000 OCT 56000 BIT15 OCT 100000 J0000 OCT 110000 JMPI OCT 126000 JSB1 JSB R1,I P7400 OCT 177400 P7600 OCT 177600 P7637 OCT 177637 P7737 OCT 177737 P7700 OCT 177700 P7777 OCT 177777 THLT2 OCT 106002 HLTC OCT 102010 MM1 DEC -1 MM2 DEC -2 MM3 DEC -3 MM4 DEC -4 MM5 OCT -5 MM6 OCT -6 MM7 DEC -7 MM8 DEC -8 P7770 EQU MM8 MM10 DEC -10 MM12 DEC -12 MM13 DEC -13 MM14 DEC -14 MM15 DEC -15 MM16 DEC -16 MM31 DEC -31 MM48 OCT -60 MM56 OCT -70 MM58 OCT -72 MM64 EQU P7700 MM71 DEC -71 MM105 DEC -105 MM124 DEC -124 MM128 EQU P7600 M256 EQU P7400 MM51ì¤þú2 DEC -512 MM650 DEC -650 M1024 DEC -1024 M1377 DEC -1377 M7936 DEC -7936 * * ASCD0 ASC 1,.0 ASCZZ ASC 1,00 BPTR DEF BUFB WRITE BUFFER BPTR1 DEF BUFB+128 BPTS DEF 34000B READ BUFFER BASE ADDRESS BPTO DEF 36000B OPDSN BUFFER BASE ADDRESS DMACW OCT 0 SKP * * * BASE PAGE LINKS AND POINTERS * * .E6 DEF E6 ADDOI DEF ADDO ASKI DEF ASK CBLKI DEF CABLK BSEKI DEF BSEEK CLSMI DEF CLSMX CODEE DEF TABLE CODEF DEF LAST+1 COMDI DEF COMD COMI DEF COMMD CNFIG DEF INIT CSTRI DEF CSTR CYCKI DEF CYCK TV19 DEF TVP19 FOR WAKEUP COMMAND SEQUENCE CYLCI DEF CYLCH DCHKI DEF DCHK DDD DEF D0 DENDI DEF DEND DMATI DEF DMAT DMERI DEF DMERQ DSOKI DEF DSOK DUMPT DEF DMPTX EFER DEF FER EFERC DEF FERC ELER DEF LER ENDSI DEF ENSTP ERHTI DEF ERHLT ERRNI DEF ERRAN FATLI DEF FATAL FCYKI DEF FCYCK FLAGI DEF FLAG FTRDI DEF FTRDF FXITI DEF FIXIT HED0I DEF HED0 HELPI DEF HELP H34SI DEF H34S I131A DEF M131A INPTI DEF INPUT LOOPI DEF LOOP MCHKI DEF MWCHK MESGN BSS 1 NORMI DEF NORM OPCTI DEF OPCNT OPD7A DEF OPD7B OPD7I DEF OPD7 OPDNI DEF OPDSN OPNDI DEF OPEND PCK2I DEF PACK2 P013A DEF JP13A P013B DEF JP13B P065E DEF JP65E P146A DEF M146A PATR DEF PATTR PCOPI DEF PCOPR PFMI DEF FMI PRHDI DEF PRTHD PRNI DEF PRNT1 PUNTI DEF PUNT R1 DEF RETRN RJCTI DEF RJECT RNCHI DEF RNCH RPARI DEF RPAIR RQSAI DEF RQSTA RWSTI DEF RWSET RWTBL BSS 1 RWT48 DEF RW48 RWT64 DEF RW64 S23AI DEF ST23A S23BI DEF ST23B S23CI DEF ST23C S23DI DEF ST23D SENDI DEF SEND SKIPI DEF SKIP SLFHI DEF SLFHD SLHDI DEF SLHD SLNHI DEF SLNH STTCI DEF STATC SUNTI DEF SUNIT SW2I DEF SW2 TEOCI DEF TEOC TP1GI DEF TVP1G TV1 DEF TVP1 TV2 DEF TVP2 TV4 DEF TVP4 TV5 DEF TVP5 TV6 DEF TVP6 TV8 DEF TVP8 TV9 DEF TVP9 TV10 DEF TVP10 TV13 DEF TVP13 TV14 DEF TVP14 TV15 DEF TVP15 TV17 DEF TVP17 TV18 DEF TVP18 TV20 DEF TVP20 TV21 DEF TVPîþú21 TV22 DEF TVP22 TV23 DEF TVP23 TV24 DEF TVP24 TV25 DEF TVP25 UHERI DEF UHERE UNXFI DEF UNXF VAL DEF VALUE VARLC BSS 1 WADRI DEF WADRA WAITI DEF WAITS WAXI DEF WAX WENDI DEF WEND WRCLI DEF WRCL * * POINTERS TO TABLES THAT ARE DEVICE DEPENDENT * THEAD DEF DHTB HEADS PRESENT ON GIVEN DEVICE TYPES HDON DEF UHTB HEADS SELECTED ON A GIVEN UNIT UTYPE DEF UTTB DEVICE TYPE OF A GIVEN UNIT ATYPE DEF ATTB ASCII CODE FOR GIVEN DEVICE TYPE TYPTB DEF ITTB MAPPING FROM DEVICE TYPE INTO ENTRIES IN TABLE CYLTB DEF CTTB CYLINDER TABLE POINTERS FOR EACH DEVICE TYPE EUNBA DEF UHCTB UNITS WHOSE HEADS ARE TO CHANGE DDTB DEF DDTBP DEVICE DEPENDENT TABLE POINTER * * VARIABLES THAT ARE DEVICE DEPENDENT * DDTBF DEF *+1 DEVICE DEPENDENT TABLE CYPP BSS 1 NO. OF CYLINDERS / PACK FTR BSS 1 ADDR. OF LOC. CONTAINING FIRST TRACK OF * CYL TABLE FOR THE CURRENT UNIT SCPT DEC 48 NO. OF SECTORS/TRACK TRPC OCT 3 NO. OF TRACKS/CYLINDER MHEAD BSS 1 MINUS NO. OF HEADS LASTC BSS 1 LAST CYLINDER MSC2 BSS 1 RELATED TO NO. OF SECTORS WDPT BSS 1 WORDS /TRACK SVCTV BSS 1 USED TO CALCULATE RANDOM SEEK TIMES * VALUE IS DETERMINED EXPERIMENTALLY * FOR EACH DRIVE TYPE POFST BSS 1 POSITIVE OFFSET FOR CURRENT DRIVE TYPE DHD6 OCT 7 ALL VALID HEADS FOR THIS DRIVE HDONV OCT 3 VALID HEADS FOR THIS UNIT STYPE BSS 1 STORES DRIVE TYPE AS SEEN BY THE CONTROLLER * FOR THE CURRENT UNIT * 2 => 7905 * 1 => 7920 DRIND BSS 1 DRIVE INDEX INTO TABLES DDTBL DEF HDONV * * * THE FOLLOWING WORDS AND EQUATES DETERMINE THOSE * STATUSES, COMMANDS, SIZES, ETC. sHþúTHAT MIGHT * VARY BECAUSE OF DESIGN CHANGES * * CYCHK EQU A3400 CYCLIC CHECK COMMAND DFTB EQU BIT13 DEFECTIVE TRACK BIT FOR ADDRESSES PALT EQU A6000 ALTERNATE POSITION COMMAND POSIT EQU BIT9 POSITION COMMAND READC EQU A2400 READ COMMAND STATS EQU A1400 STATUS COMMAND WRILB EQU BIT14 WRITE LOCKOUT BIT FOR ADDRESSES WRITA EQU A5400 WRITE ADDRESS COMMAND WRITC EQU BIT11 WRITE COMMAND CLRD EQU D0 COLD LOAD READ RECAL EQU BIT8 RECALIBRATE RSECA EQU BIT10 REQUEST SECTOR ADDRESS RFULS EQU A3000 READ FULL SECTOR WFULS EQU A4400 WRITE FULL SECTOR CLEAR EQU A5000 RQSYN EQU A6400 REQUEST SYNDROME RWOFF EQU A7000 READ WITH OFFSET SFMSK EQU A7400 SET FILE MASK RWOVY EQU B1000 READ WITHOUT VERIFY RQADD EQU B2000 REQUEST DISC ADDRESS DISCT EQU B2400 NOP-DISCONNECT * * STATUS DEFINITION * * WORD 1 (STAS1) * * BIT0-BIT7 UNIT NUMBER * BIT8-BIT12 ENODED STATUS * BIT13 DEFECTIVE TRACK * BIT14 PROTECTED TRACK * BIT15 SPARE TRACK * * ENCODED PART OF WORD 1 * * 00 NORMAL COMPLETION * 01 ILLEGAL OPCODE * 02 UNIT AVAILABLE * 07 CYLINDER COMPARE ERROR * 10 UNCORRECTABLE DATA ERROR * 11 HEAD-SECTOR COMPARE ERROR * 12 I/O PROGRAM ERROR * 14 END OF CYLINDER * 16 OVERRUN * 17 CORRECTABLE DATA ERROR * 20 ILLEGAL ACCESS TO SPARE TRACK * 21 DEFECTIVE TRACK * 22 ACCESS NOT READY DURING DATA OPERATION * 23 STATUS-2 ERROR * 26 ATTEMPT TO WRITE ON PROTECTED OR DEFECTIVE TRACK * 27 UNIT UNAVAILABLE * 37 DRIVE ATTENTION * * WORD 2 (STAS2) * PBBIT EQU BIT0 DRIVE BUSY NRBIT EQU BIT1 DRIVE NOT READY * BIT2 SEEK CHECK FSBIT EQU BIT3 FIRST STATUS FAULT EQU BIT4 FAULT FOBIT EQU BIT5 FORMAT FLBIT EQU BIT6 PRu*<:6OTECTED * BIT7 ATTENTION * BIT8 SECTOR COMPARE * BIT9-BIT14 ADDRESS OF LAST AVAILABLE * SURFACE * BIT15 STATUS-2 ERROR (BIT0 LOR BIT1 * LOR BIT2) * œ<ÿÿþú HED RAND * * * * RANDOM NUMBER GENERATOR * * THIS ROUTINE GENERATES BIT PATTERNS FOR * THE DISC DIAGNOSTIC. NO CLAIM IS MADE FOR * STATISTICAL RANDOMNESS. * * EXITS WITH PATTERN IN A, * B UNCHANGED, * * * RAND NOP LDA BASE LOAD BASE ADA PRIME SUBTRACT THE PRIME SSA SKIP IF STILL POSITIVE LDA BASE OOPS, BASE NOT BIG ENOUGH CLE,ELA DOUBLE BASE OR REMAINDER STA BASE FOR NEXT TRY JMP RAND,I * PRIME DEC -31069 * THIS PRIME NUMBER LOOPS EVERY * 31068 TIMES IN ITS RECIPROCAL * EXPANSION BASE ABS 034521B HED SEEK,ADDR,SEES,SEEH,STAT,DADO * * * ROUTINES TO DO COMMONLY REQUIRED OPERATIONS. * * SEEK NOP LDA TCYL SAVE STA OLCYL OLD CYLINDER LDA CYL SAVE FOR STA TCYL NEXT OLD CYLINDER LDB B44 CURRENT OPERATION CODE LDA POSIT SEEK COMMAND JSB ADDR PASS ADDRESS TO DISC JMP SEEK,I REJECTED SC10 STC SC START SEEK JMP SEEK,I * ADDR NOP JSB COMDI,I ISSUE COMMAND JSB RJCTI,I CHECK FOR REJECT JMP ADDR,I REJECTED ISZ ADDR LDA CYL PASS CYLINDER JSB DADO TO DISC LDA HEAD PASS HEAD ALF,ALF AND IOR SECTR SECTOR TO DISC SC15 OTA SC,C OUTPUT WORD JMP ADDR,I * SEES NOP LDB B15 LDA PALT JSB ADDR NOP REJECTED-IGNORE JMP SEES,I * SEEH NOP LDB B74 LDA POSIT SEEK COMMAND JSB ADDR PASS ADDRESS TO DISC NOP REJECTED-IGNORE JMP SEEH,I * STAT NOP GET STATUS LDA STATS STATUS COMMAND LDB COPRN JSB COMDI,I ISSUE COMMAND JSB RJCTI,I CHECK FOR REJECT œþúNOP REJECTED-IGNORE SC07 LIA SC,C GET STATUS-1 STA STAS1 JSB FLAGI,I JMP STL2 E12 JSB ERROR NO FLAG GETTING STATUS JSB CBLKI,I CALL ADDO IF OK STL2 EQU * SC09 LIA SC,C GET STATUS-2 STA STAS2 JMP STAT,I * DADO NOP SC03 OTA SC,C OUTPUT WORD JSB FLAGI,I JMP DADO,I SC05 SFS SC JMP E63 E11 JSB ERROR LATE FLAG SC39 CLF SC RSS E63 JSB ERROR NO FLAG JSB CBLKI,I CALL ADDO IF OK JMP DADO,I * HED POLL,STMSK,OSTAT,RESET,OMASK POLL NOP LDB COPRN DON'T CHANGE CURRENT OPERATION LDA DISCT NOP/DISCONNECT COMMAND JSB COMI,I ISSUE COMMAND SC16 OTA SC,C JMP POLL,I * STMSK NOP SET FILE MASK LDB COPRN DON'T CHANGE CURRENT OPERATION LDA SFMSK JSB COMDI,I SC14 STC SC JSB CLSMI,I MAKE UNIT NO. OF STAT-1 * A DONT CARE JMP STMSK,I * OSTAT NOP LDA B35 CURRENT OPERATION IS STATUS STA COPRN JSB STAT GET STATUS JMP OSTAT,I * * RESET * RESET NOP LDB B4 LDA CLEAR CLEAR COMMAND JSB COMI,I ISSUE COMMAND SC23 OTA SC,C JSB CLSMI,I MAKE UNIT NO. OF STAT-1 * A DONT CARE JMP RESET,I * OMASK NOP LDA B60 SET MASK STA COPRN JSB STMSK JMP OMASK,I HED SEEKH,FSEEK * SEEKH * SEEK HOME (RECALIBRATE) * SEEKH NOP LDA TCYL STA OLCYL CLA STA TCYL SAVE FOR NEXT OLD CYLINDER LDB B76 LDA RECAL RECALIBRATE COMMAND JSB COMI,I ISSUE COMMAND SC24 OTA SC,C SC25 STC SC LDA SEEKH MOVE RETURN ADDRESS STA WAITI,I LDA M1377 ALLOW 1377 MS JMP WAXI,I * PERFORM JSB SEEK * JSB WAITS * JSB WCHK * FSEEK séþúNOP JSB SEEK PERFORM SEEK JSB WAITI,I WAIT FOR SEEK TO COMPLETE FSK1 EQU * LDB B7400 =17400 LDA SHTAS STA FSAVE SAVE STATUS-EXPECTED FOR OTHER STB SHTAS EXPECTED STATUS FOR SEEK IS 0 JSB WCHK CHECK STATUS LDA FSAVE STA SHTAS RESTORE EXPECTED STATUS JMP FSEEK,I HED PCOP,ERROR,B11CK,SWR,PRINT,PRNT1,FPRNT,CNVRT,TTYCK * PCOP NOP ROUTINE TO PRINT COPR LDA COPRN JMP PCOPI,I * * ERROR * REPORT ERROR MESSAGES * USES SIOLO,SWR,B11CK * THE RETURN ADDRESS IS USED TO LOOK UP THE ADDRESS,LENGTH AND * NUMBER OF THE ERROR MESSAGE * ERROR NOP CLF 0 DISABLE INTERRUPTS CCB ADB ERROR LDA EFER,I FIND ERROR NUMBER BASED ON RETRN ER2 EQU * CPB A,I ADDRESS AND TABLE JMP ER1 FOUND IT INA CPA ELER,I JMP 1777B PROGRAM ERROR,PAGE 0 MAY BE * WIPED OUT. JMP ER2 ER1 EQU * ADA EFERC,I ADA MM1 STA ELOC JSB FPRNT PRINT MESSAGE LDB ELOC ADB MM8 -8 SSB SKIP IF ERROR NUMBER GTR THAN 7 JSB ERHTI,I CHECK FOR HALT JMP ERROR,I * * B11CK * IF TTY SUPPRESSED,RETURN * IF TTY NOT SUPPRESSED,SKIP NEXT INSTRUCTION ON RETURN * USES SWR * B11CK NOP JSB SWR AND BIT11 SZA,RSS IS TTY SUPPRESSED? ISZ B11CK NO JMP B11CK,I * * SWR * INPUT SWITCH REGISTER TO A-REGISTER * SWR NOP LIA 1 IOR ISR CAPTURE ALL SWITCHES STA ISR WHICH ARE SET LIA 1 JMP SWR,I * * PRINT * A = ERROR NUMBER * PRINT NOP JSB PRNI,I GET ADDR. AND LENGTH JMP PRINT,I TTY SUPPRESSED JSB SIOLO,I OUTPUT MESSAGE ISZ RMASK JMP PRINT,I * * * FPRNT * ‚þú OUTPUT TO FAST DEVICE IF CONFIGURED * FPRNT NOP LDB 113B IS FAST DEVICE SZB CONFIGURED? JMP FPR1 YES JSB PRINT OUTPUT TO SLOW DEVICE JMP FPRNT,I FPR1 EQU * JSB PRNI,I GET MESSAGE AND LENGTH JMP FPRNT,I TTY SUPPRESSED JSB SIOFO,I ISZ RMASK JMP FPRNT,I * * * CNVRT CLEARS E AND CALLS O2ASC * CNVRT NOP CLE JSB O2ASC,I JMP CNVRT,I * * TTYCK * RETURN IF TTY NOT AVAILABLE FOR NON-ERROR MESSAGES * INCREMENT RETURN ADDRESS IF PRINTOUT OK * TTYCK NOP JSB SWR LOAD SWITCH REGISTER AND A6000 SZA,RSS IS TTY AVAILABLE? ISZ TTYCK YES JMP TTYCK,I RETURN HED DECIN,DCIN1,DCIN2,SWR4 * * DECIN * CONVERTS DECIMAL INTEGERS TO ASCII * A=VALUE ON INPUT * CVT1 = MIDDLE TWO DIGITS ON EXIT * CVT2 = LAST TWO DIGITS ON EXIT * CVT3 = FIRST TWO DIGITS ON EXIT * DECIN NOP CLE LDB CVT TEMPORARY STORAGE BUFFER JSB I2ASC,I JMP DECIN,I * * * DCIN1 * STORE ONE WORD OF CONVERTED A AT B * DCIN1 NOP STB LOCAL SAVE POINTER JSB DECIN CONVERT TO ASCII LDA CVT2 STORE STA LOCAL,I INTO MESSAGE JMP DCIN1,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 * * * SWR4 * INPUT SWITCH REGISTER IF SFLAG = 0 (S1,S2,S3) * USE STORED VERSION IF SFLAG = 1 (S4,S5) * SWR4 NOP LDA SFLAG IS FLAG = O? SZA JMP SWR4A NO JSB SWR YES,USE SWITCH REGISTER JMP SWR4,I SWR4A LDA S400 USE ADA UNIT á(þú STORED LDA A,I VALUE JMP SWR4,I HED WCHK WCHK NOP TO CHECK FOR ERRORS ON * NON-READ OPERATIONS WRERX EQU * JSB ERRNI,I CALL ERROR COMPARITOR SZA SKIP IF NO ERROR JMP WRERY REPORT ERROR LDA DMRF CHECK FOR DMA NOT FINISHED SZA,RSS SKIP IF ERROR JMP WOUT RETURN IF NO TROUBLE JSB PCOP PRINT CURRENT OPERATION MESSAGE WROUT JSB DMERI,I PRINT DMA ERROR MESSAGE LDA XMCPU SZA,RSS SKIP IF MCPU MODE JSB ADDOI,I WOUT CLA STA STOVR JMP WCHK,I RETURN * * WRERV EQU * JSB ERRNI,I CHECK FOR STATUS ERRORS SZA SKIP IF STATUS OKAY WRERU JSB PRHDI,I PRINT OUT ERROR MESSAGE JMP WROUT WRERY EQU * LDA SPDVR SEE IF SHOULD PRINT OUT S,P,D MESSAGE SZA SKIP IF SHOULD NOT PRINT S,P,D MESSAGE JMP WRERZ JMP TO PRINT S,P,D MESSAGE JSB PCOP PRINT CURRENT OPERATION MESSAGE LDA B64 PRINT STATUS ERROR JMP WRERU WRERZ CLA STA SPDVR RESET S,P,D MESSAGE PROCESSING INDICATOR JSB ICHSI,I LDA B141 JSB PRINT JMP WCHK,I ICHSI DEF ICHS HED DGEN,DMRFC * DGEN * THIS ROUTINE FILLS UP THE BUFFER WITH RAW RANDOM DATA * USES WCNT AS A LENGTH * USES BUFAD FOR ADDRESS * * DGEN NOP LDA WCNT CMA,INA STA TEMP1 NEGATIVE WORD COUNT LDA BUFAD STA TEMP2 DGL EQU * JSB RAND GET RANDOM NUMBER STA TEMP2,I ISZ TEMP2 COUNT UP ADDRESS ISZ TEMP1 COUNT JMP DGL JMP DGEN,I * * DMRFC * REMOVE BIT 15 FROM DMRF * DMRFC NOP LDA DMRF ELA,CLE,ERA CLEAR BIT 15 STA DMRF CLA STA NOWDS DON'T WORRY ABOUT WORD COUNT JMP DMRFC,I HED DMR,DMW,XSFER * * * THESE ROUTINþúES SET UP DMA AND START THE DATA CHANNEL. * * THE DMR ROUTINE SETS UP A READ INTO THE INPUT * BUFFER ( ADDRESS IN BUFAE, COUNT IN WCNT ) * * THE DMW ROUTINE SETS UP A WRITE FROM THE OUTPUT * BUFFER ( ADDRESS IN BUFAD, COUNT IN WCNT ) * * DMR NOP SET UP DMA READ OPERATION LDA DMACW LOAD DMA COMMAND WORD DM6A OTA DMAD TO DATA CHANNEL DM2A CLC DMAC PREPARE TO LOAD ADDRESS LDA BUFAE IOR BIT15 OR IN DIRECTION BIT DM2B OTA DMAC OUTPUT MEMORY ADDRESS DM2C STC DMAC PREPARE TO LOAD COUNT LDA WCNT LOAD WORD COUNT CMA,INA TWOS COMPLEMENT IS USED BY DMA DM2D OTA DMAC OUTPUT WORD COUNT JMP DMR,I RETURN * * DMW NOP LDA DMACW LOAD DMA COMMAND WORD DM6C OTA DMAD TO DATA CHANNEL DM2E CLC DMAC PREPARE TO LOAD ADDRESS LDA BUFAD AND LDB DMW STB DMR JMP DM2B * XSFER NOP JSB COMI,I OUTPUT COMMAND JSB DMATI,I JSB STAT GET STATUS JMP XSFER,I HED READ,WRITE,RDFUL,WFULL * * * READ AND WRITE * * THESE ROUTINES ARE CALLED TO INITIALIZE ALL * DMA TRANSFERS TO AND FROM THE DISC. * * THEY ASSUME THAT * THE WORD COUNT IS IN WCNT * READ ASSUMES BUFFER ADDRESS IN BUFAE * WRITE ASSUMES BUFFER ADDRESS IN BUFAD * * READ NOP JSB DMR SET UP DMA READ OPERATION LDB B46 SET UP CURRENT OPERATION LDA READC LOAD READ COMMAND JSB XSFER ISSUE COMMAND JMP READ,I RETURN * * * WRITE NOP JSB DMW SET UP DMA WRITE OPERATION LDB B45 SET UP CURRENT OPERATION LDA WRITC LOAD WRITE COMMAND JSB XSFER ISSUE COMMAND JMP WRITE,I * * READ FULL SECTOR * RDFUL NOP JSB DMR START DMA LDB B3 LDA RFULS JSB XSFER ISSUE COMMAND JMP RDFUL,I * * WRITE FULL SECTOR Õþú* WFULL NOP JSB DMW START DMA LDB B101 LDA WFULS JSB XSFER ISSUE COMMAND JMP WFULL,I HED CHAR,DCHAR,OCHAR,HIN,H31 * * * CHAR * GET NEXT NON-BLANK CHARACTER * WONT SKIP IF BUFFER EMPTY * CHAR NOP CHAR1 ISZ CCNT DONE? PPT3 RSS NO JMP CHAR,I YES LDA BPTRA,I TTY WORD ISZ IFRST JMP SEC ALF,ALF USE LEFT HALF JMP COUT SEC CCB USE RIGHT HALF STB IFRST ISZ BPTRA BUMP WORD POINTER COUT AND B377 STA CCHAR SAVE IT XOR B40 IS IT BLANK SZA,RSS SKIP IF NO JMP CHAR1 IGNORE BLANKS LDA CCHAR ISZ CHAR JMP CHAR,I * * * DCHAR * GET DECIMAL VALUE * SKIPS ON EXIT IF NOT DONE * DCHAR NOP LDA MM58 UPPER LIMIT LDB VAL POINTS TO VALUE DCHR1 STA VAL2 STB VAL1 LDA MM7 STA DCNT LDA MM1 STA DFLT DFLT = -1 CLA INITIALIZE TO ZERO DCHR2 STA VALUE STORE VALUE JSB CHAR GET NEXT CHARACTER JMP DOUT2 DONE XOR B54 IS CHARACTER SZA,RSS A COMMA JMP DOUT1 YES,DONE LDA VAL2 CHECK ADA CCHAR VALIDITY SSA,RSS OF CHARACTERS JMP CCERR BAD INPUT LDA CCHAR ADA MM48 LOWER LIMIT SSA JMP CCERR STA DFLT DFLT # -1 LDB VALUE OK,BUILD BLF,RBR UP ADB VAL1,I VALUE ADB VAL1,I ADA B ISZ DCNT JMP DCHR2 CONTINUE CCERR JSB H31 LDA STEPN GET CURRENT STEP NO. CPA D90 SEE IF IN OPDSN SECTION JMP OPD1I,I JMP DOUT2 OPD1I DEF OPD1 DOUT1 ISZ DCHAR NORMAL EXIT DOUT2 LDA VALUE ERROR OR END OF READ BUFFER JMP DCHAR,I * * * OCHAR * GET OCTAL VALUE * SKIPS ON EXIT IF NOT DONE * tnþúOCHAR NOP LDA OCHAR STA DCHAR SET RETURN LDA MM56 UPPER LIMIT LDB DDD POINTS TO D0 JMP DCHR1 * * * HIN * INPUT FROM TTY * HIN NOP LDA D72 CHARACTER COUNT LDB BINA BUFFER ADDRESS JSB 104B,I TTY INPUT DRIVER SZA,RSS WERE ZERO WORDS INPUT? JMP HIN+1 YES,TRY AGAIN CMA STA CCNT SAVE CHARACTER COUNT CCA STA IFRST FLAG = -1 LDA BINA STA BPTRA SET POINTER JMP HIN,I BINA EQU BPTR * * H31 NOP LDA B31 BAD INPUT JSB PRINT JMP H31,I HED MC,NORM,FCYCK,COMD,CYLOK,CUNEN * * * MC NOP MASTER CLEAR DM6E CLC DMAD DM6F STF DMAD KILL DMA TRANSFER SC13 CLC SC SC22 CLF SC JMP MC,I * * * NORM NOP SET UP NORMAL STATUS CLA STA SHTAS CONTROLLER STATUS STA SHTS2 DRIVE STATUS LDA MM1 STA MASK1 CONTROLLER MASK LDA P7737 STA MASK2 DRIVE MASK JMP NORM,I * * FCYCK * PERFORM COMPLETE VERIFY OPERATION,INCLUDING SEEK. * A = NUMBER OF SECTORS ON ENTRY. * FCYCK NOP STA WCNT SAVE NUMBER OF SECTORS JSB FSEEK SEEK LDA WCNT JSB CYCKI,I JSB WCHK CHECK STATUS JMP FCYCK,I RETURN * COMD NOP JSB COMI,I BUILD COMMAND JSB DADO ISSUE IT JMP COMD,I CYLOK NOP LDA VALUE GET CYL. NO. ENTRY SSA SKIP IF CYL. NO. >=0 JMP CYLK1 IF VALUE IS NEG. DO NOT PLACE IN TABLE LDA DDTB GET BASE ADDR. OF TABLE OF POINTERS * TO DEVICE DEPENDENT TABLES ADA WTYPE GET CORRECT POINTER LDA A,I GET ADDR. OF NO. OF CYL. ENTRY FOR * THIS TYPE OF DRIVE LDA A,I GET NO. OF CYLS. FOR THIS TYPE DRIVE CMA,INA ADA ¯Õ640 VALUE SSA,RSS SKIP IF VALUE IS LEGAL JMP CYLK1 JSB CSTRI,I PLACE CYL. INTO CYL. TABLE JMP CYLOK,I CYLK1 JSB H31 OUTPUT INPUT ERROR MESSAGE JMP CYLOK,I CUNEN NOP LDA OSTAT CPA STTCI RSS ISZ CUNEN LDA UNIT JMP CUNEN,I ORG 1777B DONE NOP ALLOW JUMP FROM ANY PAGE Ȱ6ÿÿþú HED START ORG 2000B * START * INITIALIZES PROGRAM AND STUFFS HALTS INTO LOW CORE * START CLC 0,C TURN EVERYTHING OFF CC21 CLF CC RESET FLAG JSB SET1I,I NO RSTRT JSB TTYCK IS TTY AVAILABLE? JMP AGAIN NO CLA H0 JSB PRINT CARTRIDGE DISC MEMORY DIAGNOSTIC AGAIN EQU * LDA XMCPU SEE IF MCPU MODE SZA SKIP IF NOT MCPU MODE JMP QMCPU LDB D2 TRAP CELL LOCATION LDA THLT2 TRAP CELL HALT OLP STA B,I INB INA CPB B100 TRAP CELL HALTS COMPLETE? RSS YES JMP OLP NO,REPEAT * CLA STA ALLE STA PASS RESTART STA WCNT STA MCPU DONT ALLOW 1 SEC. TIMEOUT IN WAITS, OR HOLD BIT * TO BE CLEARED IN VERIFY STA S4BUG STA BLOCK STA CAUTN STA EFLAG STA PMASK STA FFLAG STA STOVR LDA TSOFT BUILD STA SOFT SOFT PRINT FLAG JSB SET2I,I NO LDA MM5 STA LIMIT NUMBER OF RETRIES ON DATA ERRORS LDA BPTR STA BUFAD INITIALIZE BUFAD BGNB CLA,INA STA NI LDA UNITA STA UNIT UNIT = UNIT TABLE(0) BGN EQU * CLA STA ISR ZERO SWITCH REGISTER SUMMARY STA ERR ZERO NUMBER OF ERRORS STA FERR ZERO NUMBER OF FATAL ERRORS STA CYL STA HEAD STA SECTR STA STEPN STEP NUMBER = 0 JSB CUNTI,I A MUST BE 0 - ZERO UNIT COUNTERS JSB NORMI,I SET UP NORMAL STATUS CLA,INA A _ 1 STA SECTN START WITH SECTION ONE STA ACTAD LDA D3 LDB MDFLG STA MDFLG CPB B14 JMP BGNB CCA STA FIFLK PLACE -1 IN FIFLK SO THAT WILL NOT * CHECK -15 MORE THAN ONCE * FOR A MISS COMPARE LDA MM15 =,þú STA FIFCT BGND LIA 1 STA GLOB1 LDA E4000 BITS 11 AND 14 OTA 1 JSB RESET ISSUE CLEAR COMMAND LDA GLOB1 OTA 1 RESTORE SWITCH REGISTER LDA ERR SEE IF AN ERROR OCCURRED SZA SKIP IF AN ERROR DID NOT OCCUR JMP E103 JUMP TO OUTPUT MESSASGE * "DISC INTERFACE DOES NOT RESPOND" STA FERR LDA FIFCT LDB A * CHECK -15 ONLY ONCE * ON A MISS COMPARE * * TEST CONTROLLER FIFO * SC36 OTA SC SSA,INA DONE? JMP SC36 NO SC37 LIA SC CPA B JMP BGNA ISZ FIFLK IF NOT 0 THEN IS AN ERROR JMP E127 LDA MM2 STA FIFCT PREPARE TO CHECK 3 LEVEL FIFO JMP BGND E127 JSB ERROR INTERFACE FIFO DOES NOT RESPOND HLT6 HLT 6 JMP START E103 JSB ERROR DISC INTERFACE DOES NOT RESPOND JMP HLT6 BGNA ISZ FIFLK NOP SSB,INB JMP SC37 CLA STA FLMSK ALLOW CYLINDER MODE JSB OMASK SET MASK H35 LDA B35 INITIAL STATUS STA COPRN JSB CNVS CLB STB LOCAL ISZ LOCAL DELAY,ALLOW FOR JMP *-1 SWITCH THREE TO BE SET LDA UNIT SAVE STA GLOB4 UNIT NUMBER INST0 CLA * * CLEAR ATTENTION INITIALLY ON ALL DRIVES THAT ARE ONLINE * STA UNIT INST1 EQU * LDA M1024 SET UP FOR 1024 MSEC DELAY STA LCNT INST3 CLA,INA DELAY 1 MSEC JSB TMR,I ISZ LCNT DONE? RSS NO JMP INST5 YES - GIVE UP JSB OSTAT GET STATUS AND D3 DRIVE BUSY + DRIVE NOT READY CPA PBBIT IS UNIT READY AND BUSY? JMP INST3 YES - WAIT INST5 ISZ UNIT NO - CONTINUE LDA UNIT CPA D8 DONE WITH ALL UNITS? CLA,RSS YES î½þúJMP INST1 NO - CONTINUE LDB UNSET DETERMINE IF DEFAULT VALUES HAVE BEEN * ENETERED FOR UNIT TABLE SZB,RSS SKIP IF NOT FIRST TIME THRU STA UNITC ZERO UNIT COUNT IF FIRST TIME THRU * ONLY WANT UNITS THAT ARE CONNECTED TO BE STA CTYPE CLEAR CURRENT TYPE INDICATOR JSB UHERE LDA UNSET SEE IF DEFAULT TABLE HAS BEEN ENTERED SZA,RSS SKIP IF THEY HAVE BEEN JMP HLP9 LDA UNITC OBTAIN COUNT OF NO. OF UNITS IN UNIT TABLE SZA SKIP IF NO UNITS IN UNIT TABLE JMP SCALR LDA B130 PRINT OUT MESSAGE SAYING NO UNITS JSB PRINT ARE CONNECTED HLP8 CLA STA FLOOP IF = 0 THEN DONT BELONG IN BIT 2 LOOP * JUMP TO WHERE ORIG. CAME FROM * WHEN GET DONE WITH UNIT TABLE * THAT WILL PUT YOU BACK HERE JMP PUNTI,I GO TO UNIT TABLE PART OF BIT 2 HLP7 CLA,INA STA FLOOP DISABLE INDICATOR LDA UNSET SEE IF WE JUST RETURNED FROM SETTING * DEFAULTS IN UNIT TABLE SZA JMP INST0 GO TO CHECK UNIJTS AGAIN ISZ UNSET SET UNIT DEFAULT ENTRY INDICATOR JMP SCALR CONTINUE DIAG. PROCESSING HLP9 STA UNITA PLACE ZERO IN UNIT TABLE AS ONLY ENTRY INA STA UNITC INDICATE ONLY ONE ENTRY IN UNIT TABLE JMP HLP8 UHERE NOP CLA HLP2 EQU * STA UNIT SET UP UNIT NUMBER LDA UTYPE GET BASE ADDR. OF UNIT-TYPE TABLE ADA UNIT ADD IN OFFSET FOR THIS UNIT LDB A,I GET CURRENT ENTRY IN UNIT-TYPE TABLE STB LTYPE SAVE CURRENT ENTRY, WILL SEE IF IT CHANGES LATER CCB STB A,I CLEAR ENTRY, WILL BE RESTORED ONLY IF STILL * CON;þúNECTED WHEN I LOOK * ALL ONES INDICATE NOT CONNECTED JSB OSTAT GET STATUS AND NRBIT IS THIS UNIT READY? SZA SKIP IF YES JMP HLP3 NO LDA STAS2 UNIT IS CONNECTED, DETERMINE TYPE ALF,ALF RAR AND B3 OBTAIN TYPE INFO. FROM STATUS 2 WORD LDB UTYPE GET BASE ADDR. OF UNIT-TYPE TABLE ADB UNIT STA B,I YOU JUST UPDATED UNIT-TYPE TABLE ADA TYPTB ADD BASE ADDR. OF TYPE TABLE LDA A,I GET ACTUAL TYPE CMA,INA NEGATE TYPE NO. CLB,INB TYP1 SZA,RSS SEE IF THIS IS THE TYPE NO. JMP TYP2 JUMP IF IT IS RBL MOVE BIT TO NEXT POSITION FOR NEXT TIME INA INCREASE TYPE NO. INDICATOR JMP TYP1 GO LOOP AGAIN TYP2 LDA CTYPE GET CURRENT TYPES FOUND INDICATOR IOR B INCLUDE THIS TYPE STA CTYPE STORE RESULTS HLP4 JSB SEEK ISSUE SEEK JSB WAITI,I JMP HLP1 HLP3 EQU * JSB SEES CLEAR STATUS BITS THAT LATCH HLP1 LDB INITL DETERMINE IF THIS IS THE FIRST TIME THRU SZB,RSS SKIP IF NOT FIRST TIME THRU JMP HLP5 JUMP IF FIRST TIME THRU LDA UTYPE GET BASE ADDR. OF UNIT-TYPE TABLE ADA UNIT ADD DISPLACEMENT FOR UNIT LDA A,I DETERMINE CURRENT TYPE OF UNIT CPA LTYPE COMPARE WITH TYPE ON LAST PASS JMP HLP5 JUMP IF THEY ARE THE SAME LDA UNIT GET CURRENT UNIT NO. ADA B2060 CONVERT TO ASCII TO PLACE IN MESSAGE STA I131A,I STORE UNIT NO. IN MESSAGE LDA B131 PRINT OUT MESSAGE INDICATING THAT TYPE FOR JSB PRINT GIVEN UNIT CHANGED BETWEEN PASSES HLP5 LDA UNIT INCREMENT INA UNIT NUMBER CPA þþúD8 DONE? RSS YES JMP HLP2 NO,CONTINUE JMP UHERE,I SCALR EQU * SECTION CALLER LDB INITL DETERMINE IF FIRST TIME THRU SZB SKIP IF IT IS FIRST TIME THRU JMP HLP6 ISZ INITL SET INDICATOR SAYING WE HAVE PASSED THRU * THE FIRST TIME ALREADY CLA STA UNIT SET SELECTED UNIT EQUAL TO ZERO HD7 LDA UTYPE GET BASE ADDR. OF UNIT-TYPE TABLE ADA UNIT ADD OFFSET FOR THE UNIT LDA A,I GET TYPE FOR THIS UNIT CPA P7777 IF EQUAL THEN UNIT IS NOT CONNECTED JMP HD10 JUMP IF UNIT NOT CONNECTED HD8 LDB TYPTB GET BASE ADDR. OF TYPE TABLE ADB A ADD OFFSET FOR THIS TYPE LDB B,I OBTAIN NEXT TYPE NO. FROM THE TABLE ADB THEAD GET ADDR. FOR HEAD INFO. FOR THIS TYPE LDA B,I GET VALID HEAD MASK FOR THIS TYPE OF DRIVE CPA D7 IS THIS FOR A 7905 RSS CPA B17 IS THIS FOR 7905B AND D3 IF YES, THEN ONLY WANT HEADS 0,1 LDB HDON GET BASE ADDR. OF HEAD-UNIT TABLE ADB UNIT ADD ON OFFSET FOR THIS UNIT STA B,I STORE DEFAULT VALUE IN HEAD TABLE FOR THIS UNIT HD10 ISZ UNIT GO TO THE NEXT UNIT LDA D8 CPA UNIT HAVE WE LOOKED AT ALL THE UNITS JMP HLP6 JUMP IF WE HAVE LOOKED AT ALL THE UNITS JMP HD7 GO LOOK AT NEXT UNIT HLP6 CLA STA STEPN STEP NUMBER = 0 LDA B35 STA COPRN INITIAL STATUS LOOP LDA FLOOP SZA,RSS IF = 0 THEN RETURN TO OTHER PART OF * PROGRAM THAT CAN CALL UNIT TABLE * PROCESSING JMP HLP7 JSB SW2 LDA B140 * OF BIT 2 OPTIONS JSB PȳþúRINT OUTPUT BIT 2 MESSAGE ILOOP JSB HIN GET INPUT LINE JSB CHAR GET NEXT CHAR., IT IS RETURNED IN A REG. JMP LOOP JSB INPUT CPA ZE DO YOU WANT TO LEAVE BIT 2 DIALOGUE? JMP OUT LEAVE LDA B31 JSB PRINT JMP ILOOP GET INPUT AGAIN OUT LIA 1 GET SWITCH REG. AND MM5 TURN OFF BIT 2 OTA 1 RESTORE SWITCH REG. WITH BIT 2 OFF JMP LOOP GO SEE IF HE TURNED IT BACK ON INPUT NOP LDB A JSB SW2 SEE IF BIT 2 IS STILL ON LDA B RESTORE INPUT CHAR. TO A REG. CPA ZU DO YOU WANT TO CHANGE UNIT TABLE? JMP PUNTI,I JUMP TO CHANGE UNIT TABLE CPA ZQUES JMP MAX2 JUMP TO CHANGE NO. OF ERRORS? CPA ZH DO YOU WANT TO CHANGE HEAD TABLE? JMP HED0I,I JUMP TO CHANGE HEAD TABLE CPA ZP DO YOU WANT TO CHANGE PATTERN TABLE? JMP HD6 JUMP TO CHANGE PATTERN TABLE CPA ZS DO YOU WANT TO CHANGE PRINT OF SOFT ERRORS? JMP SOFT1 JUMP TO CHANGE PRNTING OF SOFT ERRORS CPA ZC DO YOU WANT TO CHANGE CYLINDER TABLE? JMP CYLCI,I JUMP TO CHANGE CYL. TABLE CPA ZO JMP EXPND CPA ZM DO YOU WANT TO CHANGE MCPU MODE JMP QMCPU JUMP TO CHANGE MCPU MODE JMP INPUT,I ZU EQU D85 ZQUES EQU B77 ZO EQU B117 ZH EQU B110 ZP EQU B120 ZS EQU B123 ZC OCT 103 ZM EQU B115 ZE EQU EE B130 OCT 130 B131 OCT 131 LTYPE BSS 1 DRIVE TYPE OF UNIT ON LAST PASS * IN REGARD TO CYL. TABLE INITL OCT 0 INDICATES WHETHER FIRST TIME THROUGH DIAG. * THRU DIAG. P142A DEF M142A P143A DEF M143A B143 OCT 143 MAX2 LDA MAX SET LDB P023A UP INB m€þú MESSAGE JSB DCIN2 LDA CVT3 STA P023A,I LDA B23 H23 JSB PRINT XXXXXX ERRORS/PASS ALLOWED JSB ASKI,I JMP LOOP GO SEE IF BIT 2 STILL SET MAX1 LDA B32 H32 JSB PRINT ENTER ERRORS/PASS JSB HIN JSB DCHAR RSS ERROR OR DONE? JMP MAX1 MUST BE DONE LDB CCNT SZA MAX MAY NOT BE ZERO SZB SKIP IF DONE JMP MAX1 ERROR SSA JMP MAX1 STA MAX JMP MAX2 HD6 EQU * JSB SLFHI,I SELECT FIRST HEAD PAT1 LDA MM1 TWO LINES WILL BE USED STA PCNTA LDA PATR ADDRESS ADA MM10 OF FIRST STA PLOAD PATTERN LDA P027A ADDRESS STA PSTOR OF MESSAGE PC LDA MM5 FIVE PATTERNS PER LINE STA PCNT PB LDB PSTOR LDA PLOAD,I JSB CNVRT CONVERT TO ASCII ISZ PLOAD LDB PSTOR ADB D3 LDA BB TWO ASCII BLANKS STA B,I INB STB PSTOR ISZ PCNT HAVE WE DONE 5 YET? JMP PB NO ISZ PCNTA YES,HAVE WE DONE TEN? JMP PATT1 YES LDA CRLF 06412 STA PSTOR,I ISZ PSTOR JMP PC PATT1 EQU * H27 LDA B27 PATTERN TABLE CONTENTS JSB PRINT JSB ASKI,I JMP LOOP JUMP TO CONTINUE BIT 2 DIALOGUE H30 LDA MM10 STA CSTOR LDA B30 * SEPARATED BY COMMAS JSB PRINT JSB HIN INPUT FROM KEYBOARD PTS JSB OCHAR GET OCTAL VALUE JMP PTS1 ERROR OR DONE? JSB PSTR STORE IN TABLE JMP PTS CONTINUE PTS1 LDA CCNT SZA,RSS SKIP IF ERROR JSB PSTR DONE JMP PAT1 QMCPU JSB SOFEI,I OCT 146 DEF XMCPU DEF M146A JMP LOOP EXPND JSB SOFEI,I OCT 134 DEF LONGF DEF J134A ʰþú JSB SOFEI,I OCT 136 DEF EXPTS DEF J136A JMP LOOP SOFT1 JSB SOFEI,I OCT 126 DEF SOFT P126A DEF J126A JMP LOOP SOFEI DEF SOFEX SW2 NOP JSB SWR AND BIT2 IS BIT 2 SET? SZA BRANCH IF NO JMP SW2,I JSB UPRES SEE IF SELECTED UNIT IS PRESENT LDA XMCPU SEE IF MCPU MODE SET SZA,RSS SKIP IF MCPU MODE JMP SW3 LIA 1 IOR BIT3 TURN BIT3 3 ON FOR MCPU MODE OTA 1 SW3 JSB SWR AND BIT3 SZA IS BIT 3 SET? JMP OPDNI,I YES STA VALID JSB UPRES JMP UD1 UPRES NOP * * CHECK TO SEE UNIT IS PRESENT * CCA A = -1 ADA UNITS ADD BASE ADDR. OF UNIT TABLE ADA NI ADD NO. OF UNITS INITIALIZED INCLUDING THIS ONE LDA A,I GET UNIT NO. JSB UNXFI,I UPDATE UNIT DEPENDENT INFO. JSB OSTAT IS UNIT AND NRBIT PRESENT? SZA,RSS JMP UPRES,I LDA UNIT NO STA GLOB1 ADA B2060 STA P050A,I SET UP FIRST PART OF MESSAGE LDA P050B STA GLOB2 LDA NRBIT STA GLOB3 CLA UD2 EQU * STA UNIT CPA GLOB1 LOOK AT ALL OTHER UNITS JMP UD3 NO - SAME UNIT JSB OSTAT IS THIS AND NRBIT UNIT PRESENT? LDB MM16 SZA,RSS LDB UNIT YES AND GLOB3 STA GLOB3 ADB B2060 B = BLANK,BLANK OR BLANK,UNIT # STB GLOB2,I SET UP LAST PART ISZ GLOB2 OF MESSAGE UD3 EQU * CLA,INA ADA UNIT CPA D8 DONE? RSS YES JMP UD2 CONTINUE LDA GLOB3 LDB BB BLANK,BLANK SZA,RSS LDB C1440 #,BLANK STB GLOB2,I E50 JSB ERROR E50 UNIT X MISSING - PRESENT ... LDA PASS SZA JMP UD4 DON'T HALT IF PASS <$âþú> 0 JMP HLP8 UD4 EQU * LDA GLOB1 JSB UNXFI,I STORE NEW UNIT NO., UPDATE DEVICE RELATED TABLES JMP UPRES,I UD1 EQU * LDA SECTN LOAD SECTION NUMBER ADA SECT ADD ON POINTER JMP A,I CALL SECTION SKIP EQU * LDA HLTC =102010 IOR SECTN SECTION NUMBER STA SHLT HALT BETWEEN SECTIONS JSB SWR CHECK FOR HALT AT END OF SECTION AND BIT9 SZA SHLT NOP CLA STA FLMSK JSB OMASK JSB SWR CHECK FOR TEST REPEAT AND BIT7 SZA SKIP IF NO REPEAT JMP SCALR REPEAT LAST TEST THRU EQU * ENTRY POINT FROM SECTION 5 LDB SECTN COUNT UP SECTION NUMBER INB STB SECTN CPB D6 FIVE SECTIONS CLA,INA,RSS JMP SCALR ADA PASS INCREMENT PASS NUMBER STA PASS CCE START WITH RIGHT BYTE LDB CVT JSB I2ASC,I CONVERT TO ASCII LDB P065A LDA CVT1 AND C0377 =20377 STA B,I BLANK,MOST SIGNIFICANT DIGIT INB LDA CVT2 STA B,I MIDDLE TWO DIGITS INB LDA WD4 AND P7400 IOR B54 STA B,I LEAST SIGNIFICANT DIGIT,COMMA JSB SUNTI,I STUFF UNIT NO. INTO PASS MESSAGE LDA ERR LDB P065B CONVERT NUMBER JSB DCIN2 OF ERRORS LDA FERR CMA,INA ADA ERR LDB P065F CONVERT NUMBER OF JSB DCIN2 NON-FATAL ERRORS LDA MM3 STA TEMP1 LDB LONG LDA ISR AND B142 SZA SKIP IF LONG PASS LDB SHORT STB LOCAL SZA JMP PS3 LDA P065E,I ALF,ALF AND D7 GET UNIT # ADA D3514 ISZ A,I SET UP LONG PASS DUMP PS3 NOP LDB P065A ADB MM3 LPASS EQU * LDA LOCAL,I MOVE STRING STA B,I INTO ADB MMqú<:61 MESSAGE ISZ LOCAL ISZ TEMP1 JMP LPASS JSB SHEDI,I SET HEADS INTO MESSAGE LDB P065F CHECK ADB D4 FOR LDA B,I MULTI-DRIVE AND MM16 =177760B IOR MDFLG STA B,I LDA ERR SZA,RSS JMP PS1 JSB SWR AND A2400 CPA A2400 BOTH SET? JMP PS2 YES PS1 EQU * JSB TTYCK JMP ECHOS PS2 EQU * LDA 113B FAST OUTPUT SELECT CODE AND B77 STA LOCAL SZA,RSS ZERO? JMP H65 YES LDA 112B SLOW OUTPUT SELECT CODE AND B77 CPA LOCAL SAME AS FAST? JMP H65 YES LDA B65 NO JSB FPRNT PASS XXXX H65 LDA B65 JSB PRINT PASS XXXX ECHOS JMP BGN RUN TEST OVER PCNT BSS 1 PCNTA BSS 1 PLOAD BSS 1 PSTOR BSS 1 SECTN BSS 1 ADDRS DEF INTPT+1 JE6 JMP .E6,I LONG DEF JP65C SHORT DEF JP65D P023A DEF JP23A P027A DEF JP27A P050A DEF JP50A P050B DEF JP50B P065A DEF JP65A P065B DEF JP65B P065F DEF JP65F SHEDI DEF SHEAD E4000 OCT 044000 SET1I DEF SET1+D SET2I DEF SET2+D TSOFT OCT 1 MASTER COPY OF SOFT CUNTI DEF CUNIT * SECT DEF *,I * DEF S1 * DEF S2 * DEF S3 * DEF S4 * DEF S5 * SKP <ÿÿþú* CNVS * CNVS NOP * * CTEST * TEST CHANNEL * CLC 0,C INITIALIZE I/O SYSTEM CH1 CLF CH CLEAR CHANNEL FLAG CH2 SFS CH RSS E2 JSB ERROR CLF OR SFS FAILED ON CHANNEL X CH5 STF CH CH8 SFS CH E5 JSB ERROR SFS FAILED WITH FLAG SET - CH. X * * SCREEN TEST * LDA B10 START AT SELECT CODE 10 C1 STA GLOB3 CPA CH13 SAME AS THIS SELECT CODE? JMP C2 YES - SKIP TEST IOR STF0 NO - SET UP STF X STA C3 CH9 CLF CH CLEAR CH C3 STF CH STF X CH10 SFS CH SKIP CH JMP C2 OK E57 JSB ERROR SCREEN TEST ERROR JSB ERHTI,I HALT? C2 EQU * LDA GLOB3 INA CPA B100 DONE? RSS YES JMP C1 NO * TEST INTERRUPT CAPABILITY * LDA CH13,I STA GLOB1 LDA JSB1 SET UP INTERRUPT TRAP CELL STA CH13,I LDA JE6 CC16 STC CC SET CHANNEL TO REQUEST CC17 STF CC AN INTERRUPT STF0 STF 0 ENABLE INTERRUPTS STC 1 * INTERRUPTS STF 1 SHOULD CLC 1 BE CLF 1 DELAYED JMP *+1,I UNTIL DEF *+1 . JSB *+1,I . DEF *+1 . NOP . INTPT NOP * HERE E6 JSB ERROR NO INTERRUPT ON CHANNEL X JMP CC18 RETRN NOP INTERRUPT SUBROUTINE CLF 0 DISABLE INTERRUPTS LDA GLOB1 TRAP CELL HALT STA CH13,I STF 0 TEST INTERRUPT ACKNOWLEDGE NOP * SHOULD NOT NOP INTERRUPT HERE CLF 0 DISABLE INTERRUPTS LDA RETRN DID INTERRUPT OCCUR AT THE CPA ADDRS CORRECT MEMORY LOCATION RSS E7 JSB ERROR INCORRECT RETURN ADDRESS - CH. X CC18 STC CC SET CONTROL CC19 STF CC CLC 0 SHOULD CLEAR ALL CONTROL BITS STF 0 þú ENABLE INTERRUPTS NOP ** SHOULD NOT INTERRUPT NOP HERE CLC 0 TURN EVERYTHING OFF LDA GLOB1 STA CH13,I * CLF 0 CC20 CLF CC RESET FLAG JMP CNVS,I YES CH13 OCT 0 HED DGEN1,CSTR,PSTR,FRCAL * * DGEN1 * LIMIT WORD COUNT TO 2048. * DGEN1 NOP STA WRSP STA SHTAS LDA D1024 STA WCNT WCNT = 2048 JSB DGEN FILL WRITE BUFFER WITH RANDOM JMP DGEN1,I DATA * CSTR NOP LDA TRT CSTR1 ADA CSTOR DISPLACEMENT INTO TABLE STA CPONT LDA CSTOR SSA,INA,RSS SKIP IF ENTRY GOES INTO TABLE JMP CSTR,I STA CSTOR LDA VALUE CCB CPB DFLT SEE IF DEFAULT = -1, IF YES, * DO NOT CHANGE ENTRY RSS STA CPONT,I JMP CSTR,I CPONT BSS 1 * PSTR NOP LDA PSTR STA CSTR SET UP RETURN LDA PATR JMP CSTR1 FRCAL NOP LDA FRCAL STA FSEEK JSB SEEKH RECALIBRATE JMP FSK1 CHECK STATUS HED S1 - SECTION 1 * SECTION 1 * THIS SECTION TESTS MOST CONTROLLER FUNCTIONS USING SHORT * READS AND WRITES. * WRSP EQU GLOB1 SPD FIELD WRR EQU GLOB2 TIMER SECNT EQU GLOB3 SECTOR COUNTER SBASE EQU GLOB4 EXTRA EQU GLOB5 SAVE EQU GLOB6 P066A DEF JP66A P067A DEF JP67A P070A DEF JP70A P107A DEF J107A I0003 OCT 100003 I0203 OCT 100203 TCNT BSS 1 UPD ASC 1,U/ LRD ASC 1,L/ ST21I DEF STP21 B142 OCT 142 B1400 OCT 11400 S1 EQU * CLB STB SFLAG STB DMRF NO DMA ERRORS AT START STB CYL STB SECTR JSB NORMI,I SET UP NORMAL STATUS JSB SLFHI,I SELECT FIRST HEAD LDA BPTR STA BUFAD INITIALIZE BUFFER ADDRESS LDA BPTS LOAD READ BUFFER ADDRESS STA BUFAE SET POINTER * * STEP 1 * GET4þú AND CHECK STATUS FOR 0 * JSB POLL LDA D1 JSB COPR LDA P7637 STA MASK2 JSB OSTAT JSB MCHKI,I CHECK STATUS JSB ENDSI,I * * STEP 2 * RECALIBRATE * LDA D2 JSB COPR JSB FRCAL RECALIBRATE JSB ENDSI,I * * SKIP TO STEP 21 IF BIT 4 IS CLEAR * JSB SWR AND BIT4 SZA,RSS JMP ST21I,I * * STEP 3 * ASK OPERATOR TO SET FORMAT SWITCH * LDA D3 JSB COPR LDA UNIT CONVERT UNIT ADA B2060 NUMBER TO ASCII STA P066A,I STA P067A,I STA P107A,I STA P070A,I JSB TTYCK IS TTY AVAILABLE? JMP WHLTA NO LDA B66 YES JSB PRINT WHLTA LDA B66 SET OVERRIDE SWITCH PUSH RUN HLT 2 JSB OMASK JSB NORMI,I LDA FOBIT FORMAT SWITCH STA SHTS2 IS SET IOR MASK2 CHECK FORMAT STA MASK2 SWITCH JSB ENDSI,I * * STEP 4 * PLACE PROTECT BIT ON CYLINDER ZERO,READ CYLINDER ZERO * AND CYCLIC CHECK CYLINDER ZERO . * LDA D4 JSB COPR LDA WRILB LOAD WRITE LOCKOUT BIT JSB DGEN1 GENERATE BUFFER JSB SEEH SELECT HEAD LDA WDPT STA WCNT WORD COUNT = 6144 JSB WADRI,I FORMAT TRACK JSB WCHK CHECK STATUS LDA D128+SZREF READ ONE STA WCNT SECTOR JSB SEEH READ JSB READ BACK JSB DCHKI,I AND CHECK LDA SCPT ENTIRE TRACK JSB FCYKI,I ISSUE CYCLIC CHECK JSB SENDI,I * * STEP 5 * PLACE DEFECTIVE CYLINDER BIT ON CYLINDER ONE * ISZ CYL CYL = 1 LDA D5 JSB COPR JSB FTRDI,I FLAG TRACK DEFECTIVE JSB ENDSI,I * * STEP 6 * ASK OPERATOR TO CLEAR FORMAT SWITCH * LDA D6 JSB COPR JSB TTYCK IS TTY AVAILABLE? JMP WHLTB NO >öþú LDA B67 YES JSB PRINT WHLTB LDA B67 CLEAR OVERRIDE SWITCH,PUSH RUN HLT 2 JSB STMSK CLA FORMAT SWITCH STA SHTS2 IS CLEAR JSB ENDSI,I * * STEP 7 * READ CYLINDER ONE (CHECKING FOR DEFECTIVE TRACK) * LDA D7 JSB COPR LDA D128+SZREF STA WCNT SET WORD COUNT FOR ONE SECTOR JSB SEEH ADDRESS RECORD IN S0 JSB READ LDA D0400 030400 STA SHTAS WHAT STATUS SHOULD BE JSB DMRFC OK IF TRANSFER IS INCOMPLETE JSB WENDI,I CHECK STATUS AND END STEP * * STEP 8 * WRITE CYLINDER ZERO (CHECKING FOR ATTEMPT TO WRITE * ON PROTECTED TRACK) * LDA D8 JSB COPR CLA STA CYL SET TO CYLINDER ZERO JSB FSEEK SEEK IN S0 JSB WRITE LDA F3000 053000 STA SHTAS JSB DMRFC OK IF TRANSFER IS INCOMPLETE JSB WENDI,I CHECK STATUS AND END STEP * * STEP 9 * WRITE ADDRESS ON CYLINDER ZERO (CHECKING FOR STATUS-2 ERROR). * LDA D9 JSB COPR JSB FSEEK SEEK CLA JSB DGEN1 GENERATE BUFFER LDA B1400 11400 STA SHTAS JSB WADRI,I JSB DMRFC OK IF TRANSFER IS INCOMPLETE JSB WENDI,I CHECK STATUS AND END STEP * * STEP 10 * ASK OPERATOR TO SET FORMAT SWITCH * WRITE CYLINDER ZERO (CHECKING FOR GOOD STATUS * ON PROTECTED TRACK) * JSB TTYCK IS TTY AVAILABLE? JMP WHLTC NO LDA B66 YES JSB PRINT WHLTC LDA B66 SET OVERRIDE SWITCH,PUSH RUN HLT 2 JSB STMSK LDA D10 JSB COPR LDA FOBIT FORMAT SWITCH STA SHTS2 IS SET JSB FSEEK JSB WRITE LDA BIT14 PROTECTED TRACK STA SHTAS JSB WENDI,I CHECK STATUS CLA STA SHTAS * * STEP 11 * INITIALIZE ALL HEADS SELECTED * WRCL EQU * òaþú STA CYL SET NEW CYLINDER NUMBER JSB SLFHI,I SELECT FIRST HEAD WRHD EQU * * * THE FOLLOWING OPERATION IS A SEEK THAT * CAUSES POSITIONER MOTION. * CLA STA SECTR JSB DGEN1 LDA WDPT STA WCNT LDA D11 JSB COPR JSB SEEK JSB WAITI,I WAIT FOR SEEK COMPLETION JSB WADRI,I WRITE AND READ ADDRESSES JSB WENDI,I * * STEP 12 * VERIFY DISC * LDA SCPT STA TCNT LDA D12 JSB COPR ST12A LDA TCNT JSB FCYKI,I CYCLIC CHECK CYLINDER JSB HELPI,I JMP STP12 LDA SCPT ADA MM1 STA XXX1 STORE SECTORS/TRACK -1 TEMPORARILY LDA RHDS AND B377 A=SECTOR CPA XXX1 DONE? JMP ST12D YES ST12C STA SECTR CMA,INA ADA SCPT A=SECTOR COUNT STA TCNT ISZ LIMIT JMP ST12A * FLAG TRACK DEFECTIVE IF BIT 0 SET JSB SWR SLA BIT 0 SET? JSB FTRDI,I FLAG TRACK DEFECTIVE JMP ST12B ST12D CLB CPB SECTR STARTED YET? RSS ASSUME NO JMP ST12C YES ST12B LDA MM1 STA LIMIT STP12 EQU * JSB ENDSI,I ISZ HEAD JSB SLNHI,I NEXT HEAD? JMP WRHD YES CLA,INA INCREMENT CYLINDER ADA CYL COUNT UP TO NEXT CYLINDER CPA CYPP CHECK FOR END OF PACK RSS JMP WRCLI,I NOT DONE, FINISH PACK JSB SLFHI,I SELECT FIRST HEAD JSB FSEEK RESET CONTROLLER ADDRESS JSB NORMI,I SET UP NORMAL STATUS * * STEP 13 * ASK OPERATOR TO UNLOAD DRIVE * LDA D13 JSB COPR JSB TTYCK IS TTY AVAILABLE? JMP WHLTE NO H70 LDA B70 YES JSB PRINT WHLTE LDA B70 UNLOAD UNIT X,PUSH RUN HLT 2 JSB STMSK JSB ENDSI,I * * STEP 14 * CHECK FOR NOT-READY AND ATTENTION9Xþú INDICATIONS. ISSUE A WRITE * COMMAND AND CHECK STATUS. ISSUE A SEEK TO CHECK THAT THE * CONTROLLER SETS THE INTERFACE FLAG IMMEDIATELY IF THE DISC * DRIVE IS NOT READY. * THIS STEP REPORTS A STATUS ERROR WHEN LOOPED. * LDA D14 JSB COPR JSB OSTAT LDA I0203 100203 STA SHTS2 JSB MCHKI,I CHECK STATUS JSB POLL SC20 STC SC JSB WAITI,I LDA B1400 11400 STA SHTAS LDA I0003 STA SHTS2 CONTROLLER TURNS OFF ATTENTION LDA D128+SZREF STA WCNT JSB WRITE JSB DMRFC OK IF TRANSFER IS INCOMPLETE JSB WCHK AND CHECK FOR ERRORS JSB SEEK SEEK JSB WAITI,I JSB ENDSI,I * * STEP 15 * ASK OPERATOR TO READY DRIVE. TEST * FIRST STATUS WHEN HEADS LOAD. * LDA D15 JSB COPR NRCB EQU * LDA MM10 PRINT EVERY STA WRR 82 SECONDS JSB TTYCK JMP WHLTF H107 LDA B107 READY UNIT X JSB PRINT WHLTF LDA M7936 STA LCNT SET MILLISECOND COUNTER JSB POLL SC18 STC SC SC33 CLF SC NRCF EQU * CC11 SFS CC SKIP IF READY RSS JMP CC12 FLAG IS SET CLA,INA JSB TMR,I DELAY 1 MSEC ISZ LCNT JMP NRCF ISZ WRR READY TO PRINT? JMP WHLTF NO JMP NRCB YES CC12 CLA,INA STA BLOCK PREVENT INTERRUPT JSB OSTAT CLA STA BLOCK LDA B7400 =17400 STA SHTAS LDA FSBIT FIRST STATUS STA SHTS2 JSB WCHK JSB ENDSI,I * * STEP 16 * ASK OPERATOR TO SET READ ONLY SWITCH * LDB STYPE CPB D2 JMP STP14 JUMP IF 7905A SZB SKIP IF 7905B JMP ST16A STP14 LDB UPD CCA ADA TRPC A REG. = LAST HEAD NO. CPA HEAD IS THE LAST HEAD SELECTED STP15 LDB LRD IF YES, THEN LOAD LOWE´ˆþúR DISC MESSAGE STB P142A,I STB P143A,I ST16A JSB COPR JSB TTYCK IS TTY AVAILABLE? JMP WHLTI NO H40 LDA B40 LDB STYPE SZB CPB D2 LDA B142 IF 7905 PRINT DIFFERENT MESSAGE JSB PRINT SET READ ONLY SWITCH,PUSH RUN WHLTI LDA B40 HLT 2 JSB STMSK JSB ENDSI,I * * STEP 17 * PERFORM A SEEK OPERATION * LDA D17 JSB COPR CLA STA CYL LDA FLBIT STA SHTS2 JSB FSEEK JSB ENDSI,I * * STEP 18 * ATTEMPT TO WRITE DATA ON THE DISC AND THEN VERIFY THAT NO * DATA TRANSFER TOOK PLACE. CHECK STATUS. LDA D18 JSB COPR JSB OSTAT JSB DMW INITIATE DMA LDB B45 SET UP CURRENT OPERATION LDA WRITC JSB COMI,I WRITE ON PROTECTED SUBCHANNEL SC19 OTA SC,C DM6I STC DMAD,C LDA D650 JSB TMR,I DELAY 650 MSEC JSB MC TURN OFF DMA DM2L LIA DMAC ADA WCNT AND B7777 CPA D0 SHOULD BE ZERO TRANSFERRED JMP PSTAT IF SO, GO AHEAD AND CHECK STATUS LDB P013A IF NOT, BOMB JSB DCIN2 CLA STA WCNT LDA BIT15 STA DMRF JSB PCOP JSB DMERI,I JSB ADDOI,I PSTAT LDA B1400 011400 STA SHTAS JSB OSTAT JSB WCHK CHECK STATUS ON WRITE JSB SENDI,I * * STEP 19 * ASK OPERATOR TO CLEAR READ ONLY SWITCH * LDA D19 JSB COPR JSB TTYCK JMP WHLTH LDA B41 LDB STYPE SZB CPB D2 LDA B143 IF 7905, PRINT DIFFERENT MESSAGE H41 JSB PRINT CLEAR READ ONLY SWITCH,PUSH RUN WHLTH LDA B41 HLT 2 JSB STMSK JSB ENDSI,I LDB STYPE SZB CPB D2 RSS SKIPS IF 7905 JMP STP20 CCA ADA TRPC A REG. GETS LAST HEAD ADDRESS CPA HEAD ØXþúJMP STP19 STA HEAD JSB SLHDI,I SEE IF HEAD IS IN HEAD TABLE JMP SP15I,I STP19 JSB SLFHI,I GET FIRST HEAD IN HEAD TABLE * * STEP 20 * TEST PRESET FUNCTION - ASSUME INTERFACE * STRAP OK * STP20 LDA D20 JSB COPR JSB NORMI,I LDA BIT1 STA FLMSK JSB OMASK SET MASK JSB POLL DISABLE TIMEOUT JSB TTYCK JMP WHLTJ LDA B110 H110 JSB PRINT PRESS PRESET(S),PRESS RUN WHLTJ EQU * LDA B110 HLT 2 SC41 CLF SC JSB TEOCI,I JSB ENDSI,I * * STEP 21 * SEEK TO CYLINDER 0,THEN SEEK TO LAST * CYLINDER AND CHECK STATUS FOR BUSY * STP21 EQU * LDA D21 JSB COPR CLA STA CYL STA SECTR JSB NORMI,I SET UP NORMAL STATUS JSB FSEEK SEEK IN S1 LDA LASTC STA CYL * * THE FOLLOWING OPERATIONS ARE, * A SEEK THAT CAUSES POSITIONER MOTION * AND A STATUS OPERATION IMMEDIATELY * FOLLOWING WHICH SHOULD SEE A * POSITIONER BUSY STATUS. * JSB SEEK LDA I0001 100001 STA SHTS2 LDA D2 DELAY FOR 2MS JSB TMR,I JSB OSTAT GET STATUS WHILE BUSY JSB MCHKI,I CHECK STATUS JSB NORMI,I SET UP NORMAL STATUS JSB POLL SC17 STC SC JSB WAITI,I WAIT FOR SEEK TO FINISH JSB ENDSI,I * * STEP 22 * RECALIBRATE FROM LAST CYLINDER * LDA D22 JSB COPR JSB FRCLI,I JSB ENDSI,I * * STEP 23 * SEEK TO VARIIOUS ILLEGAL CYLINDERS, TO THE HEAD NO. ONE GREATER * THEN THE NO. OF HEADS PRESENT, AND THE SECTOR ONE LARGER * THEN THE LARGEST SECTOR PRESENT. * LDA D23 JSB COPR LDA LASTC CMA AND B777 GET BITS TO CHECK FOR CYL. SEEK CHECK CLB,INB ST23B SLA SEE IF SHOULD OR IN THIS BIT FOR OVER`·þúFLOW JMP S23AI,I JUMP IF YOU SHOULD OR IN THIS BIT ST23D ARS PREPARE TO LOOK AT THE NEXT BIT RBL MOVE BIT TO BE ORED IN SZA SEE IF HAVE LOOKED AT ALL POSSIBILITIES JMP S23BI,I LOOP AGAIN JMP S23CI,I GO DO REST OF STEP ST23A STA SAVA SAVE A AND B REGS. STB SAVB LDA LASTC IOR B GET ILLEGAL CYL. ADDRESS JSB BSEKI,I DO A SEEK TO THIS CYL. LDA SAVA RESTORE A AND B REGS. LDB SAVB JMP S23DI,I ST23C LDA STYPE SZA,RSS IF 7905B SKIP THIS TEST JMP ST23E BY JUMPING TO ST23E LDA TRPC STA HEAD HEAD = LAST HEAD + 1 CLA JSB BSEKI,I ST23E LDA SCPT STA SECTR SECTOR = LAST SECTOR + 1 CLA JSB BSEKI,I JSB ENDSI,I * * STEP 24 * SEEK TO FIRST CYLINDER IN CYLINDER TABLE AND WRITE ONE SECTOR * AT SECTOR ZERO * LDA D24 JSB COPR LDA FTR,I STA CYL JSB FSEEK SEEK IN S1 LDA D384+SZREF STA WCNT SET WORD COUNT FOR THREE SECTORS LDA BASE STA SBASE SAVE FOR LATER USE JSB DGEN GENERATE NEW BUFFER * * THE FOLLOWING OPERATION DOES THE FIRST * WRITE ON THE DISC ON HEAD ZERO, SECTOR ZERO * LDA D128+SZREF STA WCNT SET WORD COUNT FOR ONE SECTOR JSB WRITE WRITE ON FIRST SECTOR JSB WENDI,I CHECK STATUS AND END STEP * * STEP 25 * WRITE TWO SECTORS AT SECTOR 7. USES ADDRESS RECORD * LDA D7 STA SECTR OPERATION STARTS AT SECTOR 7 LDA BPTR1 = BPTR + 128 STA BUFAD LDA D256+SZREF STA WCNT TWO SECTOR WORD COUNT LDA D25 JSB COPR JSB SEES JSB WRITE JSB WENDI,I CHECK STATUS AND END STEP * * STEP 26 * READ ONE SECTOR AT SECTOR ZERO AND CHECK AGAINST DATA THAT * WAS WRITTENЏ<:6 * LDA D26 JSB COPR CLA STA SECTR NEXT OP STARTS AT SECTOR ZERO JSB SEES LDA D128+SZREF STA WCNT SET WORD COUNT FOR ONE SECTOR LDA BPTR STA BUFAD PUT BUFFER ADDRESS BACK JSB READ JSB SWR SLA,RSS JMP STP26 BIT 0 = 0 LDA STAS1 BIT 0 = 1 AND K0000 =120000B SZA D OR S? JMP STP27 YES STP26 EQU * JSB DCHKI,I JSB ENDSI,I * * STEP 27 * READ TWO SECTORS AT SECTOR 7 AND CHECK AGAINST DATA THAT WAS * WRITTEN. READ WITHOUT VERIFY IS USED * LDA D7 STA SECTR OPERATION STARTS AT SECTOR 7 LDA BPTR1 = BPTR + 128 STA BUFAD SET TO SECOND READ/WRITE ADDRESS LDA D256+SZREF TWO SECTOR STA WCNT SET WORD COUNT LDA D27 JSB COPR JSB SEES JSB RDWOV READ WITHOUT VERIFY STP27 JSB DCHKI,I VERIFY DATA READ JSB ENDSI,I QÝ<ÿÿþú* * STEP 28 * WRITE FOUR SECTORS AT SECTOR 45,CAUSING A TRACK CHANGE. * (ONLY IF BOTH HEADS 0 AND 1 ARE SELECTED.) * LDA SCPT ADA MM3 STA SECTR SET SECTOR NUMBER LDA D512+SZREF STA WCNT SET FOUR SECTOR WORD COUNT LDA BPTR STA BUFAD JSB DGEN GENERATE BUFFER LDA D28 JSB COPR LDA BIT1 STA FLMSK JSB OMASK LDA HDONV AND B3 CPA B3 BOTH HEADS SELECTED? RSS YES JMP STP32 NO JSB SEEH JSB WRITE JSB WENDI,I CHECK STATUS AND END STEP * * STEP 29 * PERFORMS A CYCLIC CHECK ON GROUPS OF SECTORS STARTING AT HEAD * ZERO,SECTOR ZERO. (ONE SECTOR,THEN 2 SECTORS,THEN 4,8,16,32 * 64,128,240 AND 241 SECTORS). THE LAST ONE RESULTS IN THE END * OF CYLINDER INDICATION. * (ONLY IF ALL HEADS ARE SELECTED.) * LDA HDONV AND DHD6 CPA DHD6 ALL HEADS SELECTED? RSS YES JMP STP31 NO CLA STA SECTR SET SECTOR ZERO LDA MM8 CYCLIC CHECK STA WRR 1,2,4,8,16,32,64 AND 128 SECTORS LDA D1 STP30 EQU * STA WCNT LDA D29 JSB COPR JSB OMASK LDA WCNT JSB FCYKI,I ISSUE CYCLIC CHECK JSB ENDSI,I LDA WCNT ALS ISZ WRR DONE? JMP STP30 NO LDA D29 JSB COPR JSB OMASK LDA MHEAD STA XXX1 CLA STP29 ADA SCPT ADD NO. OF SECTORS /TRACK ISZ XXX1 JMP STP29 STA DHS1 DHS1 = HEADS*SECTORS JSB FCYKI,I ISSUE CYCLIC CHECK JSB ENDSI,I LDA A6000 006000 STA SHTAS LDA D29 JSB COPR JSB OMASK LDA DHS1 INA STA DHS2 DHS2 = DHS1 + 1 JSB FCYKI,I ISSUE CYCLIC CHECK JSB SENDI,I * * STEP 30 * READ FOUR SECTORS AT SECTOR 45 AND VERIFYrþú THE DATA AGAINST * THAT WHICH WAS WRITTEN. * STP31 EQU * LDA D512 STA WCNT WORD COUNT = FOUR SECTORS LDA SCPT ADA MM3 STA SECTR SET SECTOR LDA D30 JSB COPR JSB SEEH JSB DENDI,I * * STEP 31 * AT SECTOR SEVEN,FORCE OVERRUN BY NOT TURNING ON * DMA. CHECK MADE IS BASED ON STEP NUMBER. * STP32 LDA D31 JSB COPR LDA D7 STA SECTR SET SECTR TO SEVEN JSB SEEH MOVE TO THE BOTTOM TRACK JSB WRITE LDA A7000 STA SHTAS JSB WCHK CHECK FOR OVERRUN ERROR JSB SEEH JSB READ JSB WCHK CHECK FOR OVERRUN JSB SENDI,I * * STEP 32 * WRITE FOUR SECTORS AT SECTOR 45,LAST TRACK. THE END-OF- * CYLINDER ERROR CONDITION IS EXPECTED. * (ONLY IF LAST HEAD SELECTED.) * LDA TRPC ADA MM1 STA HEAD JSB SLHDI,I LAST HEAD SELECTED? RSS YES JMP ST35A NO LDA SCPT ADA MM3 STA SECTR SET SECTOR LDA D512+SZREF STA WCNT SET WORD COUNT FOR FOUR SECTORS JSB DGEN GENERATE BUFFER LDA D32 JSB COPR JSB NORMI,I SET UP NORMAL STATUS JSB SEEK JSB WAITI,I WAIT FOR SEEK TO COMPLETE JSB WRITE JSB DMRFC OK IF TRANSFER IS INCOMPLETE LDA A6000 006000 STA SHTAS THIS IS WHAT STATUS SHOULD BE LDA P7637 STA MASK2 JSB WENDI,I * * STEP 33 * TEST ALL ILLEGAL ORDERS * ST35A LDA D33 JSB COPR JSB SLFHI,I SELECT FIRST HEAD LDA B400 =400B STA SHTAS LDA B0000 =10000B STP35 STA WRR LDB B35 JSB COMDI,I ISSUE ORDER JSB WAITI,I GET STATUS JSB MCHKI,I CHECK STATUS LDA WRR ADA B400 =400B CPA B1000 =11000B LDA B3400 =13400B CPA C0000 =20000B RSS 5~þú JMP STP35 JSB ENDSI,I * * STEP 34 * READ FOUR SECTORS AT SECTOR 45,LOWER TRACK. THE END-OF- * CYLINDER ERROR INDICATION IS EXPECTED. THE THREE * SECTORS READ ARE CHECKED AGAINST THOSE WRITTEN. * LDA SCPT ADA MM3 STA SECTR SET SECTOR LDA TRPC ADA MM1 STA HEAD LAST HEAD JSB SLHDI,I LAST HEAD SELECTED? RSS YES JMP ST37G NO LDA FTR,I STA CYL USE FIRST CYLINDER IN TABLE LDA D512+SZREF STA WCNT SET WORD COUNT FOR FOUR SECTORS LDA D34 JSB COPR JSB SEEH JSB READ READ AND JSB DMRFC LDA WCNT ADA MM128 STA WCNT SET WORD COUNT FOR THREE SECTORS LDA A6000 006000 STA SHTAS THIS IS WHAT STATUS SHOULD BE JSB DCHKI,I CHECK FOR ERRORS AND COMPARE BUFFERS JSB ENDSI,I * * STEP 35 * CHECK SECTOR ADDRESSES * ST37G LDA D35 JSB COPR JSB NORMI,I SET UP NORMAL STATUS JSB SLFHI,I SELECT FIRST HEAD ST37A JSB FSEEK SEEK (SELECT HEAD) JSB RQSA STA SECNT STARTING SECTOR STA SECTR CURRENT SECTOR ST37F LDA MM16 STA WRR ST37B JSB RQSA CPA SECTR RSS SAME? JMP ST37C NEW ISZ WRR JMP ST37B ST37E JSB PCOP E105 JSB ERROR SECTOR ADDRESS ERROR JSB ADDOI,I JMP ST37D ST37C ISZ SECTR LDB SECTR CPB SCPT CLB STB SECTR CPA SECTR NEXT SECTOR? RSS YES JMP ST37E NO - ERROR CPA SECNT SAME AS BEGINNING RSS YES JMP ST37F NO - CONTINUE ISZ HEAD JSB SLNHI,I SELECT NEXT HEAD - DONE? JMP ST37A NO ST37D JSB ENDSI,I JSB SLFHI,I SELECT FIRST HEAD * * STEP 36 * SEEK TO CYLINDER 822(OR 0 IF FIRST ENTRY IS 822)AND THEN SEEK * TO FIRST ENTRY IN CYLINDER TABL•ÝþúE. AT SECTOR 0 READ * ONE SECTOR AND VERIFY CONTENTS. THE READ COMMAND IS ISSUED * BEFORE THE SEEK IS COMPLETE. * LDA D36 JSB COPR CLA STA SECTR LDB LASTC LDA FTR,I IS FIRST ENTRY IN TABLE CPA LASTC EQUAL TO 822 CLB YES STB CYL CYL = 822 (OR 0) JSB FSEEK PERFORM FULL SEEK LDA FTR,I STA CYL LDA D128 STA WCNT 1 SECTOR LDA SBASE RESTORE RANDOM STA BASE NUMBER BASE JSB DGEN GENERATE BUFFER JSB SEEK JSB DENDI,I * * STEP 37 * TEST WATCHDOG TIMER * LDA D37 JSB COPR JSB OMASK SET FILE MASK TO CYL. MODE LDA D1024 JSB TMR,I WAIT 1.024 SECS. CLA STA CCHK SET INDICATOR SAYING THAT STATUS * CHECK IN TEOC SHOULD BE NORMAL * COMPLETE RATHER THEN END OF CYL JSB TEOCI,I ISZ CCHK SET INDICATOR SAYING TEOC ROUTINE * SHOULD GET AN END OF CYL INDICATION JSB ENDSI,I JSB OMASK SET MASK LDA A5400 JSB TMR,I DELAY 2.8 SECONDS JSB TEOCI,I JSB ENDSI,I JSB OMASK RESET MASK * * STEP 38 * FORCE CYLINDER COMPARE ERROR (IF * FIRST TWO ENTRIES OF CYLINDER TABLE * ARE DIFFERENT , SPD FIELD OF BOTH * ENTRIES IS ZERO AND FORMAT SWITCH IS ON). * LDA D38 JSB COPR JSB NORMI,I SET UP NORMAL STATUS CLA STA SECTR LDA FTR,I FIRST CYLINDER IN TABLE STA CYL LDA D138 STA WCNT WORD COUNT = 138 LDA BUFAD STA BUFAE READ INTO WRITE BUFFER JSB SPDOK CHECK SPD LDA STAS2 AND FOBIT FORMAT SWITCH SET? SZA,RSS SKIP IF YES JMP ST39B NO - EXIT LDA FTR INA LDA A,I Ï¿þú A=SECOND CYLINDER IN TABLE CPA FTR,I SAME AS FIRST? JMP ST39A YES EXIT STA CYL JSB SPDOK CHECK SPD LDA FTR,I STA CYL SWITCH CYLINDERS JSB FORCE FORCE ERROR LDA A3400 CYLINDER COMPARE ERROR JSB ORITE OVER-WRITE SECTOR ST39A EQU * * * STEP 39 * FORCE HEAD-SECTOR COMPARE ERROR WITH BAD SECTOR. * LDA D39 JSB COPR LDA D1 STA SECTR SECTOR = 1 JSB SPDOK CHECK SPD CLA STA SECTR SECTOR = 0 JSB FORCE FORCE ERROR LDA A4400 HEAD-SECTOR COMPARE ERROR JSB ORITE OVER-WRITE SECTOR * * STEP 40 * FORCE HEAD-SECTOR COMPARE ERROR WITH * BAD HEAD ONLY IF FIRST TWO HEADS ARE SELECTED. * LDA D40 JSB COPR LDA HDONV AND D3 CPA D3 BOTH HEADS SELECTED? RSS YES JMP ST39C NO-EXIT LDA D1 STA HEAD HEAD=1 JSB SPDOK CHECK SPD CLA STA HEAD JSB FORCE FORCE ERROR LDA A4400 HEAD-SECTOR COMPARE ERROR JSB ORITE OVER-WRITE SECTOR ST39C EQU * * * STEP 41 * FORCE A CORRECTABLE DATA ERROR * LDA D41 JSB COPR LDA D276 STA WCNT TWO FULL SECTORS LDA BUFAD STA BUFAE READ INTO WRITE BUFFER JSB SPDOK CHECK SPD LDA BPTS STA BUFAE READ INTO READ BUFFER JSB RAND GET RANDOM NUMBER RAR AND B377 0 <= A <= 255 ADA BUFAD STA WRR CHOOSE RANDOM WORD LDA WRR,I SAVE FIRST STA SECNT WORD JSB FILL DESTROY IT LDA WRR,I SAVE SECOND STA EXTRA WORD JSB FILL DESTROY IT JSB FORCE FORCE ERROR LDA DMAWC RECONSTUCT CPA MM650 NOWDS RSS ISZ NOWDS LDA A7400 CORRECTABLE DATA ERROR STA SHTAS cÁþú LDB WRR RESTORE ADB MM1 LDA EXTRA BUFFER STA B,I ADB MM1 LDA SECNT STA B,I LDA D128 STA WCNT WORD COUNT = 128 STA DMAWC LDA BUFAD ADA D3 STA BUFAD START OF DATA JSB FXITI,I PATCH BUFFER JSB DCHKI,I CHECK BUFFER LDA BPTR STA BUFAD RESET WRITE BUFFER POINTER LDA D256 STA WCNT WORD COUNT = 256 LDA ST39E STA ORITE JMP ORIT1 OVER-WRITE SECTORS ST39E DEF *+1 * * STEP 42 * FORCE AN UNCORRECTABLE DATA ERROR * CLB LDA BUFAD ADA D135 CPA WRR WRR = BUFAD+136? LDB MM1 YES - CHANGE POINTER INA CPA WRR WRR = BUFAD+137? LDB MM2 YES - CHANGE POINTER INA CPA WRR LDB MM3 ADB WRR STB WRR LDA MM4 CHANGE FOUR WORDS STA SECNT ST39F JSB FILL DESTROY BUFFER ISZ SECNT DONE? JMP ST39F NO LDA D42 JSB COPR LDA D276 TWO FULL SECTORS STA WCNT WORD COUNT = 276 JSB FORCE FORCE ERROR JSB FXITI,I LDA A4000 UNCORRECTABLE DATA ERROR JSB ORITE JSB NORMI,I SET UP NORMAL STATUS * * STEP 43 * TEST SPARING * SELECT RANDOM TRACK A * SELECT RANDOM TRACK B * ABORT STEP IF A=B * SET FILE MASK TO SURFACE,NO SPARE,NO AUTO SEEK * INITIALIZE TRACK B DEFECTIVE WITH ADDRESS A * INITIALIZE TRACK A SPARE WITH ADDRESS B * VERIFY TRACK B,SHOULD BE DEFECTIVE * VERIFY TRACK A,SHOULD GET ILLEGAL ACCESS * SET FILE MASK TO SURFACE,SPARING,NO AUTO SEEK * WRITE A RANDOM SECTOR THROUGH TRACK B TO A * READ BACK AND CHECK * SET FILE MASK TO SURFACE,NO SPARE,NO AUTO SEEK * INITIALIZE TRACK B * READ FROM TRACK A USING FALSE B ADDRESS AND CHECK DATA * INITIALIZE TRACK A * LDA D43 øÑþú JSB COPR JSB RNCHI,I SELECT RANDOM TRACK A LDA CYL STA WRR LDA HEAD STA SECNT JSB RNCHI,I SELECT RANDOM TRACK B LDA CYL LDB HEAD CPA WRR RSS JMP ST39P CPB SECNT JMP ST39O ABORT STEP IF EQUAL ST39P STA EXTRA STB SBASE LDA D128 STA WCNT CLA STA SECTR STA FLMSK SURFACE,NO SPARE,NO AUTO SEEK JSB OMASK SET FILE MASK JSB SPDOK CHECK SPD JSB TRCKA JSB SPDOK CHECK SPD JSB TRCKB JSB FSEEK SEEK TO TRACK B JSB TRCKA JSB SEES SET ADDRESS TO TRACK A LDA DFTB SET FOR DEFECTIVE JSB INITT INITIALIZE TRACK JSB FSEEK SEEK TO TRACK A JSB TRCKB JSB SEES SET ADDRESS TO TRACK B LDA BIT15 SET FOR SPARE JSB INITT INITIALIZE TRACK LDA D0400 STA SHTAS DEFECTIVE TRACK LDA SCPT JSB FCYKI,I CYCLIC CHECK TRACK B JSB TRCKA LDA J0000 STA SHTAS ILLEGAL ACCESS TO SPARE TRACK LDA SCPT JSB FCYKI,I CYCLIC CHECK TRACK A LDA D4 STA FLMSK SURFACE,SPARING,NO AUTO SEEK LDA BIT15 STA SHTAS JSB OMASK JSB RNCHI,I SELECT RANDOM SECTOR JSB TRCKB JSB FSEEK SEEK THROUGH TRACK B LDA D128 STA WCNT JSB DGEN GENERATE RANDOM BUFFER JSB WRITE WRITE JSB WCHK JSB FSEEK JSB READ READ BACK JSB DCHKI,I AND CHECK DATA LDA SECTR STA SAVE CLA STA SECTR STA FLMSK SURFACE,NO SPARE,NO AUTO SEEK JSB OMASK SET FILE MASK JSB FSEEK SEEK TO TRACK B CLA JSB INITT INITIALIZE TRACK LDA SAVE STA SECTR JSB TRCKA JSB FSEEK SEEK TO TRACK A JSB TRCKB JSB SEES SET ADDRESS TO TRACK B LDA D128 »Ãþú STA WCNT JSB READ LDA BIT15 S BIT STA SHTAS JSB DCHKI,I CLA STA SECTR JSB TRCKA JSB FSEEK SEEK TO TRACK A CLA JSB INITT INITIALIZE TRACK A ST39O JSB ENDSI,I ST39B EQU * LDA BPTS STA BUFAE LDA UNIT SAVE STA EXTRA ACTUAL UNIT * * STEP 45 * FORCE UNIT UNAVAILABLE STATUS BY ISSUING * SEEK TO UNIT 11 * LDA D45 JSB COPR LDA D11 STA UNIT UNIT = 11 LDB B44 LDA POSIT SEEK COMMAND JSB COMI,I SC45 OTA SC,C LDA EXTRA RESET UNIT NUMBER FOR STATUS STA UNIT JSB WAITI,I WAIT FOR SEEK TO FINISH LDA B3400 UNIT UNAVAILABLE STA SHTAS LDA D11 STA UNIT CLA STA MASK2 JSB WENDI,I CHECK STATUS LDA EXTRA STA UNIT JSB NORMI,I SET UP NORMAL STATUS * * STEP 46 * TEST COLD LOAD READ IF UNIT IS 0 * SC46 CLF SC LDA D46 JSB COPR CLA CPA UNIT UNIT = 0? RSS YES JMP ST39N N0-EXIT JSB RNCHI,I SELECT RANDOM ADDRESS LDA HEAD HEAD MAY AND MM4 SSA,RSS SKIP IF SELECTED HEAD IN HEAD TABLE * TABLE AND IS LESS THEN 4 JMP ST39N STA HEAD >3 LDA CYL SAVE RANDOM STA EXTRA CYLINDER CLA STA CYL CYL=0 LDA BUFAD STA BUFAE READ POINTER POINTS AT WRITE BUFFER LDA D128 STA WCNT WORD COUNT=128 JSB FSEEK JSB READ READ INTO WRITE BUFFER LDA BPTS STA BUFAE RESET POINTER JSB DSOKI,I SZA,RSS OK? JMP ST39N NO LDA EXTRA RESET STA CYL RANDOM CYLINDER JSB FSEEK LDA D2 STA FLMSK JSB OMASK SET FILE MASK TO CYL. MODE * Mxþú SHOULD BE RESET BY COLD LOAD READ JSB COLDR COLD LOAD READ JSB DCHKI,I CHECK BUFFER CLA STA FLMSK JSB TEOCI,I TEST FOR END OF CYLINDER ST39N EQU * JSB NORMI,I JSB OMASK JSB ENDSI,I * * STEP 47 * ABORT IF CYL TABLE(0) <> CYL TABLE(1)-1 * SET FILE MASK TO SURFACE,NO SPARE,INCREMENT * WRITE TWO SECTORS AT SECTOR 47,CYL TABLE(0) * READ BACK AND VERIFY * READ SECOND SECTOR AND VERIFY * SET FILE MASK TO SURFACE,NO SPARE,DECREMENT * WRITE TWO SECTORS AT SECTOR 47,CYL TABLE(1) * READ BACK AND VERIFY * READ SECOND SECTOR ONLY AND VERIFY * LDA D47 JSB COPR LDA FTR,I STA CYL INA LDB FTR INB CPA B,I CYL TABLE(0)=CYL TABLE(1)-1? RSS YES JMP ST39Q NO - ABORT STEP LDA D1 STA FLMSK SURFACE,NO SPARE,INCREMENT JSB OMASK SET FILE MASK JSB WRRD WRITE AND READ TWO SECTORS ISZ CYL JSB DSOKI,I SZA,RSS OK? JMP ST47A NO JSB FSEEK JSB READ READ SECOND SECTOR JSB DCHKI,I CHECK DATA ST47A LDA BPTR STA BUFAD LDA B11 STA FLMSK SURFACE,NO SPARE,DECREMENT JSB OMASK SET FILE MASK JSB WRRD WRITE AND READ TWO SECTORS LDA FTR,I STA CYL CLA,INA JSB DSOKI,I SZA,RSS OK? JMP ST47B NO JSB FSEEK JSB READ READ SECOND SECTOR JSB DCHKI,I CHECK DATA ST47B LDA BPTR STA BUFAD ST39Q JSB ENDSI,I CLA SURFACE,NO SPARE,NO AUTO SEEK STA FLMSK JSB OMASK * * STEP 48 * CHECK DISC ADDRESS ON A RANDOM SECTOR. * USING READ WITH OFFSET READ A RANDOM SECTOR * WITH CYLINDER OFFSET = +32,-32,CLOCK DELAY * AND CLOCK ADVANCE * LDA D48 JSB COPR LDA D128 STA WCNT v[<:6 JSB RNCHI,I SELECT RANDOM SECTOR JSB FSEEK LDB B123 STB COPRN JSB RQSAI,I GET DISC ADDRESS LDA HEAD ALF,ALF IOR SECTR CCB CPA RHDS HEAD/SECTOR CORRECT? LDB CYL YES CPB RCYL CYLINDER CORRECT? JMP ST21B YES JSB PCOP NO - ERROR E124 JSB ERROR DISC ADDRESS ERROR JSB ADDOI,I ST21B EQU * LDA POFST JSB RWSET JSB WCHK JSB SEES LDA POFST GET POSITIVE OFFSET IOR BIT7 MAKE OFFSET NEGATIVE JSB RWSET JSB WCHK JSB SEES LDA BIT8 JSB RWSET JSB WCHK JSB SEES LDA BIT9 JSB RWSET JSB WENDI,I LDA STAS2 AND FOBIT IOR PASS SZA JMP SKIPI,I LDA B121 H121 JSB PRINT WARNING - FORMAT SWITCH OFF JMP SKIPI,I I0001 OCT 100001 FRCLI DEF FRCAL O0000 OCT 160000 D135 DEC 135 DHS1 BSS 1 SAVE HEADS*SECTORS DHS2 BSS 1 SAVE HEADS*SECTORS+1 B3400 OCT 13400 SP15I DEF STP15 VÃ<ÿÿþú HED BSEEK,RQSA,COLDR,RDWOV,SPDOK BSEEK NOP STA CYL LDA I0004 100004 STA SHTS2 JSB FSEEK CLA STA SECTR STA SHTS2 STA CYL JSB SLFHI,I SELECT FIRST HEAD JSB FSEEK SEEK JMP BSEEK,I I0004 OCT 100004 * RQSA NOP REQUEST SECTOR ADDRESS LDA RSECA LDB B104 JSB COMDI,I ISSUE COMMAND JSB RJCTI,I CHECK FOR REJECT NOP SC38 LIA SC,C JMP RQSA,I * COLDR NOP COLD LOAD READ CLA STA CYL JSB DMR SET UP DMA LDB B115 LDA CLRD JSB XSFER ISSUE COMMAND JMP COLDR,I * RDWOV NOP JSB DMR SET UP DMA LDB B117 LDA RWOVY READ WITHOUT VERIFY COMMAND JSB XSFER ISSUE COMMAND JMP RDWOV,I * SPDOK NOP JSB FSEEK JSB RDFUL JSB WCHK LDA BUFAE ADA D2 LDA A,I HEAD-SECTOR WORD AND O0000 =160000 SZA SKIP IF SPD=0 JMP ST39B NO-EXIT JMP SPDOK,I HED FORCE,ORITE,FILL FORCE NOP FORCE ERRORS JSB FSEEK SEEK JSB WFULL WRITE FULL SECTOR JSB WCHK CHECK STATUS LDA WCNT ADDRESS CPA D138 ERROR? ISZ SECTR YES - READ NEXT SECTOR JSB FSEEK SEEK JSB READ READ JSB DMRFC JMP FORCE,I * ORITE NOP OVER-WRITE SECTOR STA SHTAS JSB WCHK CHECK STATUS ORIT1 CLA STA SECTR JSB FSEEK SEEK JSB WRITE OVER-WRITE SECTOR CLA STA SHTAS JSB WENDI,I JMP ORITE,I * FILL NOP LDA WRR,I SAVE STA FILL1 WORD JSB RAND GET RANDOM WORD CPA WRR,I SAME? CMA YES - CHANGE IT STA WRR,I FILL BUFFER LDA BUFAD CALCULATE CMA,INA RELATIVE ADA WRR POSITION OF WOSoþúRD CPA D0 SYNC WORD? RSS YES CPA D138 SYNC WORD? RSS YES JMP FILL2 NO - EXIT LDA FILL1 CAN'T CHANGE XOR WRR,I BIT 0 CLB SLA SKIP IF OK LDB D1 RESTORE BIT 0 XOR WRR,I IOR BIT15 BIT 15 MUST BE A 1 STA WRR,I FILL2 ISZ WRR JMP FILL,I FILL1 BSS 1 HED TRCKA,TRCKB,INITT,WRRD TRCKA NOP SWITCH TO TRACK A LDA WRR STA CYL LDA SECNT STA HEAD JMP TRCKA,I * TRCKB NOP SWITCH TO TRACK B LDA EXTRA STA CYL LDA SBASE STA HEAD JMP TRCKB,I * INITT NOP INITIALIZE TRACK STA SHTAS A = SPD FIELD STA WRSP JSB OMASK LDA WDPT STA WCNT FULL TRACK INIT1 JSB WADRI,I JSB WCHK LDA STAS2 AND FAULT SZA,RSS SKIP IF FAULT JMP INITT,I NO JSB RPARI,I CLEAR FAULT IF POSSIBLE JSB FSEEK TRY AGAIN JMP INIT1 LOOP BACK * WRRD NOP WRITE AND READ TWO SECTORS LDA SCPT ADA MM1 STA SECTR LDA D256 STA WCNT JSB DGEN GENERATE RANDOM BUFFER JSB FSEEK JSB WRITE WRITE TWO SECTORS JSB WCHK JSB OMASK JSB FSEEK JSB READ READ BACK TWO SECTORS JSB DCHKI,I CHECK DATA CLA STA SECTR LDA D128 STA WCNT LDA BPTR1 STA BUFAD JMP WRRD,I HED MWCHK,TEOC HED SLNH,SLHD,SLFHD SLNH NOP SELECT NEXT HEAD-SKIP IF LAST SLNH1 JSB SLHDI,I CHECK HEAD JMP SLNH,I OK LDA HEAD ISZ HEAD HEAD = HEAD + 1 CPA TRPC DONE? RSS YES JMP SLNH1 NO ISZ SLNH JMP SLNH,I * SLHD NOP CHECK HEAD-SKIP IF NOT SELECTED LDA HEAD CMA,INA A = -HEAD LDB HDONV ÕWþúSLHD1 SZA,RSS JMP SLHD2 RBR SHIFT HEAD SELECT WORD INA JMP SLHD1 SLHD2 SLB,RSS SKIP IF SELECTED ISZ SLHD JMP SLHD,I * SLFHD NOP SELECT FIRST HEAD CLA STA HEAD JSB SLNHI,I JMP SLFHD,I HED SHEAD SHEAD NOP LDA P765E SET HEADS INTO MESSAGE STA LOCAL STORAGE POINTER LDB UNIT ADB HDON LDB B,I GET HEADS IN HEAD TABLE FOR THIS UNIT LDA BB SLB LDA C0060 BLANK,0 STA LOCAL,I ISZ LOCAL RBR LDA MM4 STA TEMP2 LDA D0462 1,2 SH1 STA TEMP3 SLB,RSS LEFT PART SELECTED? AND C0377 N0 - MASK OUT RBR SLB,RSS RIGHT PART SELECTED? AND P7440 N0 - MASK OUT STA LOCAL,I ISZ LOCAL RBR LDA TEMP3 ADA B1002 ISZ TEMP2 JMP SH1 JMP SHEAD,I B1002 OCT 1002 D0462 OCT 030462 C0060 OCT 020060 P7440 OCT 177440 P765E DEF JP65A+5 HED RWSET,ROTST RWSET NOP READ WITH OFFSET STA OFSET LDB P071A JSB CNVRT JSB DMR LDB B71 LDA RWOFF READ WITH OFFSET COMMAND JSB COMDI,I ISSUE COMMAND LDA OFSET JSB DADO ISSUE OFFSET SC44 CLF SC CLEAR FLAG LDA RWSTC FIX UP STA DMATI,I RETURN JMP IMATB,I ENTER DMAT AND READ RWSTB EQU * JSB STAT JMP RWSET,I OFSET OCT 0 P071A DEF JP71A K0000 OCT 120000 RWSTC DEF RWSTB IMATB DEF DMATB * ROTST NOP READ WITH OFFSET? LDB PTNX PATTERN NO. CPB MM1 #10? RSS YES CPB MM2 #9? RSS YES - SKIP ISZ ROTST NO - READ JMP ROTST,I HED SLUNT SLUNT NOP SELECT UNIT WHICH CLA MADE MOST ERRORS STA UNIT STA TEMP2 LDB PUE LDA ÆÁþúPUE,I STA LOCAL UNIT 0 ERRORS LDA MM7 STA TEMP1 UNIT COUNT SLNT1 ISZ TEMP2 UNIT # INB LDA B,I UNIT N ERRORS CMA,INA ADA LOCAL SSA,RSS THIS ONE BIGGER? JMP SLNT2 NO LDA B,I YES - USE THIS ONE STA LOCAL LDA TEMP2 STA UNIT ADJUST UNIT NUMBER SLNT2 ISZ TEMP1 DONE? JMP SLNT1 NO JMP SLUNT,I YES - RETURN PUE DEF *+1 BSS 8 HED S2 - SECTION 2 * * * SECTION 2 IS ORGANIZED AS FOLLOWS * * CYLINDER ADVANCE * SWITCH 6=0 -- ALL CYLINDERS * SWITCH 6=1 -- ALL CYLINDERS IN TRTAB * . * . * . PATTERN GENERATOR * . GENERATE BUFFERS FOR EACH OF THE PATTERNS IN PATTR * . SKIP THIS SECTION IF SWITCH 5=1 * . . * . . TRACK ADVANCE * . . ALL TRACKS FROM 0 TO TRPC-1 * . . . * . . . BLOCK ADVANCE * . . . EACH TRACK IS WRITTEN AS THREE BLOCKS * . . . . * . . . . WRITE DATA BUFFER * . . . . * . . * . . TRACK ADVANCE * . . ALL TRACKS FROM 0 TO TRPC-1 * . . . * . . . BLOCK ADVANCE * . . . EACH TRACK IS READ AS THREE * . . . BLOCKS * . . . . * . . . . READ EACH BLOCK * . . . . * . . . . CHECK DATA READ * . . . . * . . . * . . * . * . * * ORG 6000B SVCT EQU GLOB1 USED TO COUNT TOTAL TIME FLAG2 EQU GLOB2 USED WHEN STEP 55 LOOPS SVKC EQU GLOB3 PATT EQU GLOB4 VARIABLE TO SAVE CURRENT PATTERN PTNX EQU GLOB5 COUNTER FOR PATTERN TABLE SVCTC EQU GLOB6 TIME ACCUMULATOR CYCDI DEF CYCCD PCHKI DEF PCHK P053A DEF JP53A DIRCT BSS 1 DIRECTION f¬þúFIRST BSS 1 SECIN BSS 1 TEMP. STORAGE FOR NO. OF SECTOR GROUPS SECTC BSS 1 TEMP. STORAGE FOR CURRENT SECTOR GROUP D3524 OCT 33524 RWTBI DEF RWTAB B170 OCT 170 RTSTI DEF ROTST P625I DEF PT625 CYLX BSS 1 CURRENT CYLINDER REFERENCE S2 EQU * * * * THE FOLLOWING SECTION OF CODE CYCLES THROUGH * ALL TEN PATTERNS IN THE PATTERN TABLE * * LDA BPTR LOAD BUFFER ADDRESS STA BUFAD SET WRITE AND LDA BPTS STA BUFAE READ BUFFER ADDRESSES LDA MM10 PATTERN TABLE IS TEN ENTRIES LONG STA PTNX SAVE IN COUNTER WORD CLA,INA STA DIRCT CLA STA CYLX INITIAL CYLINDER STA SVCT SEEK TIME JSB RWTBI,I GET CORRECT SECTOR TABLE & * RELATED VARIABLES LDA M32K SEE IF ATLEAST 32K OF MEMORY SZA SKIP IF LESS THEN 32K OF MEMORY JMP S2HER LDA SCPT GET NO. OF SECTORS /TRACK ARS,ARS ARS DIVIDE BY 8 TO GET NO. OF * SECTOR GROUPS S2HER STA SECIN NO. OF TIMES TO LOOP * WGEN EQU * LDA WWCNT GET NO. OF WORDS TO XFER CMA,INA NEGATE WORD COUNT ARS,ARS DIVIDE BY 4 STA TEMP1 SAVE FOR THE FAST FILL LOOP LDB PTNX LOAD THE PATTERN COUNTER ADB PATR ADD ON THE TABLE ADDRESS LDA B,I LOAD THE PATTERN TO A STA PATT SAVE IT FOR THE PCHK ROUTINE LDB BUFAD LOAD THE WRITE ADDRESS LDA PTNX CPA MM10 SEE IF FIRST PATTERN JMP WGM JUMP IF YES TO 48 BIT PATTERN LDA PATT WGL STA B,I INB STA B,I INB STA B,I INB STA B,I INB ISZ TEMP1 COUNT DOWN COUNTER ( BY FOUR ) JMP WGL CONTINUE ON IF NOT DONE RSS WGM JSB CYCDI,I USE 48 BIT PATTERN i/þúCLA STA SVKC ZERO SEEK COUNT JSB NORMI,I SET UP NORMAL STATUS CCA STA FIRST FIRST = -1 S2L EQU * JSB CYLJ TRANSLATE CYLX INTO CYL LDA D8 STA SECTR SECTOR ZERO JSB SLFHI,I SELECT FIRST HEAD CLA,INA SET UP STA FLAG2 FOR TIMING LDA SVCT MOVE SAVED STA SVCTA COUNTER BACK * * STEP 55 * SELECT CYLINDER ACCORDING TO SWITCH REGISTER BIT 6. PERFORM * SEEK OPERATION * LDA D55 JSB COPR JSB FSEEK LDA FLAG2 HAS THIS STEP BEEN REPEATED? SZA,RSS SKIP IF NO JMP S2A YES CLA DON'T COUNT STA FLAG2 ( DISABLE TIMING ON LOOP ) LDB FIRST STA FIRST SZB JMP S2A DON'T COUNT FIRST SEEK LDA SVCTA SAVE CURRENT STA SVCT MILLISECOND COUNT S2A EQU * JSB ENDSI,I ISZ SVKC JSB SWR LOAD SWITCH REGISTER AND BIT5 CHECK FOR SHORT TEST SZA SKIP IF LONG JMP SKIPI,I SHORTEN SECTION TWO SKP * * THE FOLLOWING CODE WRITES THE PATTERN IN THE BUFFER ONTO * THE ENTIRE CYLINDER. * * TO USE THE MINIMUM TIME FOR EACH TRACK, THE TRACK IS DIVIDED * INTO GROUPS OF 8 SECTORS EACH. THE FIRST SECTOR OF EACH OF * THESE GROUPS IS CONTAINED IN THE TABLE RWTB. * WNHW LDA D56 JSB COPR LDA WWCNT NO. OF WORDS TO WRITE STA WCNT WORD COUNT = 1024 LDA M32K SEE IF 32K OF MEMORY SZA SKIP IF < 32K OF MEMORY STA SECIN SET SECIN = 1 * * * STEP 56 * CLA STA SECTC INITIALIZE SECTOR GROUP INDICATOR ST56A LDA RWTBL GET BASE ADDRESS OF SECTOR GROUP TABLE ADA SECTC ADD ON NO. OF CURRENT SECTOR GROUP LDA A,I GET INITIAL SECTOR OF SECTOR GROUP RAR,RAR AND B74 OBTAIN WRITE SECTOR ADDRESS STR^þúA SECTR SAVE INITIAL SECTOR * NEEDS EXTRA TIME. INSERT AN * EXTRA SEEK JSB SEEH JSB WRITE JSB WENDI,I CHECK FOR ERRORS LDA SECTC SZA IF THIS IS FIRST SECTOR GROUP THEN MUST DO * ADDITIONAL BOOKKEEPING JMP ST56B WAS NOT FIRST SECTOR GROUP LDA HEAD GET CURRENT HEAD ALF,RAR MULTIPLY BY 8 ADA D3524 33524+8*HEAD+UNIT ADA UNIT UNIT TABLE GIVING NO. OF TRACKS CHECKED STA LOCAL LDA PTNX CPA MM10 IS THIS THE FIRST PATTERN? RSS SKIP IF FIRST PATTERN JMP ST56B JUMP IF NOT FIRST PATTERN LDB D3514 GET BASE ADDRESS OF UNIT (LONG * PASSES) TABLE ADB UNIT LDB B,I GET NO. OF LONG PASSES FROM THE TABLE SZB SKIP IF NO LOONG PASSES HAVE BEEN * PERFORMED ON THIS UNIT JMP ST56B LDB CYLX GET CYL. USED CPB D0 WAS IT CYL. 0 STB LOCAL,I IF YES, CLEAR NO. OF TRACKS USED INDICATOR LDA STP56 GET STATUS-1 WORD AND P7770 MASK OFF UNIT CPA D0400 WAS TRACK DEFECTIVE? RSS SKIP IF TRACK WAS DEFECTIVE ISZ LOCAL,I INCREMENT TRACK/UNIT MATRIX ST56B ISZ SECTC INCREMENT NO. OF SECTOR GROUPS LOOKED AT LDA SECIN CPA SECTC HAVE WE LOOKED AT ALL THE SECTOR GROUPS * VALID FOR THIS DRIVE JMP ST56C GO ON TO DO READS JMP ST56A RETURN TO WRITE OTHER SECTORS * * STEP 59 * * THE FOLLOWING SECTION READS BACK THE PATTERNS AND COMPARES * EACH WORD WITH PATT. * ST56C LDA D59 JSB COPR SET STEP INDICATOR TO 59 %LþúCLA STA SECTC INITIALIZE SECTOR GROUP INDICATOR ST57A LDA RWTBL GET BASE ADDRESS OF SECTOR GROUP TABLE ADA SECTC ADD ON NO. OF CURRENT SECTOR GROUP LDA A,I GET INITIAL SECTOR OF GIVEN SECTOR GROUP JSB RTSTI,I READ WITH OFFSET? ALF,ALF YES,THEREFORE READS DIFFERENT SECTOR AND B17 OBTAIN READ SECTOR ADDRESS RAL,RAL MULTIPLY BY 4 STA SECTR SET UP SECTOR LDB M32K SEE IF ATLEAST 32K OF MEMORY SZB,RSS SKIP IF ATLEAST 32K OF MEMORY JMP ST57F LDB D2 ONLY NEED TO DO 2 READS STB SECIN ALF,ALF RAR SECTOR NO. TIMES 128 LDB SECTC IF FIRST PASS THEN MUST SUBTRACT * FROM WORDS/TRACK SZB SKIP IF FIRST PASS JMP ST57D CMA,INA ADA WWCNT NO. OF WORDS /TRACK JMP ST57E ST57D CLB STB SECTR IF SECOND PASS THEN SECTOR=0 ST57E STA WCNT STORE NO. OF WORDS TO READ ST57F LDA STEPN JSB COPR JSB SEEH LDA LIMIT FIRST CPA MM5 TIME? RSS YES JMP S2SB4 NO LDA PTNX CPA MM2 9TH PATTERN? JMP S2SB1 YES CPA MM1 10TH PATTERN? JMP S2SB2 S2SB4 JSB READ READ S2SB3 LDA PTNX LIB 6 CPA MM10 SEE IF FIRST PATTERN INB,SZB,RSS AND A 2100 JMP S2SB8 JUMP IF IT IS NOT JSB DCHKI,I MUST BE THE FIRST PATTERN AND A 2100 S2SB7 JSB ENDSI,I JMP S2SB9 S2SB8 JSB PCHKI,I S2SB JMP S2SB7 S2SB2 LDA POFST GET POSITIVE OFFSET IOR BIT7 MAKE OFFSET NEGATIVE RSS S2SB1 LDA POFST OFFSET=+32 JSB RWSTI,I JMP S2SB3 S2SB9 ISZ SECTC INCREMENT COUNTER FOR NO. OF GROUPS LOOKED AT * GROUPS LOOKED AT Ëìþú LDA SECIN CPA SECTC SEE IF WE HAVE LOOKED AT ALL THE SECTOR GROUPS JMP ST57B JMP ST57A ST57B ISZ HEAD JSB SLNHI,I SELECF NEXT HEAD JMP WNHW CONTINUE FOR ALL TRACKS JSB CYLD COUNT UP CYLX AND CHECK FOR DONE JMP S2L LOOP LDA PTNX CPA MM6 HALF DONE? RSS YES JMP S2D NO LDA SVCT ARS STA SVCTC SAVE SVCT/2 CLA STA SVCT S2D EQU * LDA DIRCT CMA,INA STA DIRCT DIRECTION = -DIRECTION JSB CYLD CORRECT FOR OVER-SHOOT ISZ PTNX HAVE ALL PATTERNS BEEN TRIED? JMP WGEN NO,GO BACK FOR NEXT * JSB SWR LOAD SWITCH REGISTER AND BIT12 SZA SKIP IF BIT 12 CLEAR JSB TTYCK JMP TNTW ABORT PRINTOUT JSB SWR AND BIT6 SZA RESTRICT CYLINDERS JMP TNTW YES LDA SVCT LOAD NUMBER OF COUNTS ARS ADA SVCTC ADD IN OTHER HALF * * THE FOLLOWING CODE MAY NEED TO BE CHANGED IF OTHER * DRIVE TYPES ARE ADDED * LDB STYPE SZB CPB D2 ALS IF 7905 THEN USE TOTAL SEEK TIMES, * NOT JUST HALF OF IT STA SVCT TOTAL TIME DIVIDED BY 2 ARS,ARS ARS STA B ARS ADA B ADA SVCT A = 1.1875 * SVCT ADA SVCTV AVERAGE ADJUSTMENT STA SVCT CLB STB FIRST S2B EQU * ARS,ARS ARS,ARS DIVIDE BY 16 JSB P625I,I JSB P625I,I A = (100 * A)/256 LDB P053A JSB DCIN2 LDA FIRST SZA JMP S2C ISZ FIRST LDA P053A,I AND B17 GET INTEGER PART ALF * * THE FOLLOWING CODE MAY NEED TO BE CHANGED IF OTHER * DRIVE TYPES ARE ADDED * LDB STYPE GET DRIVE TYPE SZB ‡–þú IF 7905 OR 7906 CPB D2 ARS,ARS IF YES MULTIPLY UNITS PART OF ANSWER BY * 4 RATHER THEN 16 CMA,INA ADA SVCT CORRECT ANSWER JMP S2B S2C EQU * LDA P053A,I ALF,ALF AND P7400 IOR B56 STA P053A,I H53 LDA B53 AVERAGE MINIMUM SEEK TIME X.XX JSB FPRNT TNTW EQU * JMP SKIPI,I EXIT S2 HED CYLD,CYLJ * * * CYLD COUNTS UP CYLX AND CHECKS FOR COMPLETION OF * TEST ON ALL CYLINDERS. IT GIVES A SKIP RETURN WHEN * ALL CYLINDERS HAVE BEEN COVERED * CYLD NOP LDB CYLX LOAD CURRENT CYLINDER REFERENCE ADB DIRCT MOVE ALONG DIRECTION STB CYLX AND STORE IT BACK LDA DIRCT FORWARD? SSA JMP CDZ NO CMB MAKE ONES COMPLEMENT JSB SWR4 LOAD EFFECTIVE SWITCH REGISTER AND BIT6 CHECK FOR RESTRICTED CYLINDERS SZA,RSS SKIP IF SHORT TEST REQUESTED JMP CDY FULL TEST ADB D12 THERE ARE TWELVE TABLE ENTRIES JMP CDZ CDY EQU * ADB CYPP CHECK FOR END OF PACK CDZ EQU * SSB SKIP IF NOT DONE ISZ CYLD COUNT UP RETURN ADDRESS ( DONE ) JMP CYLD,I RETURN * * CYLJ TRANSLATES THE NUMBER IN CYLX TO THE DESIRED * CYLINDER NUMBER IN CYL * CYLJ NOP JSB SWR4 LOAD EFFECTIVE SWITCH REGISTER AND BIT6 CHECK FOR RESTRICTED CYLINDERS LDB CYLX SZA,RSS SKIP IF SHORT TEST JMP CJZ CJQ EQU * ADB MM12 CHECK FOR CYLX TOO BIG SSB,RSS SKIP IF OKAY JMP CJQ OTHERWISE, KEEP REDUCING ADB FTR THIS GIVES THE ADDR. OF THE LAST ENTRY + 1 ADB D12 OF THE CYL TABLE FOR THIS TYPE DRIVE LDB B,I LOAD THE WORD FROM THE TABLE * CJZ STB CYL STRAIGHT COPY JMP CYLJ,I RETURN chB@< < 32K ; 1=> >=32K SZA SKIP IF LESS THEN 32K OF MEMORY JMP S4K1 ONLY NEED 1 T5þúWRITE PER TRACK LDA SCPT NO. OF SECTORS /TRACK ARS,ARS ARS DIVIDE SECTORS/TRACK BY 8 TO GET NO. * OF SECTOR GROUPS S4K1 STA SECIN STORE NO. OF WRITES TO PERFORM S4L JSB CYLJ TRANSLATE CYLX. TO CYL. CLA STA SECTR SET SECTOR = 0 JSB SLFHI,I GET FIRST HEAD LDA D75 JSB COPR CURRENT STEP = 75 JSB FSEEK ISSUE SEEK TO CYLINDER JSB ENDSI,I LDA D128 STA WCNT SET WORD COUNT = 128 JSB DGEN GENERATES 128 RANDOM WORDS JSB CHKSM DETERMINE SECTOR SUM AND * EXPAND TO * REQUIRED NO. OF SECTORS S4RN JSB NORMI,I SET UP NORMAL STATUS CLA STA SECTC SET SECTOR COUNT = 0 ST76A LDA RWTBL BASE ADDRESS OF SECTOR SEQUENCE TABLE ADA SECTC ADD NO. OF CURRENT SECTOR GROUP LDA A,I GET ENTRY FROM TABLE ALF AND B17 RAL,RAL STA SECTR SECTOR WE SHOULD START WITH * THIS TIME JSB RCGEN GENERATE CHECKSUMS FOR SECTORS JSB SEEH ISSUE SEEK LDA WWCNT GET NO. OF WORDS TO WRITE TO DISC STA WCNT JSB WRITE WRITE CHECKSUMMED DATA TO THE DISC JSB WENDI,I CHECK FOR ERRORS ISZ SECTC INCREMENT SECTOR GROUP COUNTER LDA SECIN GET NO. OF WRITES TO PERFORM CPA SECTC SEE IF ALL THE WRITES DONE RSS SKIP IF DONE WITH ALL THE WRITES JMP ST76A GO TO WRITE NEXT SECTOR GROUP LDA D1024 STA WCNT SET WORD COUNT = 1024 WORDS ST76B EQU * * * STEP 79 * * THIS STEP READS SECTOR ZERO WITH OFFSET = +63 * DRIVE MAY NOT FAULT * * IS CYL IN CYLINDER TABLE? LDB FTR LDA L;þúMM12 STA LOOP4 ST79A LDA B,I CPA CYL JMP ST79B INB ISZ LOOP4 JMP ST79A JMP STP80 ST79B EQU * LDA HEAD CPA D2 HEAD = 2? RSS YES JMP STP80 NO LDA D79 JSB COPR CLA STA SECTR SECTOR = 0 JSB FSEEK JSB FSEEK *******REMOVE******* LDA D128 STA WCNT WORD COUNT = 128 LDA D63 OFFSET = +63 JSB RWSTI,I READ WITH OFFSET CLA STA MASK1 DON'T CHECK FIRST WORD LDA FAULT STA MASK2 CHECK FAULT INDICATION JSB DMRFC DMA DOES NOT HAVE TO COMPLETE JSB WENDI,I * * STEP 80 * * THIS STEP READS SECTOR 33 WITH * OFFSET = -63. DRIVE MAY NOT FAULT. * LDA D80 JSB COPR LDA D33 STA SECTR SECTOR = 33 JSB FSEEK JSB FSEEK *******REMOVE******* LDA B277 OFFSET = -63 JSB RWSTI,I JSB DMRFC DMA DOES NOT HAVE TO COMPLETE JSB WENDI,I JSB NORMI,I JSB FSEEK ******REMOVE****** STP80 EQU * ISZ HEAD JSB SLNHI,I SELECT NEXT HEAD JMP S4RN FINISH ENTIRE CYLINDER JSB CYLD COUNT UP CYLX AND CHECK FOR DONE JMP S4L CONTINUE ON TO NEXT CYLINDER JMP S5A CONTINUE SECTION 4 B277 OCT 277 HED RCGEN * * * RCGEN * THIS ROUTINE CONSTRUCTS THE CHECKSUMS FOR THE WRITE BUFFER. * 1.) EACH SECTOR IS CHECKSUMMED SEPARATELY * 2.) THE ENTIRE SECTOR SUMS TO ZERO ( TWOS COMPLEMENT ) * 3.) THE FIRST TWO WORDS SUM TO THE CYLINDER NUMBER * 4.) WORDS 2 AND 3 SUM TO THE HEAD/SECTOR NUMBER * RCGEN NOP LDA HEAD GET CURRENT HEAD ALF,ALF ROTATE LEFT 1 BYTE ADA SECTR ADD IN CURRENT SECTOR STA TEMP2 STORE HEAD SECTOR WORD LDA NSECT CMA,INA -(NO. OF SECTORS TO CHECKSUM) 1Õþú STA TEMP1 NO. OF SECTOR COUNTER LDB BUFAD START OF WRITE BUFFER RCG1 LDA B,I GET WORD 0 OF BUFFER CMA,INA DETERMINE WORD 1 SO THAT FIRST * 2 WORDS SUM TO CYL. ADA CYL INB STA B,I STORE WORD 1 IN BUFFER INB LDA B,I GET WORD 2 FROM BUFFER CMA,INA DETERMINE WORD 3 SO THAT 3RD & * 4TH WORDS SUM TO HEAD/SECTOR ADA TEMP2 ADD IN HEAD/SECTOR WORD INB STA B,I STORE WORD 3 IN BUFFER ADB D124 POINT TO LAST WORD IN BUFFER LDA CYL GET CYL. ADA TEMP2 ADD HEAD/SECTOR VALUE ADA BCHKS ADD SUM OF SECTOR WORDS 4-126 CMA,INA DETERMINE LAST WORD SO SECTOR SUMS * TO ZERO STA B,I STORE VALUE IN BUFFER INB ISZ TEMP2 INCREMENT SECTOR IN HEAD/SECTOR WORD ISZ TEMP1 SEE IF DONE JMP RCG1 GO DO NEXT SECTOR JMP RCGEN,I D124 DEC 124 BCHKS BSS 1 SUM OF ENTRIES 4-126 HED S4 - SECTION 4 (CONTINUED) HED CHKSM (GET CHECKSUM & EXPAND BUFFER TO DESIRED NO. OF SECTORS) CHKSM NOP LDB MM123 NO. OF WORDS IN SECTOR TO SUM STB TEMP2 CLB LDA BUFAD GET WRITE BUFFER ADDRESS ADA D4 CHK1 ADB A,I GET SUM OF ENTRIES 4-126 INA POINT TO NEXT ENTRY IN SECTOR ISZ TEMP2 HAVE WE ADDED UP ALL THE ENTRIES JMP CHK1 STB BCHKS STORE SUM OF ENTRIES 4-126 LDA TMXE IS COMPUTER MX OR XE SZA,RSS SKIP IF MX OR XE JMP CHK3 LDA D64 STA WCNT LDA NLOOP CMA,INA -(NO. OF TIMES TO LOOP) STA TEMP1 CHK2 LDB WCNT RBL MULTIPLY WORD COUNT BY 2 STB WCNT åþú ADB BUFAD ADD BASE ADDRESS OF WRITE BUFFER LDA BUFAD GET BASE ADDRESS OF WRITE BUFFER OCT 105777 MOVE WORDS DEF WCNT POINTER TO WORD COUNT OCT 0 ISZ TEMP1 HAVE WE COPIED SUFFICIENT WORDS JMP CHK2 LDA NLOOP CPA D5 IF NLOOP = 5 => 48 SECTOR WRITE RSS XFER REQUIRES 2K MORE XFER JMP CHKSM,I RETURN, BUFFER EXPANDED SUFFICIENTLY LDB D4096 ADB BUFAD ADD 4096 TO BASE ADDRESS OF WRITE BUFFER LDA BUFAD BASE ADDRESS OF WRITE BUFFER OCT 105777 MOVE WORDS DEF WCNT POINTER TO WORD COUNT OCT 0 JMP CHKSM,I RETURN TO CALLING ROUTINE CHK3 LDA WWCNT FOR EXPANSION OF 128 WORD BUFFER CMA,INA NEGATE WORD COUNT ADA D128 TO DESIRED SIZE IN 2100 COMPUTER STA TEMP1 NO. OF WORDS TO COPY LDA BUFAD BASE ADDRESS OF WRITE BUFFER * (SOURCE ADDRESS) LDB A ADB D128 BASE ADDRESS OF WRITE BUFFER +128 * THIS = INITIAL DESTINATION ADDRESS STB TEMP2 CHKLP LDB A,I GET WORD TO COPY STB TEMP2,I STORE IN DESTINATION LOCATION INA INCREMENT SOURCE ADDRESS ISZ TEMP2 INCREMENT DESTINATION ADDRESS ISZ TEMP1 HAVE WE XFERRED ALL THE WORDS JMP CHKLP GO XFER ANOTHER WORD JMP CHKSM,I RETURN TO CALLING ROUTINE MM123 DEC -123 BCHKI DEF BCHKS INDIRECT LINK TO BUFFER CHECKSUM D4096 DEC 4096 * * * SECTION 4 - CONTINUED * * THIS SECTION READS RANDOM SECTORS AND VERIFIES * THAT THEY ACTUALLY ARE THE SECTORS REQUESTED. * * * AT THE END OF EACH SEEK, A READ IS ISSUED FOR THE * NEXT AVAILABLE SECTOR. AS SOON AS THIS READ IS COMPLETED, THE * NEXT SEEK IS STARTED. * * ALNTæ‰þúA EQU GLOB5 LENGTH ACCUMULATOR FLAG4 EQU GLOB2 USED WHEN STEP 81 LOOPS SVCTB EQU GLOB6 TIME ACCUMULATOR ALNT EQU GLOB4 SEEK LENGTH COUNTER P054A DEF JP54A P054B DEF JP54B MSCVI DEF MSCV S5A EQU * CLA STA ALNT ZERO SEEK LENGTH COUNTER STA SVCT ZERO TOTAL TIME IN SEEKS STA SVKC ZERO SEEK COUNT STA ALNTA ZERO LENGTH ACCUMULATOR STA SVCTB ZERO TIME ACCUMULATOR LDA D128+SZREF CHECK ONE SECTOR STA WCNT SET WORD COUNT FOR ONE SECTOR * S5C EQU * JSB RNCHI,I GENERATE CYLINDER AND HEAD NUMBER CLA,INA SET UP STA FLAG4 FOR TIMING LDA SVCT SET UP STA SVCTA CURRENT MILLISECOND COUNT * * STEP 81 * THIS SEEK MOVES TO A * RANDOM CYLINDER AND HEAD. * LDA D81 JSB COPR JSB FSEEK LDA FLAG4 HAS THIS STEP BEEN REPEATED SZA,RSS SKIP IF NO JMP S4A YES CLA STA FLAG4 DISABLE TIMING ON LOOP LDA SVCTA SAVE CURRENT STA SVCT MILLISECOND COUNT S4A EQU * JSB ENDSI,I * * STEP 82 * THIS READ READS IN ONE SECTOR * FROM A RANDOM LOCATION * LDA D82 JSB COPR JSB SEEH JSB READ GO DO READ JSB S6CHK CHECK BUFFER JSB ENDSI,I LDA CYL LOAD CYLINDER NUMBER CMA,INA ADA OLCYL GET SEEK LENGTH SSA SKIP IF NOW POSITIVE CMA,INA ABSOLUTE VALUE ADA ALNT ADD TO TOTAL STA ALNT ISZ SVKC LDA SVKC AND B77 SZA SKIP IF MULTIPLE OF 64 JMP S5TE NOT NOW * LDA SVCT ARS,ARS ARS,ARS DIVIDE BY 16 ADA SVCTB STA SVCTB ACCUMULATE TIME LDA ALNT ARS,ARS ARS,ARS ARS ARS,ARS DIVIDE BY 128 ADA ALNTA STA ALNTA ëxþúACCUMULATE LENGTH CLA STA SVCT STA ALNT LDA SVKC CPA D8192 RSS SKIP IF DONE JMP S5TE JSB SWR AND BIT12 ABORT IF SZA,RSS BIT 12 IS CLEAR JMP S5TE ABORT PRINTOUT JSB TTYCK JMP S5TE ABORT PRINTOUT LDA SVCTB ARS,ARS ARS LOAD TOTAL TIME ADA MM64 STA SVCTB ARS,ARS ARS STA B ARS ADA B ADA SVCTB A = 1.1875 * SVCTB LDB P054A JSB MSCVI,I CONVERT TO ASCII LDA ALNTA LOAD TOTAL LENGTH LDB P054B JSB MSCVI,I CONVERT TO ASCII H54 LDA B54 JSB FPRNT AVERAGE RANDOM SEEK TIME XXXX.X. * AVERAGE RANDOM SEEK LENGTH XXXX.X * S5TE EQU * LDB SVKC LOAD SEEK COUNTER JSB SWR SWITCH REGISTER TO A AND BIT5 ADB M256 SHORT TEST SZA,RSS SKIP IF YES ADB M7936 NO SSB SKIP IF DONE JMP S5C DO ANOTHER JMP SKIPI,I EXIT S4 HED BCHK1,RCER1,BCHK * * * BCHK1 * THIS ROUTINE CHECKS THE BUFFERS GENERATED BY RCGEN * IT USES BUFAE FOR A POINTER AND CHECKS ONE SECTOR * SEE RCGEN FOR A DESCRIPTION OF THE SECTOR FORMAT * * BCHK1 STA WCHK JSB DSOKI,I CHECK S AND D BITS SZA,RSS ABORT? JMP WRERX YES LDA NOWDS TRANSFER COMPLETE? SZA JMP WRERX NO STA DERR STA DFRST JSB BCHK CHECK BUFFER JMP BCHK2 BCHK3 JSB FXITI,I LDA DERR STA DERR1 USED BY ADDO ISZ DFRST LDA STAS1 AND B7400 CPA A7400 CORRECTED? RSS YES JMP BCHK4 NO JSB BCHK CHECK BUFFER JMP BCHK2 JSB ISFTI,I IS IT SOFT? JMP WRERX YES LDA B116 LDB DERR SZB JSB FPRNT DATA ERRªˆþúOR CORRECTED BCHK4 JSB ISFTI,I IS IT SOFT? JMP WRERX YES LDA DERR SZA ANY ERRORS? JMP WRERV YES JMP WRERX BCHK2 EQU * ISZ DERR JSB RCER1 JSB FSFTI,I IS IT SOFT AND FIRST TIME? JMP BCHK5 YES JSB PCOP E52 JSB ERROR BUFFER ERROR BCHK5 LDA DFRST FIRST TIME? SZA,RSS JMP BCHK3 YES JSB DDMPI,I NO - DUMP SYNDROME JMP WRERV DDMPI DEF DDUMP ISFTI DEF ISOFT FSFTI DEF FSOFT * * RCER1 * RCER1 NOP LDA TEMP1 LOAD CHECKSUM LDB P052A POINTER-CHECKSUM JSB CNVRT CONVERT TO ASCII LDA TEMP2 LOAD CYLINDER CHECK LDB P052B POINTER-CYLINDER JSB CNVRT CONVERT TO ASCII LDA TEMP3 LOAD HEAD/SECTOR CHECK LDB P052C POINTER-HEAD AND SECTOR JSB CNVRT CONVERT TO ASCII LDA TEMP2 LDB P052D PRINT CYLINDER IN DECIMAL JSB DCIN2 LDA TEMP3 ALF,ALF AND B377 LDB P052E PRINT HEAD IN DECIMAL JSB DCIN1 LDA TEMP3 AND B377 LDB P052F PRINT SECTOR IN DECIMAL JSB DCIN1 JMP RCER1,I P052A DEF JP52A P052B DEF JP52B P052C DEF JP52C P052D DEF JP52D P052E DEF JP52E P052F DEF JP52F RCHKI DEF RCHK1 * * BCHK * BUFFER CHECK * BCHK NOP JSB RCHKI,I SZA SKIP IF OK JMP BCHK,I ERROR LDA TEMP2 CPA CYL IS CYLINDER OK? RSS YES JMP BCHK,I NO-ERROR LDA HEAD ALF,ALF IOR SECTR CPA TEMP3 IS HEAD-SECTOR OK? ISZ BCHK YES JMP BCHK,I HED S5 - SECTION 5 * * * SECTION 5 * THIS SECTION RUNS MULTIPLE UNIT TEST IF AT LEAST TWO UNITS * ARE PRESENT. THE SEEKS OVERLAP. THE READ CHECK IS THE SAME * THAT S4 PERFORMS. * STBLE EQU GLOB1 STBLF EQU GLOB2 STBLG EQU GLOB3 S6TMP EQU GLOB4 S6CNT BSS 1 SA¬‡640V6 BSS 1 THRUI DEF THRU P033A DEF JP33A SLCL BSS 1 SCOPR EQU GLOB5 PSERR EQU GLOB6 S5 EQU * LDA UNITC NUMBER OF UNITS CPA D1 IS IT ONLY ONE? JMP S6NO YES,ABORT TEST CPA NI ARE ALL INITIALIZED? JMP S6TST YES ISZ NI JMP THRUI,I DISABLE REPEAT OF SECTION S6TST EQU * LDA B14 STA MDFLG LDA S4BUG TROUBLE? SZA JMP S6NO YES - ABORT STA S6CNT ZERO COUNT STA SHTAS AND STATUS * CHECK FOR RESTRICTED CYLINDER JSB S6SET CLA S6X1 EQU * LDB SAV6,I ADB S400 IOR B,I OR THE SWR'S TOGETHER ISZ SAV6 ISZ FL6 JMP S6X1 STA TEMP1 JSB S6SET LDA TEMP1 S6X2 EQU * LDB SAV6,I ADB S400 STA B,I STORE RESULT BACK ISZ SAV6 ISZ FL6 JMP S6X2 * LDA D128+SZREF STA WCNT WORD COUNT = 128 Fÿ6ÿÿþú* THIS SECTION IS TIME DEPENDENT AND MAY NOT BE SINGLE CYCLED S6L EQU * LDA PSERR SEE IF POSITION ERROR SZA JSB PSFIX IF YES, ISSUE RECALIBRATE TO EACH UNIT CLA STA PSERR CLEAR POSITION ERROR INDICATOR JSB S6SET S6SL LDA SAV6,I GET NEXT UNIT NO. JSB UNXFI,I UPDATE UNIT DEPENDENT TABLES S6L6 JSB RNCHI,I SELECT RANDOM CYL., HEAD AND SECTOR JSB SWR4 GET EFFECTIVE S AND BIT6 SZA,RSS BIT 6 SET? JMP S6Z NO LDB FTR YES-ALL CYL TABLE SAME? ADB D12 GET ADDR. OF LAST ENTRY + 1 IN CYL. TABLE STB TRT ADB MM12 RESTORE ORIGINAL VALUE LDA FTR,I S6Y CPA B,I SAME AS FIRST CYL? INB,RSS YES JMP S6Z NO - OK CPB TRT DONE? JMP S6NO YES - ALL SAME,EXIT JMP S6Y S6Z EQU * LDA CYL LDB UNIT RBL ADB BPTO GET ENTRY IN TABLE FOR STORING CYL. VALUE CPA B,I SEE IF CYL. THIS TIME = CYL. FROM LAST TIME JMP S6L6 IF YES GO GET A NEW CYL. NO. STA B,I STORE CYL. IN TABLE TO LOOK AT NEXT TIME LDA HEAD ALF,ALF IOR SECTR INB STA B,I STORE HEAD AND SECTOR IN TABLE ALSO ISZ SAV6 ISZ FL6 JMP S6SL * THIS IS USED FOR CHECKING * CHECKSUMMED RESULTS * * STEP 85 * PERFORM MULTI-SEEK AND READ * LDA D85 JSB COPR LDA COPR STA SCOPR SAVE ADDRESS JSB S6SET S6LL LDA SAV6,I GET FIRST UNIT JSB UNXFI,I UPDATE UNIT DEPENDENT TABLES RAL MULTIPLY UNIT NO. BY 2 ADA BPTO ADD ON BASE ADDRESS OF TABLE LDB A,I GET CYL. SELECTED FOR THIS UNIT STB CYL INA GET ADDRESS OF HEAD SECTOR ENTRY LDB A,I r³þú LDA A,I AND B377 GET SECTOR STA SECTR LDA B ALF,ALF AND B377 GET HEAD STA HEAD JSB SEEH SEEK WITHOUT WAIT ISZ SAV6 NEXT UNIT ISZ FL6 DONE? JMP S6LL JSB S6SET LDB BPTO WORK AREA ADB D16 S6L1 EQU * SET UP FOR VALIDITY CHECK LDA SAV6,I STA B,I INB ISZ SAV6 ISZ FL6 JMP S6L1 JSB S6SET STB STBLE SET UP FOR STB STBLF SEEK-STATUS TABLE S6RL EQU * SC31 STC SC LDA B44 SEEK IN S5 STA COPRN LDA MM512 STA LCNT ALLOW 512 MILLISECONDS FOR FLAG S6D EQU * CLA,INA JSB TMR,I DELAY 1 MSEC CC09 SFS CC RSS JMP S6F FLAG IS SET ISZ LCNT JMP S6D JSB PCOP CURRENT OPERATION LDA B10 NO FLAG FOLLOWING SEEK STA ELOC JSB FPRNT JSB S6SET SET UP POINTER SL3 LDA SAV6,I GET NEXT JSB UNXFI,I STORE NEW UNIT NO., UPDATE DEVICE RELATED TABLES LDA STBLE CMA,INA ADA STBLF SZA,RSS JMP S6L4 NO INTERRUPTS OCCURRED INA ARS STA LOCAL = NUMBER OF INTERRUPTS LDA STBLF SET UP STA STBLG POINTER SL1 LDA STBLG,I GET FIRST STATUS WORD AND B377 GET UNIT PART CPB UNIT IS THIS THE ONE? JMP SL2 YES - THIS UNIT IS OK ISZ STBLG NO MOVE ISZ STBLG POINTER TWICE -PAST SECOND STATUS ISZ LOCAL JMP SL1 JMP S6L4 SL2 ISZ SAV6 ISZ FL6 DONE? JMP SL3 NO JMP S6L4 YES - SHOULD NEVER GET HERE EE21 JSB PCOP E21 JSB ERROR INVALID UNIT S6L4 LDA STBLE CALCULATE CMA,INA NUMBER OF ADA STBLF WORDS IN THE STA LOCAL STACK LDB P033A BUFFER ADDRESS S6M3 LDA BB BLANK,BLANK >þúJSB S6M6 SET UP BUFFER LDA CRLF CR,LF JSB S6M6 SET UP BUFFER JMP S6M3 S6M6 NOP STA TEMP2 ENDING WORD STB TEMP1 BUFFER POINTER LDA STBLF,I GET NEXT WORD FROM TABLE ISZ STBLF JSB CNVRT DEPOSIT RESULT IN OCTAL LDB TEMP1 ADB B3 LDA TEMP2 STA B,I STORE ENDING INB ISZ LOCAL DONE? JMP S6M6,I NO ADB MM1 YES LDA C1440 #,BLANK STA B,I LDA B33 H33 JSB FPRNT SEEK-STATUS TABLE JSB ADDOI,I JMP STP55 S6F CLA,INA STA BLOCK FLAG IS EXPECTED JSB OSTAT CLA STA BLOCK LDA STAS1 STA STBLE,I SAVE SEEK-STATUS STA SLCL ISZ STBLE AND B377 JSB UNXFI,I STORE NEW UNIT NO., UPDATE DEVICE RELATED TABLES JSB OSTAT LDA STAS2 SAVE DEVICE STA STBLE,I STATUS ISZ STBLE LDA UNITC CHECK VALIDITY OF UNIT NUMBER CMA,INA STA S6TMP LDB BPTO ADB D16 S6L3 EQU * LDA B,I CPA UNIT JMP S6OK INB ISZ S6TMP JMP S6L3 JMP EE21 NOT VALID UNIT S6OK STB B,I DON'T ALLOW SAME BIT AGAIN LDA B7400 =17400 STA SHTAS LDA SLCL RESTORE SEEK STA STAS1 STATUS JSB WCHK CHECK STATUS * * READ PART (STEP 85) * LDA D85 JSB COPR CLA STA SHTAS LDB UNIT RBL ADB BPTO GET CYL., HEAD, SECTOR, VALUES FOR UNIT LDA B,I GET OLD CYL. NOS. STA CYL INB LDA B,I GET HEAD , SECTOR AND B377 GET OLD SECTOR STA SECTR LDA B,I ALF,ALF AND B377 GET HEAD STA HEAD JSB SEES JSB READ JSB S6CHK CHECK BUFFER LDA STAS1 AND B7400 CPA A3400 POSITION ERROR? KŒþú ISZ PSERR YES JSB ENDSI,I LDA SCOPR STA COPR JSB POLL RESUME POLLING ISZ FL6 DONE? JMP S6RL NO RSS STP55 EQU * JSB ENDSI,I ISZ S6CNT BUMP COUNTER LDB S6CNT JSB SWR AND BIT5 SHORTEN TEST? ADB M256 -256 SZA,RSS SKIP IF YES ADB M7936 -7936 SSB DONE? JMP S6L NO S6NO EQU * CCA ADA UNITS ADA NI GET ADDRESS IN UNIT TABLE OF UNIT TO USE LDA A,I GET UNIT NO. JSB UNXFI,I UPDATE UNIT DEPENDENT TABLES CLA STA S4BUG JMP SKIPI,I * * * * S6CHK * CHECKS BUFFER FOR PROPER POSITION AND DATA * TRANSFER * S6CHK NOP LDA S6CHK JMP BCHK1 * * S6SET NOP LDA UNITC NUMBER OF UNITS CMA,INA TWO'S COMPLEMENT STA FL6 LDA UNITS POINTER FOR STA SAV6 UNIT NUMBERS JMP S6SET,I * PSFIX NOP JSB S6SET PSF1 LDA SAV6,I JSB UNXFI,I STORE NEW UNIT NO., UPDATE DEVICE RELATED TABLES JSB SEEKH RECALIBRATE ISZ SAV6 ISZ FL6 JMP PSF1 JMP PSFIX,I HED S6 - SECTION 6 (OPDSN) * * OPDSN * OPERATOR DESIGN SECTION * THIS SECTION ALLOWS THE OPERATOR TO DESIGN * HIS OWN TEST AND THEN EXECUTE IT. * ORG 10000B TNUMP EQU GLOB3 TLIMT EQU GLOB2 TNUM EQU GLOB4 PLIMT EQU GLOB5 OUTC DEF OTBLE PPT1 JSB TV1,I PPT2 JSB TV2,I PPT4 JSB TV4,I PPT5 JSB TV5,I PPT6 JSB TV6,I PPT7 JMP OPDNI,I PPT8 JSB TV8,I PPT9 JSB TV9,I PPT10 JSB TV10,I PPT13 JSB TV13,I PPT14 JMP TV14,I PPT15 JSB TV15,I PPT17 JSB TV17,I PPT18 JSB TV18,I PPT19 JSB TV19,I PPT20 JSB TV20,I PPT21 JSB TV21,I PPT22 JSB TV22,I PPT23 JSB TV23,I LABEL BSS 1 LABLC BSS 1 LBLP1 OCT 36476 LBLP2 BSS 1 PFLAG BSS 1 B102 OCT 102 B103 OCT 103 P056A DEF JP56A¸Àþú P7437 OCT 177437 CODEC ABS -TABLE P055A DEF M55A REINI DEF REINT TP2I DEF TVP2,I T2STI DEF TV2ST PT5CI DEF PUT5C BILDI DEF BUILD TRCHI DEF TRKCH EXWDS BSS 1 USED TO ADD 2 EXTRA WORDS FOR OPDSN OPDSN EQU * LDA D90 STEP NUMBER JSB COPR LDA BPTR SET STA BUFAD UP LDA BPTS POINTERS STA BUFAE CLA STA SFLAG RESET SO THAT LOOKS AT SWITCH REG. * RATHER THEN STORED VALUE * OF SWITCH RFEG. STA DMRF INA STA SOFT PRINT SOFT ERRORS IN OPDSN LDB VALID CPB D2 STA VALID LDA MM5 STA LIMIT JSB NORMI,I SET UP NORMAL STATUS H55 LDA UNIT ADA BLNK0 STA P055A,I LDA B55 JSB PRINT OPD0 LDA XMCPU SEE IF MCPU MODE SZA,RSS SKIP IF MCPU MODE JMP OPD1 CLA PLACE NULLS IN MESSAGE LDB P146A STA B,I INB STA B,I LDA B146 JSB PRINT OPD1 EQU * JSB HIN INPUT LINE CLA STA DISCK STA PFLAG STA EXWDS ZERO INDICATOR FOR DS OR IS INSTRUCTIONS LDA D128 COMMONLY USED FOR STA WD2 DEFAULT CASE STA ACTAD JSB PCK2I,I GET OP CODE JMP H20 ERROR IN INPUT LDB CODEE OPD2 EQU * SEARCH FOR CPA B,I CODE MATCH JMP OPD3 FOUND IT INB CPB CODEF RSS ERROR - BAD OP CODE JMP OPD2 H20 LDA B20 UNDEFINED INSTRUCTION JSB PRINT JMP OPD1 OPD3 EQU * ADB CODEC STB OPCNT OP CODE LDA OPD9 SET UP RETURN STA OPNDI,I JMP OPD7I,I OPD8 EQU * LDB OPCNT CPB B55 RI? RSS YES CPB B56 AI? JMP OPD4 YES LDA VALID CPA D2è9þú RSS JMP OPD6 OPD5 ADB OUTC LDA B,I PROCESS INSTRUCTION LDB XMCPU SEE IF IN MCPU MODE SZB SKIP IF NOT IN MCPU MODE SSA SKIP IF NOT LEGAL MCPU COMMAND JMP OPD5A JUMP FOR IS A VALID INSTRUCTION LDA B20 JSB PRINT PRINT UNDEFINED INSTRUCTION JMP OPD0 PRINT CURRENTLY IN MCPU MODE OPD5A LDB D2 STB VALID ELA,CLE,ERA CLEAR SIGN BIT OF INSTRUCTION JMP A,I OPD4 LDA VALID CPA D1 PROGRAM VALID? JMP OPD5 YES JMP H20 NO * OPD6 CLA INITIALIZE STA LABLC VARIABLES LDA BPTO STA BILD JMP OPD5 OPD9 DEF OPD8 * * * POUT1 AR,CR,DS,IS,SK * POUT1 LDA PPT1 LDB OPCNT CPB B73 LDA PPT19 STA WD1 STORE TRANSFER VECTOR CLA STB WD4 CPB B54 CR? RSS YES STA WD2 DEFAULT CASE STA WD3 LDA D3 CPB B14 IS RSS CPB D5 DS STA EXWDS JSB PUT1J LOOK FOR COMMA LDB PPT1 STB WD1 JSB PUT1D PROCESS FIRST FIELD,CYLINDER ISZ DFLT STA WD2 LDB OPCNT CPB B54 CR? JMP PUT1K YES JSB PUT1D PROCESS SECOND FIELD,HEAD PUT1L ALF,ALF STA WD3 JSB PUT1D PROCESS THIRD FIELD,SECTOR IOR WD3 STA WD3 LDA PFLAG DONE? SZA,RSS SKIP IF YES JMP PUT1A ERROR JMP PUT5B PUT1B LDA D3 PUT1F JSB BILDI,I LDA OPCNT CPA B71 =71 JMP PUT7I JMP OPD1 EXIT PUT1A JSB H31 BAD INPUT JMP OPD1 PUT1D NOP LDA PFLAG DONE? SZA JMP PUT5B YES JSB DCHAR NO,GET NEXT FIELD RSS JMP PUT1D,I JSB PUT1E DONE OR ERROR? ISZ PFLAG DONE JMP PUT1D,I COæ±þúNTINUE PUT1E NOP DONE OR ERROR? LDB CCNT COLUMNS REMAINING SZB JMP OPD1 ERROR (ALREADY REPORTED) JMP PUT1E,I PUT1G NOP CHECK COMMA XOR B54 SZA,RSS JMP PUT1G,I OK JMP PUT1A PUT1H NOP JSB CHAR GET NEXT CHARACTER JMP PUT1B DONE JSB PUT1G CHECK FOR COMMA JMP PUT1H,I RETURN PUT1J NOP JSB CHAR GET NEXT CHARACTER JMP PUT5B DONE JSB PUT1G CHECK FOR COMMA JMP PUT1J,I RETURN PUT1K EQU * JSB PUT6D CHECK FOR VALID WORD COUNT JSB PUT1D PROCESS SECOND FIELD , HEAD LDB A AND MM4 =177774 SZA JMP PUT1A ERROR - HEAD > 3 LDA B JMP PUT1L * * * POUT2 CL,DA,F0,F1,F2,F3,F4,F5,F6,FH,NO,RA,RC,RL,RS,ST * V0,V1,V2,V3,V4,V5,V6,VH * PUT20 LDA PPT20 RSS POUT2 EQU * LDA PPT2 STA WD1 STORE TRANSFER VECTOR JSB CHAR RSS SKIP IF DONE JMP PUT1A ERROR JMP PUT3J EXIT * * * POUT3 GO,LB * POUT3 LDA PPT3 AN RSS STA WD1 STORE TRANSFER VECTOR JSB CHAR JMP PUT1A ERROR JSB PUT3K GET LABEL JSB CHAR CHECK NEXT CHARACTER RSS OK-SKIP JMP PUT1A ERROR-TOO MANY CHARACTERS LDA OPCNT OP CODE CPA B106 PR JMP PUT3V CPA B15 LB ? RSS SKIP IF IT IS CPA B102 SB ? RSS SKIP IF IT IS JMP PUT3A MUST BE GO JSB PUT3D SEARCH FOR LABEL JMP PUT3B NOT THERE ISZ LBLP2 FOUND IT LDA LBLP2,I ADDRESS WORD SZA,RSS SKIP IF PREVIOUSLY DEFINED JMP PUT3E H17 LDA B17 DUPLICATE LABEL JSB PRINT JMP OPD1 PUT3B JSB PUT3L CHECK FOR OVERFLOW PUT3E LDA BILD NEXT AVAILABLE LOCATION STA LBLP2,I STORE ADDRESS wÇþú LDA OPCNT CPA B15 LB ? JMP PUT3J JUMP IF IT IS CLA STA WD1 PLACE NOP IN PROGRAM FOR SB INSTRUCTION * TO HOLD RETURN ADDRESS LDA PPT3 PLACE RSS INSTRUCTION IN PROGRAM STA WD2 TO SKIP OVER LENGTH AND OPCODE WORD LDA B3 SB INSTRUCTION TAKES 3 WORDS JMP PUT1F PUT3J LDA D2 JMP PUT1F EXIT PUT3A JSB PUT3D GO,SEARCH TABLE JMP PUT3F DID NOT FIND IT ISZ LBLP2 FOUND IT PUT3G LDA LBLP2 LDB OPCNT CPB B103 CA ? JMP PUT3R JUMP IF IT IS CPB B104 LV? LDA A,I GET ADDRESS OF START OF SUBROUTINE AND B3777 IOR JMPI =126000B STA WD1 JMP PUT3J PUT3R AND B3777 SAVE LOWER PART OF ADDRESS IOR JSBI =116000 STA WD1 PLACE JSB ?????,I IN WD1 LDA PPT3 STA WD2 PLACE RSS IN WD2 LDA B3 JMP PUT1F CA INSTRUCTION TAKES 3 WORDS JSBI OCT 116000 PUT3F LDB OPCNT CPB B104 LV? JMP PUT7A LABEL MUST BE DEFINED PREVIOUSLY FOR RS * THEREFORE, ERROR WAS MADE * GO GIVE ERROR MESSAGE JSB PUT3L CHECK FOR OVERFLOW CLA STA LBLP2,I ZERO ADDRESS WORD JMP PUT3G PUT3D NOP SEARCH TABLE LDB LABLC NUMBER OF LABELS PUT3I SZB,RSS JMP PUT3D,I ZERO LABELS LDA LBLP2,I CPA LABEL JMP PUT3H FOUND IT LDA LBLP2 STEP ADA MM2 BACK STA LBLP2 THROUGH CORE ADB MM1 DECREMENT LABEL COUNT JMP PUT3I PUT3H ISZ PUT3D NORMAL JMP PUT3D,I EXIT PUT3K NOP GET LABEL JSB PUT1G CHECK COMMA JSB PCK2I,I JMP PUT1A ERROR STA LABEL SAVE LABEL LDA LBLP1 STA LBLP2 JMP PUT3K,I PUT3L Ž]þúNOP CHECK FOR WORK SPACE OVERFLOW JSB PUT3N ISZ LABLC LDA LABEL STA LBLP2,I ISZ LBLP2 JMP PUT3L,I NORMAL EXIT PUT3N NOP LDA LABLC ALS TWO LOCATIONS PER LABEL ADA BILD ADA D6 LDB LBLP1 CMB,INB ADB A SSB,RSS JMP PUT3M OVERFLOW JMP PUT3N,I PUT3M LDA B16 OVERFLOW JSB PRINT JMP OPD1 PUT3V LDA LABEL STA WD3 SAVE SYMBOL TO BE OUTPUT LDA PPT23 STA WD1 OUTPUT TRANSFER VECTOR LDA D4 JMP PUT1F * * * POUT4 RD,RF,RW,VF,WD,WF,SS,SH * POUT4 LDA PPT4 STA WD1 STORE TRANSFER VECTOR LDB D138 LDA OPCNT CPA B36 RF RSS CPA B35 WF STB WD2 WORD COUNT = 138 CLB,INB CPA D2 VF RSS CPA B77 CS? RSS CPA B100 CH? RSS CPA B101 CC? STB WD2 JSB PUT1H LOOK FOR COMMA LDA PFLAG DONE? SZA JMP PUT1B YES JSB PUT1D PROCESS FIELD,WORD COUNT JSB PT5CI,I LDA OPCNT IS IT CPA B16 READ? RSS YES CPA B36 READ FULL SECTOR? RSS CPA B41 READ WITHOUT VERIFY? JSB PUT6D YES,LIMIT WORD COUNT LDA PFLAG DONE? SZA,RSS SKIP IF YES JMP PUT1A ERROR JMP PUT1B EXIT * * * POUT5 CB * POUT5 LDA PPT5 STA WD1 TRANSFER VECTOR CLA,INA STA WD3 DEFAULT NUMBER OF ERROR PRINTS JSB CHAR JMP PUT5B DONE JSB PUT1G CHECK COMMA JSB DCHAR JMP PUT5A DONE OR ERROR? ISZ DFLT SKIP ON DEFAULT JSB PT5CI,I JSB DCHAR RSS JMP PUT1A ERROR JSB PUT1E DONE OR ERROR? ISZ DFLT SKIP ON DEFAULT STA WD3 JM6<:6P PUT5B PUT5A JSB PUT1E ISZ DFLT SKIP ON DEFAULT STA WD2 PUT5B LDA WD2 STA WD5 LDA WD3 STA WD6 LDA D4 ADA EXWDS JMP PUT1F EXIT * * POUT6 DB * POUT6 LDA PPT6 STA WD1 STORE TRANSFER VECTOR JSB PUT1H LOOK FOR COMMA JSB DCHAR JMP PUT6C DONE OR ERROR? JSB PT18B JSB OCHAR JMP PUT6A DONE OR ERROR? JSB PUT6B JSB CHAR JMP PUT1A ERROR XOR B103 C SZA JMP PUT6E LDA BIT15 PUT6F XOR WD2 STA WD2 JSB CHAR JMP PUT5B SHOULD BE DONE JMP PUT1A ERROR PUT6E XOR B12 I? SZA SKIP IF YES JMP PUT1A ERROR LDA BIT14 JMP PUT6F PUT6A JSB PUT1E DONE OR ERROR? JSB PUT6B JMP PUT5B PUT6B NOP ISZ DFLT SKIP IF DEFAULT RSS OK CLA STA WD3 LDA M0000 IOR WD2 STA WD2 JMP PUT6B,I PUT6C JSB PUT1E DONE OR ERROR? JSB PT18B JMP PUT1B EXIT PUT6D NOP CHECK WD2 - MUST NOT BE GREATER LDA WD2 THAN 1024 CMA,INA SSA,RSS MUST BE NON ZERO AND JMP PUT1A POSITIVE ADA BSIZE ADD MAX. BUFFER SIZE SSA JMP PUT1A ERROR JMP PUT6D,I ~ž<ÿÿþú* * POUT7 EN * POUT7 LDA PPT7 PUT7G STA WD1 STORE TRANSFER VECTOR PUT7I LDA BPTO STA OPSRT LDB LABLC NUMBER OF LABELS LDA LBLP1 INA STA LBLP2 PUT7D SZB,RSS SEARCH FOR JMP PUT7B UNDEFINED LABELS LDA LBLP2,I SZA,RSS JMP PUT7C LDA LBLP2 ADA MM2 STA LBLP2 ADB MM1 JMP PUT7D PUT7B LDA OPCNT CPA B71 =71 JMP PUT7H JSB CHAR JMP PUT7F NORMAL START JSB PUT3K JSB CHAR CHECK NEXT CHARACTER RSS OK-SKIP JMP PUT1A ERROR-TOO MANY CHARACTERS JSB PUT3D SEARCH TABLE JMP PUT7A DID NOT FIND IT ISZ LBLP2 FOUND IT LDA LBLP2,I STA OPSRT PUT7F LDA D2 JSB BILDI,I PUT7H EQU * ENTRY FOR RI CLA,INA STA VALID LDA XMCPU SZA,RSS SKIP IF IN MCPU MODE JSB OMASK JSB REINI,I REINITIALIZE VALUES FOR DS,IS AND RT JMP OPSRT,I START EXECUTION PUT7C LDB LBLP2 ADB MM1 LDA B,I PUT7E STA P056A,I H56 LDA B56 UNDEFINED LABEL,XX JSB PRINT JMP OPD1 PUT7A LDA LABEL JMP PUT7E * * * POUT8 SD * POUT8 LDA PPT8 STA WD1 SET UP TRANSFER VECTOR JSB CHAR JMP PUT8C JSB PUT1G CHECK COMMA JSB DCHAR RSS SHOULD BE DONE JMP PUT1A ERROR JSB PUT1E ERROR OR DONE? ISZ DFLT DEFAULT? RSS NO JMP PUT1A YES LDB OPCNT CPB B72 JMP PUT8A =TB CPB B105 =DL JMP PUT8F PUT8B STA WD2 JMP PUT1B EXIT PUT8A CMA,INA NEGATE WORD COUNT SSA,RSS IF ORIGINAL NO. <= 0 THEN ERROR JMP PUT1A ADA BSIZE ADD MAX. BUFFER SIZE SSA IF ORIGINAL NO. > 1024 JMP PUT1A THEN ERROR ADA NBSZE Vþú SUBTRACT MAX. BUFFER SIZE JMP PUT8B PUT8C LDB OPCNT CPB B105 =DL JMP PUT8E CPB B72 RSS JMP PUT1A IF IS NOT TB THEN IS AN ERROR LDA MM128 JMP PUT8B GO TO STORE DEFAULT VALUE OF 128 WORDS PUT8E CLA,INA PUT8F LDB PPT21 STB WD1 JMP PUT8B * * * POUT9 ID * POUT9 LDA PPT9 STA WD1 SET UP TRANSFER VECTOR CCA STA WD2 DEFAULT CASE CLA STA WD3 DEFAULT OPTIONS JSB CHAR JMP PUT5B DONE JSB PUT1G CHECK FOR COMMA JSB DCHAR JMP PUT5A DONE OR ERROR? ISZ DFLT SKIP ON DFLT STA WD2 JSB CHAR NOP CLB CPA B104 D? LDB BIT13 YES CPA B120 P? LDB BIT14 YES CPA B123 S? LDB BIT15 YES CPB D0 NONE (ERROR)? JMP PUT1A YES STB WD3 JSB CHAR JMP PUT5B JMP PUT1A * * * POT10 HT * POT10 LDA PPT13 HT STA WD1 STORE TRANSFER VECTOR CLA PT10A STA WD2 DEFAULT VALUE JSB PUT1H LOOK FOR COMMA JSB OCHAR RSS OK JMP PUT1A ERROR JSB PUT1E DONE OR ERROR? ISZ DFLT SKIP ON DEFAULT STA WD2 STORE VALUE JMP PUT1B EXIT * * * POT11 EE * POT11 LDA BILD (AI ENTERS HERE) CPA BPTO JMP OPD1 NOTHING TO ERASE ADA MM1 LDA A,I STA LOCAL PREVIOUS TRANSFER VECTOR ALF,ALF AND B377 WORD COUNT CMA,INA ADA BILD STA BILD BILD = BILD - WORD COUNT LDA LOCAL AND B377 CPA B15 =LB RSS CPA B102 =SB JMP PT11A IF LB OR SB GO TO PT11A CPA B11 =GO RSS CPA B103 =CA RSS SKIP IF GO OR CA JMP OPD1 OTHERWISE GO TO GET NEXT LI`“þúNE LDA BILD,I AND B1777 GET ADDRESS ADA BPTO BPTO = STARTING ADDRESS OF OPDSN BUFFER. * IT IS ALSO THE BEGINNING OF A * NEW PAGE IN MEMORY STA LOCAL OF REFERENCED LABEL LDA LOCAL,I IS THIS LABEL SZA DEFINED? JMP OPD1 YES,EXIT LDA BILD,I SEARCH FOR OTHER REFERENCES STA TEMP1 MASK USED TO SEARCH FOR OTHER LDA BILD REFERENCES STA TEMP2 POINTER PT11C CPA BPTO JMP PT11B NOT FOUND LDA TEMP2 ADA MM1 GET TRANSFER VECTOR LDA A,I ALF,ALF AND B377 GET WORD COUNT CMA,INA ADA TEMP2 ADDRESS = ADDRESS - WORD COUNT STA TEMP2 LDB TEMP2,I CPB TEMP1 JMP OPD1 ANOTHER REFERENCE WAS FOUND JMP PT11C PT11A LDA LBLP1 SEARCH TABLE FOR LOCATION OF INA THIS LABEL PT11E STA LBLP2 LDA LBLP2,I CPA BILD JMP PT11D FOUND IT LDA LBLP2 ADA MM2 JMP PT11E PT11D STA TEMP2 WORK AREA POINTER LDA LBLP2 STA LOCAL ADDRESS OF LABEL AND B3777 IOR JMPI =126000B STA TEMP1 MASK USED TO SEARCH FOR OTHER CLA REFERENCES STA LOCAL,I ZERO OUT LABEL LDA TEMP2 JMP PT11C PT11B CLA NO REFERENCE FOUND LDB LOCAL ADB MM1 STA B,I LABEL = 0 INA STA LOCAL,I ADDRESS # 0 ,SO IT WILL BE JMP OPD1 DEFINED * * * POT12 EP * POT12 CLA STA VALID JMP OPDSN * * * POT14 LP * POT14 LDA PPT14 TRANSFER VECTOR JMP PUT7G * * POT15 RT * POT15 LDA PPT15 STA WD1 STORE TRANSFER VECTOR JSB CHAR JMP PUT1A ERROR JSB PUT3K GET LABEL JSB PUT3D SEARCH TABLE JMP PUT7A DID NOT FIND IT-ERROR œvþú ISZ LBLP2 FOUND IT LDA LBLP2 AND B3777 IOR JMPI =126000B STA WD4 JSB CHAR JMP PUT1A ERROR JSB PUT1G JSB DCHAR GET NUMBER OF TIMES TO REPEAT RSS OK-SKIP JMP PUT1A ERROR JSB PUT1E DONE OR ERROR? JSB PT5CI,I CLA STA WD3 LDA D5 JMP PUT1F * * * POT16 SC * POT16 LDA PPT10 SC STA WD1 CLA STA WD2 DEFAULT SHTAS STA WD3 DEFAULT SHTS2 LDA MM1 STA WD4 DEFAULT MASK1 LDA P7737 =177737 STA WD5 DEFAULT MASK2 JSB CHAR GET NEXT CHARACTER JMP PT16A DONE JSB PUT1G CHECK FOR COMMA JSB PT16B PROCESS FIELD LDA DFLT CPA MM1 DEFAULT? JMP PT16G YES LDA VAL1 NO STA WD2 LDA VAL2 STA WD4 JSB CHAR GET NEXT CHARACTER JMP PT16A DONE JSB PUT1G CHECK FOR COMMA PT16G JSB PT16B PROCESS FIELD LDA DFLT CPA MM1 DEFAULT? JMP PUT1A YES - ERROR LDA VAL1 NO STA WD3 LDA VAL2 STA WD5 JSB CHAR RSS SKIP IF DONE JMP PUT1A ERROR PT16A LDA D6 JMP PUT1F * PT16B NOP CLA STA VAL1 STA VAL2 LDA MM1 STA DFLT LDA MM16 STA VALUE COUNTER PT16C JSB CHAR JMP PT16H DONE? CPA B54 COMMA? JMP PT16D YES - DONE? CPA ASC0X X? JMP PT16E YES CPA B60 0? RSS YES CPA B61 1? RSS YES JMP PUT1A ERROR LDB D1 ADA MM48 -60 OCTAL PT16F STA DFLT #-1 IOR VAL1 STA VAL1 LDA B IOR VAL2 STA VAL2 ISZ VALUE DONE? RSS NO JMP PT16B,I YES RAL STA VAL2 o¨þúLDA VAL1 RAL STA VAL1 JMP PT16C PT16E CLB CLA JMP PT16F PT16D EQU * LDA VALUE CPA MM16 STARTED YET? JMP PT16B,I NO - OK JMP PUT1A YES ERROR PT16H LDA VALUE CPA MM16 STARTED YET? JMP PT16A NO - OK JMP PUT1A YES ERROR * * POT17 SM * POT17 LDA PPT17 STA WD1 LDA BIT1 DEFAULT CASE MASK JMP PT10A * * POT18 RO * POT18 LDA PPT18 STA WD1 CLA STA WD3 DEFAULT OFFSET JSB PUT1J LOOK FOR COMMA JSB DCHAR PROCESS FIRST FIELD,WORD COUNT JMP PT18A DONE OR ERROR? JSB PT18B STORE INTO WD2? JSB CHAR GET NEXT CHARACTER JMP PUT5B DONE CLB CPA B53 PLUS? JMP PT18C YES CPA B55 MINUS? JMP PT18D YES JSB PUT1G CHECK FOR COMMA PT18E JSB CHAR GET NEXT CHARACTER JMP PUT5B DONE CPA B101 A? JMP PT18F YES CPA B104 D? RSS YES JMP PUT1A NO - ERROR LDA BIT8 PT18G ADA WD3 STA WD3 JSB CHAR ANYMORE? JMP PUT5B NO - OK JMP PUT1A YES - ERROR PT18F LDA BIT9 JMP PT18G PT18A JSB PUT1E DONE OR ERROR? JSB PT18B DONE JMP PUT5B EXIT PT18B NOP ISZ DFLT DEFAULT? STA WD2 NO JSB PUT6D CHECK LIMIT JMP PT18B,I PT18D LDB BIT7 PT18C STB WD3 SET SIGN BIT JSB DCHAR GET OFFSET JMP PT18H DONE OR ERROR? JSB PT18I JSB CHAR GET NEXT CHARACTER JMP PUT5B DONE JMP PT18E PT18H JSB PUT1E ERROR? JSB PT18I NO JMP PUT5B PT18I NOP LDB DFLT CPB MM1 JMP PUT1A OFFSET MISSING ADA WD3 STA WD3 JMP PT18I,I * * POT19 EX * POT19 LIA 1 GET S XOR BIT3 TURN B…þúIT 3 OFF OTA 1 RESTORE NEW S(IF POSSIBLE) JMP DONE * * POT20 RI * POT20 JMP PUT7H * * POT21 AI * POT21 JMP POT11 PUT21 LDA PPT22 CW,DR,DW STA WD1 STORE XFER VECTOR JSB CHAR GET FIRST CHAR. JMP PUT1A ERROR JSB PUT1G CHECK FOR COMMA JSB DCHAR GET INITIAL ADDRESS JMP PT21B SEE IF ERROR OR DONE PT21A ISZ DFLT SKIP IF NO ADDRESS ENTERED RSS JMP PUT1A ERROR (ADDR. MUST BE ENTERED) STA WD2 LDA OPCNT CPA B75 =DW RSS CPA B76 =DR JMP PT21F INSTRUCTION ="DR" OR "DW" PT21C JSB OCHAR RSS JMP PUT1A ERROR JSB PUT1E ERROR OR DONE ISZ DFLT RSS JMP PUT1A MAY NOT USE DEFAULT (ERROR) STA WD3 STORE OCTAL WORD TO REPLACE * VALUE IN BUFFER LDA WD2 SEE IF WORD IS IN BUFFER ADA NBSZE SUBTRACT MAX. BUFFER SIZE PT21J SSA,RSS JMP PUT1A ERROR WORD TO BE MODIFIED IS * OUTSIDE OF BUFFER JMP PUT5B PT21F JSB DCHAR GET ENDING ADDRESS RSS JMP PUT1A JSB PUT1E SEE IF EROR OR DONE ISZ DFLT SEE IF DEFAULT RSS LDA WD2 IF DEFAULT START ADDR. = END ADDR. STA WD3 STORE ENDING ADDRESS CMA ADA WD2 JMP PT21J PT21B LDB OPCNT SEE IF CW INSTRUCTION CPB B75 =DW RSS CPB B76 =DR RSS JMP PUT1A ERROR JSB PUT1E SEE IF ERROR OR DONE STA WD2 THERE WAS NO ERROR STA WD3 MAKE STARTING AND STOPPING * ADDDRESSES EQUAL JMP PUT5B SKP TVP1G NOP xžþúCPA PPT10 IS NEXT TRANSFER VECTOR SC JMP TVP1G,I YES CPA PPT20 IS NEXT XFER VECTOR CS,CP,CD JMP TVP1G,I RETURN IF IT IS CPA PPT5 IS NEXT TRANSFER VECTOR CB? JMP TVP1G,I YES LDB B7400 =17400 LDA COPRN CPA B44 SEEK? RSS YES CPA B76 RC? STB SHTAS JSB WCHK CLA STA SHTAS JMP TVP1G,I * TVP2C NOP LDA TNUM JSB FCYKI,I CYCLIC CHECK TRACK JSB HELPI,I TROUBLE? ISZ TVP2C NO LDA OPD7A STA OPNDI,I JMP OPD7I,I OPD7B EQU * CLA,INA ADA CYL LDB TEMPS JMP TVP2C,I * TVP2B JSB SLFHI,I FH - SELECT FIRST HEAD TVP2S JSB TVP2R FORMAT AND VERIFY ISZ HEAD TRY NEXT HEAD JSB SLNHI,I ANYMORE? JMP TVP2S YES JMP TP2I,I NO - DONE TVP2D JSB SLFHI,I VH - SELECT FIRST HEAD TVP2T JSB TVP2U VERIFY ISZ HEAD TRY NEXT HEAD JSB SLNHI,I ANYMORE? JMP TVP2T YES JMP TP2I,I NO - DONE * TVP2R NOP JSB TRCHI,I PLACE NEG. COUNT OF NO. * OF DEFECTIVE * DEFECTIVE TRACKS ALLOWED /SURFACE * IN TLIMT CLA TVP2I EQU * JSB T2STI,I SET UP COUNTERS ETC. JSB FSEEK SEEK TO EACH CYLINDER JSB OPNDI,I LDA WDPT 48 SECTORS STA WCNT CLA STA WRSP JSB WADRI,I FORMAT LDA FOBIT STA SHTS2 LDA MM1 STA MASK2 JSB WCHK CHECK JSB NORMI,I JSB OPNDI,I TV2I2 JSB TVP2C VERIFY JMP TV2I1 TROUBLE TV2I3 CPA CYPP DONE? JMP TVP2R,I YES - RETURN JMP TVP2I NO - CONTINUE TV2I1 EQU * JSB TV2M6 ISZ PLIMT TRY AGAIN? JMP TV2I2 YES JSB SWR SLA BIT 0 SET? µÛþú JSB FTRDI,I YES - FLAG IT DEFECTIVE CLA,INA ADA CYL ISZ TLIMT EXCESSIVE BAD TRACKS? JMP TV2I3 NO JMP TV2M4 YES * TVP2U NOP JSB TRCHI,I PLACE NEG. COUNT OF NO. * OF DEFECTIVE * TRACKS ALLOWED/SURFACEIN TLIMT LDA L7777 =137777 (ALL BUT P) STA MASK1 LDA P7437 =177437 (ALL BUT ATTN,PROT,FRMT) STA MASK2 CLA TVP2M EQU * JSB T2STI,I SET UP COUNTERS ETC. TV2M2 JSB TVP2C VERIFY JMP TV2M1 TROUBLE CPB B0400 DEFECTIVE? JMP TV2M5 YES TV2M3 CPA CYPP DONE? RSS YES JMP TVP2M NO - CONTINUE JSB NORMI,I SET UP NORMAL STATUS JMP TVP2U,I TV2M1 EQU * JSB TV2M6 ISZ PLIMT TRY AGAIN? JMP TV2M2 YES CLA,INA ADA CYL TV2M5 ISZ TLIMT EXCESSIVE BAD TRACKS? JMP TV2M3 NO TV2M4 EQU * YES E125 JSB ERROR EXCESSIVE BAD TRACKS JMP OPDSN * TV2M6 NOP LDA SCPT ADA MM1 STA XXX1 LDA RHDS AND B377 A=SECTOR CPA XXX1 STARTED? JMP TV2M7 MAYBE NOT TV2M8 STA SECTR CMA,INA ADA SCPT STA TNUM JMP TV2M6,I TV2M7 CLB CPB SECTR STARTED YET? JMP TV2M6,I ASSUME NO JMP TV2M8 YES L7777 OCT 137777 * TVP2W LDB B123 DA STB COPRN JSB RQSAI,I GET DISC ADDRESS LDA RCYL PLACE LDB BUFAE ADDRESS STA B,I IN LDA RHDS READ INB BUFFER STA B,I JMP TP2I,I TVP2X LDB B122 NO STB COPRN JSB POLL ISSUE NOP COMMAND JMP TP2I,I TVP2Y JSB RQSAD,I RA STA BUFAE,I JMP TP2I,I RQSAD DEF RQSA M0000 OCT 140000 * HED S6 - SECTION 6 (OPDSN) ORG 12000B * TP1MI DEF TVP1M íûþú * * * TVP4 RD,RF,RW,VF,WD,WF * TVP4 NOP JSB OPNDI,I CHECK FOR ABORT LDA TVP4,I WD2 STA WCNT ISZ TVP4 LDA TVP4,I WD3 ISZ TVP4 JMP TP1MI,I TVP4G JSB READ TVP4C LDA TVP4,I JSB TP1GI,I CHECK STATUS JMP TVP4,I EXIT TVP4A JSB WRITE JMP TVP4C TVP4B LDA WCNT JSB CYCKI,I ISSUE VERIFY COMMAND JMP TVP4C TVP4D JSB RDFUL JMP TVP4C TVP4E EQU * JSB WFULL WRITE FULL SECTOR JMP TVP4C TVP4F JSB RDWVI,I JMP TVP4C RDWVI DEF RDWOV TVP4H LDA SECTR GET CURRENT SECTR ADA WCNT ADD SECTR COUNT LDB SCPT SUBTRACT NO. OF SECTORS/TRACK CMB,INB TVP4I ADA B SSA,RSS UNTIL SECTOR NO. IS NEG. JMP TVP4I CMB,INB ADD ON NO. OF SECTORS/TRACK ADA B TO OBTAIN SUM MODULO SECTORS/TRACK STA SECTR JMP TVP4,I RETURN TVP4J LDA HEAD GET CURRENT HEAD NO. ADA WCNT ADD AMOUNT OF INCREMENT TO HEAD LDB MHEAD PLACE NEG. OF NO. OF HEADS IN B REG. TVP4K ADA B OBTAIN NEXT HEAD SSA,RSS MODULO # OF HEADS JMP TVP4K FOR CURRENT UNIT CMB,INB ADA B STA HEAD STORE NEW HEAD NO. JMP TVP4,I TVP4L LDA CYL GET CURRENT CYL NO. ADA WCNT ADD AMOUNT OF INCREMENT TO CYL. LDB CYPP LOAD NO. OF CYL PER PACK CMB,INB TVP4M ADA B SSA,RSS IF RESULT IS STILL POSITIVE LOOP * TO SUBTRACT AGAIN JMP TVP4M CMB,INB GET NO. OF CYLS. PER PACK ADA B STA CYL OBTAIN NEW CYL MODULO NO. * OF CYL. ON PACK JMP TVP4,I <:66<ÿÿþú* * * TVP6 DB * TVP6 NOP JSB OPNDI,I CHECK FOR ABORT LDA TVP6,I WD2 LDB A RBL AND D7777 GET WORD COUNT CMA,INA NEGATE WORD COUNT STA WCNT SAVE WORD COUNT LDA BPTR GET BASE ADDRESS OF WRITE BUFFER STA LOCAL SSB JMP TVP6A SLB JMP TVP6V GO INCREMENT PATTERN TVP6B JSB RAND FILL BUFFER WITH RANDOM DATA JSB TVP6E JMP TVP6B TVP6A SLB =0 => CMA JMP TVP6Y GO FILL BUFFER WITH GIVEN PATTERN LDA A3000 CMA INSTRUCTION STA TVP6H JMP TVP6I TVP6V LDA TVP6J STA TVP6H TVP6I CLB TVP6Y ISZ TVP6 LDA TVP6,I TVP6C JSB TVP6E STORE IN BUFFER,CHECK FOR END SZB,RSS TVP6H NOP ***** CMA OR INA ***** JMP TVP6C TVP6E NOP STA LOCAL,I STORE A IN BUFFER ISZ LOCAL ISZ WCNT DONE? JMP TVP6E,I NO TVP6G ISZ TVP6 YES ISZ TVP6 JMP TVP6,I EXIT TVP6F SSB ISZ TVP6 JMP TVP6G TVP6J OCT 002004 * * * TVP8 SD * TVP8 NOP JSB OPNDI,I CHECK FOR ABORT LDB TVP8,I GET UNIT NO. OR STEP NO. * OR WORD COUNT ISZ TVP8 LDA TVP8,I GET INSTR. LENGTH AND OPCODE ISZ TVP8 AND B377 RETAIN OPCODE CPA B71 SEE IF IT IS LS JMP TP8A JUMP IF IT IS CPA B72 JMP TP8B LDA B PLACE UNIT NO. IN A REG. JSB UNXFI,I UPDATE DEVICE DEPENDENT TABLES JMP TVP8,I TP8A STB DSTEP JMP PT19I,I PT19I DEF POT19 TP8B STB XXX1 STORE NEG. WORD COUNT LDA BPTR GET WRITE BUFFER BASE ADDRESS STA XXX2 LDB BPTS GET READ BUFFER BASE ADDRESS TP8C LDA B,I GET VALUE FROM READ BUFFER STA XXX2,I PLACE IN WRITE BUFFER ISZ XXX2 INCREMENT WRITE BU÷þúFFER POINTER INB INCREMENT READ BUFFER POINTER ISZ XXX1 SEE IF HAVE XFERRED ALL THE VALUES JMP TP8C JMP TVP8,I * * * TVP9 ID * TVP9 NOP JSB OPNDI,I CHECK FOR ABORT LDA TVP9,I WD2 SSA IF DEFAULT THEN LDA WDPT LOAD WDPT STA WCNT ISZ TVP9 LDA TVP9,I STA WRSP STA SHTAS JSB WADRI,I WRITE ADDRESS LDA FOBIT STA SHTS2 LDA MM1 STA MASK2 TVP9A ISZ TVP9 ISZ TVP9 LDA TVP9,I JSB TP1GI,I CHECK STATUS JSB NORMI,I JMP TVP9,I EXIT * * * TVP10 SC * TVP10 NOP JSB OPNDI,I CHECK FOR ABORT JSB TP10A GET FIRST TWO VALUES STA SHTAS STB SHTS2 JSB TP10A GET NEXT TWO VALUES STA MASK1 STB MASK2 ISZ TVP10 POSITION POINTER JSB WCHK CHECK STATUS JSB NORMI,I SET UP NORMAL STATUS JMP TVP10,I TP10A NOP LDA TVP10,I ISZ TVP10 LDB TVP10,I ISZ TVP10 JMP TP10A,I * * * TVP13 HT * TVP13 NOP JSB OPNDI,I CHECK FOR ABORT LDA TVP13,I HALT CODE HLT 2 LDA XMCPU SZA,RSS SKIP IF IN MCPU MODE JSB STMSK ISZ TVP13 ISZ TVP13 JMP TVP13,I * * * TVP14 LP * TVP14 JSB OPNDI,I CHECK FOR ABORT JMP BPTO,I * * TVP15 RT * TVP15 NOP JSB OPNDI,I CHECK FOR ABORT LDA TVP15,I NUMBER OF TIMES TO REPEAT ISZ TVP15 CPA TVP15,I DONE? JMP TV15A YES ISZ TVP15,I ISZ TVP15 JMP TVP15,I JUMP TO LABEL TV15A CLA STA TVP15,I RESET COUNT ISZ TVP15 ISZ TVP15 ISZ TVP15 JMP TVP15,I * * TVP17 SM * TVP17 NOP JSB OPNDI,I LDA TVP17,I MASK ISZ TVP17 STA FLMSK JSB OMASK G…þú ISZ TVP17 JMP TVP17,I * * TVP18 RO * TVP18 NOP JSB OPNDI,I LDA TVP18,I STA WCNT WORD COUNT ISZ TVP18 LDA TVP18,I A = OFFSET JSB RWSTI,I READ WITH OFFSET LDA TVP18 STA TVP9 JMP TVP9A TP20A INB PROTECTED TP20B INB DEFECTIVE TP20C LDA B SPARE SZB,RSS ADB D4 RBR,RBR RBR STB MASK1 SET MASK FOR STAT-1 EQUAL TO ALL * DONT CARE EXCEPT S,P,OR D BIT CLB STB MASK2 ALL DONT CARES FOR STAT-2 STB SHTS2 EXPECTED STAT-2 = ALL ZEROES STB SHTAS EXPECTED STAT-1 = ALL ZEROES ADA SPDMP GET S,P,D MESSAGE POINTER LDA A,I LDB MM5 SET COUNTER TO MOVE 10 CHARS. INTO MESSAGE STB XXX2 LDB P141D STB XXX1 PLACE DESTINATION ADDRESS INTO XXX1 TP20D LDB A,I GET CHAR. PAIR TO BE MOVED STB XXX1,I STORE IN MESSAGE ISZ XXX1 UPDATE DESTINATION POINTER INA UPDATE SOURCE POINTER ISZ XXX2 JMP TP20D CLA,INA STA SPDVR SET S,P,D MESSAGE PROCESSING INDICATOR JSB WCHK SEE IF EVERYTHING IS OK CLA STA SPDVR JSB NORMI,I SET UP NORMAL STATUS JMP TV2I,I TV2I DEF TVP2,I ICHS NOP LDA CYL LDB P141A JSB DCIN2 INSERT CYL. NO. INTO MESSAGE LDA HEAD LDB P141C JSB DCIN1 PLACE HEAD NO. INTO MESSAGE LDA UNIT LDB P141E JSB DCIN1 PLACE UNIT NO. INTO MESSAGE JMP ICHS,I P141A DEF M141A P141C DEF M141C P141D DEF M141D P141E DEF M141E CPNT BSS 1 CSAVE BSS 1 EUNCT BSS 1 KUNIT BSS 1 CONTAINS NO. OF THE CONNECTED UNIT * IF ONLY ONE UNIT IS * CONNECTED NUMUN BSS 1 NO. OF UNITS CONNECTED P024A DEF JP24A P024B DEF JP24B P037A DEF JP37A P037B ¼ÅþúDEF JP37B P072A DEF JP72A P062A DEF JP62A P062B DEF JP62B P062D DEF JP62D P062C DEF JP62C P133A DEF J133A UENTI DEF UNENT PDSNI DEF PNDSN B132 OCT 132 B133 OCT 133 EUNTC BSS 1 FIRSP OCT 0 ABLNK ASC 1,A SPDMP DEF *+1 DEF SPRMS DEF DEFMS DEF PROMS SPRMS ASC 5, SPARE DEFMS ASC 5,DEFECTIVE PROMS ASC 5,PROTECTED TVP22 NOP JSB OPNDI,I CHECK FOR ABORT LDA TVP22,I GET INITIAL LOCATION STA XXX1 ISZ TVP22 LDA TVP22,I GET ENDING LOCATION STA XXX2 ISZ TVP22 LDA TVP22,I ISZ TVP22 GET ADDRESS OF NEXT XFER VECTOR LDB BPTR GET WRITE BUFFER ADDRESS AND B177 CPA B74 JMP TP22D CPA B75 =DW JMP TP22K CPA B76 =DR RSS JMP TP22E =TS,CP,TC LDB BPTS REPLACE WITH READ BUFFER ADDRESS IF DR TP22K ADB XXX1 STB XXX3 GET ABS. MEMORY LOC. TO START FROM TP22A LDA XXX1 LDB H147 JSB DCIN2 PLACE DECIMAL ADDRESS OF FIRST * WORD IN BUFFER LDA MM8 STA XXX4 INITIALIZE COUNTER FOR THIS LINE TP22B LDA XXX3,I GET VALUE TO INSERT INTO OUTPUT BUFFER LDB TH147 ADB XXX4 LDB B,I GET ADDR. AT WHICH TO INSERT NO. JSB CNVRT LDA XXX1 CPA XXX2 SEE IF EVERYTHING OUTPUT JMP TP22C OUTPUT THIS LAST LINE ISZ XXX1 INCREMENT INITIAL OFFSET ISZ XXX3 INCREMENT ABS. ADDRESS ISZ XXX4 INCREMENT LINE POINTER JMP TP22B GO INSERT NEXT VALUE LDA B147 JSB PRINT OUTPUT LINE OF VALUES JMP TP22A GO PREPARE ANOTHER WHOLE LINE TP22C LDB TH147 ADB XXX4 INB LDB B,I LDA B43 PLACE # IN MESSAGE STA B,I LDA B147 =yþú JSB PRINT OUTPUT LAST LINE JMP TVP22,I TP22D ADB XXX1 LDA XXX2 STA B,I JMP TVP22,I TP22E JSB SUR0I,I JMP TVP22,I SUR0I DEF SUR0 H147 DEF M147 DEF H147A DEF H147B DEF H147C DEF H147D DEF H147E DEF H147F DEF H147G DEF H147H DEF H147I TH147 DEF *-1 REINT NOP CCA ADA BILD SET POINTER TO ADDRESS OF LAST OPCODE ENTRY STA LOCNT JMP REIN2 REIN1 LDA LOCNT,I GET LAST OPCODE AND INSTRUCTION LENGTH ALF,ALF AND B377 GET INSTRUCTION LENGTH CMA,INA SUBTRACT FROM CURRENT VALUE TO GET ADA LOCNT PREV. OPCODE INSTRUCTION ADDRESS STA LOCNT REIN2 CMA,INA SEE IF WE HAVE LOOKED AT ALL ADA BPTO THE OPDSN INSTRUCTIONS SSA,RSS JMP REINT,I IF YES RETURN LDA LOCNT,I GET OPCODE AND B377 CPA B14 SEE IF IT IS IS INSTRUCTION RSS CPA D5 SEE IF IT IS A DS INSTRUCTION JMP REIN3 GO TO REINITIALIZE VALUES CPA B106 =PR RSS CPA B30 IS IT AN RT RSS IF IT IS AN RT INSTRUCTION , SKIP JMP REIN1 GO GET NEXT INSTRUCTION CLB LDA LOCNT ADA MM2 STB A,I RESET RETURN COUNTER TO ZERO JMP REIN1 GO LOOK AT NEXT INSTRUCTION REIN3 CCA ADA LOCNT LDB A,I GET INITIAL HEAD/SECTOR VALUE ADA MM3 STB A,I RESTORE HEAD/SECTOR ENTRY ADA D2 LDB A,I GET INITIAL CYL. VALUE ADA MM3 STB A,I RESTORE CYL. VALUE JMP REIN1 LOCNT BSS 1 PUT5C NOP CMA,INA SSA,RSS JMP PT1AI,I ERROR FOR ENTRY WAS NOT .GT. 0 CMA,INA STA WD2 JMP PUT5C,I ILFV ADA HEAD STA EM1A STORE FX OR VX IN ERROR MESSAGE LDA MHEAD CMA ADA BLNK0 Sþú STA EM1B STORE MAX HEAD NO. IN ERROR MESSAGE LDA EM1I STA PTMP JMP EERR CHCHS NOP LDB DISCK SZB JMP CHCHS,I LDA XXX1 CPA B54 IF CR COMMAND DONT CHECK CYL. JMP TVP1P LDA CYL SEE IF CYL NO. IS VALID LDB LASTC JSB CHK TVP1P LDA HEAD SEE IF HEAD NO. IS VALID LDB MHEAD CMB JSB CHK LDA SECTR SEE IF SECTOR NO. IS VALID CCB ADB SCPT JSB CHK LDA XXX1 RESTORE OPCODE JMP CHCHS,I CHK NOP SSA SEE IF NO. IS POSITIVE JMP PEM2 PRINT ERROR MESSAGE IF NOT CMA,INA ADA B SSA SEE IF .LE. MAX. PERMISSABLE VALUE JMP PEM2 PRINT ERROR MESSAGE IF NOT JMP CHK,I PEM2 LDA CODEE GET BASE ADDRESS OF OPDSN ASCII INSTR. CODES ADA XXX1 ADD ON OPCODE NO. LDA A,I GET ASCII INSTRUCTION STA EM2A LDA EM2BI STA PTMPA LDA EM2CI STA PTMPB LDA EM2DI STA PTMPC JSB PCHS PRINT C/H/S USED IN INSTRUCTION LDA LASTC LDB XXX1 CPB B54 LDA D1024 STA CYL LDA MHEAD PLACE MAX. VALUES FOR CYL., HEAD, SECTOR * INTO THE LOCS. CYL,HEAD,SECTR * FOR OUTPUTTING IN ERROR MESSAGE CMA STA HEAD CCA ADA SCPT STA SECTR LDA EM2EI STA PTMPA LDA EM2FI STA PTMPB LDA EM2GI STA PTMPC JSB PCHS LDA EM2I STA PTMP EERR LDA STYPE GET TYPE OF CURRENT ACTIVE UNIT ADA TYPTB ADD BASE ADDRESS OF TYPE INDEX TABLE LDA A,I GET INDEX TO USE IN TABLE LOOK-UP ADA ATYPE GET BASE ADDRESS OF ASCII TABLE LDA A,I GET ASCII CODE FOR DEVICE TYPE STA EM0A STORE IN MESSAGE LDB ABLNK G­1þúET ASC 1,A SSA IF B TYPE DRIVE ADB BIT8 CHANGE TO ASC 1,B STB EM0A+1 STORE IN MESSAGE LDA UNIT GET CURRENT UNIT NO. ADA BLNK0 CONVERT INTO AN ASCII BLANK ANDUNIT NO. STA EM0B STORE IN MESSAGE CLA STA ACTAD ACTAD = 0 IMPLIES THAT PRINT * ROUTINE IS TO TAKE * CONTENTS OF A REG. AS ACTUAL ADDRESS * OF MESSAGE LDA EM0I JSB PRINT LDA PTMP PRINT ILLEGAL INSTRUCTION JSB PRINT ISZ ACTAD JMP H55I,I PCHS NOP LDA CYL YES,CONVERT CYL. NUM. LDB PTMPA TO ASCII JSB DCIN2 AND STORE IN MESSAGE LDA HEAD CONVERT HEAD NO. TO ASCII LDB PTMPC JSB DCIN1 AND STORE IN MESSAGE LDA PTMPC,I ALF,ALF LDB A AND B377 IOR C7400 /X STA PTMPB,I LDA B AND P7400 IOR B57 X/ LDB PTMPB INB STA B,I LDA SECTR CONVERT SECTOR NUMBER TO ASCII LDB PTMPC JSB DCIN1 AND STORE IN MESSAGE JMP PCHS,I TVP1S ISZ TVP1I,I ISZ TVP1I,I ISZ TVP1I,I JSB CHCHS LDA CYL LDB XXX1 CPB D5 JMP TP1BI,I JMP TP1CI,I TP1BI DEF TVP1B TP1CI DEF TVP1C EM0I DEF EM0 TVP1I DEF TVP1 EM1I DEF EM1 EM2BI DEF EM2B EM2CI DEF EM2C EM2DI DEF EM2D EM2EI DEF EM2E EM2FI DEF EM2F EM2GI DEF EM2G EM2I DEF EM2 PTMP BSS 1 PT1AI DEF PUT1A H55I DEF H55 PTMPA BSS 1 PTMPB BSS 1 PTMPC BSS 1 EM0 ASC 15,EM0:ILLEGAL INSTRUCTION FOR 79 EM0A ASC 5,XXX UNIT EM0B ASC 2,XX# EM1 ASC 2,EM1: EM1A ASC 10,XX ONLY HEAD 0 - EM1B ASC 7,XX ARE VALID# EM2 ASC 2,EM2: EM2A ASC 2,XX EM2B ASC 2,XXXX EM2C ASC 2,/XX/ EM2D ASC 14,XX MAX LEGAL VALUES ARE EM2E ASC 2,XXXX EM…ƒþú2F ASC 2,/XX/ EM2G ASC 2,XX# HED HED0,HDINS HED0 JSB UHERI,I CLA STA UNIT START WITH UNIT 0 STA NUMUN HED1 LDB UNITC GET NO. OF UNITS IN UNIT TABLE CMB STB XXX1 STORE -(NO. OF UNITS IN UNIT TABLE+1) LDB UNITS STB XXX2 STORE BASE ADDRESS OF UNIT TABLE HED1A ISZ XXX1 SKIP IF HAVE LOOKED AT ALL ENTRIES * IN THE UNIT TABLE RSS JMP HED2 GO CHECK OUT NEXT UNIT LDB XXX2,I GET UNIT TABLE ENTRY CPA B SEE IF UNIT SELECTED WAS SAME AS * UNIT IN UNIT TABLE JMP HED1B GO SEE IF UNIT WAS CONNECTED ISZ XXX2 PREPARE TO LOOK AT NEXT UNIT TABLE ENTRY JMP HED1A HED1B ADA UTYPE LDA A,I GET TYPE FOR UNIT OUT OF TABLE CPA P7777 IF TYPE = ALL ONES THIS IMPLIES NOT CONNECTED JMP HED2 JUMP IF NOT CONNECTED ADA TYPTB LDA A,I STA PTYPE STORE PRESENT TYPE JSB HDPRT PRINT OUT UNIT,DRIVE TYPE AND HEADS CONNECTED ISZ NUMUN UPDATE NO. OF UNITS CONNECTED LDA UNIT PLACE UNIT IN KUNIT SO THAT IF ONLY STA KUNIT ONE UNIT IS CONNECTED, KUNIT WILL * CONTAIN IT HED2 ISZ UNIT PREPARE TO LOOK AT THE NEXT UNIT LDA UNIT CPA D8 HAVE WE LOOKED AT ALL THE UNITS JMP HED3 JUMP OUT OF LOOP IF LOOKED AT ALL UNITS JMP HED1 LOOP AGAIN TO LOOK AT NEXT UNIT HED3 JSB ASKI,I ASK IF WE WISH TO CHANGE HEAD TABLE JMP LOOPI,I EXIT IF DO NOT WANT TO CHANGE H132 CLA STA EUNTC CLEAR ENTERED UNIT COUNT FOR HEAD * TABLES TO CHANGE LDA NUMUN CPA D1 IF ONLY 1 UNITS HEAD TABLE TO CHANGE JMP HED8 THEN JUMP LDA B132 JSB PRINT PRINT MESSAGE ASKING FOR HEADS TO CHANGE JSB HIN ’#þú GET INPUT LINE HED4 JSB DCHAR GET UNIT NO. JMP HED5 ERROR OR DONE? JSB HDINS ENTERS UNIT INTO A TABLE OF UNITS WHOSE HEAD * TABLES ARE TO CHANGE. RETURNS * WITH EUNTC IN A REG. CPA D8 SEE IF 8 UNITS HAVE BEEN ENTERED YET JMP HED6 IF YES, THEN DO NOT LOOK ANY MORE JMP HED4 LOOP TO GET NEXT UNIT NO. HED5 LDB CCNT IF CCNT = 0 THEN ERROR DID NOT OCCUR SZB,RSS IF ZERO THEN INPUT WAS OK JSB HDINS ENTERS UNIT INTO A TABLE OF UNITS WHOSE HEAD * TABLES ARE TO CHANGE. LDA EUNTC GET COUNT FOR NO. OF UNITS TO CHANGE HEAD TABLES SZA,RSS ARE THERE ANY UNITS WHOSE HEAD TABLES MUST CHANGE JMP H132 MUST HAVE ATLEAST ONE ADA EUNBA STA EUNCT HED6 JSB SW2I,I CHECK TO SEE THAT BIT 2 IS SET LDA EUNTC SZA,RSS HAVE WE LOOKED AT ALL UNITS REQUESTED JMP LOOPI,I LEAVE LOOP IF WE HAVE LOOKED * AT ALL THE UNITS ADA MM1 DECREASE COUNT OF UNITS WHOSE HEAD TABLE NEEDS STA EUNTC TO CHANGE AND STORE RESULT CMA ADA EUNCT LDA A,I GET UNIT WHOSE HEADS ARE TO BE CHANGED HED9 STA UNIT ADA UTYPE ADD IN BASE ADDR. OF UNIT-TYPE TABLE LDB A,I GET DEVICE TYPE FOR GIVEN UNIT CPB P7777 IS THE UNIT CONNECTED? NO, IF TYPE=177777 JMP HED7 GO TO OUTPUT MESSAGE SAYING UNIT IS NOT CONNECTED ADB TYPTB ADD BASE ADDR. OF TYPE TABLE LDA B,I GET TABLE ENTRY ASSOC. WITH THIS TYPE STA PTYPE STORE ENTRY ASSOC. WITH THIS TYPE CLB STB FIRSP * STORE 0 IN FIRST INDICATING * THIS IS THE FIRST TIME THRU JSB HDSUB OUTPUT HEAD UNIT FOR THI[®<:6S UNIT AND GET CHANGES JMP HED6 LOOP TO PROCESS NEXT UNIT HED8 LDA KUNIT JMP HED9 HED7 LDA UNIT PLACE UNIT NO. IN THE MESSAGE SAYING THAT IT * WAS NOT CONNECTED. ADA B2060 STA P133A,I H133 LDA B133 JSB PRINT PRINT MESSAGE INDICATING THAT UNIT NOT CONNECTED JMP HED6 GO GET NEXT UNIT HDINS NOP SUBROUTINE TO PLACE UNITS WHOSE HEAD TABLES * ARE TO BE CHANGED INTO A TABLE * A REG = UNIT NO. ON ENTRY SSA SKIP IF THE UNIT NO. IS NOT NEG. JMP HDIN1 DONT ENTER INTO TABLE, UNIT NO. IS ILLEGAL ADA MM8 IS NO. LESS THAN OR EQUAL TO 7 SSA,RSS SKIP IF UNIT NO. IS LEGAL JMP HDIN1 DONT ENTER INTO TABLE, UNIT NO. IS ILLEGAL ADA D8 RESTORE UNIT NO. TO ORIGINAL VALUE LDB EUNBA BASE ADRR. OF THIS UNIT TABLE ADB EUNTC ADD IN NO. OF ENTRIES IN THE TABLE STA B,I PLACE UNIT NO. IN THE TABLE ISZ EUNTC INCREMENT COUNT FOR ENTRIES IN TABLE HDIN1 LDA EUNTC JMP HDINS,I RETURN TO CALLING ROUTINE WITH THE NO. OF dj<ÿÿþú HED HDPRT,HDSUB,HSTOR * ENTRIES IN TABLE IN A REG. HDPRT NOP SUBROUTINE TO PRINT OUT UNIT NO. AND HEADS * ASSOC. WITH THAT UNIT LDA UNIT JSB UNXFI,I ADA B2060 PLACE UNIT NO. IN THE MESSAGE STA P062D,I LDA PTYPE GET TYPE TO PLACE IN THE MESSAGE ADA ATYPE ADD BASE ADDR. OF ASCII TYPE TABLE LDA A,I GET ASCII FOR DEVICE TYPE STA P062C,I PLACE IN MESSAGE STRING LDB ABLNK GET ASC 1,A SSA IF B TYPE DRIVE CHANGE ADB BIT8 TO ASC 1,B LDA P062C INA STB A,I STORE IN MESSAGE LDA ASCZZ 0,0 STA P062A,I LDA B2060 BLANK,0 STA GLOB1 LDA P062B STA GLOB2 LDA MM10 HEADS/CYLINDER STA GLOB3 LDB HDONV HD1 LDA BB BLANK,BLANK SLB,RSS SKIP IF 1 JMP HD2 ISZ P062A,I LDA GLOB1 BLANK,N HD2 STA GLOB2,I ISZ GLOB2 ISZ GLOB1 RBR ISZ GLOB3 JMP HD1 LDA PDSNI,I STA GLOB2,I INSERT # INTO MESSAGE STREAM LDA B62 HEAD TABLE ... JSB PRINT JMP HDPRT,I HDSUB NOP LDA NUMUN IF ONLY ONE UNIT IS CONNECTED, THEN WE * JUST GAVE THE HEADS * THAT ARE CONNECTED FOR * THAT DRIVE SO DONT BOTHER * GIVING THEM AGAIN CPA D1 RSS HD5 JSB HDPRT LDA FIRSP SEE IF FIRST TIME THROUGH SZA,RSS IF = 0 THEN IS THE FIRST TIME THROUGH JMP H106 EQUALS 0, SO DO NOT ASK IF WISH TO CHANGE. * GO DIRECTLY TO ASK FOR HEADS JSB ASKI,I ASK IF WE WISH TO CHANGE JMP HDSUB,I RETURN IF NO OR EX >þúIT WAS ENTERED H106 LDA B106 YES,ENTER HEADS SEPARATED BY * COMMAS JSB PRINT JSB HIN CLA,INA STA FIRSP DISABLE INDICATOR CLA STA GLOB1 HD3 JSB DCHAR GET HEAD JMP HD4 ERROR OR DONE? JSB HSTOR JMP HD3 HD4 LDB CCNT SZB,RSS SKIP IF ERROR JSB HSTOR LDA PTYPE GET OFFSET ASSOC. WITH THIS DEVICE TYPE ADA THEAD ADD BASE ADDR. OF HEAD TABLE LDA A,I GET HEAD TABLE FOR THIS UNIT AND GLOB1 GET OUT VALID HEADS SZA,RSS JMP H106 MUST HAVE AT LEAST ONE LDB UNIT GET CURRENT UNIT NO. ADB HDON ADD BASE ADDR. OF HEAD TABLE STA B,I STORE NEW HEAD SEWLECTIONS IN HEAD TABLE JMP HD5 HSTOR NOP LDB D1 HSTR2 SZA,RSS JMP HSTR1 ADA MM1 RBL JMP HSTR2 HSTR1 LDA B IOR GLOB1 STA GLOB1 JMP HSTOR,I HED PUNIT,H34G PUNIT NOP SUBROUTINE TO OUTPUT UNIT TABLE LDA UNITC GET NO. OF UNITS IN UNIT TABLE LDB P037A JSB DCIN1 DEPOSIT IN MESSAGE LDB P037B LDA UNITC SZA,RSS SKIP IF UNIT TABLE IS NOT EMPTY JMP H36 JUMP IF UNIT TABLE IS EMPTY CMA,INA STA CSAVE LDA UNITS STA CPNT PUNA LDA CPNT,I GET UNIT ADA B2060 BLANK,0 STA B,I STORE IN MESSAGE INB ISZ CPNT ISZ CSAVE DONE? JMP PUNA NO H36 LDA C1440 #,BLANK STA B,I LDA B37 H37 JSB PRINT UNIT TABLE/X DRIVE(S);A,B... JMP PUNIT,I PUNT JSB PUNIT PRINT OUT CONTENTS OF UNIT TABLE JSB ASKI,I WISH TO CHANGE? JMP LOOPI,I GO SEE IF BIT 2 IS STILL SET H34 LDA B34 ENTER UNIT NUMBER(0-7) SEPARATED * BY COMMAS[eþú JSB PRINT JSB HIN INPUT FROM KEYBOARD JSB UHERI,I CLA STA UNITC NUMBER OF UNITS = 0 STA UENTI,I UNENT = BIT INDICATOR FOR UNITS ENTERED LDA UNITS STA GLOB3 POINTER FOR UNIT NUMBERS H34A JSB OCHAR GET CHARACTER JMP H34B ERROR OR DONE JSB H34G STORE AND CHECK JMP H34A LOOP TO LOOK AT THE NEXT UNIT H34B LDB CCNT WAS THERE AN ERROR OR ARE WE DONE SZB SKIP IF NO ERROR WAS MADE JMP H34 GO TO REQUEST UNIT NOS. AGAIN JSB H34G ENTER UNIT NO. INTO UNIT TABLE LDA UNITC SEE IF ANY UNITS ARE IN UNIT TABLE SZA SKIP IF NO UNITS IN UNIT TABLE JMP H34K JSB PUNIT PRINT OUT UNIT TABLE JMP H34 H34K LDA UNITS STA XXX1 LDB UENTI,I GET UNIT NOS. ENTERED, BIT INDICATOR CLA H34P SLB SKIP IF BIT NOT SET JMP H34N H34R BRS SHIFT TO LOOK AT NEXT BIT INA INCREASE UNIT COUNT BY ONE SZB EXIT IF HAVE LOOKED AT ALL THE BITS * THAT ARE SET JMP H34P GO LOOK AT NEXT BIT LDA UNITA GET FIRST UNIT IN UNIT TABLE STA UNIT JMP PUNT H34N STA XXX1,I STORE NEW NO. IN UNIT TABLE ISZ XXX1 JMP H34R H34G NOP SUBROUTINE TO CHECK THE VALIDITY OF UNIT * NOS. ENTERED AND PLACE THEM * INTO UNIT TABLE IF OK. STA UNIT STORE UNIT NO. ENTERED ADA MM8 SEE IF UNIT NO. LESS THAN 8 SSA SKIP IF NO. NOT LESS THAN 8 JMP H34I JSB H31 OUTPUT ERROR MESSAGE 31 (UNIT X NOT READY) JMP H34G,I RETURN TO CALLING ROUTINE H34I ADA D8 RESTORE UNIT NO. TO A REG. IOR B2060 CONVERT TO ASCII FOR MESSAGE STRI’sþúNG STA P072A,I INSEERT INTO MESSAGE STATC JSB OSTAT GET STATUS AND B3 NOT READY BIT SET? SZA,RSS SKIP IF UNIT NOT READY OR BUSY JMP H34J E72 JSB ERROR OUTPUT ERROR MESSAGE JMP H34G,I RETURN TO CALLING ROUTINE H34S LDA UNIT JMP STATC H34J LDA UNIT GET UNIT NO. ENTERED CLB,INB CMA,INA - UNIT NO. ENTERED H34L SZA,RSS JMP H34M ENTER IN BIT TABLE RBL ROTATE BIT INDICATOR ONE POSITION INA JMP H34L LOOP TO SEE IF NEXT UNIT NO. POSITION H34M LDA UENTI,I AND B SZA,RSS ISZ UNITC LDA UENTI,I IOR B STA UENTI,I JMP H34G,I CYLCH JSB UHERI,I CLB STB WTYPE CLEAR WRITE TYPE LDB CTYPE GET CURRENT TYPE INDICATOR STB CTYPT TYP3 SLB SEE IF THIS TYPE IS PRESENT JMP TYP5 JUMP IF THIS TYPE IS PRESENT TYP4 BRS PREPARE TO LOOK AT NEXT TYPE ISZ WTYPE UPDATE WRITE TYPE INDICATOR SZB HAVE WE LOOKED AT ALL DIFFERENT TYPES JMP TYP3 MORE TYPES TO LOOK AT, LOOP AGAIN JMP LOOPI,I HAVE LOOKED AT ALL TYPES,EXIT FROM LOOP TYP5 STB CTYPT SAVE CURRENT TYPE INDICATORS JSB SW2I,I LDA CYLTB BASE ADDRESS OF CYL. TABLE POINTERS TABLE ADA WTYPE ADD CURRENT TYPE LDA A,I GET BASE ADDR. FOR CYL. TABLE FOR TYPE D STA TRT STORE IN TRACK TABLE JSB CYLT GO ASK IF CYL. TALE FOR THIS TYPE * OF DEVICE SHOULD BE CHANG LDB CTYPT GO SEE IF MORE DEVICE TYPES ARE LEFT JMP TYP4 CYLT NOP CTD EQU * PREPARE CYLINDER TABLE LDA P024A INITIALIZE STA CPNT POINTER KVþú LDA MM12 -12 STA CSAVE HED CLOOP CLOOP LDA CSAVE ADA TRT CYLINDER TABLE POINTER LDA A,I JSB DECIN CONVERT NUMBER LDA CVT1 USE RIGHT AND B377 CHARACTER ALF,ALF OF LDB A CVT1 LDA CVT2 AND AND P7400 LEFT ALF,ALF CHARACTER IOR B OF CVT2 STA CPNT,I FOR FIRST ISZ CPNT WORD LDA CVT2 USE AND B377 RIGHT ALF,ALF CHARACTER IOR B54 OF CVT2 STA CPNT,I AND ISZ CPNT ASCII COMMA ISZ CSAVE FOR SECOND WORD JMP CLOOP LDB P024A REMOVE ADB D23 LAST LDA B,I COMMA AND P7400 IOR B40 STA B,I LDA ATYPE BASE ADDR. OF ASCII DEVICE TYPE TABLE ADA WTYPE ADD OFFSET FOR THIS TYPE OF DEVICE LDA A,I GET ASCII CODE FOR THIS TYPE OF DEVICE STA P024B,I LDB ABLNK GET ASC 1,A SSA IF B TYPE RIVE CHANGE ADB BIT8 TO ASC 1,B LDA P024B INA STB A,I STORE IN MESSAGE H24 LDA B24 CYLINDER TABLE CONTENTS JSB PRINT JSB ASKI,I WISH TO CHANGE? JMP CYLT,I H26 LDA MM12 STA CSTOR LDA B26 YES,ENTER CYL. NOS. * SEPARATED BY COMMAS JSB PRINT JSB HIN INPUT FROM KEYBOARD CTS JSB DCHAR GET DECIMAL VALUE JMP CTS1 ERROR OR DONE? JSB CYLOK JMP CTS CONTINUE CTS1 LDA CCNT SZA,RSS SKIP IF ERROR JSB CYLOK JMP CTD HED SOFEX SOFEX NOP LDA SOFEX,I GET MESSAGE NO. TO BE OUTPUT STA MESGN SAVE FOR FUTURE REFERENCE ISZ SOFEX LDA SOFEX,I GET ADDRESS OF VARIABLE TO BE UPDATED þú STA VARLC ISZ SOFEX LDB SOFEX,I GET LOC. TO INSERT "NOT" INTO IN * MESSAGE IF NECESSARY STB NOTLC ISZ SOFEX SOFE1 LDA VARLC,I GET VALUE OF INDICATOR VARIABLE LDB NOTLC GET LOC. OF "NOT" IN CHAR. STRING SZA,RSS IF INDICATOR = 0 IMPLIES "NOT" JMP SOFE2 CLA INSERT NULLS RATHER THEN "NOT" STA B,I JMP SOFE3 SOFE2 LDA E7117 =NO INSERT NOT INTO MESSAGE STA B,I LDA F2040 =T SOFE3 INB STA B,I H134 EQU * H126 LDA MESGN GET NO. OF MESSAGE TO BE OUTPUT JSB PRINT OUTPUT MESSAGE JSB ASKI,I ASK IF WISH TO CHANGE JMP SOFEX,I LDB VARLC LDA VARLC,I IF VARIABLE WAS TRUE MAKE IT FALSE, XOR D1 IF IT WAS FALSE MAKE IT TRUE STA VARLC,I STORE RESULT CPB SOFTA SEE IF IT WAS THE SOFT FLAG STA TSOFI,I JMP SOFE1 HED ADDO,STMSG * * ROUTINE TO PRINT OUT THE CURRENT DISC ADDRESS * ORG 14000B PTPAI DEF PTMPA PTPBI DEF PTMPB PTPCI DEF PTMPC PCHSI DEF PCHS P051K DEF JP51K ADDO NOP LDA XMCPU SZA SKIP IF NOT MCPU MODE JMP ADDO,I RETURN IF MCPU MODE LDA P051A STA PTPAI,I LDA P051B STA PTPBI,I LDA P051C STA PTPCI,I JSB PCHSI,I LDA WCNT CONVERT WORD COUNT TO ASCII JSB DECIN LDA CVT3 WORD 1 LDB P051G MESSAGE POINTER STA B,I INB LDA CVT1 WORD 2 STA B,I INB LDA CVT2 WORD 3 STA B,I LDA UNIT CONVERT UNIT NUMBER TO ASCII LDB P051H AND STORE JSB DCIN1 IN MESSAGE LDA RSFLG SYNDROME? ADA ABLCK DON'T REQUEST ADDRESS? SZA JMP AD9 YES ISZ ABLCK DON'T REENTER ADDO JSB RQSAI,I NO-GET ADDRESS JSB ST°ÿþúMSG STUFF MESSAGE AD9 CLA STA ABLCK STA RSFLG RESET FLAG LDA STAS2 AND FAULT SZA,RSS SKIP IF DRIVE FAULT JMP AD2 JSB FATLI,I POSSIBLY REPORT FATAL ERROR ISZ CAUTN SET CAUTION JMP H51 AD2 LDA LIMIT CPA MM1 LIMIT = -1? JMP AD5 YES JSB ERRA NO - STATUS OK? SZA SKIP IF YES JMP AD6 LDA DERR BUFFER ERRORS? SZA SKIP IF NO AD5 JSB FATLI,I POSSIBLY REPORT FATAL ERROR H51 LDA OLCYL GET PREV. CYL NO. LDB P051K JSB DCIN2 INSERT OLD CYL. INTO MESSAGE LDA B51 JSB FPRNT WORD COUNT XXXX UNIT X JSB ERHTI,I ALLOW HALT CLA STA PMASK STA FFLAG JMP ADDO,I NO AD6 LDA STAS1 AND B7400 CPA A7400 CORRECTABLE DATA ERROR? RSS YES JMP H51 NO LDA COPRN CPA B22 VERIFY? JMP H51 YES LDA DERR SZA DERR = 0? CPA DERR1 NO - DERR=DERR1? JMP H51 YES JMP AD5 NO * P051A DEF JP51A P051B DEF JP51B P051C DEF JP51C P051D DEF JP51D P051E DEF JP51E P051F DEF JP51F P051G DEF JP51G P051H DEF JP51H RSFLG OCT 0 * STMSG NOP STUFF MESSAGE LDA RCYL LAST CYLINDER LDB P051D JSB DCIN2 LDA RHDS ALF,ALF AND B377 LAST HEAD LDB P051F JSB DCIN1 LDA P051F,I ALF,ALF LDB A AND B377 IOR C7400 STA P051E,I LDA B AND P7400 IOR B57 LDB P051E INB STA B,I LDA RHDS AND B377 LAST SECTOR LDB P051F JSB DCIN1 JMP STMSG,I HED PCOPR * PCOPR * PRINT CURRENT OPERATION * PCOPR EQU * LDB PMASK SZB JMP PCOP,I ISZ PMASK JSB PRNI,I GET MESSAGE LÆ·þúENGTH AND ADDRESS JMP PCOP,I TELEPRINTER IS SUPPRESSED ARS CONVERT LENGTH CMA,INA FROM CHARACTERS STA LOCAL TO WORDS LDA PCOPC FINAL MESSAGE STA PSAVE ADDRESS JSB PMOVE MOVE FIRST HALF OF MESSAGE LDA STEPN DEPOSIT LDB PCOPE STEP NUMBER IN JSB DCIN1 SECOND HALF OF MESSAGE LDA MM7 LENGTH OF SECOND STA LOCAL HALF IS 7 WORDS LDB PCOPF ADDRESS OF SECOND HALF JSB PMOVE MOVE SECOND HALF OF MESSAGE LDA B61 JSB FPRNT OUTPUT MESSAGE JMP PCOP,I * PMOVE NOP B = ADDRESS OF DATA TO MOVE PMV EQU * PSAVE = WHERE TO MOVE IT LDA B,I LOCAL = NUMBER OF WORDS TO MOVE STA PSAVE,I ISZ B ISZ PSAVE ISZ LOCAL DONE? JMP PMV NO JMP PMOVE,I YES PCOPC DEF *+1 M61 BSS 23 PCOPF DEF *+1 ASC 05, IN STEP PCOPD BSS 1 ASC 01,# PCOPE DEF PCOPD HED ERHLT,ERCRD * * ERHLT * TESTS HALT BIT (BIT14) AFTER ERROR * ERHLT NOP JSB SWR TTY AVAILABLE AND A4400 AND SPACES WANTED? SZA,RSS SKIP IF NO JSB SPACE OUTPUT SPACE JSB ERCRD JSB SWR AND BIT14 SZA HALT? JMP ERHLT,I NO LDA ELOC YES HLT 1 ISZ RMASK JMP ERHLT,I P001A DEF J001A * * RECORD ERROR AND POSSIBLY REMOVE UNIT * ERCRD NOP LDA STEPN CPA D90 OPDSN? JMP ERCRD,I YES - DON'T COUNT ERRORS ISZ ALLE COUNT ALL ERRORS NOP AVOID SKIP ISZ ERR INCREMENT ERROR COUNT NOP AVOID SKIP LDA UNIT AND D7 ADA PUEI,I ISZ A,I INCREMENT UNIT NOP ERROR COUNTER LDA ERR CPA MAX = 20 IN DEFAULT CASE RSS REMOVE UNIT JMP ERCRD,I JSB SLNTI,Å.þúI SELECT WORST UNIT LDA UNIT ADA ASCZZ STA P001A,I LDA B1 H1 JSB FPRNT UNIT X REMOVED FROM UNIT TABLE LDA UNITC DECREMENT STA LOCAL NUMBER OF ADA MM1 UNITS STA UNITC IN TABLE SZA ANY LEFT? JMP RCRDA YES RCRDB CLA,INA STA UNITC HLT 5 JMP DONE RCRDA LDA UNITA MOVE UNIT TABLE STA WD1 INTO LDA UNITA+1 TEMPORARY STA WD2 STORAGE LDA UNITA+2 STA WD3 LDA UNITA+3 STA WD4 LDA UNITA+4 STA WD4+1 LDA UNITA+5 STA WD4+2 LDA UNITA+6 STA WD4+3 LDA UNITA+7 STA WD4+4 LDA LOCAL NUMBER OF CMA,INA UNITS IN STA LOCAL TABLE LDB UNITS TO ADDRESS LDA WD0 INA STA GLOB1 FROM ADDRESS CLA STA UNITC REMOVE ALL OCCURANCES OF UNIT RCRDC EQU * LDA GLOB1,I CPA UNIT REMOVE ? JMP RCRDD YES STA B,I NO INB ISZ UNITC RCRDD EQU * ISZ GLOB1 ISZ LOCAL DONE? JMP RCRDC NO LDA UNITC ANY LEFT SZA,RSS JMP RCRDB NO CLC 0,C SC40 CLF SC JMP RCRDE,I RESTART RCRDE DEF RSTRT PUEI DEF PUE SLNTI DEF SLUNT HED COMMD,DCHK,EE47,DCEND,DDUMP,RJECT * COMMD NOP SC01 CLC SC INHIBIT ATTENTION SC02 SFS SC DID ONE SNEAK THROUGH? JMP CL2 NO STA LOCAL YES-SAVE A AND REPORT IT LDA XMCPU SZA SKIP IF NOT MCPU MODE JMP SC50 JUMP IF MCPU MODE * CLEAR UNEXPECTED INTERRUPT BY GETTING STATUS AND ISSUING NOP LDA BLOCK SZA JMP CL3 STILL CLEARING PREVIOUS ATTENTION ISZ BLOCK PREVENT ENDLESS LOOP LDA LOCAL STA COMDA SAVE A STB COMDB SAVE B STB COPRN LDA COMMD °Íþú STA COMDC SAVE RETURN ADDRESS LDA COMDI,I SAVE COMD STA COMDF RETURN ADDRESS LDA STAT SAVE STAT STA COMDD RETURN ADDRESS LDA POLL SAVE POLL STA COMDE RETURN ADDRESS JSB STAT GET STATUS LDA STAS1 LDB P042B JSB CNVRT LDA UNIT STA COMDG LDA STAS1 AND B377 JSB UNXFI,I STORE UNIT NO. AND UPDATE TABLES FOR NEW UNIT ADA B2060 STA P042A,I JSB STAT GET NEW STATUS-2 LDB P042C JSB CNVRT STUFF INTO MESSAGE JSB PCOP PRINT CURRENT OPERATION E42 JSB ERROR UNIT XX ATTENTION SET-STATUS IS * YYYYYY AND ZZZZZZ LDA ABLCK OK TO CALL ADDO? SZA,RSS SKIP IF NO JSB ADDOI,I JSB POLL LDA COMDG JSB UNXFI,I STORE UNIT NO. AND UPDATE TABLES FOR NEW UNIT LDA COMDC STA COMMD RESTORE RETURN LDA COMDD RESTORE STAT STA STAT RETURN ADDRESS LDA COMDE RESTORE POLL STA POLL RETURN ADDRESS LDA COMDF RESTORE COMD STA COMDI,I RETURN ADDRESS CLA STA BLOCK UNBLOCK LDA COMDA RESTORE A LDB COMDB RESTORE B SC43 CLC SC RSS CL3 LDA LOCAL CL2 STB COPRN CPA SFMSK IS IT STMSK? JMP CL4 YES CPA CLRD IS IT COLD LOAD READ? JMP CL6 YES IOR UNIT XOR HOLD RSS CL4 IOR FLMSK CL7 STA BXLR JMP COMMD,I CL6 STA BXLR LDA HEAD ALF,RAL RAL IOR SECTR IOR BXLR JMP CL7 * SC50 CLF SC CLEAR UNEXPECTED ATTENTION LDA LOCAL GET CURRENT COMMAND LDB P145A GET ADDRESS AT WHICH TO INSERT INTO MESSAGE JSB O2ASC,I CONVERT TO ASCII LDA B145 JSB PRINT PRINTS MESSAGE JMP CL3 P145A DEF M145A B145vŽB@< OCT 145 COMDA BSS 1 COMDB BSS 1 COMDC BSS 1 COMDD BSS 1 COMDE BSS 1 COMDF BSS 1 COMDG BSS 1 CL5 DEF *+1 BSS 3 BXLR BSS 1 P042A DEF JP42A P042B DEF JP42B P042C DEF JP42C _ÂBÿÿþú* * * * THE DCHK ROUTINE IS CALLED AFTER A READ. * IT COMPARES THE READ AND WRITE BUFFERS. * * THE WCHK ROUTINE IS CALLED AFTER A WRITE. * IT CHECKS ONLY THE STATUS. * THE WRERX AND WRERZ ENTRIES ARE USED BY THE * OTHER ROUTINES TO DO THEIR STATUS CHECK. * * * THE PCHK ROUTINE IS CALLED AFTER A READ. * IT COMPARES THE READ BUFFER TO A PATTERN WORD. * * THE RCHK ROUTINE IS CALLED AFTER A READ. * IT CHECKS THE CHECKSUMMED SECTOR IN * THE READ BUFFER. * * THEY COMPARE THE CURRENT STATUS ( STAS1 AND STAS2) * WITH THE PREDICTED STATUS(SHTAS AND SHTS2) BY * CALLING THE ERRAN ROUTINE. * * * THE ROUTINES GIVE A NORMAL RETURN IF NO ERRORS ARE * DETECTED. IF AN ERROR OCCURS, THE ROUTINES GENERATE AN * ERROR MESSAGE AND CHECK FOR HALT OR CONTINUE. * * DLCAL BSS 1 DCHK NOP TO CHECK FOR ERRORS IN * READ AND TO COMPARE READ * AND WRITE BUFFERS LDA DCHK LOAD RETURN ADDRESS STA WCHK SAVE FOR POSSIBLE CALL JSB DSOKI,I CHECK D AND S BITS SZA,RSS ABORT? JMP WRERX YES CLA STA DFRST FIRST TIME STA DERR ERROR FLAG DCLB EQU * * * * COMPARES THE BUFAD AND BUFAE BUFFERS USING WCNT * FOR BUFFER LENGTH. * * LDA TNUMP LDB STEPN CPB D90 OPDSN? RSS YES LDA D3 STA NUMP PRINT FIRST THREE ERRORS LDA M32K SEE IF 32K OF MEMORY SZA,RSS SKIP IF 32K OF MEMORY JMP DCLL CLA IS USED FOR 32K OF MEMORY SO LDB S2S7I THAT 48-BIT PATTERN WILL START CPB DCHK ON CORRECT WORD LDA SECTR RAL DCLL ADA BUFAD STA TEMP1 LDA BUFAE LOAD SECOND BUFFER ADDRESS STA TEMP2 LDB NOWDS LDA DMAWC ACTUAL WORDS TRANSFERRED !wþú SZB,RSS SKIP IF INCOMPLETE TRANSFER LDA WCNT SZA,RSS JMP WRERX STOP IF ZERO STA DLCAL SAVE ACTUAL WORD COUNT CMA,INA STA TEMP3 SET ISZ COUNTER DCM EQU * LDA TEMP1,I CPA TEMP2,I JMP DCL EQUAL COMPARE * LDA TEMP3 ADA DLCAL GENERATE RELATIVE LOCATION JSB EE47 PRINT MESSAGE 47 SZA,RSS JMP DCLA IF 1 LEAVE AT 1 AND EXIT STA NUMP * * DCL EQU * ISZ TEMP1 COUNT UP BUFFER ISZ TEMP2 ADDRESSES AND ISZ TEMP3 CHECK FOR COMPLETION JMP DCM LDA DERR ANY ERRORS? SZA JMP DCLA YES LDA DFRST NO - FIRST TIME? SZA JMP WRERX NO LDA STAS1 YES AND B7400 CPA A7400 JMP DCLA JMP WRERX BUFFERS OKAY, NORMAL STATUS CHECK P047A DEF JP47A P047B DEF JP47B P047C DEF JP47C S2S7I DEF S2SB7 DCLA EQU * JSB DCEND JMP DCLB * * EE47 * FORMAT AND PRINT MESSAGE 47 * EE47 NOP LDB P047A LOAD POINTER JSB DCIN2 CALL CONVERT ROUTINE JSB FSOFT IS IT SOFT AND FIRST TIME? JMP EE47A YES JSB PCOP LDA TEMP1,I LOAD WHAT WORD SHOULD BE LDB P047C LOAD POINTER JSB CNVRT CALL CONVERT AND MOVE ROUTINE LDA TEMP2,I LOAD WHAT WORD ACTUALLY WAS LDB P047B LOAD POINTER JSB CNVRT CONVERT TO ASCII E47 JSB ERROR DATA WORD X IS Y SHOULD BE Z EE47A ISZ DERR LDA NUMP DECREMENT ADA MM1 PRINTOUT COUNT JMP EE47,I * * DCEND * USED BY DCHK AND PCHK * DCEND NOP LDA DFRST SZA JMP DCLC LDA DERR LDB STEPN CPB D41 STEP NUMBER = 41? JMP DCLO YES - EXIT ISZ DFRST STA DERR1 JSB FXITI,I LDA STAS1 AND B7400 CPA A7400 CORRECTED? JMP DCEND,I YES M?þú JSB ISOFT IS IT SOFT? JMP WRERX YES LDA DERR SZA,RSS JMP WRERX JMP WRERV NO DCLC EQU * LDA DERR CPA DERR1 ANY MORE ERRORS? JMP DCLP NO DCLV JSB PCOP JSB DDUMP DUMP SYNDROME JMP WRERV FINISH REPORT DCLP JSB ISOFT IS IT SOFT? JMP WRERX YES LDA B116 JSB FPRNT DATA ERROR CORRECTED JMP WRERV DCLO SZA ANY ERROR? JMP DCLV YES JMP WRERX NO * * DDUMP * DUMPS SYNDROME * DDUMP NOP LDA STAS1 AND B7400 CPA A7400 JSB B11CK TTY ON? JMP DDUMP,I LDA SYNI STA DCZ3 LDA MM7 STA DCZ4 DCZ1 LDA DCZ3,I LDB CL5 JSB CNVRT LDA D6 LDB CL5 JSB SIOFO,I ISZ DCZ3 ISZ DCZ4 JMP DCZ1 JMP DDUMP,I DCZ3 BSS 1 DCZ4 BSS 1 * * * RJECT NOP SC06 SFC SC REJECT? JMP RJ1 NO-RETURN JSB CUNEN JMP H34SI,I JSB PCOP YES-REPORT IT LDA BXLR LDB P073A JSB CNVRT E73 JSB ERROR COMMAND REJECTED LDA XMCPU SZA SKIP IF NOT MCPU JMP RJ1 JUMP IF MCPU MODE LDA BXLR AND B7400 =17400 CPA STATS LAST COMMAND = STATUS? JMP RJ2 YES - DON'T LOOP LDA RJECT SAVE RETURN STA RJ3 ADDRESS JSB STAT GET STATUS LDA RJ3 RESTORE RETURN STA RJECT ADDRESS RJ2 JSB ERRNI,I CHECK FOR ERRORS SZA JSB PRHDI,I REPORT ERROR JSB CBLKI,I CALL ADDO IF OK JMP RJECT,I RJ1 ISZ RJECT JMP RJECT,I RJ3 BSS 1 P073A DEF JP73A TSATI DEF TSTAT HED ERRAN,ERRA,ISOFT,FSOFT ERRAN NOP JSB ERRA SZA,RSS SKIP IF PROBLEM JMP ERRAN,I LDA SPDVR SZA JMP ERRAN,I JSB TSATI,I SEE IF EXPANDED T;ÍþúERM. STATUS WANTED ERR1 LDA P064E ADDRESS TO STOP CONVERSION AT LDB D2 JSB LNGSH SEE IF EXPANDED FORM DESIRED AND SETS * VALUES ACCORDINGLY LDA STAS1 SET LDB P064A UP JSB BINRI,I MESSAGE DEF MM1 64 LDA P064F ADDRESS TO STOP CONVERSION AT LDB D4 JSB LNGSH SEE IF EXPANDED FORM DESIRED AND * SETS VALUES ACCORDINGLY LDA STAS2 LDB P064B JSB BINRI,I DEF MM1 LDA P064G ADDRESS TO STOP CONVERSION AT LDB D2 JSB LNGSH SEE IF EXPANDED FORM DESIRED AND SETS * VALUES ACCORDINGLY LDA SHTAS IOR UNIT LDB P064C JSB BINRI,I DEF MASK1 LDA P064H ADDRESS TO STOP CONVERSION AT LDB D4 JSB LNGSH SEE IF EXPANDED FORM DESIRED AND SETS * VALUES ACCORDINGLY LDA UNIT CPA D11 LDA EXTRA ADA UTYPE ADD TO UNIT NO. BASE ADDR. OF UNIT TYPE TABLE LDA A,I GET TYPE ASSOC. WITH UNIT AND B77 ALF,ALF PLACE IT IN UPPER BYTE RAL IOR SHTS2 OR IN THE REST OF EXPECTED STATUS-2 WORD LDB P064D JSB BINRI,I DEF MASK2 LDA STAS1 AND B7400 CPA A7400 DATA ERROR? RSS CPA A4000 JMP ERR3 YES - POSSIBLY RECORD ERR4 JSB ISOFT IS IT SOFT? JMP ERR2 YES E64 LDA B64 STATUS IS X AND Y STA ELOC SHOULD BE V AND W JMP ERRAN,I A MUST BE NON ZERO ERR3 LDB A SAVE ACTUAL STATUS LDA SHTAS AND B7400 EXPECTED STATUS CPA B THIS EXPECTED? JMP E64 YES - DON'T COUNT AS DATA ERROR JSB RCRDI,I NO - RECORD DATA ERROR LDA STOVR SECOND TIME OVERRIDE? SZA JMP E64 YES JSB ISS7þúOFT IS IT SOFT? JSB ERCRD YES - RECORD ERROR JMP ERR4 ERR2 EQU * JSB DMRFC INCOMPLETE TRANSFER OK CLA JMP ERRAN,I P064A DEF JP64A P064B DEF JP64B P064C DEF JP64C P064D DEF JP64D P064E DEF JP64E P064F DEF JP64F P064G DEF JP64G P064H DEF JP64H BINRI DEF BINRY RCRDI DEF RECRD+D * ERRA NOP LDA SHTAS EXPECTED STATUS WORD 1 IOR UNIT XOR STAS1 DISC STATUS WORD 1 AND MASK1 SZA JMP ERRA1 PROBLEM LDA UNIT CPA D11 LDA EXTRA ADA UTYPE ADD TO UNIT NO. BASE ADDR. OF UNIT TYPE TABLE LDA A,I GET TYPE ASSOC. WITH TABLE ALF,ALF PLACE IT IN UPPER BYTE RAL IOR SHTS2 OR IN THE REST OF EXPECTED STATUS-2 WORD XOR STAS2 DISC STATUS WORD 2 AND MASK2 JMP ERRA,I ERRA1 JSB DSOKI,I CHECK D AND S BITS JMP ERRA,I * LNGSH NOP STA FINSH SAVE ADDRESS TO STOP STRING TRANSFER AT LDA LONGF SEE IF EXPANDED FORM WANTED SZA,RSS CLB,INB STB TYPE SAVE INDICATOR FOR LONG OR SHORT FORM COLUMN JMP LNGSH,I ISOFT NOP IS IT SOFT? LDA SOFT SUPPRESS SOFT ERRORS? SZA SKIP IF YES JMP ISFT1 NO - PRINT ERROR LDA STAS1 PREDICT SERIOUSNESS AND B7400 LDB MM1 CPB LIMIT LIMIT = -1 JMP ISFT1 YES CPA A7400 CORRECTABLE? JMP ISOFT,I YES CPA A4000 NO - UNCORRECTABLE? RSS YES ISFT1 ISZ ISOFT NO - PRINT ERROR JMP ISOFT,I * FSOFT NOP LDA DFRST FIRST TIME? SZA JMP FSFT1 NO JSB ISOFT IS IT SOFT? JMP FSOFT,I YES FSFT2 ISZ FSOFT JMP FSOFT,I FSFT1 ISZ STOVR SECOND TIME OVERRIDE JMP FSFT2 HED ADDER * ADDER * ADDRESS ERROR * ADDER NOP LDA WCNT SAVE STA AWCNT WCNT uvþúLDA D138 STA WCNT WORD COUNT = 138 JSB RDFUL READ FULL SECTOR LDB BUFAE FORM INB BUFFER STB BUFPT POINTER LDA B,I GET CYLINDER WORD LDB P075A JSB CNVRT OUTPUT IN OCTAL JSB PRD1I,I NO LDA BUFPT,I JSB PSETI,I NO LDB P075B JSB DCIN2 OUTPUT IN DECIMAL ISZ BUFPT LDA BUFPT,I GET HEAD/SECTOR WORD AND P7400 IOR UNIT JSB PSETI,I NO LDB P075C JSB CNVRT OUTPUT IN OCTAL LDA OLCYL GET OLD CYLINDER LDB P075D JSB DCIN2 OUTPUT IN DECIMAL E75 JSB ERROR PRINT MESSAGE JSB PRD2I,I NO LDA AWCNT RESTORE STA WCNT WORD COUNT LDA STEPN CPA D85 MULTIPLE SEEK SECTION? JMP ADDER,I YES - DON'T FIX YET JSB SEEKH RECALIBRATE JSB FSEEK ISZ NOWDS REPEAT IF WRITE JMP ADDER,I AWCNT BSS 1 BUFPT BSS 1 P075A DEF JP75A P075B DEF JP75B P075C DEF JP75C P075D DEF JP75D PRD1I DEF PRCD1+D PSETI DEF PSET+D PRD2I DEF PRCD2+D HED ENSTP * END STEP * ENSTP NOP CLA STA RSFLG LDA COPRN SAVE STA OLCOP COPRN JSB HELPI,I JMP END4 LDA OLCOP OLD COPRN CPA B36 INITIALIZE DATA? RSS YES CPA B45 WRITE? RSS CPA B46 READ? RSS CPA B22 VERIFY? RSS CPA B71 READ WITH OFFSET? RSS CPA B115 COLD LOAD READ? RSS CPA B3 READ FULL SECTOR? RSS CPA B101 WRITE FULL SECTOR? RSS CPA B117 READ WITHOUT VERIFY? JMP END6 YES-TRY AGAIN END4 EQU * LDA MM5 STA LIMIT LDA EFLAG NEED TO RESTORE PARAMETERS? SZA,RSS SKIP IF YES JMP END7 CLA STA EFLAG CLEAR FLAG LDA ESCTR K!þú STA SECTR RESTORE SECTOR LDA EWCNT STA WCNT RESTORE WORD COUNT LDA EBUFD STA BUFAD RESTORE WRITE BUFFER POINTER LDA EBUFE STA BUFAE RESTORE READ BUFFER POINTER END7 EQU * JSB SWR GET SWITCH REGISTER SSA,RSS JMP END5 LDA D512 JSB TMR,I WAIT HALF SECOND LIA 1 CLEAR ELA,CLE,ERA BIT OTA 1 15 HLT 4 JSB STMSK END5 JSB SWR GET FRESH COPY OF SWITCH REG. AND BIT1 SZA JMP END1 SKIP JSB SWR AND BIT13 SZA,RSS JMP ENSTP,I JMP COPR,I LOOP IF BIT 13 SET HLT4A HLT 4 EXTRA COPY END1 EQU * JSB NORMI,I SET UP NORMAL STATUS LDA STEPN INCREMENT CPA D75 S4BUG RSS FOR STEPS CPA D76 75 AND RSS 76 AND CPA D77 77 RSS AND CPA D78 78 ISZ S4BUG JMP SKIPI,I END6 ISZ LIMIT RETRY? RSS OK JMP END4 NO LDB TEMPS CPB A7000 OVERRUN? RSS CPB B1000 ACCESS NOT READY? JMP COPR,I YES LDA NOWDS TRANSFER COMPLETE? SZA,RSS SKIP IF NO JMP END11 LDA DMAWC ANY WORDS TRANSFERRED? END12 AND P7600 = 177600 (TRUNCATE) SZA,RSS SKIP IF YES JMP COPR,I NO - RETRY ALF,ALF RAL A = NUMBER OF SECTORS LDB TEMPS CPB A7400 CORRECTED? RSS YES ADA MM1 NO - TRY LAST SECTOR AGAIN SZA,RSS JMP COPR,I LDB EFLAG A = NUMBER OF GOOD SECTORS SZB,RSS FLAG SET? JSB ESAVE NO - SAVE PARAMETERS STA ETEMP ADA SECTR A = NEW SECTOR NUMBER STA SECTR LDA SCPT NO. OF SECTORS / TRACK CMA,INA ADA SECTR SSA nDþú SKIP IF OVERFLOW JMP END8 OK LDA ETEMP CMA,INA ADA SECTR STA SECTR JMP COPR,I END8 LDA ETEMP FIX BUFFERS ALF,ALF RAR STA B ADA BUFAD STA BUFAD LDA BUFAE ADA B STA BUFAE CMB,INB ADB WCNT STB WCNT JMP COPR,I END11 LDA TEMPS STATUS OK? CPA A7400 JMP END4 YES LDA WCNT NO - NOT DONE JMP END12 ESAVE NOP ISZ EFLAG SET FLAG LDB SECTR STB ESCTR SAVE SECTR LDB WCNT STB EWCNT SAVE WCNT LDB BUFAD STB EBUFD SAVE BUFAD LDB BUFAE STB EBUFE SAVE BUFAE JMP ESAVE,I ESCTR BSS 1 EWCNT BSS 1 EBUFD BSS 1 EBUFE BSS 1 ETEMP BSS 1 OLCOP BSS 1 HED FIXIT,REQSN,SPACE * FIX BUFFER IF REQUIRED * FIXIT NOP LDA STAS1 GET STATUS AND B7400 CPA A7400 CORRECTABLE? RSS YES JMP FIXIT,I NO JSB REQSN LDB SYNI LDA B,I STATUS IOR UNIT STA STAS1 UPDATE STATUS AND B7400 CPA A7400 CORRECTABLE? INB,RSS YES JMP FIXIT,I NOT CORRECTABLE LDA COPRN CPA B22 VF? JMP FIXIT,I YES LDA B,I ACTUAL CYLINDER CPA CYL CORRECT? INB,RSS YES JMP FIXE NO LDA B,I HEAD/SECTOR ALF,ALF AND B377 A = ACTUAL HEAD CPA HEAD SAME? JMP FIXA YES CMA,INA ADA HEAD A = HEAD - ACTUAL HEAD STA LOCAL CLA FIXB ADA SCPT ISZ LOCAL JMP FIXB RSS FIXA CLA STA LOCAL LDA B,I AND B377 A = ACTUAL SECTOR ADA LOCAL STA LOCAL LDA SECTR CMA,INA ADA LOCAL STA LOCAL ALF,RAL RAL,RAL A = DISPLACEMENT IN WORDS ADA BUFAE ST…ëþúA LOCAL INB LDA MM3 INITIALIZE STA COUNT LOOP COUNT LDA B,I DISPLACEMENT STA DISP ADA D5 SSA LESS THAN -5? NOP *****CHANGE TO JMP FIXE ***** ADA MM212 SSA,RSS GREATER THAN 204? JMP FIXE YES LDA DISP ADA LOCAL STA LOCAL FIXD INB LDA DISP SSA SKIP IF POSITIVE JMP FIXC AND BIT7 CPA BIT7 DISPLACEMENT TOO BIG? JMP FIXIT,I YES - DONE LDA LOCAL,I GET SICK WORD XOR B,I FIX IT STA LOCAL,I RESTORE FIXC ISZ LOCAL ADVANCE POINTER ISZ DISP ADVANCE DISPLACEMENT NOP ISZ COUNT DONE? JMP FIXD NO JMP FIXIT,I YES COUNT BSS 1 DISP BSS 1 FIXE EQU * JSB PCOP JSB DDUMP JMP FIXIT,I * REQSN NOP REQUEST SYNDROME LDB COPRN STB TCOPR SAVE COPRN LDB B100 LDA RQSYN REQUEST SYNDROME COMMAND JSB COMI,I SC28 OTA SC,C LDA STAS2 STA SYN JSB WAITI,I LDA SYN STA STAS2 JSB RJCTI,I CHECK FOR REJECT NOP REJECTED - IGNORE LDA TCOPR RESTORE COPRN STA COPRN LDA MM7 STA LOCAL LDB SYNI STB TCOPR SC26 LIA SC,C GET NEXT WORD LDB TCOPR STA B,I SAVE IT ISZ LOCAL RSS JMP REQ1 INB STB TCOPR JSB FLAGI,I JMP SC26 E77 JSB ERROR NO FLAG GETTING SYNDROME JSB ADDOI,I JMP REQSN,I REQ1 EQU * LDA SYN+1 STA RCYL LDA SYN+2 STA RHDS JSB STMSG ISZ RSFLG JMP REQSN,I SYNI DEF SYN SYN BSS 7 TCOPR BSS 1 MM212 OCT -212 SPACE NOP LDA CRLFL OUTPUT LENGTH LDB 113B IS FAST DEVICE SZB CONFIGURED? JMP ERH2 YES LDB CRLFI NO JS®Ì<:6B SIOLO,I PRINT BLANK LINE JMP SPACE,I ERH2 EQU * LDB CRLFI JSB SIOFO,I PRINT BLANK LINE JMP SPACE,I CRLFI DEF BB CLSMX NOP JSB WAITI,I LDA MASK1 DONT CARE ON AND P7400 UNIT NO. OF STA MASK1 STATUS-1 WORD FOR FILE MASK JMP CLSMX,I OR CLEAR COMMAND Ú<ÿÿþú HED DUMP ROUTINE ORG 16000B DUMP JSB SPACI,I OUTPUT A BLANK LINE CLA STA DFLAG LDB MM13 -(MAX. NO. OF HEADS) STB CNT LDB DFLGP BASE ADDRESS OF COUNTERS FOR HEADS DUMP1 STA B,I ZERO COUNTERS FOR THE DIFFERENT HEADS INB INCREMENT POINTER ISZ CNT JMP DUMP1 LDA MXCYL LARGEST TRACK ON WHICH ERROR OCCURED CMA -(MXCYL + 1) STA DUMPY JSB DCLER CLEAR WRITE BUFFER CLA DUMP4 LDB MENHD LARGEST HEAD ON WHICH ERROR OCCURED CMB -(MENHD+1) STB DUMPZ DUMPZ= -(NO. OF HEADS TO CHECK) CLB STB QFLAG 0=> DON'T PRINT THIS LINE * 1=> PRINT THIS LINE DUMP3 JSB DSCAN SEARCH FOR MATCH WITH A REG. * A REG.= HD/CYL. WORD ADA BIT12 PREPARE TO TEST NEXT HEAD INB INCREMENT HEAD IN B REG. ISZ DUMPZ SEE IF CHECKED ALL THE HEADS JMP DUMP3 RETURN TO DO NEXT HEAD IF NOT DONE STA DTMPA SAVE HD/CYL WORD LDA QFLAG ANY ERRORS? SZA SKIP IF NO ERRORS JSB RPORT REPORT ERRORS LDA DTMPA GET HEAD/CYL WORD AND B3777 GET CYLINDER INA INCREMENT CYLINDER ISZ DUMPY SEE IF ALL CYLINDERS CHECKED JMP DUMP4 IF NOT DONE,RETURN TO CHECK NEXT CYL. LDA DFLAG GET NO. OF DATA ERRORS ADA ALLE ADD NO. OF ALL ERRORS SZA,RSS SKIP IF ANY ERRORS AT ALL JMP DUMP8 NO ERRORS, NEED NOT PRINT ANYTHING CLA STA DUMPX SET HEAD COUNT = 0 LDB MENHD MAX. HEAD ON WHICH ERROR OCCURED CMB -(MENHD+1) STB CNT COUNT FOR NO. OF HEADS TO CHECK LDA DFLGP GET POINTER TO— þú ERROR TABLE FOR HEADS STA DUMPY SAVE ADDRESS OF ERROR COUNT FOR HEAD 0 DUMP7 LDA DUMPY,I GET ERROR COUNT FOR HEAD 0 JSB SLINE PLACE COUNT IN WRITE BUFFER ISZ DUMPY INCREMENT COUNTER TO NEXT HEAD * ERROR COUNTER ISZ DUMPX INCREMENT HEAD COUNTER ISZ CNT SEE IF HAVE CHECKED ALL THE HEADS JMP DUMP7 IF NOT DONE, GO PLACE ERROR COUNT FOR LDB PM6 GET ADDRESS OF ASCII FOR 'TOTAL' LDA B,I GET 'TO' STA DM2 STORE IN WRITE BUFFER INB LDA B,I GET 'TA' STA DM3 STORE IN WRITE BUFFER INB LDA B,I GET 'L ' STA DM3AA STORE IN WRITE BUFFER LDA MENHD MAX. HEAD ENTRY TO BE PRINTED OUT ALS,ALS ADA MENHD (MAX. HEAD TO USE )*5 ADA D10 (MAX. HEAD TO USE)*5+10=NO. BYTES TO XFER LDB PM2 START OF WRITE BUFFER JSB SIOFO,I WRITE OUT WRITE BUFFER * NEXT HEAD IN WRITE BUFFER DUMP8 JSB SPACI,I OUTPUT A BLANK LINE LDA ALLE GET TOTAL OF ALL ERRORS LDB PM18 GET ADDRESS OF WHERE TO STORE ASCII OF * TOTAL OF ALL ERRORS JSB DCIN2 CONVERT TO ASCII AND STORE IN WRITE BUFFER LDA D2201,I GET OVERFLOW COUNT LDB PM18A ADDRESS OF WHERE TO PLACE OVERFLOW COUNT * IN THE WRITE BUFFER JSB DCIN2 CONVERT COUNT TO ASCII AND STORE LDA D30 NO. OF BYTES IN 'OVERFLOW= ' AND * 'ALL ERRORS= ' MESSAGES LDB PM18B JSB SIOFO,I WRITE OVERFLOW & ERROR MESSAGE JSB SPACI,I OUTPUT A BLANK LINE JSB SDUMP DUMP HEAD/SECTOR ERRORS JSB SPACI,I OUTPUT A BLANK LINE J‡þú JSB MDUMP DUMP HEAD/UNIT MATRIX JSB SPACI,I OUTPUT A BLANK LINE LDA D3674 BASE ADDRESS OF POSITION ERROR MATRIX CPA PERR SEE IF ANY POSITION ERRORS RSS SKIP IF NO POSITION ERRORS JSB PPERR PRINT OUT POSITION ERRORS HLT 77B END OF ERROR SUMMARY DUMP JMP DONE GO TO BEGINNING OF DIAG. AND BEGIN CNT BSS 1 MM36 DEC -36 P0000 OCT 170000 D150 DEC 150 MM28 DEC -28 HWDOP BSS 1 HWDPT DEF HWD1 HWD1 BSS 1 HWD2 BSS 1 * EXECUTION OF IT DCLER NOP LDB BB A = 2 ASCII BLANKS LDA MM36 NO. OF WORDS TO FILL WITH BLAN KS STA CNT LDA PM2 ADDRESS OF WRITE BUFFER DCLEI STB A,I PLACE BLANK INTO BUFFER INA ISZ CNT JMP DCLEI JMP DCLER,I * * A REG. = HEAD/CYL WORD * B REG. = HEAD NO. * DSCAN NOP SCAN FOR MATCH WITH HEAD/SECTOR STB DTMPB SAVE B REG. LDB D2200,I GET NO. OF ERROR PAIRS SZB,RSS SKIP IF ERRORS OCCURED JMP DS3 NO ERRORS, GO TO DS3 CMB,INB STB LOCAL SAVE NEG. OF NO. OF ERRORS LDB D2200 DS1 ADB D2 CPA B,I COMPARE ERROR LOC. AGAINST CURRENT VALUES JMP DS2 IF MATCH GO TO DS2 ISZ LOCAL HAVE WE LOOKED AT ALL ERROR PAIRS? JMP DS1 RETURN TO DS1 IF ERROR PAIRS LEFT DS3 LDB DTMPB RESTORE ORIGINAL B REG. JMP DSCAN,I RETURN DS2 STA DTMPA SAVE A REG. = VALUE WE ARE TRYING * TO FIND INB LDA B,I GET NO. OF ERRORS LDB DTMPB GET HEAD NO. STB DUMPX SAVE HEAD NO. ADB DFLGP BASE ADDRESS OF CUMULATIVE HEAD * ERROR COUNT È1þú STA LOCAL SAVE NO. OF ERRORS ADA B,I SUM NO. OF ERRORS WITH NO. SO * FAR ON THIS HEAD STA B,I STORE ACCUMULATED ERRORS SO FAR * ON THIS HEAD ISZ QFLAG SET PRINT INDICATOR * <> 0 => PRINT LINE LDA LOCAL GET ERRORS ON THIS CYL. & HEAD JSB SLINE PLACE ASCII VALUES IN WRITE BUFFER JMP DS3 RPORT NOP LDA DFLAG HAS THE TITLE BEEN PRINTED YET? * 0=> NO SZA SKIP IF HAVE NOT PRINTED TITLE JMP RLP TITLE ALREADY PRINTED LDA MENHD LARGEST HEAD ERROR OCCURED ON ALS,ALS ADA MENHD ADA D10 A = HEAD*5+10= NO. OF BYTES TO PRINT LDB PM1 BASE ADDRESS OF LINE TO WRITE JSB SIOFO,I WRITE TITLE LINE ISZ DFLAG SET INDICATOR TO SHOW TITLE HAS * BEEN PRINTED RLP LDA DTMPA OBTAIN CYL. & HEAD NOW CHECKING AND B3777 KEEP ONLY CYL. NO. LDB PM2 GET ADDRESS OF WHERE TO PLACE ASCII * CYL. NO. JSB DCIN2 CONVERT CYL. TO ASCII & PLACE IN BUFFER LDA DUMPX GET LARGEST HEAD FOR WHICH THIS CYL. * HAD AN ERROR ALS,ALS ADA DUMPX ADA D10 A = HEAD*5+10 LDB PM2 BASE ADDRESS OF WRITE BUFFER JSB SIOFO,I OUTPUT LINE JSB DCLER CLEAR WRITE BUFFER JMP RPORT,I DM1 ASC 13,CYL HD0 HD1 HD2 HD3 ASC 15, HD4 HD5 HD6 HD7 HD8 HD9 ASC 7,HD10 HD11 HD12 DM2 BSS 1 DM3 BSS 1 DM3AA BSS 1 DM4 BSS 6 DM32 BSS 2 DM33 BSS 25 DM6 ASC 3,TOTAL DM18B ASC 5, OVERFLOW= DM18A BSS 2 ASC 6,;ALL ERRORS= Ôþú DM18 BSS 2 PM1 DEF DM1 PM2 DEF DM2 PM4 DEF DM4 PM6 DEF DM6 PM18 DEF DM18 PM18A DEF DM18A PM18B DEF DM18B DTMPA BSS 1 DTMPB BSS 1 DFLGP DEF DFLG0 DFLG0 BSS 1 DFLG1 BSS 12 DFLAG BSS 1 QFLAG BSS 1 DUMPY BSS 1 DUMPX BSS 1 DUMPZ BSS 1 * * WRITE OUT HEAD SECTOR TABLE * SDUMP NOP JSB DCLER CLEAR WRITE BUFFER JSB ZEROB ZERO BUFFER FOR SECTOR ERROR COUNTS LDA MM13 -(NO. OF WORDS TO MOVE) STA LOCAL LDA PM2 ADDRESS OF DESTINATION STA DTMPA LDB PM30 ADDRESS OF SOURCE DMP3 LDA B,I GET WORD TO MOVE STA DTMPA,I PLACE IN NEW LOCATION INB INCREMENT SOURCE ADDRESS ISZ DTMPA INCREMENT DESTINATION ADDRESS ISZ LOCAL SEE IF ALL WORDS MOVED JMP DMP3 MORE WORDS TO MOVE, GET NEXT WORD CLA HD/SECTOR CURRENTLY LOOKING FOR DMP4 LDB MENHD CMB -(MAX. HEAD + 1ON WHICH AN ERROR * OCCURRED) STB DUMPZ DMP5 LDB MM8 -(MAX. SECTOR/8) STB DUMPY DMP6 CLB STB QFLAG 0=> DON'T PRINT THIS LINE * 1=> PRINT THIS LINE JSB SSCAN SEE IF ANY OF SECTOR GROUP SHOULD * BE PRINTED LDB QFLAG SZB SEE IF THIS LINE SHOULD BE PRINTED JSB SRPOR CALL SECTOR REPORT ROUTINE ADA D8 INCREASE SECTOR BY 8 ISZ DUMPY HAVE WE LOOKED AT ALL THE SECTOR GROUPS JMP DMP6 GO CHECK NEXT SECTOR GROUP AND P0000 SAVE CURRENT HEAD, SET SECTOR = 0 ADA BIT12 INCREASE HEAD BY ONE ISZ DUMPZ HAVE WE CHECKED ALL THE HEADS JMP DMP5 GO CHECK NEXT HEAD LDA D2657,I GET OVERFLOW FOR HEAD/SECTOR TABLE SZA,RSS SEE IF NO TABLE OVERFLOW JMP SDUMP,I IF NO OVERFLOW RETURNÏ.þú LDB PM18A ADDRESS OF WHERE TO PLACE ASCII STRING JSB DCIN2 CONVERT OVERFLOW TO ASCII AND * PLACE IN BUFFER LDB PM18B GET STARTING ADDRESS OF BUFFER LDA D14 GET NO. OF BYTES TO OUTPUT JSB SIOFO,I PRINT LINE GIVING OVERFLOW COUNT JMP SDUMP,I * * A REG. = HEAD/SECTOR * B REG. DESTROYED ON RETURN * SSCAN NOP STA DTMPA SAVE CURRENT HEAD/SECTOR WORD LDB D2656,I GET NO. OF HEAD/SECTOR PAIRS SZB,RSS IF NO HEAD SECTOR PAIRS JMP SSCAN,I EXIT ROUTINE CMB,INB STB XXX1 -(NO. OF HEAD/SECTOR PAIRS) LDB D2656 BASE ADDRESS OF HEAD/SECTOR TABLE SS1 ADB D2 LDA B,I GET HEAD/SECTOR WORD AND P7770 GET SECTOR AS MULTIPLE OF 8 CPA DTMPA SEE IF FITS IN HEAD SECTOR GROUP * CURRENTLY LOOKING AT JMP SS2 IF YES, GO GET ERROR COUNT SSX ISZ XXX1 HAVE WE LOOKED AT ALL HEAD/SECTOR PAIRS JMP SS1 NO,GO LOOK AT NEXT HEAD/SECTOR PAIR SS3 LDA DTMPA JMP SSCAN,I SS2 XOR B,I GET REMAINDER OF SECTOR/8 ADA D4 THIS IS SO WILL HAVE SAME LOCATIONS * AS HEADS 4/11 STA DUMPX NEEDED BY SLINE TO PLACE NO. IN * CORRECT LOCATION STB DTMPB SAVE CURRENT POINTER AT HEAD/SECTOR TABLE INB LDA B,I GET ERROR COUNT ISZ QFLAG SET INDICATOR TO PRINT THIS LINE JSB SLINE PLACE ERROR COUNT IN OUTPUT BUFFER LDB DTMPB GET POINTER INTO HEAD/SECTOR TABLE JMP SSX * * PLACE ZEROES IN BUFFER FOR SECTOR ERROR * COUNTS, THESE CORRESPOND TO HEADS 4-11 * ZEROB NOP LDA D4 PLACE ZEROES IN LOC. FOR HEAD 4/11 éþú STA DUMPX LDA MM8 GET COUNTER FOR NO. OF TIMES TO GO * THRU LOOP STA XXX1 ZER1 CLA WANT TO PLACE ZERO IN BUFFER JSB SLINE ROUTINE TO PLACE ASCII NO. IN BUFFER ISZ DUMPX INCREMENT HEAD POSITION ISZ XXX1 SKIP IF ALL DONE JMP ZER1 GO PLACE ANOTHER ZERO IN BUFFER JMP ZEROB,I RETYRN TO CALLING ROUTINE SRPOR NOP AND B377 GET LOWER SECTOR GROUP NO. LDB PM32 GET ADDRESS OF WHERE TO PLACE ASCII JSB DCIN1 CONVERT TO ASCII & STORE LDA DTMPA ALF AND B17 GET HEAD NO. LDB PM4 ADDRESS OF WHERE TO PLACE HEAD JSB DCIN1 LDA DTMPA GET HEAD/SECTOR WORD AND B377 SAVE SECTOR ADA D7 GET UPPER SECTOR OF SECTOR GROUP LDB PM33 GET ADDRESS OF WHERE TO PLACE ASCII JSB DCIN1 CONVERT TO ASCII & STORE LDB PM2 GET BASE ADDRESS OF BUFFER LDA D72 GET NO. OF BYTES TO XFER JSB SIOFO,I OUTPUT LINE JSB ZEROB ZERO SECTOR COUNTERS LDA DTMPA RESTORE A-REG. JMP SRPOR,I * * THE FOLLOWING SUBROUTINE TAKES THE VALUE IN THE * A REG. AND CONVERTS IT TO IT'S 4 BYTE ASCII * REPRESENTATION AND PLACES THESE BYTES INTO * WRITE BUFFER * SLINE NOP LDB HWDPT ADDRESS OF WHERE TO PLACE ASCII DIGITS JSB DCIN2 A REG. CONTAINS VALUE TO CONVERT LDA DUMPX GET CURRENT HEAD ALS,ALS MULTIPLY BY 4 ADA DUMPX A = HEAD*5 ADA D6 A = HEAD*5+6 ARS A = (HEAD*5+6)/2 ADA PM2 ADD BASE ADDRESS OF WRITE BUFFER STA HWDOP SAVE LOC. OF WHERE TO PLACE ASCII VALUES LDA DUMPX GET}:þú CURRENT HEAD SLA SKIP IF EVEN HEAD NO. JMP DS5 GO TO DS5 IF ODD HEAD NO. LDA HWD1 A = ASCII OF UPPER 2 DIGITS STA HWDOP,I STORE ASCII NOS. IN WRITE BUFFER ISZ HWDOP LDA HWD2 STA HWDOP,I STORE OTHER 2 ASCII DIGITS DS4 LDA DTMPA JMP SLINE,I DS5 LDA HWD1 GET UPPER 2 ASCII DIGITS AND P7400 SAVE ONLY UPPER ASCII DIGIT IOR B40 PLACE ASCII BLANK IN WORD ALF,ALF ROTATE SO HAVE BLANK ASCII DIGIT STA HWDOP,I STORE IN WRITE BUFFER ISZ HWDOP LDA HWD1 GET UPPER 2 ASCII DIGITS AND B377 SAVE 2ND ASCII DIGIT STA B LDA HWD2 GET 3RD & 4TH ASCII DIGITS AND P7400 SAVE 3RD ASCII DIGIT IOR B COMBINE 3RD & 2ND ASCII DIGIT ALF,ALF NOW HAVE 2ND 3RD ASCII DIGITS STA HWDOP,I STORE IN WRITE BUFFER ISZ HWDOP LDA HWD2 GET 3RD & 4TH ASCII DIGIT AND B377 KEEP 4TH ASCII DIGIT ALF,ALF IOR B40 4TH ASCII DIGIT ASCII BLANK STA HWDOP,I STORE IN WRITE BUFFER JMP DS4 * * RECORD DATA ERRORS * RECRD NOP LDA RSFLI,I SEE IF HEAD/SECTOR VALUES VALID * OR MUST WE GET NEW VALUES SZA SKIP IF MUST DO REQUEST ADDRESS JMP RECD1 HEAD/SECTOR VALUES SEEM OK JSB RQSAI,I GET NEW HEAD/SECTOR VALUES JSB STMSI,I PLACE VALUES IN H51 MESSAGE ISZ RSFLI,I RECD1 LDA RHDS GET HEAD SECTOR WORD ALF AND P0000 SAVE HEAD IN BITS 12-15 STA AD8 LDA RHDS GET HEAD SECTOR AGAIN AND B377 SAVE SECTOR IOR AD8 OR IN HEAD LDB D2656 BASE ADDRESS OF HEAD SECTOR TABLE STB DTMPA SAVE IN DTMPA÷f640, USED BY ICYLS JSB ICYLS UPDATE ERROR COUNTER IN HEAD/SECTOR TABLE LDA RHDS GET HEAD/SECTOR WORD ALF,ALF PLACE HEAD IN KOWER BYTE AND B17 SAVE HEAD NO. LDB MENHD GET MAX. HEAD SO FAR CMB,INB -(MAX. HEAD SO FAR) ADB A ADD CURRENT HEAD SSB,RSS IF > 0 => NEW MAX. STA MENHD ALF,RAR MULTIPLY HEAD BY 8 ADA UNIT A = HEAD *8 +UNIT ADA D3334 ADD BASE ADDRESS OF HEAD/UNIT TABLE ISZ A,I INCREMENT COUNTER NOP LDA AD8 HEAD IN BITS 12-15 IOR RCYL OR IN CYL. LDB D2200 BASE ADDRESS OF CYL./HEAD TABLE STB DTMPA JSB ICYLS UPDATE ERROR COUNT FOR CYL./HEAD MATRIX LDA RCYL GET CURRENT CYLINDER LDB MXCYL GET MAX. CYL. SO FAR CMB,INB NEG. MAX. CYL. SO FAR ADB A ADD CURRENT CYL. SO FAR SSB,RSS IF POSITIVE => NEW MXCYL STA MXCYL SAVE NEW MAX. CYLINDER JMP RECRD,I Vñ6ÿÿþú* * USED TO UPDATE HD/CYL. TABLE OR HD/SECTOR TABLE * ON ENTRY * A REG. = HEAD IN BITS 12-15 * EITHER CYL. OR SECTOR IN BITS 0-11 * DTMPA = BASE ADDRESS OF TABLE TO USE * ICYLS NOP LDB DTMPA,I GET NO. OF ERROR PAIRS SZB,RSS SKIP IF A PREV. ERROR OCCURED JMP HC1 THIS IS THE FIRST ERROR,GO RECORD IT CMB,INB -(ERROR PAIRS) STB LOCAL LDB DTMPA GET BASE ADDRESS OF ERROR TABLE HC2 ADB D2 INCREMENT TABLE POINTER BY 2 CPA B,I HAS AN ERROR ALREADY OCCURED AT THIS LOC. JMP HC3 YES, GO UPDATE COUNTER FOR THIS LOC. ISZ LOCAL HAVE WE LOOKED AT ALL ERROR PAIRS JMP HC2 NOT DONE, GO GET NEXT ERROR PAIR RSS HC1 LDB DTMPA GET BASE ADDRESS OF ERROR TABLE STA LOCAL SAVE ERROR LOC. LOOKING FOR LDA D150 MAX. NO. OF ERROR PAIRS CPA DTMPA,I IS TABLE FULL JMP HC4 TABLE FULL, GO UPDATE OVERFLOW COUNT LDA LOCAL GET NEW ERROR LOC. ADB D2 POINT TO LOC. AT WHICH TO INSERT NEW * ENTRY INTO TABLE STA B,I STORE NEW ERROR LOC. IN TABLE ISZ DTMPA,I INCREASE ERROR PAIR COUNTERS BY ONE HC3 INB POINT TO ERROR COUNTER ISZ B,I UPDATE ERROR COUNTER JMP ICYLS,I HC4 ISZ DTMPA POINT TO OVERFLOW COUNTER ISZ DTMPA,I INCREMENT OVERFLOW COUNTER NOP JMP ICYLS,I D2200 OCT 32200 D2201 OCT 32201 D2656 OCT 32656 D2657 OCT 32657 D3334 OCT 33334 D3504 OCT 33504 D2524 OCT 33524 D3674 OCT 33674 PPERR NOP STA QFLAG POINTS AT NEXT POSITION ERROR ENTRY LDA D17 NO. OF BYTES TO PRINT LDB PM10 ADDRESS OF WHERE TITLE STARTS JSB SIOFO,I LDA D26 " þúNO. OF BYTES TO PRINT LDB PM11 ADDRESS OF WHERE TEXT STARTS JSB SIOFO,I PRINT LINE PPR1 LDA QFLAG,I GET OLD CYLINDER LDB PM12 ADDRESS OF WHERE TO PLACE ASCII JSB DCIN2 CONVERT & PLACE IN BUFFER ISZ QFLAG GET DESIRED CYL. LDA QFLAG,I DESIRED CYL. POINTED AT BY QFLAG LDB PM13 ADDRESS OF WHERE TO PLACE ASCII JSB DCIN2 CONVERT TO ASCII & PLACE IN BUFFER ISZ QFLAG POINT AT ACTUAL CYL. LDA QFLAG,I GET ACTUAL CYL. LDB PM14 ADDRESS OF WHERE TO PLACE ASCII JSB DCIN2 CONVERT TO ASCII & PLACE IN BUFFER ISZ QFLAG POINT AT HEAD/UNIT WORD LDA QFLAG,I GET HEAD UNIT WORD ALF,ALF AND B377 SAVE HEAD LDB PM15 ADDRESS OF WHERE TO PLACE ASCII JSB DCIN1 CONVERT TO ASCII & PLACE IN BUFFER LDA QFLAG,I GET HEAD UNIT WORD AGAIN AND D7 IOR B2060 CONVERT UNIT TO ASCII STA DM15A PLACE IN OUTPUT BUFFER ISZ QFLAG INCREMENT POINTER LDA D24 NO. OF BYTES TO OUTPUT LDB PM12 BEGINNING OF WRITE BUFFER JSB SIOFO,I OUTPUT LINE LDA QFLAG GET POINTER INTO POSITION ERROR ARRAY CPA PERR HAVE WE OUTPUT ALL POSITION ERRORS JMP PPERR,I ALL POSITION ERRORS OUTPUT SO RETURN JMP PPR1 GO OUTPUT INFO. ON NEXT POSITION EROR DM10 ASC 09,OLD ACTUAL DM11 ASC 13,CYL CYL CYL HEAD UNIT PM10 DEF DM10+D PM11 DEF DM11+D DM12 BSS 2 ASC 1, DM13 BSS 2 ASC 1, DM14 BSS 2 ASC 1, DM15 BSS 1 ASC 1, DM15A BSS 1 PM12 DEF DM12+D PM13 DEF DM13+D PM14 DEF DM14+D PM15 DEF DM15+D PPASS NOP JSB SPACI,I OUTPUT A BLANK LINE LDA DM16 PA STA DM20 LDA DM16+1 SS STA DM20+1 JMP PPASS,I DM16 ASC 02,PASS MDUMP NOP CLA STA DFLG0 0=>TITLE NOT PRINTED YET * 1=> TITLE ALREAD‹+þúY PRINTED LDA MM28 -(HEADS*2+2) NO. OF HEADS=13 STA DUMPY LDA D3334 STA QFLAG QFLAG= BASE ADDRESS OF TABLE LDA ASCZZ ASC 1,00 STA DM20 ASCII FOR HEAD 0 LDA C6505 ASC 1,-E STA DM20+1 MLP1 CLA STA DFLG1 0=>DO'T PRINT THIS LINE * 1=> PRINT THIS LINE LDA MM8 STA DFLAG -(NUMBER OF UNITS) LDA DPNT STA DTMPA POINTER MLP2 LDA QFLAG,I GET NO. OF ERRORS THIS HD/UNIT PAIR SZA SKIP IF NO ERRORS MADE ISZ DFLG1 PRINT THIS LINE SHOWING ERRORS * DFLG1 <>0 CAUSES PRINTING TO BE * LATER,OTHERWISE LINE NOT PRINTED LDB DTMPA,I ADDRESS OF WHERE TO PLACE ASCII * ERROR COUNT JSB DCIN2 CONVERT TO ASCII & PLACE IN BUFFER ISZ QFLAG INCREMENT POINTER TO ERROR COUNTERS ISZ DTMPA INCREMENT POINTER TO LOC. IN WRITE BUFFER ISZ DFLAG HAVE WE LOOKED AT ALL THE UNITS JMP MLP2 GO LOOK AT NEXT UNIT ERROR COUNT MLP14 LDA DFLG1 SEE IF SHOULD PRINT THIS LINE SZA,RSS JMP MLP3 NEED NOT PRINT LINE LDA DFLG0 HAS TITLE BEEN PRINTED YET SZA 0=> TITLE NOT PRINTED YET * 1=> TITLE ALREADY PRINTED JMP MLP4 NEED NOT PRINT TITLE ISZ DFLG0 INDICATE TITLE PRINTED LDA D60 NO. OF BYTES TO PRINT LDB PM19 START OF LINE TO PRINT JSB SIOFO,I PRINT THE TITLE MLP4 LDA BB STA DM20+2 STORE BLANK IN BUFFER LDA MM15 -(HEADS+2) STA XXX1 STORE RESULT TEMPORARILY LDA DUMPY CPA XXX1 ARE WE GOING TO LOOK AT THE * FATAL ERRORS NEXT JSB SWAP CHANGE BEGINNING OF LINE TO 'FATAL' LDA MM14 -(HEADS+1) STA XXX1 ARE WE GOING T&þúO LOOK AT NO. * OF PASSES NEXT LDA DUMPY CPA XXX1 PASSES? JSB PPASS PLACE 'PASS' AT BEGINNING OF LINE LDA D58 NO. OF BYTES TO PRINT LDB PM20 STARTING ADDRESS OF BUFFER JSB SIOFO,I MLP3 LDA DUMPY SZA,RSS IF 0 THEN ALL DONE WITH THIS ROUTINE JMP MDUMP,I LDA MM14 -(HEADS+1) STA XXX1 STORE RESULT TEMPORARILY ISZ DM20 LDA DUMPY CPA XXX1 JSB CYLS SET FOR TRACK COUNT ISZ DUMPY DONE? JMP MLP1 NO LDA DM35 ASC 1,OK STA DM20 STORE IN BUFFER LDA DM35+1 ASC 1,? STA DM20+1 STORE IN BUFFER CLA STA DFLG1 DFLG1=0 => NOT NEED TO PRINT LINE * 1=> PRINT LINE STA DFLAG CURRENT UNIT UNDER CHECK LDA DPNT STA DTMPA BASE ADDRESS OF WRITE BUFFER MLP6 LDA D3334 ADA DFLAG ADD CURRENT UNIT NO. STA QFLAG LDA MM13 -(HEADS) STA DUMPY CLB MLP9 ADB QFLAG,I ADD TO TOTAL DATA ERRORS JSB MLP8 MOVE POINTER ISZ DUMPY DONE? JMP MLP9 NO STB DATAE TOTAL DATA ERRORS SZA ANY FATAL ERRORS? JMP DNO YES JSB MLP8 MOVE POINTER ALS STA LONGP ALS,ALS ADA LONGP STA LONGP STORE 10* NO. OF LONG PASSES SZA,RSS JMP UNKNO NO LONG PASSES LDA DFLAG GET CURRENT UNIT NO. JSB UNXFI,I UPDATE DEVICE DEPENDENT INFO. BASED * ON CURRENT UNIT LDA STYPE GET CURRENT DEVICE TYPE CPA MM1 IF = -1 IS NOT CONNECTED JMP UNKNO OUTPUT BLANKS, SINCE NOT CONNECTED,NEITHER * PASSES NOR FAILS ADA TYPTB CONVERT DEVICE TYPE TO INDEX TO USE IN * éþú LOOKING UP DEVICE DEPENDENT INFO. LDA A,I ADA DUMPT GET BASE ADDRESS OF DUMP ROUTINE LDA A,I INFO. TABLE STA XXX2 ADA D5 LDA A,I GET NO. OF CYLS. WHICH MUST BE GOOD FOR * UNIT TO PASS TEST STA CYLCT LDB MHEAD GET NEG. COUNT FOR NO. OF HEADS FOR THIS UNIT STB DUMPY MLP10 JSB MLP8 GET NO. OF CYLS. TESTED SZA IF NO. = 0 ASSUME SURFACE WAS NOT TESTED ADA CYLCT ADD ON NEG. NO. OF VALID CYLS. MUST HAVE SSA SEE IF A SUFFOCIENT NO. OF CYLS. ARE OK JMP DNO INSUFFICIENT NO. OF GOOD TRACKS * INDICATE FAILURE OF TEST ISZ DUMPY HAVE WE LOOKED AT ALL THE SURFACES * FOR THIS UNIT JMP MLP10 NO, RETURN TO LOOK AT THE NEXT SURFACE LDA MM13 -(HEADS) STA LOCAL CLA LDB HDONV DETERMINE NO. OF SURFACES TESTED MLP13 SLB INA RBR ISZ LOCAL HAVE WE LOOKED AT ALL THE HEADS JMP MLP13 NO,RETURN TO LOOK AT THE OTHERS STA LOCAL A = NO. OF HEADS SELECTED SZA,RSS JMP UNKNO IF NO HEADS SELECTED THEN IS * UNKNOWN WHETHER PASSED OR NOT ARS HEAD/2 ADA XXX2 ADD BASE ADDRESS OF HEAD ERROR/PASS TABLE LDA A,I GET MULTIPLE FOR THIS NO. OF HEADS LDB LOCAL B = # HEADS SLB SKIP IF EVEN NO. OF HEADS ALF,ALF EVEN HEAD => LOWER BYTE * ODD HEAD => UPPER BYTE AND B377 ALF MULTIPLY BY 16 LDB A GET N (160*2**(N-1)) LDA XXX2,I AND B377 CMA,INA DIV”JþúIDE MULTIPLIER BY 2**(N-1) MLP15 INA,SZA,RSS JMP MLP16 BRS DIVIDE B REG. BY 2 JMP MLP15 MLP16 LDA B PLACE MULTIPLIER BACK INTO A REG. LDB MM12 MAX. NO. OF BITS IN MULTIPLIER STB XXX2 CLB CLEAR B BEFORE START MULTIPLICATION MUL10 SLA ADB DATAE ADD NO. OF DATA ERRORS CLE,ERB ERA PLACE LEAST SIGNIFICANT BIT OF ANSWER IN * HIGHEST ORDER BIT OF A REG. ISZ XXX2 JMP MUL10 IF WE HAVENT COMPLETED MULTIPLICATION * RETURN TO CONTINUE ALF ON COMPLETION THE RESULT IS IN THE UPPER BYTE OF A * REG. AND THE ENTIRE B REG. * WE WISH TO DIVIDE THIS RESULT * BY 16 AND B17 STA XXX2 SAVE LOWEST FOUR BITS OF RESULT LDA B AND P4000 IF RESULT <>00 => RESULT >016 BITS SZA THEREFORE OUTPUT NO FOR NOT PASS TEST * WOULD HAVE TO RUN DIAG. FOR * MONTHS FOR THAT NO. OF ERRORS TO * BE OK JMP DNO LDA B ALF IOR XXX2 A = TOTAL NO. OF ERRORS MULTIPLIED BY * APPROPRIATE SCALE FACTOR * DEPENDING ON DRIVE TYPE AND NO. * OF HEADS SELECTED CMA,INA CONVERT TO NEG. NO. ADA LONGP SEE IF SUFFICIENT NO. OF LONG * PASSES WERE DONE SSA IF RESULT >=0 => OK JMP DNO OTHERWISE UNIT DIDNOT PASS TEST LDA DM35 ASC 1,OK MLP11 ISZ DFLG1 INCREMENT TO INDICATE PRINTING OF LINE MLP7 LDB DTMPA,I OUTPUT EITHER OK,NO OR A BLANK STA BƒÚþú,I INB LDA BB PLACE BLANKS IN NEXT WORD IN MESSAGE BUFFER STA B,I ISZ DTMPA ISZ DFLAG INCREMENT UNIT NO. LDA DFLAG CPA D8 JMP MLP14 JMP MLP6 CYLCT BSS 1 P4000 OCT 174000 DMPTX DEF DMPT0 DEF DMPT1 DEF DMPT0 DEF DMPT2 DMPT0 OCT 115001,32517,20050,13433,11025,7421,6416 DEC -406 DMPT1 OCT 116402,33120,20450,13433,11025,7421,6416 DEC -815 DMPT2 OCT 166403,50170,30475,21451,15437,13031,11425 DEC -815 DNO LDA DMNO NO JMP MLP11 UNKNO LDA BB UNKNOWN JMP MLP7 DM35 ASC 2,OK? DATAE BSS 1 LONGP BSS 1 DMNO ASC 1,NO * MLP8 NOP LDA D8 ADA QFLAG STA QFLAG QFLAG = QFLAG +8 LDA QFLAG,I JMP MLP8,I * CYLS NOP JSB SPACI,I OUTPUT A BLANK LINE LDA ASCZZ STA DM20 HEAD LDA C6503 -C STA DM20+1 JMP CYLS,I * DM19 ASC 20,HEAD UNIT 0 UNIT 1 UNIT 2 UNIT 3 UNIT 4 ASC 10,UNIT 5 UNIT 6 UNIT 7 DM20 BSS 1 ASC 2 DM21 BSS 2 0 ASC 1 DM22 BSS 2 1 ASC 2 DM23 BSS 2 2 ASC 1 DM24 BSS 2 3 ASC 2 DM25 BSS 2 4 ASC 1 DM26 BSS 2 5 ASC 2 DM27 BSS 2 6 ASC 1 DM28 BSS 2 7 PM19 DEF DM19+D PM20 DEF DM20+D DPNT DEF PM21+D PM21 DEF DM21+D DEF DM22+D DEF DM23+D DEF DM24+D DEF DM25+D DEF DM26+D DEF DM27+D DEF DM28+D MESS ASC 03,FATAL * SWAP NOP JSB SPACI,I OUTPUT A BLANK LINE LDA MESS =FA STA DM20 LDA MESS+1 =TA STA DM20+1 LDA MESS+2 =L STA DM20+2 JMP SWAP,I * * SET1 * INITIALIZE TABLES FOR BEGINNING * SET1 NOP LDA MM224 NO. OF WORDS TO ZERO IN HEAD/UNIT, * FATAL ERROR, NO. OF PASSES, * TRACKS /HEAD CHECKE)uþúD TABLES STA TEMP1 CLA LDB D3334 BASE ADDRESS OF TABLES TO ZERO RLP2 STA B,I INB INCREMENT POINTER ISZ TEMP1 HAVE WE ZEROED ALL THE VALUES JMP RLP2 GO ZERO OTHER VALUES LDA D3674 BASE ADDRESS OF POSITION ERROR TABLE STA PERR JMP SET1,I MM224 DEC -224 * * SET2 * INITIALIZE TABLES FOR PASS = 0 * SET2 NOP LDB M604 NO, OF WORDS TO ZERO IN HEAD/CYL * & HEAD/SECTOR ERROR TABLES STB TEMP1 LDB D2200 BASE ADDRESS OF HEAD/CYLINDER TABLE CLA STA MENHD SET MAX. HEAD ON WHICH AN ERROR * OCCURED = 0 STA MXCYL SET MAX. CYL. ON WHICH AN ERROR * OCCURRED = 0 RLOOP STA B,I PLACE 0 IN TABLE ENTRY INB INCREMENT TABLE POINTER ISZ TEMP1 HAVE WE ZEROED ALL TABLE ENTRIES JMP RLOOP GO ZERO ANOTHER ENTRY JMP SET2,I RETURN TO CALLING ROUTINE M604 DEC -604 * * PRCD1 * RECORD POSITION ERRORS * PRCD1 NOP LDA OLCYL GET LAST CYL. WE WERE ON JSB PSET PLACE IN POSITION ERROR TABLE LDA CYL GET CYL. WE SHOULD BE ON JSB PSET PLACE IN POSITION ERROR TABLE JMP PRCD1,I RETURN TO CALLING ROUTINE * * PRCD2 * CHECK POSITION ERROR ARRAY BOUNDS * * NOTE: ONLY RECORDS 68 POSITION ERRORS THEN RESTARTS * AT BEGINNING OF TABLE, THEREFORE ONLY THE LAST * ERRORS AFTER A MULTIPLE OF 68 ARE RECORDED * PRCD2 NOP LDA PERR LOC. OF NEXT ENTRY INTO POSITION * ERROR ARRAY ADA M4000 34000 IS THE LOC. AFTER POSITION * ERROR ARRAY LDB D3674 33674 IS FIRST LOC. IN POSITION * ¨ß640 ERROR ARRAY SSA,RSS SKIP IF OK STB PERR RESET POINTER INTO POSITION ERROR * ARRAY TO BEGINNING OF TABLE JMP PRCD2,I RETURN TO CALLING ROUTINE M4000 OCT 144000 (-34000) * * PSET * SET A INTO POSITION ERROR ARRAY * PSET NOP STA PERR,I PLACE ENTRY INTO POSITION ERROR ARRAY ISZ PERR INCREMENT POSITION ERROR ARRAY POINTER JMP PSET,I RETURN TO CALLING ROUTINE DM30 ASC 2,HEAD DM31 ASC 3, ASC 5,SECTORS ASC 3, - PM30 DEF DM30 PM32 DEF DM32 PM33 DEF DM33 SPACI DEF SPACE PERR BSS 1 C6505 ASC 1,-E C6503 ASC 1,-C AD8 BSS 1 RSFLI DEF RSFLG STMSI DEF STMSG MXCYL BSS 1 MENHD BSS 1 HOLDS MAX. HEAD ON WHICH ERROR OCCURED FATAL NOP LDA CAUTN ADA FFLAG SZA CAUTION? JMP FATAL,I YES E120 JSB ERROR FATAL ERROR LDA UNIT AND D7 LIMIT TO 7 ADA D3504 BASE ADDRESS OF FATAL ERROR TABLE ISZ A,I NOP ISZ FERR NOP ISZ FFLAG JMP FATAL,I ‹˜6ÿÿþú HED HELP ORG 20000B HELP NOP LDA STAS1 STA STP56 AND B7400 STA TEMPS SAVE STATUS CPA A3400 ADDRESS ERROR? JSB ADDRI,I FIX IT LDA STAS2 AND FAULT STA TMPS2 JSB RPARI,I REPAIR SUBSYSTEM LDA TEMPS CPA A7400 RSS CPA A4000 RSS CPA A7000 JMP HELP1 LDA TMPS2 SZA JMP HELP1 LDA NOWDS SZA HELP1 ISZ HELP JMP HELP,I TMPS2 BSS 1 ADDRI DEF ADDER BINRY NOP STA TEMP5 STORE VALUE TO BE CONVERTED TO BINARY STB TEMP4 STORE ADDR. WHERE STRING IS TO BE INSERTED LDA BINRY,I GET MASK FOR DONT CARE BITS LDA A,I STA BMASK ISZ BINRY UPDATE RETURN ADDRESS CCA STA CONT CONT = -1 STA UPLOW UPLOW = -1 BIN1 ISZ CONT NOP LDA BLANK RESET CHAR. TO INSERT BLANK INTO STRING STA NCHAR LDB CONT BRS,BRS ADB ITABL TAKE CONT DIVIDED BY 4 AND ADD TO INITIAL * TABLE ADDRESS TO DETERMINE IF * NEXT THING OUTPUT SHOULD BE A LDB B,I LDA CONT AND D3 GET CONT MOD 4 ADA JMPSH ADD THIS ONTO JUMP INSTRUCTION STA BIN2 BIN2 JMP * JUMP FOR JUMP TO SELECTED SHIFT INSTRUCTION JMPSH JMP *+1 JMP BIN3 REM=0 BLF REM = 1 BLF REM = 2 BLF REM = 3 BIN3 LDA TYPE AND B SEE IF ENTRY IS A BLANK OR A 0,1 OR D SZA SKIP IF IT IS A BLANK JSB GCHAR GET CHAR., EITHER 0,1 OR D LDA TEMP4,I GET CHAR. PAIR TO BE CHANGED ISZ UPLOW IF UPLOW =-1 BEFORE UPDATE THEN IS UPPER BYTE JMP BIN4 AND B377 SAVE LOWER BYTE ALF,ALF IOR NCHAR PLACE NEW CHAR. IN WORD ALF,ALF STA TEMP4,I PLACE UPDATED CHAR. PAIR BACK INTO STRING œVþú JMP BIN1 BIN4 AND P7400 SAVE UPPER BYTE CHAR. IOR NCHAR PLACE NEW CHAR INTO LOWER BYTE STA TEMP4,I PLACE UPDATED CHAR. PAIR BACK INTO STRING CCA STA UPLOW RESET UPLOW TO INDICATE UPPER BYTE ISZ TEMP4 UPDATE STRING POINTER LDA FINSH CPA TEMP4 SEE IF HAVE INSERTED ALL CHARS. INTO STRING JMP BINRY,I JMP BIN1 LOOP TO INSERT NEXT CHAR. GCHAR NOP LDB TEMP5 GET VALUE OF STATUS WORD RBL SHIFT LEFT ONE BIT STB TEMP5 LDA BMASK GET VALUE OF MASK WORD RAL SHIFT LEFT ONE BIT STA BMASK SLA SKIP IF MASK BIT INDICATES DONT CARE JMP GCHR1 LDA ASC0X JMP GCHR2 GCHR1 LDA ASC00 ASSUME CHAR. IS A ZERO SLB SKIP IF IT IS A ONE LDA ASC01 PLACE ASCII 1 IN A REG. GCHR2 STA NCHAR STORE NEXT ASCII CHAR. JMP GCHAR,I BLANK OCT 40 ASC00 OCT 60 ASC01 OCT 61 ITABL DEF TABL CONT BSS 1 UPLOW BSS 1 NCHAR BSS 1 TEMP5 BSS 1 TEMP4 BSS 1 BMASK BSS 1 TABL OCT 53407,73507,51543 OCT 71543,33441,103 OCT 40004,100 HED BUILD,OPEND * * BUILD * TRANSFERS CODE FROM WD1,WD2,WD3 AND WD4 TO * THE WORK AREA. * ON ENTRY A= NUMBER OF WORDS TO TRANSFER * PT3NI DEF PUT3N BUILD NOP LDB A SAVE COUNT ADB WD0 FORM POINTER TO NEXT WORD STB LOCAL ALF,ALF FORM WORD N ADA OPCTI,I STA B,I STORE INTO TRANSFER AREA JSB PT3NI,I CHECK FOR OVERFLOW LDA WD0 BUL1 INA LDB A,I TRANSFER STB BILD,I TO WORK AREA ISZ BILD CPA LOCAL DONE? JMP BUILD,I YES JMP BUL1 NO * OPEND * CHECKS FOR ABORT (BIT3=0) * OPEND NOP LDA XMCPU SZA,RSS SKIP IF MCPU MODE JSB HELPI,I NOP OPD7 CLA STA FFLAG STA PMASK JSB guþúSWR SSA SEE IF BIT 15 OF SWR IS SET JMP OPD9A BIT 15 SET , GO TURN IT OFF AND BIT3 SZA SKIP IF BIT 3 = 0 JMP OPEND,I NO,OK LDA D650 JSB TMR,I DELAY 650 MSEC OPD8A JSB SWR GET CURRENT SWITCH REGISTER AND BIT3 SZA SKIP IF BIT 3 = 0 JMP OPDNI,I RESTART OPDSN JMP DONE OPD9A LDA D650 JSB TMR,I WAIT 650 MILLISECS. JSB SWR GET SWITCH REG. CONTENTS ELA,CLE,ERA CLEAR BIT 15 OTA 1 OUTPUT TO SWITCH REG. JMP OPD8A GO SEE IF BIT 3 IS SET HED PACK2,MSCV,RNCH,SWTCH * * * * PACK2 * INPUT TWO CHARACTERS PACKED INTO ONE WORD * SKIPS ON ERROR-FREE EXIT * PACK2 NOP JSB CHAR FIRST CHARACTER JMP PACK2,I ERROR ALF,ALF POSITION TO LEFT CHARACTER STA LOCAL SAVE JSB CHAR SECOND CHARACTER JMP PACK2,I ERROR IOR LOCAL PACK TOGETHER ISZ PACK2 JMP PACK2,I * * THIS ROUTINE TAKES THE NUMBER IN THE A-REG, * DIVIDES BY 064 AND PUTS THE ASCII ( DECIMAL ) * RESULT INTO THE BUFFER AT B. * * MSCV NOP STA TEMP1 LOAD NUMBER OF MILLISECONDS ARS,ARS ARS,ARS ARS,ARS DIVIDE BY 64 JSB DCIN2 CONVERT INTEGER TO DECIMAL ASCII INB STB TEMP2 LDA TEMP1 START ON FRACTION PART AND B77 LEAVE ONLY FRACTION PART CCB B _ -1 ADA MM4 OFFSET TMDL ADA MM6 CLOSE TO 064/10 INB COUNT UP TENTHS PART SSA,RSS SKIP IF TENTHS CALCULATION DONE JMP TMDL ADB ASCD0 MAKE INTO .X STB TEMP2,I STORE JMP MSCV,I RETURN FTR05 OCT 0,1,2,4,10,20,40,100,200,300,400,632 TRT05 EQU * FTR20 DEC 0,1,2,5,8,17,32,65,128,257,512,822 TRT20 EQU * FTR06 OCT 0,1,2,4,10,20,40,100,200,300,400,632 TRT06 EQU * FTR25 D:¹þúEC 0,1,2,5,8,17,32,65,128,257,512,822 TRT25 EQU * * * ROUTINE TO PICK A RANDOM CYLINDER AND HEAD NUMBER * * RNCH NOP RNCA EQU * JSB RAND GET A RANDOM NUMBER ALF,ALF ALF,RAL AND B1777 CYL < 1024 STA CYLXI,I SAVE IN CYLINDER REFERENCE WORD CMA ONES COMPLEMENT ADA CYPP CANNOT BE A NON-EXISTANT CYLINDER SSA SKIP IF OKAY JMP RNCA OTHERWISE, TRY AGAIN JSB CYLJI,I TRANSLATE CYLX INTO CYL JSB SWTCH SWITCH RANDOM # BASES * RNCB EQU * JSB RAND GET A RANDOM NUMBER JSB RAND ALF AND B17 HEAD<16 STA HEAD SET HEAD NUMBER JSB SLHDI,I HEAD OK? RSS YES JMP RNCB NO * * ROUTINE TO PICK A RANDOM SECTOR NUMBER * * RNSA EQU * JSB RAND CALL RAND THREE TIMES TO JSB RAND GET THREE GOOD BITS ON RIGHT END JSB RAND WANT NO CORRELATION WITH HEAD NUMBER JSB RAND RAR,RAR DO NOT USE BIT 0(NOT RANDOM) AND MSC2 SECTOR < 64 STA SECTR SAVE SECTOR NUMBER CMA ONES COMPLEMENT ADA SCPT TEST FOR LEGAL SECTOR NUMBER SSA SKIP IF OKAY JMP RNSA OTHERWISE, TRY AGAIN JSB SWTCH SWITCH RANDOM # BASES JMP RNCH,I RETURN * SWTCH NOP REVERSE RANDOM LDA BASE NUMBER BASES LDB TBASE STA TBASE STB BASE JMP SWTCH,I TBASE ABS 034521B CYLJI DEF CYLJ CYLXI DEF CYLX D70 DEC 70 B3000 OCT 13000 S40 BSS 8 HED S3 - SECTION 3 * * * SECTION 3 * * SECTION 3 IS ORGANIZED AS FOLLOWS * * GENERATE RANDOM CYLINDER NUMBERS AND * RANDOM HEAD AND SECTOR NUMBERS * . * . * . GENERATE A RANDOM WORD COUNT * . ( NOT BEYOND END OF CYLINDER ) * . . * . . * . . GENERATE A BUFFER OF RANDOM DATA ²þú* . . STORE A WORD OF ZERO INTO THE * . . FIRST UNUSED WORD * . . * . . * . . WRITE BUFFER TO DISC * . . * . . * . . . * . . . ISSUE SEEK * . . . * . . . * . . . READ BLOCK BACK * . . . READ AND CHECK ONE EXTRA WORD IF * . . . NOT A MULTIPLE OF SECTOR SIZE * . . . * . . . * . . . CHECK DATA READ * . . . * . . . * . . * . . * . * . * SKNT EQU GLOB1 S3 EQU * JSB SWR SWITCH REGISTER TO A AND BIT5 LDB M1024 COUNT FOR LONG VERSION SZA SKIP IF INDEED LONG TEST LDB MM64 COUNT FOR SHORT TEST STB SKNT S3A EQU * JSB RNCHI,I GET RANDOM CYLINDER,HEAD NUMBER * * STEP 70 * THIS SEEK MOVES THE POSITIONER TO A RANDOM * CYLINDER AND HEAD. * LDA D70 JSB COPR * GENERATE A RANDOM WORD COUNT BETWEEN 1 AND * 1023. THE WORD COUNT WILL NOT EXTEND BEYOND * THE END OF CYLINDER. RWCA EQU * JSB RAND GET A RANDOM NUMBER RAR AND B1777 WCNT < 1024 SZA,RSS ZERO IS NOT LEGAL JMP RWCA IF ZERO,TRY AGAIN RWCT EQU * STA WCNT SAVE CHOSEN WORD COUNT LDB SCPT IS CMB,INB WORD ADB SECTR COUNT ALF,ALF TOO RAL LARGE? AND B77 ADA B SSA JMP RWCG OK LDA WCNT TRY HALF ARS AS JMP RWCT MUCH RWCG EQU * LDA BPTR LOAD FIRST BUFFER POINTER STA BUFAD LDA BPTS LOAD SECOND BUFFER POINTER STA BUFAE JSB DGEN GENERATE A RANDOM BUFFER LDA WCNT SAVE LAST ADA BUFAD ADD BASE OF WRITE BUFZþúFER ADA MM1 LDB A,I INA STB A,I SAVE TO CHECK SECTOR ZEROING JSB FSEEK JSB SENDI,I * * STEP 71 * THIS WRITE FILLS UP A GIVEN AREA WITH * RANDOM DATA. THE WORD COUNT MAY BE FROM * ONE WORD TO 1023 WORDS. * LDA D71 JSB COPR JSB SEEH ADDRESS RECORD IN S3 JSB WRITE FILL UP CHOSEN AREA WITH JUNK JSB WENDI,I * * STEP 72 * READ IT BACK * LDA WCNT CHECK FOR SECTOR BOUNDARY AND B177+SZREF CHECK FOR EVEN SECTOR BOUNDARY SZA SKIP IF EVEN MULTIPLE OF SECTOR ISZ WCNT COUNT UP WORD COUNT * LDA D72 JSB COPR * THIS SEEK RESELECTS THE PROPER HEAD JSB SEEH ADDRESS RECORD IN S3 * * THIS READ READS BACK THE DATA WRITTEN * BY THE PREVIOUS WRITE. * THE DATA IS COMPARED WITH THAT WRITTEN. * JSB DENDI,I ISZ SKNT ARE WE DONE WITH THIS SECTION JMP S3A NOT DONE, TRY ANOTHER PLACE JMP SKIPI,I EXIT S3 ********************************************************** * ISSUES WAKEUP COMMAND AND ALLOWS UP TO APPROX. 4 SECS. * TO SEE THAT COMMAND IS RECEIVED. ********************************************************** M2432 DEC -2432 P144A DEF M144A WAKUP NOP WK01 LDA WAKE (WAKE OCT 13000) JSB COMI,I SC47 OTA SC,C LDB M2432 WK05 LDA M256 SC48 SFS SC SEE IF FLAG SET ON THE CONTROLLER RSS JMP SC49 SEE IF COMMAND ACCEPTED INA,SZA JMP SC48 LOOP TO SEE IF FLAG SET AGAIN INB,SZB JMP WK05 LDA UNIT ADA B2060 STA P144A,I LDA B144 ERROR MESSAGE, NEVER GOT FLAG ON COMMAND * AFTER 4 SECS. JSB PRINT JMP TV1I,I EXIT FROM MC MACRO DUE TO ERROR SC49 CLF SC CLEAR OòþúCONTROLLER CHANNEL COMMAND JMP WAKUP,I RETURN TV1I DEF TVP1,I WAKE OCT 13000 B144 OCT 144 TVP19 NOP TVP19 IS THE RANDOM SEEK ENTRY JSB OPNDI,I CHECK FOR ABORT LDA D3 ADA TVP19 STA TV1,I SAVE CORRECT RETURN ADDRESS JSB RNCHI,I GENERATE RANDOM CYL., HEAD,SECTOR TP19A JSB WAKUP ISSUE WAKEUP COMMAND CCA STA MCPU SET MCPU SO WAITS WILL ALLOCATE 1 SEC. FOR * SEEK TO COMPLETE JSB FSEEK ISSUE SEEK CLB STB MCPU RESET MCPU SO OTHER COMMANDS WILL TIMEOUT * BEFORE 1 SEC. IS UP LDA D4 STA FLMSK SET FILE MASK FOR SPARING JSB OMASK JSB SEES DO AN ADDRESS RECORD LDB BIT7 STB MCPU SET SO THAT HOLD BIT IN VERIFY COMMAND WILL * BE RESET CLA,INA STA WCNT ISSUE VERIFY COMMAND FOR 1 SECTOR JSB CYCK JSB WCHK CHECK STATUS LDB B122 STB COPRN JSB POLL ISSUE NOP (POLL) COMMAND JMP TV1I,I HED WADRA,DMAT,DMERQ,PRNT1,PLOOP,FLAG * * WADRA * WADRA NOP JSB DMW START DMA WRITE LDB B36 SET UP CURRENT OPERATION LDA WRITA INITIALIZE DATA COMMAND IOR WRSP SPD FIELD JSB XSFER ISSUE COMMAND JMP WADRA,I EXIT * * * * THIS SECTION SHOULD BE CALLED FOR EACH TRANSFER USING THE * DMA. IT CONTINUOUSLY CHECKS FOR THE FLAG TO BE SET ON THE * COMMAND CHANNEL WHILE MONITORING THE DATA TRANSFER AND * CHECKING FOR OVERTIME. * * * DMAT NOP SC12 OTA SC,C DMATB EQU * LDA STEPN DON'T START CPA D31 DMA FOR STEP 31 RSS DM6B STC DMAD,C LDA MM2 STA LCNT STA DMAWC MUST START <>0 CLA STA NOWDS MUST START = 0 í@þú HERE INA,SZA,RSS WAIT ATLEAST 500 MILLISECONDS FOR ISZ LCNT READ OR WRITE TO COMPLETE RSS JMP TOUT IF READ NOT COMPLETE SOMETHING WRONG CC04 SFS SC SEE IF READ OR WRITE COMPLETE JMP HERE CLA CC23 CLF CC RESET FLAG DM6G SFC DMAD SKIP IF DMA NOT DONE JMP DMAT,I EVERYTHING IS OK JMP FTCX CALL WORD COUNT CONVERTER TOUT CLA,INA DM6H SFS DMAD CHECK FOR FLAG ON DMA CHANNEL FTCX EQU * IOR BIT15 TRANSFER NOT COMPLETE BIT STA DMRF SAVE FOR LATER CHECK JSB MC TROUBLE. BOMB OUT CARDS DM2K LIA DMAC LOAD CURRENT WORD COUNT SZA,RSS RESIDUE = 0? JMP DMATA YES-DISABLE E13,CHECK FOR E43 ADA WCNT MAKE INTO POSITIVE WORD COUNT AND B7777 MASK OFF UPPER THREE BITS STA DMAWC SAVE WORD COUNT ISZ NOWDS NOT ALL WORDS TRANSFERRED LDB P013A LOAD POINTER FOR ASCII STORE JSB DCIN2 CALL CONVERT ROUTINE JMP DMAT,I RETURN AND WAIT FOR VERDICT DMATA EQU * LDA DMRF SSA XOR JMPI =12DDD0B - BIT 15 OFF,BIT 13 ON STA DMRF JMP DMAT,I DMERQ NOP LDB DMRF CHECK FOR ACTUAL ERROR SZB,RSS SKIP IF ERROR CONDITION EXISTS JMP DMERQ,I EXIT IF NO ERROR SLB,RSS SKIP IF TIME OUT JMP DMER1 E14 JSB ERROR NO FLAG ON TIME OUT JSB FATLI,I DMER1 EQU * LDB DMRF RBL,RBL SSB SKIP IF BIT 13 = 0 E43 JSB ERROR DMA MISSING LDB DMRF CLA STA DMRF CLEAR ERROR INDICATOR SSB,RSS SKIP IF DMA FLAG WAS NOT SET JMP DMERQ,I RETURN * LDA WCNT LOAD THE EXPECTED WORD COUNT LDB P013B LOAD POINTER FOR ASCII STORE JSB DCIN2 CALL CONVERT ROUTINE E13 JSB ERROR XXXX WORDS TRANSFERRED YYYY * EXPECTED LDA STAS1 CHECïÄ640K FOR LEGAL SPD FIELD AND B7400 PROBLEMS BY CHECKING INCODED CPA B3000 PART OF WORD 1 RSS CPA B0000 RSS CPA B0400 JMP DMERQ,I DON'T MASK SPD FIELD LDA STAS1 NO - MASK AND B7777 OFF SPD STA STAS1 FIELD JMP DMERQ,I RETURN * * PRNT1 * EXITS WITH B=MESSAGE ADDRESS * A=MESSAGE LENGTH * PRNT1 NOP STA PSAVE JSB B11CK JMP PRNT1,I ISZ PRNT1 LDB PSAVE LDA ACTAD SZA,RSS SKIP IF CONTENTS OF B REG. = ACTUAL ADDRESS JMP PRNT2 ADB PFMI,I MESSAGE ADDRESS LDB B,I STB PSAVE SAVE ADDRESS PRNT2 CLA STA LOCAL LENGTH COUNTER * * SCAN MESSAGE UNTIL # * PLOOP EQU * LDA B,I NEXT TWO CHARACTERS CPA C1440 21440B = #,BLANK? JMP L1 YES AND B377 NO CPA B43 =#? JMP L2 YES ISZ LOCAL NO ISZ LOCAL ISZ B JMP PLOOP L2 EQU * ISZ LOCAL L1 EQU * LDB PSAVE ADDRESS LDA LOCAL LENGTH JMP PRNT1,I RETURN FLAG NOP LDA MM20K ALLOW ABOUT 150 MILLISECS. LDB COPRN CPB B71 READ WITH OFFSET? CLA,INA FL1 EQU * SC04 SFS SC FOR FLAG TO SET RSS JMP FLAG,I INA,SZA JMP FL1 JSB CUNEN JMP H34SI,I JSB PCOP JSB FATLI,I POSSIBLY FATAL ERROR ISZ FLAG JMP FLAG,I MM20K DEC -20000 * 6ÿÿþú HED ASK,UNXF,CABLK * * ASK * ASK OPERATOR IF HE WISHES TO CHANGE TABLE * ASK NOP JMP H25 H28 LDB FLOOP SZB JSB INPTI,I LDA B31 JSB PRINT JMP H25AA H25 LDA B25 DO YOU WISH TO CHANGE? JSB PRINT H25AA JSB HIN INPUT FROM KEYBOARD LDA BINA,I INPUT BUFFER AND P7400 ALF,ALF CPA NN =116B JMP ASK,I FIRST CHARACTER IS N CPA YY =131B JMP ASK1 FIRST CHARACTER IS Y CPA EE =105B RSS FIRST CHARACTER IS E JMP H28 LIA 1 GET S AND MM5 TURN OFF BIT 2 OTA 1 RESTORE NEW S (IF POSSIBLE) JMP ASK,I ASK1 ISZ ASK JMP ASK,I UNXF NOP SUBROUTINE TO TRANSFER VARIOUS DEVICE * DEPENDENT VALUES INTO BASE PAGE * LOCATIONS STA UNIT STORE CURRENT UNIT NO. ADA UTYPE ADD BASE ADDR. OF UNIT-TYPE TABLE LDA A,I GET TYPE ASSOC. WITH UNIT STA STYPE STORE DEVICE TYPE IN UNIT TABLE ADA TYPTB ADD BASE ADDR. OF TYPE INDEX TABLE LDA A,I GET TABLE ENTRY CORRESPONDING TO GIVEN * DEVICE TYPE STA DRIND ADA DDTB ADD BASE ADDRESS OF DEVICE DEPENDENT TABLE LDA A,I STA UXPT1 FIRST ADDR. OF DEVICE DEPENDENT PARM. TO BE * TRANSFERRED LDA DDTBF FIRST LOC. DEVICE DEPENDENT PARMS. SHOULD * BE TRANSFERRED TO STA UXPT2 UNXF1 LDA UXPT1,I GET DEVICE DEPENDENT PARM. FOR THIS TYPE * OF DEVICE STA UXPT2,I STORE IN BASE PAGE LOC. ISZ UXPT1 UPDATE POINTERS ISZ UXPT2 LDA DDTBL SEE IF HAVE TRANSFERRED ALL THE CPA UXPT2 DEVICE DEPENDENT INFO. JMP UNXp>þúF2 JUMP IF HAVE TRANSFERRED ALL THE INFO. JMP UNXF1 LOOP AGAIN TO GET THE NEXT PARM. UNXF2 LDA UNIT ADA HDON ADD BASE ADDR. OF HEAD-UNIT TABLE LDA A,I GET HEAD TABLE FOR THIS UNIT STA HDONV STORE HEAD TABLE FOR CURRENT UNIT ON BASE PAGE LDA UNIT JMP UNXF,I CABLK NOP CHECK ADDO BLOCK LDA ABLCK ISZ ABLCK SZA,RSS BLOCKED? JSB ADDOI,I NO JMP CABLK,I HED WEND,SEND,DEND,CYCK * * WEND * JSB WCHK CHECK STATUS * JSB ENDST END STEP * WEND NOP JSB WCHK JSB ENDSI,I JMP WEND,I * * SEND * CLA * STA SHTAS * JSB ENDST * SEND NOP CLA STA SHTAS EXPECTED STATUS = 0 JSB ENDSI,I JMP SEND,I * * DEND * JSB READ * JSB DCHK * JSB ENDST * DEND NOP JSB READ JSB DCHKI,I VERIFY DATA READ JSB ENDSI,I JMP DEND,I CUNIT NOP CLEAR UNIT ERROR COUNTERS LDB MM8 STB LOCAL LDB PUIE,I CUNTA STA B,I INB ISZ LOCAL DONE? JMP CUNTA NO JMP CUNIT,I YES PUIE DEF PUE * * * CYCK * ISSUE CYCLIC CHECK COMMAND * CYCK NOP STA SCNT STORE SECTOR COUNT LDA CYCHK VERIFY COMMAND IOR MCPU SHOULD EITHER = 0 OR BIT7 ON CLB STB NOWDS FOR HELP ROUTINE STB MCPU LDB B22 SET UP CURRENT OPERATION JSB COMDI,I ISSUE COMMAND JSB RJCTI,I CHECK FOR REJECT JMP CYCK,I REJECTED LDA SCNT SC11 OTA SC,C ARS DIVIDE NO. OF SECTORS BY 2 CMA,INA OBTAIN ITS NEG. ADA MM105 ADD -105 TO THIS VALUE LDB CYC1I GET ADDRESS TO USE FOR RETURN FROM WAITS STB WAITI,I PLACE IN RETURN LOC. IN WAITS JMP WAXI,I CYCK1 LDA XMCPU SZA,RSS ß<þúSKIP IF IN MCPU MODE JSB FXITI,I JMP CYCK,I RETURN CYC1I DEF CYCK1 HED DSOK,FTRDF,PRTHD,CYCCD,SUNIT * * DSOK * * D AND S BITS OK? * A IS SAME ON EXIT = NO * A IS ZERO ON EXIT = YES * DSOK NOP LDB SPDVR SZB JMP DSOK,I LIB 1 GET S SLB,RSS BIT 0 SET? JMP DSOK,I NO LDB A YES - SAVE A LDA STAS1 AND P7770 WIPE OFF UNIT NUMBER CPA J0000 =110000? RSS YES CPA D0400 =030400? JMP DSOK2 YES LDA B RESTORE A JMP DSOK,I DSOK2 CLA SET A=0 STA DMRF IGNORE DMA ERRORS STA NOWDS IGNORE WORDS TRANSFERRED STB DMAWC JMP DSOK,I FTRDF NOP FLAG TRACK DEFECTIVE CLA STA SECTR JSB FSEEK LDA CYL STA TCYL1 SAVE CYL LDA MM1 STA CYL CYL = -1 LDA DFTB DEFECTIVE TRACK INDICATOR JSB DGENI,I GENERATE BUFFER JSB SEES LDA TCYL1 STA CYL RESTORE CYL LDA WDPT STA WCNT JSB WADRI,I WRITE ONTO DISC JSB WCHK CLA STA SHTAS RESET STATUS LDA STEPN CPA D5 STEP = 5? JMP FTRDF,I YES - DON'T PRINT LDA CYL LDB P114A JSB DCIN2 STUFF CYL INTO MESSAGE LDA HEAD LDB P114B JSB DCIN1 STUFF HEAD INTO MESSAGE H114 LDA B114 CYL X HEAD Y FLAGGED DEFECTIVE JSB FPRNT JMP FTRDF,I PRTHD NOP LDA LONGF SEE IF WANT EXPANDED FORM OF OUTPUT SZA,RSS JMP PRTH1 DONT PRINT HEADING LDA B135 JSB PRINT PRINT HEADING FOR STATUS WORDS PRTH1 LDA B64 JSB FPRNT PRINT STATUSES LDA EXPTS SZA,RSS =1 IMPLIES EXPLAINATION WANTED JMP PRTHD,I RETURNS FOR EXPLAINATION NOT WANTED LDA B137 JSB PRINT JMP PRTHD,I CYCCD NO4÷þúP LDB BUFAD GET BASE ADDRESS OF WRITE BUFFER LDA PATT GET PATTERN TO EXPAND STA B,I STORE IN BUFFER INB INCREMENT WRITE BUFFER POINTER RAL ROTATE PATTERN 1 BIT STA B,I STORE IN WRITE BUFFER INB INCREMENT WRITE BUFFER POINTER RAL ROTATE PATTERN 1 BIT AND MM2 SET LSB = 0 STA B,I STORE IN WRITE BUFFER INB LDA BUFAD GET BASE ADDRESS OF WROTE BUFFER STA XXX2 LDA WWCNT CMA,INA -(NO. OF WORDS TO XFER) ADA D3 REDUCE NO. BY 3 FOR WORDS ALREADY * IN BUFFER STA XXX1 SAVE COUNTER CYCD1 LDA XXX2,I GET SOURCE WORD STA B,I PLACE IN DESTINATION LOCATION ISZ XXX2 INB INCREMENT DESTINATION POINTER ISZ XXX1 SEE IF DONE JMP CYCD1 GO TO XFER NEXT WORD JMP CYCCD,I RETURN FOR ALL WORDS XFERRED SUNIT NOP STORE UNIT IN H65 LDA UNIT ADA ASCZZ ALF,ALF AND P7400 =177400 IOR B54 STA P065E,I LEAST SIGNIFICANT DIGIT,COMMA JMP SUNIT,I HED RPAIR,RCHK1,TSTAT,TSOUT,PT625,RQSTA RPAIR NOP REPAIR SUBSYSTEM SZA,RSS JMP RPAR1 JSB RESET JSB STMSK AND FAULT (A=STAS2) STA CAUTN CLB,RSS RPAR1 EQU * LDB RMASK TIMEOUT? CLA STA RMASK SZB SKIP IF NO JSB STMSK SET MASK JMP RPAIR,I * * RCHK1 * FORM BUFFER CHECKSUM * RCHK1 NOP LDB BUFAE LOAD BUFFER POINTER LDA MM124+SZREF STA TEMP1 SET COUNT FOR ADD LOOP LDA B,I LOAD FIRST WORD INB ADA B,I MAKE CYLINDER CHECK INB STA TEMP2 SAVE CYLINDER CHECK LDA B,I INB ADA B,I MAKE HEAD/SECTOR CH8žþúECK INB STA TEMP3 SAVE HDS CHECK ADA TEMP2 CHECKSUM SO FAR * RCQ EQU * ADA B,I ADD UP ALL WORDS INB ISZ TEMP1 COUNT DOWN COUNTER JMP RCQ STA TEMP1 SAVE CHECKSUM JMP RCHK1,I RETURN TSTAT NOP LDA EXPTS SZA,RSS SEE IF SHOULD EXPLAIN TERM. STATUS JMP TSTAT,I RETURN IF EXPLANATION NOT WANTED LDA STAS1 GET RETURNED STATUS-1 WORD ALF,ALF AND B37 STA XXX1 LDB P137A GET ADDRESS TO INSERT EXPLANATION AT JSB TSOUT INSERT EXPLANATION INTO MESSAGE STRING LDA SHTAS SEE WHAT TERM. STATUS SHOULD BE ALF,ALF AND B37 ONLY SAVE TERM. STATUS STA XXX2 SAVE FOR FUTURE REFERENCE LDB BLNKS PLACE ASCII " S" IN B REG. XOR XXX1 SEE IF TERM. STATUS IS WHAT IT SHOULD BE SZA,RSS SKIP IF IT IS NOT JMP TSTA1 TERM. STATUS IS OK STB P137B,I PLACE ASCII " S" IN MESSAGE STRING LDA XXX2 GET WHAT TERM. STSTUS SHOULD BE LDB P137C GET ADDRESS TO XFER TERM. STATUS EXPLAINATION TO JSB TSOUT XFER TERM. STATUS EXPLANATION TO MESSAGE STRING JMP TSTAT,I RETURN TO CALLING ROUTINE TSTA1 LDB BLKLB PLACE ASCII " #" IN B REG. STB P137B,I PLACE IN MESSAGE STRING JMP TSTAT,I RETURN TO CALLING ROUTINE BLNKS ASC 1, S BLKLB ASC 1, # P137A DEF M137A P137B DEF M137B P137C DEF M137C TSOUT NOP ADA TSTBL ADD BASE ADDRESS OF TERM STATUS EXPLAN. TABLE LDA A,I GET TERM. STATUS EXPLANATION STA TSOT2 STB TSOT3 SAVE DESTINATION ADDRESS LDB MM7 COUNTER TSOT1 LDA TSOT2,I GET FIRST CHAR. PAIR STA TSOT3,I STORE CHAR. PAIR ISZ TSOT2 BUMP POINTER ISZ TSOT3 BUMP POINTER FOR DESTINATION ADDRESS ISZ B SEE IF ALL CHAR. PAIRS HAVE BEEN MOVED ÙBþú JMP TSOT1 GO GET NEXT CHAR. PAIR JMP TSOUT,I RETURN TO CALLING RUTINE TSTBL DEF TSNUM TSOT2 BSS 1 TSOT3 BSS 1 TS0 ASC 7,UNKNOWN STATUS TS1 ASC 7,NORMAL COMPLET TS2 ASC 7,ILLEGAL OPCODE TS3 ASC 7,UNIT AVAILABLE TS4 ASC 7,CYL CMP ERROR TS5 ASC 7,UNCOR DATA ERR TS6 ASC 7,HD/SEC CMP ERR TS7 ASC 7,END OF CYLNDER TS8 ASC 7,OVERRUN TS9 ASC 7,POSS CORR DATA TS10 ASC 7,SPR TRK ACCESS TS11 ASC 7,DEFECTIVE TRK TS12 ASC 7,ACCSS NR DATOP TS13 ASC 7,STATUS-2 ERROR TS14 ASC 7,WRT PROTEC TRK TS15 ASC 7,UNIT UNAVAIL TS16 ASC 7,DRIVE ATTNTION TSNUM DEF TS1 00 DEF TS2 01 DEF TS3 02 DEF TS0 03 DEF TS0 04 DEF TS0 05 DEF TS0 06 DEF TS4 07 DEF TS5 10 DEF TS6 11 DEF TS0 12 DEF TS0 13 DEF TS7 14 DEF TS0 15 DEF TS8 16 DEF TS9 17 DEF TS10 20 DEF TS11 21 DEF TS12 22 DEF TS13 23 DEF TS0 24 DEF TS0 25 DEF TS14 26 DEF TS15 27 DEF TS0 30 DEF TS0 31 DEF TS0 32 DEF TS0 33 DEF TS0 34 DEF TS0 35 DEF TS0 36 DEF TS16 37 * PT625 NOP A = .625 * A STA TEMP1 ALS,ALS ADA TEMP1 ARS,ARS A = (10*A)/16 ARS JMP PT625,I RQSTA NOP LDA RQADD REQUEST DISC ADDRESS LDB COPRN JSB COMDI,I JSB RJCTI,I NOP SC29 LIA SC,C STA RCYL JSB FLAGI,I JMP RQ2 E102 JSB ERROR NO FLAG GETTING ADDRESS RQ2 EQU * SC30 LIA SC,C STA RHDS JMP RQSTA,I B137 OCT 137 TCYL1 BSS 1 DGENI DEF DGEN1 P114A DEF J114A P114B DEF J114B UNENT BSS 1 UXPT1 BSS ¹þú 1 UXPT2 BSS 1 PNDSN ASC 1,# HED DRIVE DEPENDENT TABLES ITTB OCT 2 7906 OCT 1 7920 OCT 0 7905 OCT 3 7925 OCT 3 UNUSED OCT 3 UNUSED OCT 3 UNUSED OCT 3 UNUSED DHTB OCT 7 OCT 37 OCT 17 OCT 777 UHTB OCT 3,3,3,3,3,3,3,3 UTTB BSS 8 UHCTB BSS 8 ATTB ASC 1,05 ASC 1,20 ASC 1,06 ASC 1,25 RW48 BSS 6 RW64 BSS 8 CTTB DEF TRT05 DEF TRT20 DEF TRT06 DEF TRT25 DDTBP DEF DDTB0 DEF DDTB1 DEF DDTB2 DEF DDTB3 DDTB0 EQU * DEC 411 CYPP DEF FTR05 LOC. OF FIRST ENTRY IN 7905 CYL. TABLE DEC 48 SCPT DEC 3 TRPC DEC -3 MHEAD DEC 410 LASTC OCT 77 MSC2 DEC 6144 WDPT DEC -2432 SVCTV DEC 14 POSITIVE OFFSET (POFST) OCT 7 DHD6 VALID HEADS FOR 7905 DDTB1 EQU * DEC 823 CYPP DEF FTR20 LOC. OF FIRST ENTRY IN 7920 CYL. TABLE DEC 48 SCPT DEC 5 TRPC DEC -5 MHEAD DEC 822 LASTC OCT 77 MSC2 DEC 6144 WORDS /TRACK (WDPT) DEC -1216 SVCTV DEC 32 POSITIVE OFFSET (POFST) OCT 37 DHD6 VALID HEADS FOR 7920 DDTB2 DEC 411 CYPP DEF FTR06 LOC. OF FIRST ENTRY * IN 7906 CYL. TABLE DEC 48 SCPT DEC 4 TRPC DEC -4 MHEAD DEC 410 LASTC OCT 77 MSC2 DEC 6144 WDPT DEC -2432 SVCTV DEC 14 POSITIVE OFFSET (POFST) OCT 17 DHD6 DDTB3 DEC 823 CYPP DEF FTR25 LOC. OF FIRST ENTRY IN * 7925 CYL. TABLE DEC 64 SCPT DEC 9 TRPC DEC -9 d£þú MHEAD DEC 822 LASTC OCT 77 MSC2 DEC 8192 WORDS/TRACK (WDPT) DEC -1216 SVCTV DEC 32 POSITIVE OFFSET (POFST) OCT 777 DHD6 VALID HEADS FOR 7925 OCT 155555 OCT 177777 OCT 125252 OCT 055555 OCT 007417 OCT 170360 OCT 162745 OCT 0 OCT 163346 OCT 022222 PATTR EQU * HED WAITS,PUT23,TVP24,MWCHK,TEOC,TV2ST * THE WAITS ROUTINE WAITS FOR UP TO 105 MILLISECONDS * FOR THE CHANNEL FLAG. WHEN THE FLAG SETS, * WAITS CALLS STAT FOR THE STATUS * WAITS NOP LDA MM105 LDB MCPU SSB LDA M7936 ALLOW LONGER TIME IF SEEK AND IN MCPU MODE WAX EQU * STA LCNT SET EXTRA CLOCK COUNTER CLA,INA STA STAS2 STARTS BUSY LDA COPRN GET CURRENT OPERATION CPA B44 SEE IF IT IS A SEEK RSS JMP CC05 SC53 STC SC ENALBE FLAGS FROM SEEK COMPLETIONS WASD EQU * CLA,INA JSB TMR,I ONE MSEC TIME DELAY LDA COPRN CPA B44 SEEK? SC34 CLC SC STOP FLAG CC05 SFS CC SKIP IF SEEK DONE RSS NO JMP WASG YES LDB MCPU CPA B44 INB,SZB,RSS JMP WASR NO LDA STAS2 SLA,RSS HAS BEEN BUSY? JMP WASQ NO JSB STAT YES - CHECK IT NOW JSB POLL LDA STAS2 SLA BUSY? JMP WASQ WASF LDA LCNT CALCULATE ADA D106 TIME SPENT BEFORE FLAG SET, ADA SVCTA ADD TO ACCUMULATED AMOUNT STA SVCTA AND SAVE IT LDA STAS2 SLA,RSS DONE? JMP WASQ NO CC22 CLF CC RESET FLAG WASZ LDA COPRN CPA B100 REQUEST SYNDROME? RSS YES - NO STATUS JSB STAT CALL FOR STATUS CLB STB MCPU DONT ALLOW 1 SEC. TIMEOUT FOR OTHER COMMANDS Ãþú JMP WAITS,I WASR CPA B44 SEEK? WASQ EQU * SC35 STC SC ISZ LCNT SKIP WHEN TIMED OUT JMP WASD KEEP LOOPING JSB MC WIPE OUT THE CARDS JSB PCOP PRINT CURRENT OPERATION MESSAGE E10 JSB ERROR NO FLAG FOLLOWING OPERATION JSB FATLI,I POSSIBLY FATAL ERROR JSB ADDOI,I JMP WASZ WASG LDA STAS2 SLA,RSS HAS BEEN BUSY? JMP CC22 NO JMP WASF YES PPT24 JSB TV24,I PUT23 LDA OPCNT GET OPCODE ADA MM71 CONVERT TO NOS. FROM 0 TO 5 ADA SRTBL ADD BASE OF SAVE/RESTORE TABLE LDA A,I STA WD2 LDA PPT24 XFER VECTOR STA WD1 LDA D3 3 WORD INSTRUCTIPON JMP PT1FI,I PT1FI DEF PUT1F TVP24 NOP JSB OPNDI,I CHECK FOR ABORT LDA TVP24,I SSA JMP TP24B LDB CYL STB A,I SAVE CYLINDER INA LDB HEAD STB A,I SAVE HEAD INA LDB SECTR STB A,I SAVE SECTOR TP24A ISZ TVP24 ISZ TVP24 JMP TVP24,I TP24B ELA,CLE,ERA CLEAR BIT 15 LDB A,I STB CYL RESTORE CYL. VALUE INA LDB A,I STB HEAD RESTORE HEAD VALUE INA LDB A,I STB SECTR RESTORE SECTOR VALUE JMP TP24A SRTBL DEF *+1 DEF SET00 DEF SET01 DEF SET02 DEF SET00,I DEF SET01,I DEF SET02,I SET00 BSS 3 SET01 BSS 3 SET02 BSS 3 * * MWCHK * MASK OFF UNIT PART OF STATUS WORD ONE * AND CHECK STATUS * MWCHK NOP LDA MASK1 AND MM8 =177770 STA MASK1 JSB WCHK LDA MASK1 IOR D7 STA MASK1 JMP MWCHK,I * TEOC NOP TEST FOR END OF CYLINDER LDA HDONV GET HEADS IN HEAD TABLE FOR SELECTED UNIT AND B3 CPA B3 SEE IF HEADS 0 AND 1 IN HEAD TABLE 1²<:6RSS JMP TEOC,I RETURN IF THEY ARE NOT CLA SET CURRENT HEAD = 0 STA HEAD LDA D256 STA WCNT WORD COUNT = 256 LDA SCPT ADA MM1 STA SECTR SECTOR = 47 JSB FSEEK SEEK JSB READ READ LDA CCHK SZA LDA A6000 STA SHTAS STATUS IS END OF CYLINDER JSB DMRFC INCOMPLETE TRANSFER OK JSB WCHK CHECK STATUS JMP TEOC,I TV2ST NOP SET UP STA CYL CLA STA SECTR LDA SCPT STA TNUM LDA MM5 STA PLIMT JMP TV2ST,I 3<ÿÿþú HED TVP5,SUR0,CPBB,PUT25,TVP25 * * * TVP5 CB * TVP5 NOP JSB OPNDI,I LDA TVP5,I WD2 STA WCNT ISZ TVP5 LDA TVP5,I WD3 STA TNUMP ISZ TVP5 JSB DCHKI,I COMPARE BUFFERS ISZ TVP5 JMP TVP5,I FRMHD BSS 1 TOHD BSS 1 SUR0 NOP LDB XXX2 GET "TO HEAD" STB TOHD STORE FOR FUTURE USE LDB XXX1 GET "FROM HEAD" STB FRMHD STORE AWAY FOR FUTURE USE BLF,BLF CPA B116 OPCODE = 116 => CP JMP CPBB STB HDS1 PLACE IN IS INSTRUCTION CLB STB RTA37 INITIALIZE RETURN COUNTER CPA B117 =TC JMP SURBB STB RTBB STB CYL1 INITIALIZE RETURN TO BB COUNTER AND * INITIAL CYL. NO. SURBB JSB TV1,I IS,Z CYL1 OCT 0 HDS1 OCT 0 OCT 14 CYL2 OCT 0 HDS2 OCT 0 OCT 3414 JSB TV10,I SC,XXX1111100000000,0000000001X00000 OCT 17400,100,17777,177737,3021 JSB SURA0 CA,A0 JSB TV15,I RT,BB,410 RTB1 OCT 632 RTBB OCT 0 JMP SURBB OCT 2430 JMP SUR0,I SURA1 NOP SB,A1 JSB TV2,I RL OCT 1026 JSB TV10,I SC,XXX1111100000000,000000000XX00000 OCT 17400,0,17777,177637,3021 JSB TV4,I RF,828 OCT 1474 OCT 1436 JSB TV10,I SC,0000000000000000,000000000XX00000 OCT 0,0,177777,177637,3021 JMP SURA1,I LV,A1 SURA0 NOP SRA01 JSB SURA1 CA,A1 JSB TV8,I TB,828 OCT 176304 OCT 1472 JSB SURA1 CA,A1 LDA TOHD STA HEAD JSB TV2,I RL OCT 1026 JSB TV17,I SM OCT 2,1440 JSB TV5,I CB,828,3 OCT 1474,3,2001 JSB TV4,I WF,828 OCT 1474 OCT 1435 JSB TV10,I .þú SC,0000000000000000,000000000XX00000 OCT 0,0,177777,177637,3021 JSB SURA1 CA,A1 JSB TV2,I RL OCT 1026 JSB TV17,I SM OCT 2,1440 JSB TV5,I CB,828,3 OCT 1474,3,2001 JSB TV4,I CS,6 OCT 6,1477 LDA FRMHD STA HEAD JSB TV15,I RT,A3,7 OCT 7 RTA37 OCT 0 JMP SRA01 OCT 2430 JMP SURA0,I CPBB STB HDSP1 CLA STA CYLP1 STA CRTBB STA CRTAA INITIALIZE RETURN COUNTERS CPBB0 JSB TV1,I IS,,Z CYLP1 OCT 0 HDSP1 OCT 0 OCT 14 CYLP2 OCT 0 HDSP2 OCT 0 OCT 3414 JSB CPA0 CA,A0 JSB TV15,I RT,BB,410 OCT 632 CRTBB OCT 0 JMP CPBB0 OCT 2430 JMP SUR0,I CPA0 NOP CPAA JSB TV2,I RL OCT 1026 JSB TV4,I OCT 1474,1436 JSB TV8,I TB,828 OCT 176304 OCT 1472 LDA TOHD STA HEAD HEAD = TOHD JSB TV2,I RL OCT 1026 JSB TV4,I RF,828 OCT 1474,1436 JSB TV5,I CB,828,3 OCT 1474,3,2001 JSB TV4,I CS,6 OCT 6,1477 LDA FRMHD STA HEAD HEAD = "FROM HEAD" JSB TV15,I RT,AA,7 OCT 7 CRTAA OCT 0 JMP CPAA OCT 2430 JMP CPA0,I LV,A0 PUT25 LDA PPT25 TC STA WD1 STORE XFER VECTOR JSB CHAR GET FIRST CHAR. JMP IPT1A,I ERROR JSB PT1GI,I CHECK FOR COMMA JSB DCHAR GET INITIAL ADDRESS JMP IPT1A,I ERROR ISZ DFLT SKIP IF NO CYL. ENTERED RSS JMP IPT1A,I ERROR(CYL. MUST BE ENTERED) STA WD2 JSB DCHAR GET "FROM HEAD" JMP IPT1A,I ERROR ISZ DFLT SKIP IF NO "FROM HEAD" GIVEN RSS JMP IPT1A,I ERROR("FROM HEAD" MUST BE ÁgþúGIVEN) STA WD3 JSB DCHAR GET "TO HEAD" RSS JMP IPT1A,I ERROR JSB PT1EI,I SEE IF ERROR OR DONE ISZ DFLT SKIP IF NO "TO HEAD" GIVEN RSS JMP IPT1A,I STA WD4 LDA D5 JMP PT1FI,I IPT1A DEF PUT1A PT1GI DEF PUT1G PT1EI DEF PUT1E PPT25 JSB TV25,I TVP25 NOP LDA RTB1 GET LOOP COUNT FOR NOT WANT * TO REPEAT STA RTBB SET SO NOT REPEAT LDA TVP25,I STA CYL1 SET CYL. TO CORRECT VALUE ISZ TVP25 SET POINTER AT "FROM HEAD" LDA TVP25 STA TV22,I SET CORRECT RETURN ADDRESS JMP T22P1,I FOR OTHER ROUTINE T22P1 DEF TVP22+1 CCHSI DEF CHCHS ILFVI DEF ILFV TV2UI DEF TVP2U * * TVP1 AR,CR,DS,IS,SK * TVP1 NOP JSB OPNDI,I CHECK FOR ABORT LDA TVP1 STA LOCAL LDA TVP1,I WD2 STA CYL CYLINDER ISZ TVP1 LDA TVP1,I WD3 AND B377 STA SECTR SECTOR LDA TVP1,I ALF,ALF AND B377 STA HEAD HEAD ISZ TVP1 LDA TVP1,I WD4 ISZ TVP1 TVP1M AND B377 OP CODE STA XXX1 STORE OP CODE ADA TPNTI,I LDA A,I JMP A,I TPNTI DEF TPONT TVP1H EQU * JSB CCHSI,I JSB SEES LOAD RAR JMP TVP1,I EXIT TVP1T JSB CCHSI,I TVP1D EQU * JSB SEEK SEEK JSB WAITI,I WAIT FOR SEEK TVP1L LDA TVP1,I NEXT TRANSFER VECTOR JSB TP1GI,I CHECK STATUS JMP TVP1,I EXIT TVP1B SZA,RSS LDA CYPP ADA MM1 DECREMENT CYL TVP1E STA LOCAL,I CHANGE WD2 JMP TVP1D TVP1C JSB CCHSI,I LDA CYL INA INCREMENT CYLINDER CPA CYPP CLA JMP TVP1E TVP1K LDA CYL STA WCNT JSB CCHSI,I JSB COLDI,I PERFORM COLD LOAD READ JMP TVP1L COLDI DEF COLD1ÒþúR TVP20 NOP LDA TVP20 STA TVP2 RSS * * * TVP2 CL,DA,F0,F1,F2,F3,F4,F5,F6,FH,NO,RA,RC,RL,RS,ST * V0,V1,V2,V3,V4,V5,V6,VH * TVP2 NOP JSB OPNDI,I CHECK FOR ABORT LDA TVP2,I WD2 ISZ TVP2 CLB JMP TVP1M TP2HH CLA,INA STA DISCK JMP TVP2,I TP2GG JSB RESET CLEAR TVP2G LDA TVP2,I JSB TP1GI,I CHECK STATUS JMP TVP2,I TVP2A JSB RNCHI,I RS, RANDOM CYLINDER AND HEAD LDA TVP2 STA TVP1 JMP TVP1T TVP2E LDA TVP2 RL STA TVP1 JMP TVP1T TVP2F JSB OSTAT ST JMP TVP2G TP2KK INB F8 TP2LL INB F7 TP2BB INB F6 TP2AA INB F5 TVP2Z INB F4 TVP2V INB F3 TVP2K INB F2 TVP2J INB F1 TVP2H STB HEAD F0 ADB MHEAD LDA FX SSB,RSS JMP ILFVI,I JSB TV2RI,I FORMAT AND VERIFY JMP TVP2,I TP2MM INB V8 TP2NN INB V7 TP2FF INB V6 TP2EE INB V5 TP2DD INB V4 TP2CC INB V3 TVP2Q INB V2 TVP2N INB V1 TVP2L STB HEAD V0 ADB MHEAD LDA VX SSB,RSS JMP ILFVI,I JSB TV2UI,I VERIFY JMP TVP2,I TVP2P JSB SEEKH JMP TVP2G TV2RI DEF TVP2R VX ASC 1,V0 FX ASC 1,F0 TVP21 NOP JSB OPNDI,I CHECK FOR ABORT LDA TVP21,I GET NO. OF MILLISEC. DELAY JSB TMR,I CALL TIMING ROUTINE TO WAIT ISZ TVP21 ISZ TVP21 JMP TVP21,I GO EXECUTE NEXT COMMAND TVP23 NOP JSB OPNDI,I CHECK FOR ABORT ISZ TVP23,I UPDATE COUNTER NOP LDA TVP23,I ISZ TVP23 INCREMENT TO LABEL LDB TVP23,I GET SYMBOL STB MSG01 PLACE IN MESSAGE JSB DECIN CONVERT TO ASCII LDA CVT3 PLACE MSD IN MESSAGE STA MSG02 LDPüþúA CVT1 PLACE MIDDLE DIGITS IN MESSAGE STA MSG03 LDA CVT2 PLACE LSD IN MESSAGE STA MSG04 LDB MSG00 GET ADDRESS OF MESSAGE LDA D10 GET LENGTH OF MESSGE JSB SIOLO,I OUTPUT MESSAGE ISZ TVP23 ISZ TVP23 JMP TVP23,I MSG00 DEF MSG01 MSG01 ASC 2,XX MSG02 ASC 1,XX MSG03 ASC 1,XX MSG04 ASC 2,XX HED TRKCH,RWTAB TRKCH NOP LDA DRIND GET DRIVE INDEX NO. ADA DUMPT ADD BASE ADDRESS OF DUMP TABLE LDA A,I GET START OF TABLE FOR THIS DRIVE TYPE ADA D5 LDA A,I GET NEG. VALUE OF NO. OF TRACKS * THAT MUST BE GOOD ADA CYPP ADD NO. OF CYL. PER PACK CMA,INA NEGATE RESULT STA TLIMT STORE NEG. VALUE OF NO. OF DEFECTIVE * TRACKS ALLOWED JMP TRKCH,I HED PCHK,PCHE * * PCHK ROUTINE. * THIS ROUTINE CHECKS THE ENTIRE READ BUFFER FOR * EQUALITY WITH THE WORD IN PATT. * PCHK NOP * LDA PCHK LOAD RETURN ADDRESS STA WCHK SAVE FOR POSSIBLE CALL JSB DSOKI,I CHECK D AND S BITS SZA,RSS ABORT? JMP WRERX YES CLA STA DERR ERROR FLAG STA DFRST FIRST TIME PCHB EQU * LDA D3 STA NUMP PRINT FIRST THREE ERRORS * LDB NOWDS LDA DMAWC ACTUAL WORDS TRANSFERRED SZB,RSS SKIP IF TRANSFER IS INCOMPLETE LDA WCNT LOAD BUFFER LENGTH STA PWCNT SAVE WORD COUNT STA PWORD SAVE TWO COPIES LDB CTYP SSB,RSS JMP PCHQ NO LIB 6 CPB MM1 JMP PCHM YES PCHQ ARS,ARS DIVIDE BY EIGHT ARS ( FOR EIGHT UNIT LOOP ) SZA,RSS JMP WRERX STOP IF ZERO CMA,INA TWOS COMPLEMENT STA TEMP3 SET COUNTER FOR LOOP LDA PATT LOAD COMPuðþúARISON WORD LDB BUFAE LOAD READ BUFFER ADDRESS * * BEGINNING OF THE LOOP * PCHL EQU * CPA B,I CHECK FOR MATCH WITH BUFFER INB,RSS COUNT UP BUFFER ADDRESS AND SKIP JSB PCHE MIS-COMPARE CPA B,I INB,RSS JSB PCHE CPA B,I INB,RSS JSB PCHE CPA B,I INB,RSS JSB PCHE CPA B,I INB,RSS JSB PCHE CPA B,I INB,RSS JSB PCHE CPA B,I INB,RSS JSB PCHE CPA B,I INB,RSS JSB PCHE ISZ TEMP3 COUNT OUT JMP PCHL NOT DONE, CONTINUE CHECKING * PCHZ LDA DERR SZA ANY ERRORS? JMP PCHX YES LDA DFRST NO - FIRST TIME? SZA JMP WRERX NO LDA STAS1 AND B7400 CPA A7400 CORRECTABLE DATA ERROR? JMP PCHX YES JMP WRERX NO BUFFER ERRORS, CHECK STATUS * * PCHE NOP STB TEMP2 POINTER - IS LDA PATTI SET UP STA TEMP1 SHOULD BE PART OF ERROR MESSAGE LDA BUFAE CMA,INA ADA TEMP2 A = WORD NUMBER STA PCHP PCHE1 JSB EE47I,I REPORT ERROR SZA,RSS JMP PCHX DONE STA NUMP LDB TEMP2 INB LDA PATT JMP PCHE,I CONTINUE PCHX JSB DCNDI,I JMP PCHB PATTI DEF GLOB4 EE47I DEF EE47 DCNDI DEF DCEND * PCHM CLB LDA M32K IF 32K OF MEMORY & IS * CALLED FROM SECTION 2 & * IS 48 BIT PATTERN, THEN * OFFSET BUFFER BY AN AMOUNT * SO WILL AGREE ON THE WORD * ON WHICH THE 48 BIT PATTERN * STARTS SZA,RSS SKIP IF 32K OF MEMORY JMP PCHMX LDA S2SBI SEE IF CALLED FR†£þúOM LOC. IN * SECTION 2 CPA PCHK RSS SKIP IF FROM SECTION 2 JMP PCHMX LDA PTNXI,I SEE IF 48 BIT PATTERN CPA MM10 CPA MM10 RSS JMP PCHMX LDB SECTR RBL ADB BPTR RSS PCHMX ADB BUFAD ADD BASE ADDRESS OF WRITE BUFFER STB SBFAD LDA BUFAE READ BUFFER PCHM1 OCT 105776 ** CMW INSTRUCTION ** DEF PWCNT WORD COUNT OCT 0 RESERVED FOR MICROCODE JMP PCHZ OK - EXIT NOP ERROR EXIT 1 LDB BUFAE READ BUFFER BASE ADDRESS CMB,INB NEGATE BASE ADDRESS ADB A ADD LOCATION IN ERROR STB PCHP NO. OF THE WORD IN ERROR STA TEMP2 ADDRESS OF WORD IN ERROR ADB SBFAD STB TEMP1 SHOULD BE WORD POINTER LDA PCHP A = NO. OF WORD IN ERROR LDB PCH2I STB PCHE STORE RETURN ADDRESS * FOR SUBROUTINE WE ARE GOING * TO JUMP INTO JMP PCHE1 PCH2I DEF PCHM2 PCHM2 ISZ PCHP LDA PCHP CPA PWCNT DONE? JMP PCHZ YES CMA,INA NO ADA PWORD STA PWCNT WORD COUNT LEFT LDB SBFAD ADB PCHP LDA BUFAE ADA PCHP JMP PCHM1 PWCNT BSS 1 PWORD BSS 1 PCHP BSS 1 SBFAD BSS 1 S2SBI DEF S2SB PTNXI DEF PTNX RWTAB NOP LDB RWT48 LDA SCPT SEE HOW MANY SECTORS /TRACK CPA D64 LDB RWT64 IF 64 SECTORS /TRACK USE A * DIFFERENT TABLE STB RWTBL STORE BASE ADDRESS OF TABLE LDA M32K SEE IF 32K OF MEMORY SZA SKIP IF NOT 32K OF MEMORY JMP RWTB1 LOAD DIFFERENT VALUES FOR LARGER * AMOUNT OF MEMORY LDA D1024 STA WWCNT NO. O·<þúF WORDS WRITTEN AT ONE TIME LDA D8 STA NSECT NO. OF SECTORS WRITTEN AT ONE TIME LDA D3 STA NLOOP NO. OF TIMES TO LOOP IN * EXPANSION OF BUFFER JMP RWTAB,I RETURN TO CALLING ROUTINE RWTB1 LDA WDPT GET NO. OF WORDS /TRACK STA WWCNT NO. OF WORDS TO WRITE ON TRACK LDA SCPT STA NSECT NO. OF SECTORS TO WRITE /TRACK LDB D5 CPA D64 SEE IF 64 SECTORS/TRACK INB INCREMENT B IF 64 SECTORS/TRACK STB NLOOP NO. OF TIMES TO LOOP IN * EXPANSION OF BUFFER JMP RWTAB,I RETURN TO CALLING ROUTINE HED OPERATOR DESIGN TABLES * * CODE GENERATOR TRANSFER TABLE * OTBLE DEF POUT1 AR DEF POUT5 CB DEF POUT4 VF DEF POUT2 FH DEF POUT6,I DB DEF POUT1 DS DEF POT11,I EE DEF POUT7,I EN DEF POT12,I EP DEF POUT3,I GO DEF POT10,I HT DEF POUT9 ID DEF POUT1 IS DEF POUT3,I LB DEF POUT4 RD DEF POUT2 CL DEF POUT2 RS DEF POT16 SC DEF POUT8,I SD DEF POUT1 SK DEF POUT4 WD DEF POT14,I LP DEF POUT2 RL DEF POUT2 ST DEF POT15,I RT DEF POUT2 F0 DEF POUT2 F1 DEF POUT2 V0 DEF POUT2 V1 DEF POUT4 WF DEF POUT4 RF DEF POUT2 RC DEF POT17 SM DEF POUT4 RW DEF POUT2 F2 DEF POUT2 V2 DEF POUT2 VH DEF POT18 RO DEF POT19,I EX DEF POUT2 F3 DEF POUT2 DA DEF POUT2 NO DEF POUT2 RA DEF POUT2 F4 DEF POUT1 CR DEF POT20,I RI DEF POT21,I AI DEF POUT2 V3 DEF POUT2 V4 DEF POUT2 oþú V5 DEF POUT2 V6 DEF POUT2 F5 DEF POUT2 F6 DEF POUT2,I DC DEF PUT20 VS DEF PUT20 VP DEF PUT20 VD DEF POUT8,I LS DEF POUT8,I TB DEF POUT1,I MC DEF PUT21,I CW-74 DEF PUT21,I DW-75 DEF PUT21,I DR-76 DEF POUT4,I CS-77 DEF POUT4,I CH-100 DEF POUT4,I CC-101 DEF POUT3,I SB-102 DEF POUT3,I CA-103 DEF POUT3,I LV-104 DEF POUT8,I DL-105 DEF POUT3,I PR-106 DEF PUT23,I S0-107 DEF PUT23,I S1-110 DEF PUT23,I S2-111 DEF PUT23,I R0-112 DEF PUT23,I R1-113 DEF PUT23,I R2-114 DEF PUT21 TS-115 DEF PUT21 CP-116 DEF PUT25 TC-117 DEF POUT2 V7 - 120 DEF POUT2 V8 - 121 DEF POUT2 F7 - 122 DEF POUT2 F8 - 123 HED OPERATOR DESIGN TABLES * * OP CODES FOR OPDSN * TABLE ASC 1,AR 0 ASC 1,CB 1 ASC 1,VF 2 ASC 1,FH 3 ASC 1,DB 4 ASC 1,DS 5 ASC 1,EE 6 ASC 1,EN 7 ASC 1,EP 10 ASC 1,GO 11 ASC 1,HT 12 ASC 1,ID 13 ASC 1,IS 14 ASC 1,LB 15 ASC 1,RD 16 ASC 1,CL 17 ASC 1,RS 20 ASC 1,SC 21 ASC 1,SD 22 ASC 1,SK 23 ASC 1,WD 24 ASC 1,LP 25 ASC 1,RL 26 ASC 1,ST 27 ASC 1,RT 30 ASC 1,F0 31 ASC 1,F1 32 ASC 1,V0 33 ASC 1,V1 34 ASC 1,WF 35 ASC 1,RF 36 ASC 1,RC 37 ASC 1,SM 40 ASC 1,RW 41 ASC 1,F2 42 ASC 1,V2 43 ASC 1,VH 44 ASC 1,RO 45 ASC 1,EX 46 ASC 1,œ¬<:6F3 47 ASC 1,DA 50 ASC 1,NO 51 ASC 1,RA 52 ASC 1,F4 53 ASC 1,CR 54 ASC 1,RI 55 ASC 1,AI 56 ASC 1,V3 57 ASC 1,V4 60 ASC 1,V5 61 ASC 1,V6 62 ASC 1,F5 63 ASC 1,F6 64 ASC 1,DC 65 ASC 1,VS 66 ASC 1,VP 67 ASC 1,VD 70 ASC 1,LS 71 ASC 1,TB 72 ASC 1,MC 73 ASC 1,CW 74 ASC 1,DW 75 ASC 1,DR 76 ASC 1,CS 77 ASC 1,CH 100 ASC 1,CC 101 ASC 1,SB 102 ASC 1,CA 103 ASC 1,LV 104 ASC 1,DL 105 ASC 1,PR 106 ASC 1,S0 107 ASC 1,S1 110 ASC 1,S2 ASC 1,R0 112 ASC 1,R1 113 ASC 1,R2 114 ASC 1,TS 115 ASC 1,CP 116 ASC 1,TC 117 ASC 1,V7 120 ASC 1,V8 121 ASC 1,F7 122 LAST ASC 1,F8 123 -)<ÿÿþú HED OPDSN JUMP TABLE TPONT DEF *+1 DEF TVP1H AR - 0 NOP DEF TVP4B VF - 2 DEF TVP2B FH - 3 BSS 1 DEF TVP1S DS-5 BSS 6 DEF TVP1S IS-14 BSS 1 DEF TVP4G RD - 16 DEF TP2GG CL - 17 DEF TVP2A RS - 20 NOP NOP DEF TVP1T SK - 23 DEF TVP4A WD - 24 NOP DEF TVP2E RL - 26 DEF TVP2F ST - 27 NOP DEF TVP2H F0 - 31 DEF TVP2J F1 - 32 DEF TVP2L V0 - 33 DEF TVP2N V1 - 34 DEF TVP4E WF - 35 DEF TVP4D RF - 36 DEF TVP2P RC - 37 NOP DEF TVP4F RW - 41 DEF TVP2K F2 - 42 DEF TVP2Q V2 - 43 DEF TVP2D VH - 44 NOP NOP DEF TVP2V F3 - 47 DEF TVP2W DA - 50 DEF TVP2X NO - 51 DEF TVP2Y RA - 52 DEF TVP2Z F4 - 53 DEF TVP1K CR - 54 NOP NOP DEF TP2CC V3 - 57 DEF TP2DD V4 - 60 DEF TP2EE V5 - 61 DEF TP2FF V6 - 62 DEF TP2AA F5 - 63 DEF TP2BB F6 - 64 DEF TP2HH DC-65 DEF TP20C VS DEF TP20A VP DEF TP20B VD NOP NOP TB-72 DEF TP19A MC DEF TVP22 CW DEF TVP22 DW DEF TVP22 DR DEF TVP4H CS DEF TVP4J CH DEF TVP4L CC BSS 14 DEF TP2NN DEF TP2MM DEF TP2LL DEF TP2KK HED MESSAGE POINTERS FMI DEF *+1 MESSAGE ADDRESS TABLE DEF M0 DEF M1 DEF M2 DEF M3 DEF M4 DEF M5 DEF M6 DEF M7 DEF M10 DEF M11 DEF M12 DEF M13 DEF M14 DEF M15 DEF M16 DEF M17 DEF M20 DEF M21 DEF kŽþúM22 DEF M23 DEF M24 DEF M25 DEF M26 DEF M27 DEF M30 DEF M31 DEF M32 DEF M33 DEF M34 DEF M35 DEF M36 DEF M37 DEF M40 DEF M41 DEF M42 DEF M43 DEF M44 DEF M45 DEF M46 DEF M47 DEF M50 DEF M51 DEF M52 DEF M53 DEF M54 DEF M55 DEF M56 DEF M57 DEF M60 DEF M61 DEF M62 DEF M63 DEF M64 DEF M65 DEF M66 DEF M67 DEF M70 DEF M71 DEF M72 DEF M73 DEF M74 DEF M75 DEF M76 DEF M77 DEF M100 DEF M101 DEF M102 DEF M103 DEF M104 DEF M105 DEF M106 DEF M107 DEF M110 NOP M111 NOT USED NOP M112 NOT USED NOP M113 NOT USED DEF M114 DEF M115 DEF M116 DEF M117 DEF M120 DEF M121 DEF M122 DEF M123 DEF M124 DEF M125 DEF M126 DEF M127 DEF M130 DEF M131 DEF M132 DEF M133 DEF M134 DEF M135 DEF M136 DEF M137 DEF M140 DEF M141 DEF M142 DEF M143 DEF M144 DEF M145 DEF M146 DEF M147 HED MESSAGE POINTERS FERC ABS -FER FER DEF *+1 DEF H0 MESSAGE NUMBER TABLE DEF H1 DEF E2 NOP (H3) NOP (H4) DEF E5 DEF E6 DEF E7 DEF E10 DEF E11 DEF E12 DEF E13 DEF E14 NOP (H15) NOP (H16) DEF H17 DEF H20 DEF E21 NOP (H22) DEF H23 DEF H24 DEF H25 DEF H26 DEF H27 DEF H30 DEF H31 DEF H32 DEF H33 %SþúDEF H34 DEF H35 NOP H36 DEF H37 DEF H40 DEF H41 DEF E42 DEF E43 NOP (H44) NOP H45 NOP H46 DEF E47 DEF E50 DEF H51 DEF E52 DEF H53 DEF H54 DEF H55 DEF H56 DEF E57 NOP H60 NOP USED BY PCOPR NOP H62 DEF E63 DEF E64 DEF H65 NOP H66 NOP H67 DEF H70 NOP (H71) DEF E72 DEF E73 NOP (H74) DEF E75 NOP (H76) DEF E77 NOP (H100) NOP (H101) DEF E102 DEF E103 NOP (H104) DEF E105 DEF H106 DEF H107 DEF H110 NOP (NOT USED) NOP (NOT USED) NOP (NOT USED) DEF H114 NOP (H115) NOP (H116) NOP (H117) DEF E120 DEF H121 NOP (H122) NOP (H123) DEF E124 DEF E125 DEF H126 DEF E127 LER DEF * HED MESSAGES * M0 OCT 06412 ASC 14,H0 79XX/13037 DISC MEMORY DI ASC 05,AGNOSTIC# M1 ASC 04,H1 UNIT J001A BSS 1 ASC 13, REMOVED FROM UNIT TABLE# M2 ASC 11,E2 CLF OR SFS FAILED# M3 ASC 11,H3 READ FULL SECTOR # M4 ASC 05,H4 CLEAR# M5 ASC 14,E5 SFS FAILED WITH FLAG SET# M6 ASC 08,E6 NO INTERRUPT# M7 ASC 12,E7 WRONG RETURN ADDRESS# M10 ASC 16,E10 NO FLAG FOLLOWING OPERATION# M11 ASC 07,E11 LATE FLAG# M12 ASC 14,E12 NO FLAG(GETTING STATUS)# M13 ASC 02,E13 JP13A BSS 2 ASC 10, WORDS TRANSFERRED JP13B BSS 2 ASC 05, EXPECTED# M14 ASC 12,E14 NO FLAG(USING DMA)# M15 ASC 10,H15 ADDRESS RECORD# M16 ASC 07,H16 OVERFLOW# M17 ASC 10,H17 DUPLICATE LABEL# M20 ASC 13,H20 UNDEFINED INSTR/=þúUCTION# M21 ASC 09,E21 INVALID UNIT# M22 ASC 06,H22 VERIFY# M23 ASC 02,H23 JP23A BSS 3 ASC 11, ERRORS/PASS ALLOWED# M24 ASC 17,H24 CYLINDER TABLE FOR DRIVE TYPE ASC 1,79 JP24B ASC 2,XXX OCT 06412 JP24A BSS 24 ASC 01,# M25 ASC 10,H25 WISH TO CHANGE?# M26 ASC 19,H26 ENTER CYLINDERS SEPARATED BY COMMA ASC 01,S# M27 ASC 09,H27 PATTERN TABLE OCT 06412 JP27A BSS 41 ASC 01,# M30 ASC 20,H30 ENTER PATTERNS SEPARATED BY COMMAS# M31 ASC 08,H31 INPUT ERROR# M32 ASC 11,H32 ENTER ERRORS/PASS# M33 ASC 08,H33 SEEK-STATUS OCT 6412 JP33A BSS 64 M34 ASC 20,H34 ENTER UNIT NUMBERS(0-7)SEPARATED BY ASC 04,COMMAS# M35 ASC 06,H35 STATUS# M36 ASC 11,H36 INITIALIZE DATA # M37 ASC 8,H37 UNIT TABLE: JP37A BSS 1 ASC 05, DRIVE(S); JP37B BSS 9 M40 ASC 17,H40 SET READ ONLY SWITCH,PUSH RUN# M41 ASC 18,H41 CLEAR READ ONLY SWITCH,PUSH RUN# M42 ASC 05,E42 UNIT JP42A BSS 1 ASC 13, ATTENTION SET-STATUS IS JP42B BSS 3 ASC 03, AND JP42C BSS 3 OCT 6412 ASC 01,# M43 ASC 08,E43 DMA MISSING# M44 ASC 05,H44 SEEK# M45 ASC 06,H45 WRITE # M46 ASC 05,H46 READ# M47 ASC 07,E47 DATA WORD JP47A BSS 2 ASC 02, IS JP47B BSS 3 ASC 06, SHOULD BE JP47C BSS 3 ASC 01,# M50 ASC 04,E50 UNIT JP50A BSS 1 ASC 08, MISSING-PRESENT JP50B BSS 7 ASC 04, NONE# M51 ASC 3,START JP51A BSS 2 JP51B ASC 02,/XX/ JP51C BSS 1 ASC 03,-LAST JP51D ASC 02,0000 JP51E ASC 02,/00/ JP51F ASC 01,00 ASC 06, WORD COUNT JP51G BSS 3 ASC 5,,OLD CYL JP51K BSS 2 ASC 3,,UNIT JP51H BSS 1 ASC 1,# M52 ASC 10,E52 BUFFER CHECKSUM JP52A BSS 3 ASC 03, CYL JP52B BSS 3 ASC 01, ( JP52D BSS 2 ASC 03,)HD/S JP52C BSS 3 ASC 02, (H= JP52E BSS 1 ASC 02, S= JP52F BSS 1 ASC 01,)# M53 ASC 19,H53 AVERAGE SINGLE CYLINDER SEEK TIME JP53A BSS 2 Æþú ASC 01,# M54 ASC 15,H54 AVERAGE RANDOM SEEK TIME JP54A BSS 3 ASC 04,,LENGTH JP54B BSS 3 ASC 01,# M55 ASC 19,H55 ENTER INSTRUCTIONS (CURRENT UNIT = M55A ASC 2,XX)# M56 ASC 10,H56 UNDEFINED LABEL JP56A BSS 1 ASC 01,# M57 ASC 11,E57 SCREEN TEST ERROR# M60 ASC 10,H60 SET FILE MASK # M62 ASC 08,H62 HEAD TABLE; ASC 3, UNIT JP62D BSS 1 ASC 2, 79 JP62C ASC 3,XXX , JP62A BSS 1 ASC 04, HEAD(S) JP62B BSS 10 *** GOOD FOR UP TO 10 HEADS *** ASC 1,# M63 ASC 06,E63 NO FLAG# M64 ASC 07,E64 STATUS IS JP64A BSS 11 JP64E ASC 1,/ JP64B BSS 15 JP64F OCT 6412 ASC 07, SHOULD BE JP64C BSS 11 JP64G ASC 1,/ JP64D BSS 15 JP64H ASC 1,# M65 ASC 07,H65 XXXXX PASS JP65A BSS 3 ASC 10,HEAD 012345678,UNIT JP65E BSS 1 JP65B BSS 2 ASC 04, ERRORS- JP65F BSS 2 ASC 09, SOFT,MULTI-UNIT# JP65C ASC 03, NGLO (LONG ) JP65D ASC 03,T ORSH (SHORT ) M66 ASC 15,H66 SET FORMAT SWITCH ON UNIT JP66A BSS 1 ASC 05,,PUSH RUN# M67 ASC 16,H67 CLEAR FORMAT SWITCH ON UNIT JP67A BSS 1 ASC 05,,PUSH RUN# M70 ASC 08,H70 UNLOAD UNIT JP70A BSS 1 ASC 05,,PUSH RUN# M71 ASC 11,H71 READ WITH OFFSET= JP71A BSS 3 ASC 01,# M72 ASC 04,E72 UNIT JP72A BSS 1 ASC 06, NOT READY# M73 ASC 11,E73 COMMAND REJECTED= JP73A BSS 3 ASC 1,# M74 ASC 11,H74SEEK WITHOUT WAIT# M75 ASC 08,E75 ADDRESS IS JP75A BSS 3 ASC 01, ( JP75B BSS 2 ASC 03,) AND JP75C BSS 3 ASC 05, OLD CYL = JP75D BSS 2 OCT 6412 ASC 01,# M76 ASC 09,H76 RECALIBRATE # M77 ASC 15,E77 NO FLAG GETTING SYNDROME# M100 ASC 12,H100 REQUEST SYNDROME # M101 ASC 12,H101 WRITE FULL SECTOR# M102 ASC 15,E102 NO FLAG GETTING ADDRESS# M103 ASC 14,E103 DISC SUBSYSTEM DOES NOT ASC 9, RESPOND (S.C. = M103A ASC 2,XX)# M104 ASC 15,H104 REQUEST SECTOR ADDRESS # M105 ASC 13,E105 SECTOR ADDRESS ERROR# M106 AS(þúC 19,H106 ENTER HEADS SEPARATED BY COMMAS# M107 ASC 08,H107 READY UNIT J107A BSS 1 ASC 01,# M110 ASC 16,H110 PRESS PRESET(S),PRESS RUN# M114 ASC 07,H114 CYLINDER J114A BSS 2 ASC 03, HEAD J114B BSS 1 ASC 10, FLAGGED DEFECTIVE# M115 ASC 11,H115 COLD LOAD READ # M116 ASC 13,H116 DATA ERROR CORRECTED# M117 ASC 13,H117 READ WITHOUT VERIFY# M120 ASC 09,E120 FATAL ERROR# M121 ASC 16,H121 WARNING-FORMAT SWITCH OFF# M122 ASC 05,H122 END# M123 ASC 14,H123 REQUEST DISC ADDRESS # M124 ASC 13,E124 DISC ADDRESS ERROR # M125 ASC 13,E125 EXCESSIVE BAD TRACKS# M126 ASC 11,H126 SOFT ERRORS WILL J126A ASC 08,XXX BE PRINTED# M127 ASC 17,E127 INTERFACE FIFO MALFUNCTION# M130 ASC 23,H130 NO UNITS IN THE UNIT TABLE ARE CONNECTED# M131 ASC 17,H131 WARNING : DRIVE TYPE OF UNIT M131A ASC 8, HAS CHANGED # M132 ASC 28,H132 TYPE UNITS YOU WISH TO CHANGE SEPERATED BY COMMAS# M133 ASC 5,H133 UNIT J133A ASC 10,XX IS NOT CONNECTED# M134 ASC 11,H134 EXPANDED OUTPUT J134A ASC 11,XXX USED FOR STATUS # M135 ASC 13,H135 S P D TSTAT ASC 14,XXXX UNIT / E DRTYPE X A P F ASC 8, DF FS SC NR B# M136 ASC 15,H136 TERMINATION STATUS WILL J136A ASC 8,XXX BE PRINTED# M137 ASC 14,H137 TERMINATION STATUS IS " M137A BSS 7 ASC 1," M137B ASC 6, XHOULD BE " M137C BSS 7 ASC 1,"# M140 ASC 19,ENTER:(U)NIT,(?) ERRS,(H)EAD,(O)UTPUT, ASC 17,(P)ATT,(S)OFT,(C)YL,(M)CPU,(E)XIT# M141 ASC 6,H141 CYL = M141A BSS 2 M141B ASC 3, HD = M141C BSS 1 HEAD NO. ASC 4, UNIT = M141E BSS 1 ASC 1, M141D BSS 5 ASC 1,# M142 ASC 7,H142 PROTECT M142A BSS 1 ASC 6,D,PUSH RUN# M143 ASC 6,H143 CLEAR M143A BSS 1 ASC 10,D PROTECT,PUSH RUN# M144 ASC 19,H144 NEVER GOT A FLAG ON WAKEUP UNIT = M144A ASC 2,XX# M145 ASC 24,H145 UNEXPECTED INTERRUPT WHEN TRYING M145A ASC 8, XXXXXX COMMAND# M146 ASC 8,H146 CURRENTLY M146A ASC 9,XXX IN MCPU MODE# M147 $'þúBSS 2 ASC 1,: H147A BSS 3 ASC 1, H147B BSS 3 ASC 1, H147C BSS 3 ASC 1, H147D BSS 3 ASC 1, H147E BSS 3 ASC 1, H147F BSS 3 ASC 1, H147G BSS 3 ASC 1, H147H BSS 3 H147I ASC 1,# BUFB EQU * WRITE BUFER HED INIT * INIT JSB SWR STA CNFSW SAVE CONFIGURATOR SWITCH REG. AND B77 STA LOCAL SAVE SELECT CODE OF CONTROLLER * INTERFACE ADA MM8 SSA SEE THAT SELECT CODE >=10(OCTAL) HLT 73B INVALID SELECT CODE CLA STA M32K CLEAR INDICATOR TELLING IF 32K * OF MEMORY OR NOT LDA LWAM GET LAST WORD OF AVAIL. MEMORY CMA,INA NEGATE IT ADA H0000 IF > 70000 THEN MUST HAVE ATLEAST * 32K OF MEMORY SSA,RSS IF >= 0 => NOT 32K OF MEMORY JMP LA NOT 32K OF MEMORY, THEREFORE * BUFFER ADDRESSES NEED NOT CHANGE CLA,INA STA M32K INDICATE 32K OF MEMORY PRESENT LDA BIT13 A = 8K STA BSIZE STORE FOR MAX. BUFFER SIZE CMA,INA NEGATE STA NBSZE -(MAX. BUFFER SIZE) LDA MM2 ADA D6000 A = 35777 STA LBLPI,I LAST ADDRESS IN OPDSN BUFFER ADA D2 STA BPTS BASE ADDRESS OF READ BUFFER LDA F6000 STA BPTR BASE ADDRESS OF WRITE BUFFER ADA D128 STA BPTR1 ONE SECTOR DISPLACEMENT INTO * WRITE BUFFER LDA D4000 STA BPTO BASE ADDRESS OF OPDSN BUFFER JMP LH LA LDA LWAM GET LAST WORD AVAIL. MEMORY CMA,INA NEGATE IT ADA BIT14 ADD 40000 SSA,RSS IF A > 0 => 16K OF MEMORY * IF A < 0 => > 16K OF MEMORY JMP LH ONLY 16K, VALUES \ýþúNEED NOT CHANGE LDA MM2 ADA BIT14 A = 37777 STA LBLPI,I LAST ADDRESS IN OPDSN BUFFER ADA D2 STA BPTR BASE ADDRESS OF WRITE BUFFER = 40000 ADA D128 STA BPTR1 ONE SECTOR DISPLACEMENT INTO * WRITE BUFFER LH LDB FRSTB STB GLOB2 SAVE LAST POINTER LDB LASTB STB GLOB1 SAVE LAST POINTER LB LDB GLOB2,I LOAD POINTER LDA B,I LOAD WORD AND P7700 MASK OUT SELECT CODE IOR LOCAL STUFF IN NEW SELECT CODE STA B,I STORE BACK CPB GLOB1,I DONE? JMP LC YES ISZ GLOB2 NO JMP LB LC EQU * LDA LOCAL GET CURRENT SELECT CODE AND D7 LDB A XOR LOCAL ALF,RAL ADA ASK00 ADA B STA L103A,I * * SET UP DMA * LDA CNFSW LOAD CONFIGURATION SWITCH REG AND BIT14 SZA SKIP FOR DMA 6 CLA,INA THIS IS DMA 7 STA LOCAL LDB FRSTD STB GLOB2 SET UP POINTER LD LDB GLOB2,I LOAD ADDRESS FROM TABLE LDA B,I LOAD VALUE FROM CORE AND MM2 MASK OFF BIT 0 IOR LOCAL ADD DMA CHANNEL BIT STA B,I RESTORE CORE CPB LASTD,I DONE? JMP LE YES ISZ GLOB2 NO,CONTINUE JMP LD LE LDA CTYP DETERMINE COMPUTER TYPE ALF AND B17 ADA MM7 0=>2100,1=>21MX,2=>21MX-E STA TMXE STORE INDICATOR AS TO COMPUTER TYPE LDB M32K GET AMOUNT OF MEMORY INDICATOR SZB IF 0=> <32K OF MEMORY ADA D3 IF 32K USE SECOND SET OF TABLES ADA CTTBL ADD BASE ADDRESS OF TABLES LDA A,I GET POINTER TO SET OF TABLES TO USE STA GLOB1 LDB MM14 STB LOCAL LDB RWTTB GET ADDRESS OF WHERE TABLE IS * TO BE MOVED TO LF LDA GÃ/þúLOB1,I STA B,I MOVE ENTRY FROM ONE TABLE TO THE OTHER ISZ GLOB1 INB INCREMENT POINTERS ISZ LOCAL JMP LF RETURN TO GET NEXT VALUE IF NOT DONE HLT 74B JMP DONE ASK00 ASC 1,00 L103A DEF M103A RWTTB DEF RW48 CTTBL DEF *+1 DEF T2100 DEF T21MX DEF T21XE DEF M2100 DEF M21MX DEF M21XE M2100 OCT 1407,1407 BSS 4 OCT 3003,3003 T2100 OCT 1240,42050,103144,24002 OCT 65112,120206 OCT 3106,41216,107310,145000 OCT 24152,62242,120354,166044 M21MX OCT 4002,4002 BSS 4 OCT 1410,1410 T21MX OCT 1240,40050,105144,24002 OCT 63112,122206 OCT 1340,46050,103142,140252 OCT 25004,62114,127206,164316 M21XE OCT 2403,2403 BSS 4 OCT 3004,3004 T21XE OCT 1240,40046,105142,24010 OCT 63104,122212 OCT 1340,46046,103154,140242 OCT 25010,62116,127204,164312 CNFSW BSS 1 LBLPI DEF LBLP1 FRSTB DEF *+1 DEF DMACW DEF CC04 DEF CC05 DEF CC09 DEF CC11 DEF CC16 DEF CC17 DEF CC18 DEF CC19 DEF CC20 DEF CC21 DEF CC22 DEF CC23 DEF SC01 DEF SC02 DEF SC03 DEF SC04 DEF SC05 DEF SC06 DEF SC07 DEF SC09 DEF SC10 DEF SC11 DEF SC12 DEF SC13 DEF SC14 DEF SC15 DEF SC16 DEF SC17 DEF SC18 DEF SC19 DEF SC20 DEF SC22 DEF SC23 DEF SC24 DEF SC25 DEF SC26 DEF SC28 DEF SC29 DEF SC30 DEF SC31 DEF SC33 DEF SC34 DEF SC35 DEF SC36 DEF SC37 DEF SC38 DEF SC39 DEF SC40 DEF SC41 DEF SC43 DEF SC44 DEF SC45 DEF SC46 DEF SC47 DEF SC48 DEF SC49 DEF SC50 DEF SC53 DEF CH1 DEF CHE><:62 DEF CH5 DEF CH8 DEF CH9 DEF CH10 DEF CH13 LASTB DEF *-1 FRSTD DEF *+1 DEF DM2A DEF DM2B DEF DM2C DEF DM2D DEF DM2E DEF DM2K DEF DM2L DEF DM6A DEF DM6B DEF DM6C DEF DM6E DEF DM6F DEF DM6G DEF DM6H DEF DM6I LASTD DEF *-1 PEND EQU * END J <ÿÿ ÿýÅÆŒ ÿ12965-18001 1451 S 0122 01DIAG 2883A/2884A DISC AND 12565A INTFC             H0101 ÙIþú ASMB¬A¬B¬Ì¬Ã       HÅD HP²±00A DÉSàÆÉÌÅ (²¸¸3© DÉAGNÏSÔÉà       ÏÒG ±00B       ÊMP ÃNÆÉG¬É   ÃÏNÆÉGUÒÅ PÒÏGÒAM ª  ª  ª     DÉAGNÏSÔÉàÆÏÒ DÉSàÆÉÌÅ ª  ª  ª         SÔAÒÔÉNG ADDÒÅSS ½ ±00B ª  ª         S×ÉÔÃH ÒÅGÉSÔÅÒ DUÒÉNG ÃÏNÆÉGUÒAÔÉÏN ª         BÉÔS 0-5  SÅÌÅÃÔ ÃÏDÅ ÆÏÒ ÔHŠɯϠÃHANNÅÌ ÃÏNÔAÉNÉNG ÔHÅ ª                   ÔÅÌÅÔYPÅ ª         BÉÔS 6-±± SÅÌÅÃÔ ÃÏDÅ ÆÏÒ ÔHŠɯϠÃHANNÅÌ ÃÏNÔAÉNÉNG ÔHÅ ª                   DAÔA  ÉNÔÅÒÆAÃÅ ÆÏÒ ÔHÅ DÉSà ª                   (ÔHÅ ÃÏMMAND ÃHANNÅÌ ÉNÔÅÒÆAÃÅ BÏAÒD ÉS ÔHÅ NÅØÔ ª                   HÉGÅÒ SÅÌÅÃÔ ÃÏDÅ© ª         BÉÔS ±²-±3 SPAÒÅS ª         BÉÔ  ±´   SÅÔ ÔÏ ZÅÒÏ ÆÏÒ DMA ÃHANNÅÌ 6. ª                   SÅÔ ÔÏ ÏNÅ ÆÏÒ DMA ÃHANNÅÌ ·. (MAY NÏÔ ÅØÉSÔ© ª         BÉÔ  ±5   SPAÒÅ ª  ª         S×ÉÔÃH ÒÅGÉSÔÅÒ DUÒÉNG ÅØÅÃUÔÉÏN ª  ª         BÉÔ  0    SÅÔ ÔÏ ÅÌÉMÉNAÔÅ S3 ÔHÒU S5 ÆÒÏM ÔÅSÔÉNG ª         BÉÔ  ±    ÅØÅÃUÔÅ ×ÒÉÔÅ ADDÒÅSS ÔÅSÔ(S0© ª                   AND PÒÉNÔ ÔÉMÉNG MÅSSAGÅS ÉN S² AND S5 ª                   (²±±´¬²±±5¬²±±6 AND ²±00 ÏNÌY© ª         BÉÔ  ²    ÉÆ SÅÔ ÔÏ ÏNŬAÌÔÅÒ ÃYÌÉNDÅÒ ÔABÌÅ AND¯ÏÒ ª                   PAÔÔÅÒN ÔABÌÅ ª         BÉÔ  3    ÉÆ SÅÔ ÔÏ ÏNŬŨÅÃUÔÅ ÏPÅÒAÔÏÒ DÅSÉGN PÒÏGÒAM ª         BÉÔ  ´    ÉÆ SÅÔ ÔÏ ÏNŬSÅÌÅÃÔ UNÉÔ ÏNÅ AÔ ª                   BÅGÉNNÉNG ÏÆ ÔÅSÔ ª         BÉÔ  5    ÉÆ SÅÔ ÔÏ ÏNŬSHÏÒÔÅN ÔÅSÔ ÉN S²¬S3¬S´ AND S5 ª         BÉÔ  6    ÉÆ SÅÔ ÔÏ ÏNŬÒÅSÔÒÉÃÔ ÃYÌÉNDÅÒ SÅÌÅÃÔÉÏN ª         BÉÔ  ·    ÉÆ SÅÔ ÔÏ ÏNŬÒÅPÅAÔ ÌASÔ SÅÃÔÉÏN ª         BÉÔ  ¸    ÉÆ SÅÔ ÔÏ ÏNŬMUÌÔÉPÌÅ DÒÉVÅS  AÒÅ ÔÏ BÅ ÔÅSÔÅD ª         BÉÔ  9    ÉÆ SÅÔ ÔÏ ÏNŬHAÌÔ AÆÔÅÒ ÅAÃH SÅÃÔÉÏN ÏÆ ÔHÅ ª                   PÒÏGÒAM ª         BÉÔ  ±0   ÉÆ SÅÔ ÔÏ ÏNŬAÌÌ NÏN-ÅÒÒÏÒ MÅSSAGÅS ÆÏÒ ÔHÅ ª                   ÔÅÌÅÔYPÅ ×ÉÌÌ BÅ SUPPÒÅSSÅD¬ÅØÃÅPÔ ÃUÒÒÅNÔ ª                   ÏPÅÒAÔÉÏN MÅSSAGÅS AND H5± ª         BÉÔ  ±±   ÉÆ SÅÔ ÔÏ ÏNŬAÌÌ MÅSSAGÅS ÆÏÒ ÔHÅ ÔÅÌÅÔYPÅ ×ÉÌÌ ª                   BÅ SUPPÒÅSSÅD ª         BÉÔ  ±²   ÉÆ SÅÔ ÔÏ ÏNŬHAÌÔ AÔ ÅND ÏÆ PASS ª         BÉÔ  ±3   ÉÆ SÅÔ ÔÏ ÏNŬÌÏÏP ÏN ÌASÔ Ï=8þúPÅÒAÔÉÏN ª         BÉÔ  ±´   ÉÆ SÅÔ ÔÏ ZÅÒϬPÒÏGÒAM HAÌÔS AÆÔÅÒ ÅAÃH ÅÒÒÏÒ ª         BÉÔ  ±5   ÉÆ SÅÔ ÔÏ ÏNŬHAÌÔ AÆÔÅÒ NÅØÔ ÏPÅÒAÔÉÏN ª        SKP       ÏÒG ±05B      ÅNDÉNG ADDÒÅSS ÆÏÒ ÏPÔÉÏNAÌ DUMP       DÅÆ PÅND     ÅNDÉNG ÌÏÃAÔÉÏN ÏÆ PÒÏGÒAM       ÏÒG ±²6B      DÉAGNÏSÔÉàSÅÒÉAÌ £       ÏÃÔ ±±±00±       ÏÒG ±30B       ÊMP SÔAD¬É    BÅGÉN MAÉN DÉAGNÏSÔÉà ÅÔÒN  DÅÆ ÅÃHϬɠ   ÒÅÔUÒN PÏÉNÔ(AÌÌÏ×S ÏUÔSÉDÅ ª                                    ÉNÔÅÒÒUPÔ© ª  A     ÅÑU 0        A ÒÅGÉSÔÅÒ ADDÒÅSS B     ÅÑU ±        B ÒÅGÉSÔÅÒ ADDÒÅSS Ãà   ÅÑU 0        ÔHÉS SYMBÏÌ ÉS USÅD AÔ AÌÌ PÌAÃÅS ª                                  ×HÅÒÅ ÔHÅ ÃÏMMAND ÃHANNÅÌ NUMBÅÒ ª                                  ÉS SÔÏÒÅD ÃH    ÅÑU 0         ÔHÉS SYMBÏÌ ÉS USÅD AÔ AÌÌ ª                                   PÌAÃÅS ×HÅÒÅ ÔHÅ ÔÅÌÅÔYPÅ ª                                   ÃHANNÅÌ NUMBÅÒ ÉS SÔÏÒÅD Dà   ÅÑU 0        ÔHÉS SYMBÏÌ ÉS USÅD AÔ AÌÌ ª                                  PÌAÃÅS ×HÅÒÅ ÔHÅ DAÔA ÃHANNÅÌ ª                                  NUMBÅÒ ÉS SÔÏÒÅD DMAà ÅÑU ²         DMA ÃÏNÔÒÏÌ ÃHANNÅÌ (² ÏÒ 3© DMAD  ÅÑU DMAÃ+´    DMA ÉNÔÅÒÒUPÔ ÃHANNÅÌ (6 ÏÒ ·© SÉÏÌÏ ÅÑU ±0²B     ÅNÔÒY ADDÒÅSS ÆÏÒ SÉÏ ÌÉSÔ ÏUÔPUÔ SZÒÅÆ ÅÑU 0        APPÅAÒS ×HÅÒÅ A ÒÅÆÅÒÅNÃÅ DÅPÅNDS ª                                  ÏN ÔHÅ SÅÃÔÏÒ SÉZÅ.       SKP ª  ª     SÔÏÒAGÅ AÒÅA ª  ª  BÉÌD  BSS ± BPÔÒA BSS ± BUÆAD BSS ±        PÒÉMAÒY BUÆÆÅÒ ADDÒÅSS BUÆAÅ BSS ±        SÅÃÏNDAÒY BUÆÆÅÒ ADDÒÅSS Ã÷   ÏÃÔ 0 ÃÃHAÒ BSS ± ÃÃNÔ  BSS ± ÃH±3  NÏP ÃH±´  ÏÃÔ 0 ÃÌÏAD BSS ± ÃNÆS× BSS ± ÃÏPÒN NÏP ÃPNÔ  BSS ± ÃPÏNÔ BSS ± ÃSAVÅ BSS ± ÃSÔÏÒ BSS ± ÃVÔ±  BSS ± ÃVÔ²  BSS ± ÃVÔ3  BSS ± ÃYÌ   BSS ±         ÃYÌÉNDÅÒ NUMBÅÒ ÃYÌØ  BSS ± Dñ´  ÏÃÔ 0 DÆÌÔ  BSS ± DMÒÆ  BSS ±        DMA ÅÒÒÏÒ ÉNDÉÃAÔÏÒ ÅÌÏà BSS ±         ÌASÔ ÅÒÒÏÒ NUMBÅÒ ÆÉÒSÔ BSS ±        USÅD ÉN S5 ÆÌAG  BSS ± ÆSAVÅ BSS ± GÌÏB± BSS ± GÌÏB² BSS ± GÌÏB3 BSS ± GÌÏB´ BSS ± GÌÏB5 BSS ± GÌÏB6 BSS ± HÅAD  BSS ±        BÉÔS 6 - 0 ]þúHÅAD NUMBÅÒ ÉÆÒSÔ BSS ± KÃMS  DÅà-±000 KÃSà DÅà-±0¸· ÌABÅÌ BSS ± ÌABÌàÏÃÔ 0 ÌBÌP± BSS ± ÌBÌP² BSS ± ÌÃNÔ  BSS ± ÌÏÃAÌ BSS ± Ì×AM  BSS ±         ÌASÔ ×ÏÒD ÏÆ AVAÉÌABÌÅ MÅMÏÒY MÃNÔ  BSS ±        MÉÌÌÉSÅÃÏND ÃÏUNÔ MÃNÔÒ BSS ±        ÃYÃÌÅS ×ÉÔHÉN MÉÌÌÉSÅÃÏND NÉ    BSS ± NUMP  DÅà± ÏPÃNÔ BSS ± ÏPSÒÔ BSS ± PASS  BSS ±        PASS NUMBÅÒ SÔÏÒÅD HÅÒÅ PÃNÔ  BSS ± PÃNÔA BSS ± PÆÌAG BSS ± PÌÏAD BSS ± PSAVÅ NÏP PSÔÏÒ BSS ± S´00  DÅÆ S´0 S´0   BSS ² S6ÃNÔ BSS ± SÃNÔ  BSS ±        SÅÃÔÏÒ ÃÏUNÔ SÃNÔÒ BSS ±        ÃYÃÌÅS ÉNÔÏ SÅÃÔÏÒ SÅÃÔN BSS ±        ÃUÒÒÅNÔ SÅÃÔÉÏN NUMBÅÒ SÅÃÔÒ BSS ±        SÅÃÔÏÒ ×HÅÒÅ ÃUÒÒÅNÔ ÏPÅÒAÔÉÏN ª                                  ×ÉÌÌ SÔAÒÔ SÆÌAG BSS ± SHÆÌG NÏP SHÔAS BSS ± SÔAUS BSS ±        DÅVÉÃÅ SÔAÔUS SÔÏÒÅD HÅÒÅ SÔÒÆ  BSS ±         ÅÒÒÏÒ PÏÉNÔÅÒ ÉÆ NÏÔ ZÅÒÏ SUPP  ÏÃÔ ± ÔÅMP± BSS ± ÔÅMP² BSS ± ÔÅMP3 BSS ± ÔÅMP´ BSS ± ÔÅMP5 BSS ± ÔÅMP6 BSS ± UNÉÔ  ÏÃÔ 0 VA̱  BSS ± VA̲  BSS ± VAÌUÅ BSS ± ×ÃNÔ  BSS ±        PÏSÉÔÉVÅ ×ÏÒD ÃÏUNÔ ÆÏÒ ª                                  ÃUÒÒÅNÔ ÏPÅÒAÔÉÏN ×D0   DÅÆ ª ×D±   BSS ± ×D²   BSS ± ×D3   BSS ± ×D´   BSS ²       SKP ª  ª     ÃÏNSÔANÔS AÒÅA ª  D0    DÅà0 B±    DÅà± BÉÔ0  ÅÑU B± D±    ÅÑU B± D²    DÅಠÃÒÌÆÌ ÅÑU D² BÉÔ±  ÅÑU D² B²    ÅÑU D² D3    DÅà3 B3    ÅÑU D3 D´    DÅà´ BÉÔ²  ÅÑU D´ B´    ÅÑU D´ D5    DÅà5 D6    DÅà6 D·    DÅà· D¸    DÅภBÉÔ3  ÅÑU D¸ D9    DÅà9 B±±   ÅÑU D9 D±0   DÅà±0 D±±   DÅà±± D±²   DÅà±² D±3   DÅà±3 B±5   ÅÑU D±3 D±´   DÅà±´ B±6   ÅÑU D±´ D±5   DÅà±5 B±·   ÅÑU D±5 BÉÔ´  DÅà±6 B²0   ÅÑU BÉÔ´ D±6   ÅÑU BÉÔ´ D±·   DÅà±· B²±   ÅÑU D±· D±¸   DÅ౸ B²²   ÅÑU D±¸ D±9   DÅà±9 B²3   ÅÑU D±9 D²0   DÅà²0 B²´   ÅÑU D²0 B²5   DÅಱ B²6   DÅಲ D²3   DÅà²3 B²·   ÅÑU D²3 B30   DÅ಴ D²5   DÅà²5 B3±   ÅÑU D²5 B3²   DÅà²6 B33   DÅಷ D²¸   DÅಸ B3´   ÅÑU D²¸ D²9   DÅà²9 B35   ÅÑU D²9 D30   DÅà30 B36   ÅÑU D30 B3·   DÅà3± D3± ÄÚþú  ÅÑU B3· B´0   DÅà3² BÉÔ5  ÅÑU B´0 B´±   DÅà33 D33   ÅÑU B´± B´²   DÅà3´ B´3   DÅà35 D35   ÅÑU B´3 B´´   DÅà36 B´5   DÅà3· B´6   DÅà3¸ B´·   DÅà39 D39   ÅÑU B´· B50   DÅà´0 B5±   DÅà´± B5²   DÅà´² B53   DÅà´3 B5´   DÅà´´ B55   DÅà´5 D´6   DÅà´6 B56   ÅÑU D´6 B5·   DÅà´· B60   DÅà´¸ B6±   DÅà´9 B6´   DÅà5² B65   DÅà53 B66   DÅà5´ B6·   DÅà55 B·0   DÅà56 B·±   DÅà5· B·²   ÏÃÔ ·² B·´   ÏÃÔ ·´ D63   DÅà63 B±00  DÅà6´ BÉÔ6  ÅÑU B±00 B±03  DÅà6· B±0´  DÅà6¸ D·²   DÅà·² D·3   DÅà·3 D±±¸  DÅà±±¸ D²0±  DÅà²0± BÉÔ·  ÏÃÔ ²00 BÉÔ¸  ÏÃÔ ´00 BÉÔ9  ÏÃÔ ±000 BÉÔ±0 ÏÃÔ ²000 D±0²´ ÅÑU BÉÔ±0 BÉÔ±± ÏÃÔ ´000 BÉÔ±² ÏÃÔ ±0000 BÉÔ±3 ÏÃÔ ²0000 BÉÔ±´ ÏÃÔ ´0000 BÉÔ±5 ÏÃÔ ±00000 B···· ÏÃÔ ±···· BB    ÏÃÔ ²00´0 ÃÒÌÆ  ÏÃÔ 6´±² D···· ÏÃÔ 3···· MÅM   ÏÃÔ ·0000 H···· ÏÃÔ ····· NBÔ±5 ÅÑU H···· NBÔ3´ ÏÃÔ ±···´· ÊMPÉ  ÏÃÔ ±²6000 ÊSB±  ÊSB Ò±¬É P·´00 ÏÃÔ ±··´00 P·5·· ÏÃÔ ±··5·· P··00 ÏÃÔ ±···00 P···6 ÏÃÔ ±····6 ÔHÌÔ² ÏÃÔ ±0600² HÌÔà ÏÃÔ ±0²0±0 B··   ÏÃÔ ·· B±··  ÏÃÔ ±·· B3··  ÏÃÔ 3·· B···  ÏÃÔ ··· B±··· ÏÃÔ ±··· B3··· ÏÃÔ 3··· B3´0· ÏÃÔ 003´0· D±00  DÅà±00 D±²¸  ÅÑU BÉÔ· D±²9  DÅà±²9 D²0²  DÅà²0² D²03  DÅà²03 D²56  ÅÑU BÉÔ¸ D3¸´  DÅà3¸´ D5±²  ÅÑU BÉÔ9 D¸96  DÅà¸96 B6000 ÏÃÔ 6000 D±000 DÅà±000 D±330 DÅà±330 PAGŸ ÏÃÔ ±6000 MM±   DÅà-± MM²   ÅÑU P···6 MM3   DÅà-3 MM´   DÅà-´ MM5   ÏÃÔ -5 MM¸   DÅà-¸ MM±0  DÅà-±0 MM±3  DÅà-±3 MM±6  DÅà-±6 MM²3  DÅà-²3 MM3±  DÅà-3± MM´¸  ÏÃÔ -60 MM56  ÏÃÔ -·0 MM5¸  ÏÃÔ -·² MM6´  ÅÑU P··00 MM±00 DÅà-±00 M±²´  DÅà-±²´ M±·5  DÅà-±·5 M²56  ÅÑU P·´00 M550  DÅà-550 M±000 DÅà-±000 M±0²´ DÅà-±0²´ M·936 DÅà-·936 ASÃD0 AS౬.0 ASÃZZ AS౬00 BÉAS  ÅÑU D²0±     NUMBÅÒ ÏÆ MAÃHÉNÅ ÃYÃÌÅS BÅÔ×ÅÅN ª                                  ÔHÅ ÌASÔ PÏSSÉBÌÅ AÃÃÅSS ÔÏ A SÅÃÔÏÒ ª                                  AND ÔHÅ ÔÉMÅ ×HÅN SÃNÔ ×ÉÌÌ SHÏ× ª                                  ÔHÅ NÅØÔ SÅÃÔÏÒ. BPÔÒ  DÅÆ BUÆB     ×ÒÉÔÅëþú BUÆÆÅÒ BPÔS  DÅÆ BUÆB+±0²´ ÒÅAD BUÆÆÅÒ BPÔS± DÅÆ BUÆB+±0²5 BPÔÏ  ÅÑU PAGŸ     SÔAÒÔ ÏÆ ÏPDSN ×ÏÒK AÒÅA DMAÃ× ABS ±²0000B+Dà AS0   AS౬S0 AS±   AS౬S± AS²   AS౬S² AS3   AS౬S3 AS´   AS౬S´ AS5   AS౬S5 AS6   AS౬S6       SKP ª  ª  ª     BASÅ PAGÅ ÌÉNKS AND PÏÉNÔÅÒS ª  ª  ADDÏÉ DÅÆ ADDÏ ADDÒS DÅÆ ÉNÔPÔ+± ÃYÌÔÉ DÅÆ ÃYÌÔ ÃNÆÉG DÅÆ ÉNÉÔ ÃNVÒP DÅÆ ÃNVÒÔ ÃN×ÒP DÅÆ ÃN×ÒÔ ÃÒAKÉ DÅÆ ÃÒAÃK ÃÒÌÆÉ DÅÆ ÃÒÌÆ DDD   DÅÆ D0 DÏNÅ  DÅÆ AGAÉN     ÅØÉÔ ÆÒÏM ÏPDSN ÅÃHÏ  DÅÆ ÅÃHÏS ÅÆÅÒ  DÅÆ ÆÅÒ ÅÆÅÒàDÅÆ ÆÅÒà ÅÌÅÒ  DÅÆ ÌÅÒ ÆAKÅ  DÅÆ ÉÆAKÅ     USÅD ÉN ÒÃHK ÆÔÒ   DÅÆ ÆÔÒBN ÏPDNÉ DÅÆ ÏPDSN P00²A DÅÆ Ê00²A P003A DÅÆ Ê003A P00´A DÅÆ Ê00´A P005A DÅÆ Ê005A P006A DÅÆ Ê006A P00·A DÅÆ Ê00·A P0±3A DÅÆ ÊP±3A P0±3B DÅÆ ÊP±3B P0±5A DÅÆ ÊP±5A P0²±A DÅÆ ÊP²±A P0²±B DÅÆ ÊP²±B P0²²A DÅÆ ÊP²²A P0²3A DÅÆ ÊP²3A P0²´A DÅÆ ÊP²´A P0²·A DÅÆ ÊP²·A P036A DÅÆ ÊP36A P03·A DÅÆ ÊP3·A P0´0A DÅÆ ÊP´0A P0´3A DÅÆ ÊP´3A P0´´A DÅÆ ÊP´´A P0´5A DÅÆ ÊP´5A P0´6A DÅÆ ÊP´6A P0´·A DÅÆ ÊP´·A P0´·B DÅÆ ÊP´·B P0´·Ã DÅÆ ÊP´·Ã P05±A DÅÆ ÊP5±A P05±B DÅÆ ÊP5±B P05±Ã DÅÆ ÊP5±Ã P05±D DÅÆ ÊP5±D P05±Å DÅÆ ÊP5±Å P05²A DÅÆ ÊP5²A P05²B DÅÆ ÊP5²B P05²Ã DÅÆ ÊP5²Ã P05²D DÅÆ ÊP5²D P05²Å DÅÆ ÊP5²Å P05²Æ DÅÆ ÊP5²Æ P053A DÅÆ ÊP53A P053B DÅÆ ÊP53B P05´A DÅÆ ÊP5´A P05´B DÅÆ ÊP5´B P056A DÅÆ ÊP56A P060A DÅÆ ÊP60A P06±A DÅÆ ÊP6±A P06´A DÅÆ ÊP6´A P06´B DÅÆ ÊP6´B P065A DÅÆ ÊP65A P066A DÅÆ ÊP66A P06·A DÅÆ ÊP6·A P0·0A DÅÆ ÊP·0A PAÔÒ  DÅÆ PAÔÒP PAÔÔÉ DÅÆ GÌÏB´     USÅD ÉN PÃHK PÃHKÉ DÅÆ PÃHK PÆMÉ  DÅÆ ÆMÉ PÆMÌ  DÅÆ ÆMÌ PMà  DÅÆ Mà PNØSàDÅÆ NØSÅà PÏVÊ  DÅÆ ÏVÊ PPÔ±  ÊSB ÔV±¬É PPÔ²  ÊSB ÔV²¬É PPÔ´  ÊSB ÔV´¬É PPÔ5  ÊSB ÔV5¬É PPÔ6  ÊSB ÔV6¬É PPÔ·  ÊMP DÏNÅ¬É PPÔ¸  ÊSB ÔV¸¬É PPÔ9  ÊSB ÔV9¬É PPÔ±0 ÊSB ÔV±0¬É PPÔ±3 ÊSB ÔV±3¬É PPÔ±´ ÊMP ÔV±´¬É PPÔ±5 ÊSB ÔV±5¬É PÔ3NÉ DÅÆ PUÔ3N Ò±    DÅÆ ÒÅÔÒN ÒAÃKÉ DÅÆ ÒAÃK ÒNÃHÉ DÅÆ ÒNÃH ÒNSÃÉ DÅÆ ÒNSà SÔAD  DÅÆ SÔAÒÔ SHÏÒÔ DÅÆ SPASS ÔÒÔ   DÅÆ ÔÒÔBP ÔV±   DÅÆ ÔVP± ÔV²   HoþúDÅÆ ÔVP² ÔV´   DÅÆ ÔVP´ ÔV5   DÅÆ ÔVP5 ÔV6   DÅÆ ÔVP6 ÔV¸   DÅÆ ÔVP¸ ÔV9   DÅÆ ÔVP9 ÔV±0  DÅÆ ÔVP±0 ÔV±3  DÅÆ ÔVP±3 ÔV±´  DÅÆ ÔVP±´ ÔV±5  DÅÆ ÔVP±5 VAÌ   DÅÆ VAÌUÅ ×ADÒÉ DÅÆ ×ADÒA ×ÒAÌÉ DÅÆ ×ÒAÌP SÅÃÔ  DÅÆ ª¬É       SÅÃÔÉÏN       DÅÆ S±         PÏÉNÔÅÒS       DÅÆ S²          ª       DÅÆ S3           ª       DÅÆ S´            ª       DÅÆ S5             ª       SKP ª  ª  ª         ÔHÅ ÆÏÌÌÏ×ÉNG ×ÏÒDS AND ÅÑUAÔÅS DÅÔÅÒMÉNÅ ÔHÏSÅ ª     SÔAÔUSÅS¬ ÃÏMMANDS¬ SÉZÅS¬ ÅÔÃ. ÔHAÔ MÉGHÔ ª     VAÒY BÅÃAUSÅ ÏÆ DÅSÉGN ÃHANGÅS AND ÅÔÃ. ª  ª  ADSK  ÏÃÔ ±´0000    ADDÒÅSS SKÉP ÃÏMMAND ÃYÃHK ÅÑU BÉÔ±5     ÃYÃÌÉàÃHÅÃK ÃÏMMAND ÃYPP  ÅÑU D²03     NUMBÅÒ ÏÆ ÃYÌÉNDÅÒS PÅÒ PAÃK DÆÔB  ÅÑU BÉÔ±5    DÅÆÅÃÔÉVÅ ÔÒAÃK BÉÔ ÆÏÒ ADDÒÅSSÅS ÌÃYÌ  ÅÑU ²0²      ÌASÔ ÃYÌÉNDÅÒ PAÌÔ  ÏÃÔ ±30000   AÌÔÅÒNAÔÅ PÏSÉÔÉÏN ÃÏMMAND PÏSÉÔ ÏÃÔ 030000   PÏSÉÔÉÏN ÃÏMMAND ÒÅADA ÏÃÔ 060000   ÒÅAD ADDÒÅSS ÃÏMMAND ÒÅADàÅÑU BÉÔ±´     ÒÅAD ÃÏMMAND ÒÅÃAÌ ÅÑU BÉÔ±3     ÒÅÃAÌÉBÒAÔÅ ÃÏMMAND SÃPÔ  ÅÑU D²3      NUMBÅÒ ÏÆ SÅÃÔÏÒS PÅÒ ÔÒAÃK SÔAÔS ÅÑU BÉÔ±²     SÔAÔUS ÃÏMMAND ÔÒPà ÅÑU D²0      NUMBÅÒ ÏÆ ÔÒAÃKS PÅÒ ÃYÌÉNDÅÒ ×ÒÉÌB ÅÑU BÉÔ±5    ×ÒÉÔÅ ÌÏÃKÏUÔ BÉÔ ÆÏÒ ADDÒÅSSÅS ×ÒÉÔA ÏÃÔ 0·0000   ×ÒÉÔÅ ADDÒÅSS ÃÏMMAND ×ÒÉÔàÏÃÔ 050000   ×ÒÉÔÅ ÃÏMMAND ª  AÅBÉÔ ÅÑU BÉÔ0      ANY ÅÒÒÏÒ BÉÔ DÅBÉÔ ÅÑU BÉÔ±     DAÔA ÅÒÒÏÒ BÉÔ PBBÉÔ ÅÑU BÉÔ²      DÒÉVÅ BUSY BÉÔ ÆÌBÉÔ ÅÑU BÉÔ3      ÆÌAGGÅD ÃYÌÉNDÅÒ BÉÔ NÆBÉÔ ÅÑU BÉÔ´      ADDÒÅSS ÅÒÒÏÒ BÉÔ ÅÃBÉÔ ÅÑU BÉÔ5      ÅND ÏÆ ÃYÌÉNDÅÒ BÉÔ NÒBÉÔ ÅÑU BÉÔ6      NÏÔ ÒÅADY BÉÔ ª                         BÉÔ·      DÒÉVÅ ÉDÅNÔÉÆÉÃAÔÉÏN SÃBÉÔ ÅÑU PBBÉÔ    SÅÅK ÃHÅÃK BÉÔ SÉBÉÔ ÅÑU PBBÉÔ    SÅÅK ÉNÃÏMPÌÅÔÅ BÉÔ ÏVBÉÔ ÅÑU DÅBÉÔ    ÏVÅÒ ÒUN ÅÒÒÏÒ ª  SÃSÔ  ÅÑU D¸       SÅÃÔÏÒ ×HÅÒÅ SÅÃÏND ÔHÉÒD SÔAÒÔS SÃÌÔ  ÅÑU D±6      SÅÃÔÏÒ ×HÅÒÅ ÌASÔ ÔHÉÒD SÔAÒÔS ×ÃÆÔ  ÅÑU D±0²´+SZÒÅÆ ×ÏÒD ÃÏUNÔ ÆÏÒ ÆÉÒSÔ ÔHÉÒD ×ÃÌÔ  ÅÑU D¸96+SZÒÅÆ ×ÏÒD ÃÏUNÔ ÆÏÒ ÌASÔ ÔHÉÒD       HÅD ÃÌÏÃK ª  ª  ª     ÃÌÏÃK ÒÏUÔÉNÅ ª  ª         ÔHÉS ÒÏUÔÉNÅ ÉS ÃAÌÌÅD ×ÉÔH A ÃÏUNÔ ÏÆ MAÃHÉNÅ ª     ÃYÃÌÅS USÅD ÉN Ô®þúHÅ B ÒÅGÉSÔÅÒ. ª     ÉÔ UPDAÔÅS ÔHÅ MÉÌÌÉSÅÃÏND ÃÏUNÔÅÒ ª  ª  ÃÌÏÃK NÏP ÃÌÃK± ÅÑU ª       ADB D²9       ADD ÏN MAÃHÉNÅ ÃYÃÌÅS USÅD HÅÒÅ       ÌDA B        ÃÏPY ÔÏ BÏÔH ÒÅGÉSÔÅÒS       ADB SÃNÔÒ    ×ÏÒK ÏN SÅÃÔÏÒ ÃÏUNÔÅÒ       SÔB SÃNÔÒ       ADB KÃSà    SUBÔÒAÃÔ ÏVÅÒÆÌÏ× ÃÏUNÔ       SSB       ÊMP NSÏV     SÅÃÔÏÒ ÃÏUNÔÅÒ NÏÔ ÏVÅÒÆÌÏ×ÅD       ADA D±²      ÌÏÃAÌ ÃÏUNÔ       ADB D±²       SÔB SÃNÔÒ       ÌDB SÃNÔ     UPDAÔÅ SÅÃÔÏÒ ÃÏUNÔ       ÃPB SÃPÔ-±   ÃHÅÃK ÆÏÒ ÉNDÅØ PÏÉNÔ       ÃÌB¬ÒSS      ÅÑUAÌ ÔÏ ²3 ... BAÃK AÔ ÉNDÅØ       ÉNB       SÔB SÃNÔ     NÅ× SÅÃÔÏÒ NSÏV  ÅÑU ª       ÃÌB          ÃÌÅAÒ ÆÏÒ SUBSÅÑUÅNÔ ÃAÌÌS       ADA MÃNÔÒ    ×ÏÒK ÏN MÉÌÌÉSÅÃÏND ÃÏUNÔÅÒ       SÔA MÃNÔÒ       ADA KÃMS      ÃHÅÃK MÉÌÌÉSÅÃÏND ÃÏUNÔ ÏVÅÒÆÌÏ×       SSA       ÊMP ÃÌÏÃK¬É       ADA D±9       ADÊUSÔ ÆÏÒ ÔHÉS SÅÃÔÉÏN       SÔA MÃNÔÒ       ÃÌA¬ÉNA       ADA MÃNÔ     ADÊUSÔ MSÅàÃÏUNÔÅÒ       SÔA MÃNÔ       ÌDA SÃNÔÒ       ADA D±9       ADÊUSÔ SÅÃÔÏÒ ÃÏUNÔÅÒ ÔÏÏ       SÔA SÃNÔÒ       ÌDA ÌÃNÔ       ÉNA          ADÊUSÔ ÅØÔÒA MÉÌÌÉSÅÃÏND ÃÏUNÔÅÒ       SÔA ÌÃNÔ       ÊMP ÃÌÃK±       HÅD ÒAND ª  ª  ª  ª     ÒANDÏM NUMBÅÒ GÅNÅÒAÔÏÒ ª  ª         ÔHÉS ÒÏUÔÉNÅ GÅNÅÒAÔÅS BÉÔ PAÔÔÅÒNS ÆÏÒ ª     ÔHÅ DÉSK DÉAGNÏSÔÉÃ.  NÏ ÃÌAÉM ÉS MADÅ ÆÏÒ ª     SÔAÔÉSÔÉÃAÌ ÒANDÏMNÅSS. ª  ª         ÅØÉÔS ×ÉÔH PAÔÔÅÒN ÉN A¬ ª         B UNÃHANGÅD¬ ª         ÒÏUÔÉNÅ USÅS ±6 MAÃHÉNÅ ÃYÃÌÅS ª  ª  ª  ÒAND  NÏP       ÌDA BASÅ     ÌÏAD BASÅ       ADA PÒÉMÅ    SUBÔÒAÃÔ ÔHÅ PÒÉMÅ       SSA          SKÉP ÉÆ SÔÉÌÌ PÏSÉÔÉVÅ       ÌDA BASÅ     ÏÏPS¬ BASÅ NÏÔ BÉG ÅNÏUGH       ÃÌŬÅÌA      DÏUBÌÅ BASÅ ÏÒ ÒÅMAÉNDÅÒ       SÔA BASÅ     ÆÏÒ NÅØÔ ÔÒY       ÊMP ÒAND¬É PÒÉMÅ DÅà-3±069 ª                                   ÔHÉS PÒÉMÅ NUMBÅÒ ÌÏÏPS ÅVÅÒY ª                                   3±06¸ ÔÉMÅS ÉN ÉÔS ÒÅÃÉPÒÏÃAÌ ª                                   ÅØPANSÉÏN BASÅ  ABS 03´5²±B       HÅD SÅÅK¬SÅÅS¬SÅÅH¬SÔAÔ¬ÃÏMMD¬DADϬ×AÉÔD ÷R0.**0ÿÿ ÿýÆ Ó ÿ12965-18002 1451 S 0122 02DIAG 2883A/2884A DISC AND 12565A INTFC             H0101 ÚJþú ª  ª  ª         ÒÏUÔÉNÅS ÔÏ DÏ ÃÏMMÏNÌY ÒÅÑUÉÒÅD ÏPÅÒAÔÉÏNS. ª     ÅAÃH ÒÏUÔÉNÅ ÅØÉÔS AÆÔÅÒ ADDÉNG ÔÏ B ÔHÅ NUMBÅÒ ª     ÏÆ MAÃHÉNÅ ÃYÃÌÅS USÅD. ª  ª  SÅÅH  ÅÑU ª SÅÅK  NÏP       ÌDA ÃYÌ      PUÔ ÃYÌÉNDÅÒ NUMBÅÒ ÏUÔ BÅÆÏÒÅ       ÊSB DADÏ     GÉVÉNG ÔHÅ ÃÏMMAND       ÌDA PÏSÉÔ    ÌÏAD ÃÏMMAND ÆÏÒ PÏSÉÔÉÏN SÅÅK± ÊSB ÃÏMMD     ÉSSUÅ ÃÏMMAND       ÊSB ×AÉÔD       ÌDA HÅAD       AÌÆ¬AÌÆ      HÅAD NUMBÅÒ ÔÏ ÌÅÆÔ HAÌÆ       ÉÏÒ SÅÃÔÒ    PÌUG ÉN SÅÃÔÏÒ NUMBÅÒ       ÊSB DADÏ      ÏUÔPUÔ HÅAD-SÅÃÔÏÒ       ÊSB ×AÉÔD       ADB D±·       ADD ÏN ÃYÃÌÅS USÅD ÌÏÃAÌÌY       ÊMP SÅÅK¬É ª  ª  SÅÅS  NÏP       ÌDA ÃYÌ      ÌÏAD ÃYÌÉNDÅÒ NUMBÅÒ       ÊSB DADÏ     PUÔ ÏUÔ ÏN DAÔA ÃHANNÅÌ       ÌDA SÅÅS       SÔA SÅÅK       ADB D¸        ADD ÏN ÃYÃÌÅS USÅD ÌÏÃAÌÌY       ÌDA PAÌÔ     ÌÏAD AÌÔÅÒNAÔÅ PÏSÉÔÉÏN ÃÏMMAND       ÊMP SÅÅK± ª  ª  SÔAÔ  NÏP                SÔAÔUS ÃHÅÃK ÒÏUÔÉNÅ       ÌDA SUPP      AÌÌÏ×       SZA¬ÒSS        SUPPÒÅSSÉÏN       ÊMP SÔAԬɠ     ÏÆ SÔAÔUS ÃHÅÃK       ÌDA SÔAÔS    ÌÏAD ÔHÅ DÃU SÔAÔUS ÃÏMMAND Dò3  SÔàDìà    SÅÔ UP DAÔA ÃHANNÅÌ ÆÏÒ ÉNPUÔ       ÊSB ÃÏMMD    ÏUÔPUÔ ÃÏMMAND       NÏP           AÌÌÏ× ÅØÔÒA ÔÉMÅ Dñ²  SÆÃ Dà      SÔAÔUS SHÏUÌD BÅ BAÃK       ÊMP SÔABK    AÆÔÅÒ ÆÏUÒ ÃYÃÌÅS       ÊSB PÃÏP     PÒÉNÔ ÃUÒÒÅNÔ ÏPÅÒAÔÉÏN MÅSSAGŠű²   ÊSB ÅÒÒÏÒ     NÏ DàÆÌAG ×HÉÌÅ ÃHÅÃKÉNG SÔAÔUS       ÊSB ÅÒHÌÔ     ÃHÅÃK ÆÏÒ HAÌÔ ª                                  ÆAÌÌÏUÔ ÏKAY SÔABK ÅÑU ª DÃ0±  ÌÉA Dà       SÔA SÔAUS    SAVÅ SÔAÔUS       ADB D²3       ADD ÏN ÃYÃÌÅS USÅD ÌÏÃAÌÌY       ÊMP SÔAԬɠ  ÒÅÔUÒN SÔAÔUS ÉN A ª  ª  ÃÏMMD NÏP       ÉÏÒ UNÉÔ     PÌUG ÉN UNÉÔ NUMBÅÒ ÃÃ0²  ÃÌàÃà      MAKÅ SUÒÅ ÅNÃÏDÅ ÉS ZÅÒÏ ÃÃ0±  ÏÔA Ãà ÃÃ03  SÔàÃìà    NÏ× SÅÔ ÅNÃÏDÅ       ADB D±5       ADD ÏN ÃYÃÌÅS USÅD ÌÏÃAÌÌY       ÊMP ÃÏMMD¬É ª  ª  DADÏ  NÏP DÃ0²  ÏÔA Dà DÃ03  SÔàDìà       ADB D±±       ADD ÏN ÃYÃÌÅS USÅD ÌÏÃAÌÌY       ÊMP DADÏ¬É ª  ª  ×AÉÔD NÏP                ×AÉÔ ÏN DAÔA ÃHANNÅÌ       ÌDA MM±6     AÌÌÏ× A SHÏÒÔatþú ÃÏUNÔ       ADB D±±       ADD ÏN ÃYÃÌÅS USÅD ÌÏÃAÌÌY ×AÌP  ÅÑU ª DÃ0´  SÆÃ Dà       ÊMP ×AÉÔD¬É       ADB D¸        ADD ÏN ÃYÃÌÅS USÅD ÌÏÃAÌÌY       SSA¬ÉNA       ÊMP ×AÌP S±ZZ  ÊSB PÃÏP      (ÅNÔÒY PÏÉNÔ ÆÏÒ S±Z© Dñ3  SÆS Dà      ÃHÅÃK ÆÏÒ ÆÌAG NÏ×       ÊMP Å63 ű±   ÊSB ÅÒÒÏÒ     ÌAÔÅ DàÆÌAG       ÊMP ª+² Å63   ÊSB ÅÒÒÏÒ     NÏ DàÆÌAG       ÊSB ADDÏÉ¬É       ÊMP ×AÉÔD¬É       HÅD ×AÉÔS¬×AÉH¬×AÉÒ ª  ª         ÔHÅ ×AÉÔS ÒÏUÔÉNÅ ×AÉÔS ÆÏÒ UP ÔÏ 550 MÉÃÒÏSÅÃÏNDS ª     ÆÏÒ ÔHÅ ÃÏMMAND ÃHANNÅÌ ÆÌAG.  ×HÅN ÔHÅ ÆÌAG SÅÔS¬ ª     ×AÉÔS ÃAÌÌS SÔAÔ ÆÏÒ ÔHÅ SÔAÔUS ª     ÔHÉS ÒÏUÔÉNÅ AÌSÏ USÅS ÔHÅ SAMÅ ÔÉMÅ ÔÏ ×AÉÔ ÆÏÒ A ª     ÒÅÃAÌÉBÒAÔÅ ÔÏ ÏÃÃUÒ ÏÒ HÅADS ÔÏ ÆÉNÉSH S×ÉÔÃHÉNG. ª  ×AÉÒ  ÅÑU ª ×AÉH  ÅÑU ª ×AÉÔS NÏP       ÌDA M550      MUSÔ AÌSÏ AÌÌÏ× ÆÏÒ ÃYÃÌÉàÃHÅÃK ª                                   ÏÆ ´60 SÅÃÔÏÒS       SÔA ÌÃNÔ     SÅÔ ÅØÔÒA ÃÌÏÃK ÃÏUNÔÅÒ       ADB D3        MAKÅ UP ÆÏÒ ÅNÔÒY ÃYÃÌÅS ×ASD  ÅÑU ª       ÊSB ÃÌÏÃK       ADB D±²       ÃYÃÌÅS ÉN ÔHÅ ÌÏÏP ÃÃ05  SÆS Ãà      SKÉP ÉÆ SÅÅK DÏNÅ       ÊMP ×ASÑ       ÊSB SÔAÔ     ÃAÌÌ ÆÏÒ SÔAÔUS       ÊSB ÃÌÏÃK       ÊMP ×AÉÔS¬É ×ASÑ  ÅÑU ª       ÌDA ÌÃNÔ     ÃHÅÃK ÃÌÏÃK       SSA          SKÉP ×HÅN ÔÉMÅD ÏUÔ       ÊMP ×ASD     KÅÅP ÌÏÏPÉNG       ÊSB PMìɠ    ×ÉPÅ ÏUÔ ÔHÅ ÃAÒDS       ÊSB PÃÏP     PÒÉNÔ ÃUÒÒÅNÔ ÏPÅÒAÔÉÏN MÅSSAGŠű0   ÊSB ÅÒÒÏÒ     NÏ ÃàÆÌAG       ÊSB ADDÏÉ¬É       ÊMP ×AÉÔS¬É  ÒÅÔUÒN       HÅD ÆSÅÅK¬ÆSÅÅH¬PÃÏP ª     ÆSÅÅK¬ÆSÅÅH ª      PÅÒÆÏÒM  ÊSB SÅÅK ª               ÊSB ×AÉÔS ª               ÊSB ×ÃHK ª      ×ÉÔH ÅØPÅÃÔÅD SÔAÔUS ½ 0 ª  ÆSÅÅH ÅÑU ª ÆSÅÅK NÏP       ÊSB SÅÅK      PÅÒÆÏÒM SÅÅK       ÌDA SHÔAS       SÔA ÆSAVÅ     SAVÅ SÔAÔUS-ÅØPÅÃÔÅD ÆÏÒ ÏÔHÅÒ       ÃÌA            ÏPÅÒAÔÉÏN       SÔA SHÔAS     ÅØPÅÃÔÅD SÔAÔUS ÆÏÒ SÅÅK ÉS 0       ÊSB ×AÉÔS     ×AÉÔ ÆÏÒ SÅÅK ÔÏ ÃÏMPÌÅÔÅ       ÊSB ×ÃHK      ÃHÅÃK SÔAÔUS       ÌDA ÆSAVÅ       SÔA SHÔAS     ÒÅSÔÏÒÅ ÅØPÅÃÔÅD-SÔAÔUS       ÊMP ÆSÅÅK¬É ª  ª     PÒÉNÔ ÃUÒÒÅNÔ ÏPÅÒAÔÉÏN ª  PÃÏP  NÏP ¸ þú               ÒÏUÔÉNÅ ÔÏ PÒÉNÔ ÃÏPÒ       ÌDA ÃÏPÒN       ÊSB PÒÉNÔ     ÏUÔPUÔ MÅSSAGÅ       ÌDA ÃÏPÒN     ÌÏAD HAÌÔ ÃÏDÅ       ÊMP PÃÏP¬É       HÅD ÅÒÒÏÒ¬B±±ÃK ª  ª     ÅÒÒÏÒ ª      ÒÅPÏÒÔ ÅÒÒÏÒ MÅSSAGÅS ª      USÅS SÉÏÌϬS×Ò¬B±±ÃK ª      ÔHÅ ÒÅÔUÒN ADDÒÅSS ÉS USÅD ÔÏ ÌÏÏK UP ÔHÅ ADDÒÅSS¬ÌÅNGÔH AND ª      NUMBÅÒ ÏÆ ÔHÅ ÅÒÒÏÒ MÅSSAGÅ ª  ÅÒÒÏÒ NÏP       ÃÌÆ 0         DÉSABÌÅ ÉNÔÅÒÒUPÔS       ÃÃB       ADB ÅÒÒÏÒ       ÌDA ÅÆÅҬɠ   ÆÉND ÅÒÒÏÒ NUMBÅÒ BASÅD ÏN ÒÅÔÒN ÅÒ²   ÅÑU ª       ÃPB A¬É       ADDÒÅSS AND ÔABÌÅ       ÊMP ÅÒ±       ÆÏUND ÉÔ       ÉNA       ÃPA ÅÌÅÒ¬É       ÊMP ±00B      PÒÏGÒAM ÅÒÒÏÒ¬PAGÅ 0 MAY BÅ ª                                     ×ÉPÅD ÏUÔ.       ÊMP ÅÒ² ÅÒ±   ÅÑU ª       ADA ÅÆÅÒÃ¬É       ADA MM±       SÔA ÅÌÏà       ÊSB PÒÉNÔ     PÒÉNÔ MÅSSAGÅ       ÌDB ÅÌÏà       ADB MM¸       -¸       SSB           SKÉP ÉÆ ÅÒÒÏÒ NUMBÅÒ GÔÒ ÔHAN ·       ÊSB ÅÒHÌÔ     ÃHÅÃK ÆÏÒ HAÌÔ       ÊMP ÅÒÒÏÒ¬É ª  ª     B±±ÃK ª      ÉÆ ÔÔY SUPÒÅSSÅD ÒÅÔUÒN ª      ÉÆ ÔÔY NÏÔ SUPÒÅSSÅD SKÉP NÅØÔ ÉNSÔÒUÃÔÉÏN ÏN ÒÅÔUÒN ª      USÅS S×Ò ª  B±±ÃK NÏP       ÌÉA ±       AND BÉÔ±±       SZA           ÉS ÔÔY SUPÒÅSSÅD       ÊMP B±±ÃK¬É   YÅS       ÌDA B±±ÃK     NÏ       ÉNA       ÊMP A¬É       HÅD PÒÉNÔ¬ÔÔYÃK ª  ª     PÒÉNÔ ª      A ½ ÅÒÒÏÒ NUMBÅÒ ª  PÒÉNÔ NÏP       SÔA PSAVÅ       ÊSB B±±ÃK       ÊMP PÒÉNÔ¬É       ÌDA PSAVÅ       ÌDB A       ADB PÆMɬɠ   MÅSSAGÅ ADDÒÅSS       ÌDB B¬É       ADA PÆM̬ɠ   MÅSSAGÅ ÌÅNGÔH       ÌDA A¬É       ÊSB SÉÏÌϬɠ  ÏUÔPUÔ MÅSSAGÅ       ÊMP PÒÉNÔ¬É ª  ª  ª  ª     ÔÔYÃK ª      ÒÅÔUÒN ÉÆ ÔÔY NÏÔ AVAÉÌABÌÅ ÆÏÒ NÏN-ÅÒÒÏÒ MÅSSAGÅS ª      ÉNÃÒÅMÅNÔ ÒÅÔUÒN ADDÒÅSS ÉÆ PÒÉNÔÏUÔ ÏK ª  ÔÔYÃK NÏP       ÌDB ÔÔYÃK       ÉNB       ÌÉA ±         ÌÏAD S× ÒÅG       AND B6000       SZA           ÉS ÔÔY AVAÉÌABÌÅ       ÊMP ÔÔYÃK¬É   NϬABÏÒÔ PÒÉNÔÏUÔ       ÊMP B¬É       YÅS       HÅD ÅÒHÌÔ ª  ª  ª     ÅÒHÌÔ ª      ÔÅSÔS HAÌÔ BÉÔ (BÉÔ±´© AÆÔÅÒ ÅÒÒÏÒ ª      USÅS S×Ò Y®þúª  ÅÒHÌÔ NÏP       ÊSB B±±ÃK     ÔÔY AVAÉÌABÌÅ?       ÊMP ÅÒH±      NÏ       ÌDA ÃÒÌÆÌ     YÅS       ÌDB ÃÒÌÆÉ       ÊSB SÉÏÌϬɠ  PÒÉNÔ BÌANK ÌÉNÅ ÅÒH±  ÅÑU ª       ÌÉA ±       AND BÉÔ±´       SZA      HAÌÔ?       ÊMP ÅÒHÌԬɠNÏ       ÌDA ÅÌÏà     YÅS       HÌÔ ±       ÊMP ÅÒHÌÔ¬É       HÅD DÅÃÉN ª  ª     DÅÃÉN ª      ÃÏNVÅÒÔS DÅÃÉMAÌ ÉNÔÅGÅÒS ÔÏ ASÃÉÉ ª      A½VAÌUÅ ÏN ÉNPUÔ ª      ÃNVÔ± ½ ÆÉÒSÔ Ô×Ï DÉGÉÔS ÏN ÅØÉÔ ª      ÃNVÔ² ½ SÅÃÏND Ô×Ï DÉGÉÔS ÏN ÅØÉÔ ª  DÅÃÉN NÏP       ÃÃB           B ½ -± DÌP±  ADA M±000     ASSUMÅ ÉNÔÅGÅÒ ÌÅSS ÔHAN ±0000       ÉNB           ÃÏUNÔ UP ÔHÏUSANDS PAÒÔ       SSA¬ÒSS       SKÉP ×HÅN B ÒÅG ÉS ÃÏÒÒÅÃÔ       ÊMP DÌP±       ADA D±000     ÒÅSÔÏÒÅ       BÌÆ¬BÌÆ       ADB MM± DÌP²  ADA MM±00       ÉNB           ÃÏUNÔ UP HUNDÒÅDS PAÒÔ       SSA¬ÒSS       SKÉP ×HÅN B ÒÅG ÉS ÃÏÒÒÅÃÔ       ÊMP DÌP²       ADA D±00      ÒÅSÔÏÒÅ       ADB ASÃZZ       SÔB ÃVÔ±       ÃÃB           B ½ -± DÌP3  ADA MM±0       ÉNB           ÃÏUNÔ UP ÔÅNS PAÒÔ       SSA¬ÒSS       SKÉP ×HÅN B ÒÅG ÉS ÃÏÒÒÅÃÔ       ÊMP DÌP3       ADA D±0       ÒÅSÔÏÒÅ       BÌÆ¬BÌÆ       ÉÏÒ B       ÉÏÒ ASÃZZ       SÔA ÃVÔ²       ÊMP DÅÃÉN¬É       HÅD DÃÉN±¬DÃÉN² ª  ª  ª     DÃÉN± ª      SÔÏÒÅ ÏNÅ ×ÏÒD ÏÆ ÃÏNVÅÒÔÅD A AÔ B ª  DÃÉN± NÏP       SÔB ÌÏÃAÌ     SAVÅ PÏÉNÔÅÒ       ÊSB DÅÃÉN     ÃÏNVÅÒÔ ÔÏ ASÃÉÉ       ÌDA ÃVÔ²      SÔÏÒÅ       SÔA ÌÏÃA̬ɠ   ÉNÔÏ MÅSSAGÅ       ÊMP DÃÉN±¬É ª  ª     DÃÉN² ª      SÔÏÒÅ Ô×Ï ×ÏÒDS ÏÆ ÃÏNVÅÒÔÅD A SÔAÒÔÉNG AÔ B ª  DÃÉN² NÏP       SÔB ÌÏÃAÌ     SAVÅ PÏÉNÔÅÒ       ÊSB DÅÃÉN     ÃÏNVÅÒÔ ÔÏ ASÃÉÉ       ÌDA ÃVÔ±      SÔÏÒÅ       ÌDB ÌÏÃAÌ      Ô×Ï       SÔA B¬É         ×ÏÒDS       ÉNB              ÉNÔÏ       ÌDA ÃVÔ²          MÅSSAGÅ       SÔA B¬É       ÊMP DÃÉN²¬É       HÅD DÃHK¬×ÃHK ª  ª  ª         ÔHÅ DÃHK ÒÏUÔÉNÅ ÉS ÃAÌÌÅD AÆÔÅÒ A ÒÅAD. ª     ÉÔ ÃÏMPAÒÅS ÔHÅ ÒÅAD AND ×ÒÉÔÅ BUÆÆÅÒS. ª  ª         ÔHÅ ×ÃHK ÒÏUÔÉNÅ ÉS ÃAÌÌÅD AÆÔÅÒ A ×ÒÉÔÅ. ª     ÉÔ ÃHÅÃKS ÏNÌY ÔHÅ SÔAÔUC†þúS. ª     ÔHÅ ×ÒÅÒØ AND ×ÒÅÒZ ÅNÔÒÉÅS AÒÅ USÅD BY ÔHÅ ª     ÏÔHÅÒ ÒÏUÔÉNÅS ÔÏ DÏ ÔHÅÉÒ SÔAÔUS ÃHÅÃK. ª  ª  ª         ÔHÅ PÃHK ÒÏUÔÉNÅ ÉS ÃAÌÌÅD AÆÔÅÒ A ÒÅAD. ª     ÉÔ ÃÏMPAÒÅS ÔHÅ ÒÅAD BUÆÆÅÒ ÔÏ A PAÔÔÅÒN ×ÏÒD. ª  ª         ÔHÅ ÒÃHK ÒÏUÔÉNÅ ÉS ÃAÌÌÅD AÆÔÅÒ A ÒÅAD. ª     ÉÔ ÃHÅÃKS ÔHÅ ÃHÅÃKSUMMÅD SÅÃÔÏÒ ÉN ª     ÔHÅ ÒÅAD BUÆÆÅÒ. ª  ª         ÔHÅY ÃÏMPAÒÅ ÔHÅ ÃUÒÒÅNÔ SÔAÔUS ( SÔAUS © ×ÉÔH ÔHÅ ª     PÒÅDÉÃÔÅD SÔAÔUS ( SHÔAS © BY ÃAÌÌÉNG ÔHÅ ÅÒÒAN ÒÏUÔÉNÅ. ª  ª  ª         ÔHÅ ÒÏUÔÉNÅS GÉVÅ A NÏÒMAÌ ÒÅÔUÒN ÉÆ NÏ ÅÒÒÏÒS AÒÅ ª     DÅÔÅÃÔÅD.  ÉÆ AN ÅÒÒÏÒ ÏÃÃUÒS¬ ÔHÅ ÒÏUÔÉNÅS GÅNÅÒAÔÅ AN ª     ÅÒÒÏÒ MÅSSAGÅ AND ÃHÅÃK ÆÏÒ HAÌÔ ÏÒ ÃÏNÔÉNUÅ. ª  ª  DÃHK  NÏP                ÔÏ ÃHÅÃK ÆÏÒ ÅÒÒÏÒS ÉN ª                                  ÒÅAD AND ÔÏ ÃÏMPAÒÅ ÒÅAD ª                                  AND ×ÒÉÔÅ BUÆÆÅÒS       ÌDA DÃHK     ÌÏAD ÒÅÔUÒN ADDÒÅSS       SÔA ×ÃHK     SAVÅ ÆÏÒ PÏSSÉBÌÅ ÃAÌÌ ª  ª  ª         ÃÏMPAÒÅS ÔHÅ BUÆAD AND BUÆAÅ BUÆÆÅÒS USÉNG ×ÃNÔ ª     ÆÏÒ BUÆÆÅÒ ÌÅNGÔH. ª  ª        ÌDA BUÆAD    ÌÏAD ÆÉÒSÔ BUÆÆÅÒ ADDÒÅSS       SÔA ÔÅMP±       ÌDA BUÆAÅ    ÌÏAD SÅÃÏND BUÆÆÅÒ ADDÒÅSS       SÔA ÔÅMP²       ÌDA ×ÃNÔ       ÃMA¬ÉNA       SÔA ÔÅMP3    SÅÔ ÉSZ ÃÏUNÔÅÒ DÃM   ÅÑU ª       ÌDA ÔÅMP±¬É       ÃPA ÔÅMP²¬É       ÊMP DÃÌ      ÅÑUAÌ ÃÏMPAÒÅ       ÌDA ÔÅMP3       ADA ×ÃNÔ     GÅNÅÒAÔÅ ÒÅÌAÔÉVÅ ÌÏÃAÔÉÏN Åű0± ÌDB P0´·A     ÌÏAD PÏÉNÔÅÒ       ÊSB DÃÉN²     ÃAÌÌ ÃÏNVÅÒÔ ÒÏUÔÉNÅ       ÌDA ÔÅMP±¬É  ÌÏAD ×HAÔ ×ÏÒD SHÏUÌD BÅ       ÌDB P0´·Ã     ÌÏAD PÏÉNÔÅÒ       ÊSB ÃN×ÒP¬É  ÃAÌÌ ÃÏNVÅÒÔ AND MÏVÅ ÒÏUÔÉNÅ       ÌDA ÔÅMP²¬É  ÌÏAD ×HAÔ ×ÏÒD AÃÔUAÌÌY ×AS       ÌDB P0´·B     ÌÏAD PÏÉNÔÅÒ       ÊSB ÃN×ÒP¬É  ÃÏNVÅÒÔ ÔÏ ASÃÉÉ       ÌDA NUMP      DÅÃÒÅMÅNÔ       ADA MM±        PÒÉNÔÏUÔ ÃÏUNÔ       SZA¬ÒSS       ÊMP DÃÌA      ÉÆ ± ÌÅAVÅ AÔ ± AND ÅØÉÔ       SÔA NUMP Å´·   ÊSB ÅÒÒÏÒ     DAÔA ×ÏÒD ØØØØ ÉS YYYYYY SHÏUÌD ª                                   BÅ ZZZZZZ       ÊMP DÃÌ DÃÌA  ÅÑU ª       ÌDB B´·       DAÔA ×ÏÒD ØØØØ ÉS YYYYYY SHÏUÌD ª         ¼Þþú                          BÅ ZZZZZZ       SÔB ÅÌÏà     SAVÅ ÆÏÒ ÅÒHÌÔ       SÔB SÔÒÆ       ÊMP ×ÒÅÒZ    GÏ ANAÌYZÅ ÅÒÒÏÒS DÃÌ   ÅÑU ª       ÉSZ ÔÅMP±    ÃÏUNÔ UP BUÆÆÅÒ       ÉSZ ÔÅMP²    ADDÒÅSSÅS AND       ÉSZ ÔÅMP3    ÃHÅÃK ÆÏÒ ÃÏMPÌÅÔÉÏN       ÊMP DÃM       ÌDB ×ÃNÔ      B ½ ±9ª×ÃNÔ       BÌÆ¬ÒBÒ       ADB ×ÃNÔ       BÌS       ADB ×ÃNÔ       ADB D63       63 ÃYÃÌÅS       ÊSB ÃÌÏÃK       ÊMP ×ÒÅÒØ    BUÆÆÅÒS ÏKAY¬ NÏÒMAÌ SÔAÔUS ÃHÅÃK       SKP ª  ª     ×ÒÉÔÅ ÃHÅÃK ÒÏUÔÉNÅ ª  ×ÃHK  NÏP           ÔÏ ÃHÅÃK ÆÏÒ ÅÒÒÏÒS ÏN ª                                  NÏN-ÒÅAD ÏPÅÒAÔÉÏNS       ÌDB D35       ÃYÃÌÅS USÅD ÌÏÃAÌÌY       ÊSB ÃÌÏÃK ×ÒÅÒØ ÅÑU ª       ÊSB ÅÒÒAN    ÃAÌÌ ÅÒÒÏÒ ÃÏMPAÒÉÔÏÒ       SZA          SKÉP ÉÆ NÏ ÅÒÒÏÒ       ÊMP ×ÒÅÒZ     ÒÅPÏÒÔ ÅÒÒÏÒ       ÌDA DMÒÆ     ÃHÅÃK ÆÏÒ DMA NÏÔ ÆÉNÉSHÅD       SZA¬ÒSS      SKÉP ÉÆ ÅÒÒÏÒ       ÊMP ×ÏUÔ      ÒÅÔUÒN ÉÆ NÏ ÔÒÏUBÌÅ       ÊSB PÃÏP     PÒÉNÔ ÃUÒÒÅNÔ ÏPÅÒAÔÉÏN MÅSSAGÅ       ÊSB DMÅÒÑ    PÒÉNÔ DMA ÅÒÒÏÒ MÅSSAGÅ ×ÒÏUÔ ÊSB ADDÏÉ¬É ×ÏUÔ  ÅÑU ª ª  ª         ÔHÅ ÌÏÏP ÒÏUÔÉNÅ ÉS ÃAÌÌÅD ÔÏ SÅÅ ÉÆ ª     ÔHÅ SÅÃÔÉÏN ÃUÒÒÅNÔÌY ÉN ÅØÅÃUÔÉÏN ÉS ÔÏ BÅ SÔAÒÔÅD ÏVÅÒ ª     ÏÒ ÉS ÔÏ ÃÏNÔÉNUÅ ÏN. ª  ª        ÌDB D±·       ÃYÃÌÅS USÅD ÌÏÃAÌÌY       ÌÉA ±         ÉNPUÔ S× ÒÅG       SSA       HÌÔ ´         HAÌÔ ÉÆ BÉÔ ±5 SÅÔ       AND BÉÔ±3     ÃHÅÃK ÆÏÒ ÒÅPÅAÔ ÏPÅÒAÔÉÏN       SZA¬ÒSS       SKÉP ÆÏÒ ÌÏÏP       ÊMP ×ÃHK¬É    NϬÃÏNÔÉNUÅ       ÊMP ÃÏPҬɠ   ÌÏÏP BAÃK ×ÒÅÒZ ÅÑU ª       ÊSB PÃÏP     PÒÉNÔ ÃUÒÒÅNÔ ÏPÅÒAÔÉÏN MÅSSAGÅ       ÊSB DMÅÒÑ    ÃHÅÃK ÆÏÒ DMA ÅÒÒÏÒ       ÊSB ÅÒÒAN    ÃHÅÃK ÆÏÒ SÔAÔUS ÅÒÒÏÒS       SZA          SKÉP ÉÆ SÔAÔUS ÏKAY       ÊSB PÒÉNÔ    PÒÉNÔ ÏUÔ ÅÒÒÏÒ MÅSSAGÅ       ÌDA SÔÒÆ      ÃHÅÃK ÆÏÒ BUÆÆÅÒ ÅÒÒÏÒS       SZA           SKÉP ÉÆ NÏ SUÃH ÅÒÒÏÒS       ÊSB PÒÉNÔ       ÃÌB       SÔB SÔÒÆ     ÃÌÅAÒ ÏUÔ PÏÉNÔÅÒ ×ÏÒD       ÊMP ×ÒÏUÔ       HÅD ÅÒÒAN ª  ª     ÅÒÒÏÒ ANAÌYSÉS ÒÏUÔÉNÅ ª  ÅÒÒAN NÏP           ÒÏUÔÉNÅ ÔÏ PÅÒÆÏÒM ÅÒÒÏÒ ANAÌ.       ÌDA SUPP      AÌÌÏ× KXþú      SZA¬ÒSS        SUPPÒÅSSÉÏN       ÊMP ÅÒÒAN¬É     ÏÆ SÔAÔUS ÃHÅÃK       ÌDA SHÔAS     ÃÌÅAÒ       AND P·5··      BÉÔ       ÌDB UNÉÔ        SÅVÅN       SZB           ÅÃHÏ BAÃK UNÉÔ       ÉÏÒ BÉÔ·       NUMBÅÒ       SÔA SHÔAS       ÉN SÔAÔUS       ØÏÒ SÔAUS     ÉS AÌÌ AS SHÏUÌD BÅ?       SZA¬ÒSS       ÊMP ÅÒÒAN¬É  ÅVÅÒYÔHÉNG ÉS ÆÉNÅ       ÌDA SÔAUS    ÌÏAD ÃUÒÒÅNÔ SÔAÔUS       ÌDB P06´A     AND ADDÒÅSS ÆÏÒ ASÃÉÉ       ÊSB ÃN×ÒP¬É  ÃÏNVÅÒÔ ÔÏ ÏÃÔAÌ AND MÏVÅ       ÌDA SHÔAS    ÌÏAD ×HAÔ SÔAÔUS SHÏUÌD BÅ       ÌDB P06´B     AND ADDÒÅSS ÆÏÒ ASÃÉÉ       ÊSB ÃN×ÒP¬É  ÃÏNVÅÒÔ ÔÏ ÏÃÔAÌ AND MÏVÅ ª                                  A MUSÔ BÅ NÏN-ZÅÒÏ AÔ ÔHÉS PÏÉNÔ Å6´   ÌDA B6´       SÔAÔUS ÉS ØØØØØØ SHÏUÌD BÅ ØØØØØØ       SÔA ÅÌÏà     SAVÅ ÆÏÒ ÅÒHÌÔ       ÊMP ÅÒÒAN¬É  ÒÅÔUÒN       HÅD DGÅN ª  ª         DGÅN ª     ÔHÉS GÏÏDY ÆÉÌÌS UP ÔHÅ BUÆÆÅÒ ×ÉÔH ÒA× ÒANDÏM DAÔA ª     USÅS ×ÃNÔ AS A ÌÅNGÔH ª     USÅS BUÆAD ÆÏÒ ADDÒÅSS ª  ª  DGÅN  NÏP       ÌDA ×ÃNÔ       ÃMA¬ÉNA       SÔA ÔÅMP±    NÅGAÔÉVÅ ×ÏÒD ÃÏUNÔ       ÌDA BUÆAD       SÔA ÔÅMP² DGÌ   ÅÑU ª       ÊSB ÒAND     GÅÔ ÒANDÏM NUMBÅÒ       SÔA ÔÅMP²¬É       ÉSZ ÔÅMP²    ÃÏUNÔ UP ADDÒÅSS       ÉSZ ÔÅMP±    ÃÏUNÔ       ÊMP DGÌ       ÌDB ×ÃNÔ       BÌS       ADB ×ÃNÔ       BÌS¬BÌS       ADB ×ÃNÔ       BÌS       ADB ×ÃNÔ      ²·ª×ÃNÔ       ADB D²9       ÃYÃÌÅS USÅD ÏUÔSÉDÅ ÌÏÏP       ÊSB ÃÌÏÃK       ÊMP DGÅN¬É       HÅD DMÒ¬DM× ª  ª  ª         ÔHÅSÅ ÒÏUÔÉNÅS SÅÔ UP DMA AND SÔAÒÔ ÔHÅ DAÔA ÃHANNÅÌ. ª  ª     ÔHÅ DMÒ ÒÏUÔÉNÅ SÅÔS UP A ÒÅAD ÉNÔÏ ÔHÅ ÉNPUÔ ª     BUÆÆÅÒ ( ADDÒÅSS ÉN BUÆAŬ ÃÏUNÔ ÉN ×ÃNÔ © ª  ª     ÔHÅ DM× ÒÏUÔÉNÅ SÅÔS UP A ×ÒÉÔÅ ÆÒÏM ÔHÅ ÏUÔPUÔ ª     BUÆÆÅÒ ( ADDÒÅSS ÉN BUÆAD¬ ÃÏUNÔ ÉN ×ÃNÔ © ª  ª  DMÒ   NÏP           SÅÔ UP DMA ÒÅAD ÏPÅÒAÔÉÏN       ÌDA DMAÃ×    ÌÏAD DMA ÃÏMMAND ×ÏÒD DM6A  ÏÔA DMAD      ÔÏ DAÔA ÃHANNÅÌ DM²A  ÃÌàDMAà     PÒÅPAÒÅ ÔÏ ÌÏAD ADDÒÅSS       ÌDA BUÆAÅ       ÉÏÒ BÉÔ±5    ÏÒ ÉN DÉÒÅÃÔÉÏN BÉÔ DM²B  ÏÔA DMAà     ÏUÔPUÔ MÅMÏÒY ADDÒÅS™ËþúS DM²Ã  SÔàDMAà     PÒÅPAÒÅ ÔÏ ÌÏAD ÃÏUNÔ       ÌDA ×ÃNÔ     ÌÏAD ×ÏÒD ÃÏUNÔ       ÃMA¬ÉNA      Ô×ÏS ÃÏMPÌÅMÅNÔ ÉS USÅD BY DMA DM²D  ÏÔA DMAà     ÏUÔPUÔ ×ÏÒD ÃÏUNÔ DÃ05  SÔàDìà DM6B  SÔàDMAD¬Ã    SÔAÒÔ DMA ÃHANNÅÌ       ÊMP DMҬɠ   ÒÅÔUÒN ª  ª  ª  DM×   NÏP       ÌDA DMAÃ×    ÌÏAD DMA ÃÏMMAND ×ÏÒD DM6à ÏÔA DMAD      ÔÏ DAÔA ÃHANNÅÌ DM²Å  ÃÌàDMAà     PÒÅPAÒÅ ÔÏ ÌÏAD ADDÒÅSS       ÌDA BUÆAD    AND DM²Æ  ÏÔA DMAà     ÏUÔPUÔ MÅMÏÒY ADDÒÅSS DM²G  SÔàDMAà     PÒÅPAÒÅ ÔÏ ÌÏAD ÃÏUNÔ       ÌDA ×ÃNÔ     AND       ÃMA¬ÉNA      ÏUÔPUÔ Ô×ÏS ÃÏMPÌÅMÅNÔ ÏÆ DM²H  ÏÔA DMAà     ×ÏÒD ÃÏUNÔ DÃ06  SÔÆ Dà      MAKÅ SUÒÅ SÒÑ ÉS HÉGH DM6D  SÔàDMAD¬Ã    SÔAÒÔ DMA ÃHANNÅÌ       ÊMP DM׬ɠ   ÒÅÔUÒN       HÅD ÒÅAD¬×ÒÉÔÅ ª  ª  ª         ÒÅAD AND ×ÒÉÔÅ ª  ª     ÔHÅSÅ ÒÏUÔÉNÅS AÒÅ ÃAÌÌÅD ÔÏ ÉNÉÔÉAÌÉZÅ AÌÌ ª     DMA ÔÒANSÆÅÒS ÔÏ AND ÆÒÏM ÔHÅ DÉSK. ª  ª     ÔHÅY ASSUMÅ ÔHAÔ ª         ÔHÅ ×ÏÒD ÃÏUNÔ ÉS ÉN ×ÃNÔ ª         ÒÅAD ASSUMÅS BUÆÆÅÒ ADDÒÅSS ÉN BUÆAÅ ª         ×ÒÉÔÅ ASSUMÅS BUÆÆÅÒ ADDÒÅSS ÉN BUÆAD ª  ª  ÒÅAD  NÏP       SÔA ÃÏPÒN     ( ÃUÒÒÅNÔ ÏPÅÒAÔÉÏN ©       ÊSB DMÒ      SÅÔ UP DMA ÒÅAD ÏPÅÒAÔÉÏN       ÌDA ÒÅADà   ÌÏAD ÒÅAD ÃÏMMAND       ÊSB ÃÏMMD    ÏUÔPUÔ ÃÏMMAND       ÊSB DMAÔ       ÊSB SÔAÔ     GÅÔ SÔAÔUS       ÊMP ÒÅAD¬É   ÒÅÔUÒN ª  ª  ª  ×ÒÉÔÅ NÏP       SÔA ÃÏPÒN     ( ÃUÒÒÅNÔ ÏPÅÒAÔÉÏN ©       ÊSB DM×      SÅÔ UP DMA ×ÒÉÔÅ ÏPÅÒAÔÉÏN       ÌDA ×ÒÉÔà   ÌÏAD ×ÒÉÔÅ ÃÏMMAND       ÊSB ÃÏMMD    ÏUÔPUÔ ÃÏMMAND       ÊSB DMAÔ       ÊSB SÔAÔ     GÅÔ SÔAÔUS       ÊMP ×ÒÉÔÅ¬É       HÅD DMAÔ¬ÆÃHK ª  ª  ª  ª     ÔHÉS SÅÃÔÉÏN SHÏUÌD BÅ ÃAÌÌÅD ÆÏÒ ÅAÃH ÔÒANSÆÅÒ USÉNG ÔHÅ ª     DMA.  ÉÔ ÃÏNÔÉNUÏUSÌY ÃHÅÃKS ÆÏÒ ÔHÅ ÆÌAG ÔÏ BÅ SÅÔ ÏN ÔHÅ ª     ÃÏMMAND ÃHANNÅÌ ×HÉÌÅ MÏNÉÔÏÒÉNG ÔHÅ DAÔA ÔÒANSÆÅÒ AND ª     ÃHÅÃKÉNG ÆÏÒ ÏVÅÒÔÉMÅ. ª  ª  ª  DMAÔ  NÏP       ÌDA M±·5     AÌÌÏ× ±·5 MÉÌÌÉSÅÃÏNDS ª                                  (´0 ÆÏÒ ÌAÔÅNÃY¬´0 ÆÏÒ ÒÅAD¬´0 ª                                  ÆÏÒ ÌAÔÅNÃY(ÉÆ HÅAD S×ÉÔÃHÅS©¬ ª     t–þú                             ´0 ÆÏÒ ÒÅAD AND ±5 ÆÏÒ SÌÏP©       SÔA ÌÃNÔ     SÅÔ ÅØÔÒA ÃÌÏÃK DM²É  ÌÉA DMAà     ÌÏAD ÃUÒÒÅNÔ ×ÏÒD ÃÏUNÔ       SÔA ÔÅMP±    AND SAVÅ ÉÔ ÆÏÒ ÃÏMPAÒÉSÏN       ÌDB D±² DMBÌ  ÅÑU ª       ADB D¸       ÊSB ÆÃHK     ÃAÌÌ ÆÌAG ÃHÅÃKÅÒ DM²Ê  ÌÉA DMAà     ÌÏAD ÃUÒÒÅNÔ ×ÏÒD ÃÏUNÔ       ÃPA ÔÅMP±    ÃHÅÃK ÆÏÒ SÔAÒÔ ÏÆ ÏPÅÒAÔÉÏN       ÊMP DMBÌ     ÉÆ ÏPÅÒAÔÉÏN HAS NÏÔ SÔAÒÔÅD DAÔA ª                                  ÔÒANSÆÅÒ¬ ÌÏÏP       ÌDA SÅÃÔÒ    ÌÏAD ÃUÒÒÅNÔ SÅÃÔÏÒ NUMBÅÒ       SÔA SÃNÔ       ÃÌB       SÔB SÃNÔÒ    SÅÔ ÃYÃÌÅ ÃÏUNÔÅÒ ÔÏ ZÅÒÏ       ÌDB ×ÃNÔ     ÌÏAD ×ÏÒD ÃÏUNÔ AND       ADB D±² ª                  ÔHÉS ÌÏÃAÔÉÏN ÉS USÅD BY ÒÏUÔÉNÅS ÔHAÔ ª                  MUSÔ ÉNÔÅÒÒUPÔ ÔHÅ DMA ÔÒANSÆÅÒ. DMSP  NÏP           ªªª DMSÌ  ÅÑU ª       ADB D´       ÊSB ÆÃHK     ÃÏNÔÉNUÅ ÔÏ ÃHÅÃK ÆÌAG       ÊMP DMSÌ ª  ª     ÆÌAG ÃHÅÃK ÒÏUÔÉNÅ ª  ÆÃHK  NÏP           ÒUNS AÒÏUND ÃHÅÃKÉNG ÆÏÒ ÅND ª                                  ÏÆ ÏPÅÒAÔÉÏN ÆÌAG. ª                                  ÔÉMÅS ÏUÔ ×HÅN ÌÃNÔ GÏÅS PÏSÉÔÉVÅ       ADB D±3       ÊSB ÃÌÏÃK       ÌDA ÌÃNÔ     ÃHÅÃK ÆÏÒ ÔÉMÅÏUÔ       SSA¬ÒSS       ÊMP ÔÏUÔ     ÔÉMÅ ÏUÔ ÃÃ0´  SÆS Ãà       ÊMP ÆÃHK¬É   NÏ ÆÌAG YÅÔ.  ÊUSÔ ÒÅÔUÒN DM6G  SÆÃ DMAD      SKÉP ÉÆ DMA NÏÔ DÏNÅ       ÊMP ÆÃDN     ÅVÅÒYÔHÉNG ÉS AÌÒÉGHÔ       ÌDA BÉÔ±5    ÔÒANSÆÅÒ NÏÔ ÃÏMPÌÅÔÅ BÉÔ       ÊMP ÆÔÃØ     ÃAÌÌ ×ÏÒD ÃÏUNÔ ÃÏNVÅÒÔÅÒ ÆÃDN  ÅÑU ª       ÌDB D6        ADD ÏN ÃYÃÌÅS USÅD ÌÏÃAÌÌY       ÊSB ÃÌÏÃK       ÊMP DMAԬɠ  ÒÅÔUÒN ÔÏUÔ  ÅÑU ª       ÃÌA¬ÉNA DM6H  SÆS DMAD      ÃHÅÃK ÆÏÒ ÆÌAG ÏN DMA ÃHANNÅÌ       ÉÏÒ BÉÔ±5    ÔÒANSÆÅÒ NÏÔ ÃÏMPÌÅÔÅ BÉÔ ÆÔÃØ  ÅÑU ª       SÔA DMÒÆ     SAVÅ ÆÏÒ ÌAÔÅÒ ÃHÅÃK       ÊSB PMìɠ    ÔÒÏUBÌÅ. BÏMB ÏUÔ ÃAÒDS DM²K  ÌÉA DMAà     ÌÏAD ÃUÒÒÅNÔ ×ÏÒD ÃÏUNÔ       ADA ×ÃNÔ     MAKÅ ÉNÔÏ PÏSÉÔÉVÅ ×ÏÒD ÃÏUNÔ       AND B····     MASK ÏÆÆ UPPÅÒ ÔHÒÅÅ BÉÔS       ÌDB P0±3A     ÌÏAD PÏÉNÔÅÒ ÆÏÒ ASÃÉÉ SÔÏÒÅ       ÊSB DÃÉN²     ÃAÌÌ ÃÏNVÅÒÔ ÒÏUÔÉNÅ       ÊMP DMAԬɠ  ÒÅÔUÒ ±<:6N AND ×AÉÔ ÆÏÒ VÅÒDÉÃÔ       HÅD DMÅÒÑ ¹Î<ÿÿ ÿýÇÖ ÿ12965-18003 1451 S 0122 03DIAG 2883A/2884A DISC AND 12565A INTFC             H0101 ÛKþú ª  ª     DMA ÅÒÒÏÒ ÃHÅÃK ÒÏUÔÉNÅ ª  DMÅÒÑ NÏP       ÊSB ÔÔYÃK       ÊMP DMÅÒÑ¬É       ÌDB DMÒÆ      ÃHÅÃK ÆÏÒ AÃÔUAÌ ÅÒÒÏÒ       SZB¬ÒSS       SKÉP ÉÆ ÅÒÒÏÒ ÃÏNDÉÔÉÏN ÅØÉSÔS       ÊMP DMÅÒѬɠ ÅØÉÔ ÉÆ NÏ ÅÒÒÏÒ       SÌB           SKÉP ÉÆ NÏÔ ÔÉMÅ ÏUÔ Å±´   ÊSB ÅÒÒÏÒ     NÏ ÃÏMMAND ÆÌAG ÏN DMA ÏPÅÒAÔÉÏN       ÌDB DMÒÆ       ÃÌA       SÔA DMÒÆ     ÃÌÅAÒ ÅÒÒÏÒ ÉNDÉÃAÔÏÒ       SSB¬ÒSS      SKÉP ÉÆ DMA ÆÌAG ×AS NÏÔ SÅÔ       ÊMP DMÅÒѬɠ ÒÅÔUÒN       ÌDA ×ÃNÔ     ÌÏAD ÔHÅ ÅØPÅÃÔÅD ×ÏÒD ÃÏUNÔ       ÌDB P0±3B     ÌÏAD PÏÉNÔÅÒ ÆÏÒ ASÃÉÉ SÔÏÒÅ       ÊSB DÃÉN²     ÃAÌÌ ÃÏNVÅÒÔ ÒÏUÔÉNŠű3   ÊSB ÅÒÒÏÒ     ØØØØ ×ÏÒDS ÔÒANSÆÅÒÒÅD YYYY ª                                   ÅØPÅÃÔÅD       ÊMP DMÅÒѬɠ ÒÅÔUÒN       HÅD ÃHAÒ ª  ª  ª     ÃHAÒ ª      GÅÔ NÅØÔ NÏN-BÌANK ÃHAÒAÃÔÅÒ ª      ×ÏNÔ SKÉP ÉÆ BUÆÆÅÒ ÅMPÔY ª  ÃHAÒ  NÏP ÃHAÒ± ÉSZ ÃÃNÔ      DÏNÅ? PPÔ3  ÒSS           NÏ       ÊMP ÃHAҬɠ   YÅS       ÌDA BPÔÒA¬É   ÔÔY ×ÏÒD       ÉSZ ÉÆÒSÔ       ÊMP SÅà       AÌÆ¬AÌÆ       USÅ ÌÅÆÔ HAÌÆ       ÊMP ÃÏUÔ SÅà  ÃÃB           USÅ ÒÉGHÔ HAÌÆ       SÔB ÉÆÒSÔ       ÉSZ BPÔÒA     BUMP ×ÏÒD PÏÉNÔÅÒ ÃÏUÔ  AND B3··       SÔA ÃÃHAÒ     SAVÅ ÉÔ       ØÏÒ B´0       ÉS ÉÔ BÌANK       SZA¬ÒSS       SKÉP ÉÆ NÏ       ÊMP ÃHAÒ±     ÉGNÏÒÅ BÌANKS       ÌDA ÃÃHAÒ       ÉSZ ÃHAÒ       ÊMP ÃHAÒ¬É       HÅD DÃHAÒ ª  ª  ª     DÃHAÒ ª      GÅÔ DÅÃÉMAÌ VAÌUÅ ª      SKÉPS ÏN ÅØÉÔ ÉÆ NÏÔ DÏNÅ ª  DÃHAÒ NÏP       ÌDA MM5¸      UPPÅÒ ÌÉMÉÔ       ÌDB VAÌ       PÏÉNÔS ÔÏ VAÌUÅ DÃHÒ± SÔA VA̲       SÔB VA̱       ÌDA MM±       SÔA DÆÌÔ      DÆÌÔ ½ -±       ÃÌA           ÉNÉÔÉAÌÉZÅ ÔÏ ZÅÒÏ DÃHÒ² SÔA VAÌUÅ     SÔÏÒÅ VAÌUÅ       ÊSB ÃHAÒ      GÅÔ NÅØÔ ÃHAÒAÃÔÅÒ       ÊMP DÏUÔ²     DÏNÅ       ØÏÒ B5´       ÉS ÃHAÒAÃÔÅÒ       SZA¬ÒSS        A ÃÏMMA       ÊMP DÏUÔ±     YÅS¬DÏNÅ       ÌDA VA̲      ÃHÅÃK       ÊSB ÃÃK        VAÌÉDÉÔY ÏÆ ÃHAÒAÃÔÅÒ       ÊMP DÏUÔ²     BAD       SÔA DÆÌÔ      DÆÌÔ £ -±       ÌDB VAÌUÅ     ÏK¬BUÉÌD       BÌÆ¬ÒBÒ        UP       S§þúADB VA̱¬É    VAÌUÅ       ADB VA̱¬É       ADA B       ÊMP DÃHÒ²     ÃÏNÔÉNUÅ DÏUÔ± ÉSZ DÃHAÒ     NÏÒMAÌ ÅØÉÔ DÏUÔ² ÌDA VAÌUÅ     ÅÒÒÏÒ ÏÒ ÅND ÏÆ ÒÅAD BUÆÆÅÒ       ÊMP DÃHAÒ¬É       HÅD ÏÃHAÒ¬ÃÃK¬HÉN ª  ª  ª     ÏÃHAÒ ª      GÅÔ ÏÃÔAÌ VAÌUÅ ª      SKÉPS ÏN ÅØÉÔ ÉÆ NÏÔ DÏNÅ ª  ÏÃHAÒ NÏP       ÌDA ÏÃHAÒ       SÔA DÃHAÒ     SÅÔ ÒÅÔUÒN       ÌDA MM56      UPPÅÒ ÌÉMÉÔ       ÌDB DDD       PÏÉNÔS ÔÏ D0       ÊMP DÃHÒ± ª  ª     ÃHAÒAÃÔÅÒ ÃHÅÃK ÒÏUÔÉNÅ ª  ÃÃK   NÏP           ÃHÅÃK       ADA ÃÃHAÒ      VAÌÉDÉÔY       SSA             ÏÆ       ÊMP ª+3          ÃHAÒAÃÔÅÒ ÃÃÅÒÒ ÊSB H3±       BAD ÉNPUÔ       ÊMP ÃÃK¬É       ÌDA ÃÃHAÒ       ADA MM´¸      ÌÏ×ÅÒ ÌÉMÉÔ       SSA       ÊMP ÃÃÅÒÒ       ÉSZ ÃÃK       ÊMP ÃÃK¬É ª  ª  ª     HÉN ª      ÉNPUÔ ÆÒÏM ÔÔY ª  HÉN   NÏP       ÌDA D·²       ÃHAÒAÃÔÅÒ ÃÏUNÔ       ÌDB BÉNA      BUÆÆÅÒ ADDÒÅSS       ÊSB ±0´B¬É    ÔÔY ÉNPUÔ DÒÉVÅÒ       SZA¬ÒSS       ×ÅÒÅ ZÅÒÏ ×ÏÒDS ÉNPUÔ?       ÊMP HÉN+±     YÅS¬ÔÒY AGAÉN       ÃMA       SÔA ÃÃNÔ      SAVÅ ÃHAÒAÃÔÅÒ ÃÏUNÔ       ÃÃA       SÔA ÉÆÒSÔ     ÆÌAG ½ -±       ÌDA BÉNA       SÔA BPÔÒA     SÅÔ PÏÉNÔÅÒ       ÊMP HÉN¬É     ÅØÉÔ BÉNA  DÅÆ BUÆB       HÅD H3±¬SÔUÆÆ¬ÃÏPÒ ª  ª     PÒÉNÔS BAD ÉNPUÔ MÅSSAGÅ ª  H3±   NÏP       ÌDA B3±       BAD ÉNPUÔ       ÊSB PÒÉNÔ       ÊMP H3±¬É ª  ª     SÔUÆÆ ª      SÅÔ UP ÃUÒÒÅNÔ SÅÃÔÉÏN ª  SÔUÆÆ NÏP       SÔA P0±5A¬É   AÒ       SÔA P0²²A¬É   Ãà       SÔA P0²3A¬É   ÒD ÃHÅÃK       SÔA P036A¬É   ×A       SÔA P03·A¬É   ÒD ADDÒÅSS       SÔA P0´´A¬É   SÒ       SÔA P0´5A¬É   ×D       SÔA P0´6A¬É   ÒD       SÔA P060A¬É   AS       SÔA P06±A¬É   Òà       ÊMP SÔUÆÆ¬É ª  ª     ÃUÒÒÅNÔ ÏPÅÒAÔÉÏN ª  ÃÏPÒ  NÏP           ÃAPÔUÒÅ       SÔA ÃÏPÒN      ÒÅÔUÒN       ÊMP ÃÏPҬɠ     ADDÒÅSS       HÅD SÔAÒÔ ª     SÔAÒÔ ª     ÉNÉÔÉAÌÉZÅS PÒÏGÒAM AND PUÔ HAÌÔS ÉN ÌÏ× ÃÏÒÅ ª        ÏÒG ²000B SÔAÒÔ ÃÌà0¬Ã       ÔUÒN ÅVÅÒYÔHÉNG ÏÆÆ       ÌDA ±06B      ÌASÔ ×ÏÒD ÏÆ AVAÉÌABÌÅ MÅMÏÒY       ADA BÉÔ¸•Ëþú       BÅÌÏ× ÃÏNÆÉGUÒAÔÏÒ DÒÉVÅÒS AND       ADA B±00        SÔÏÒÅ ÉÔ ÉN Ì×AM       SÔA Ì×AM         (ÏVÅÒÌAYS UÔÉÌÉÔY ÒÏUÔÉNÅS© AGAÉN ÅÑU ª       ÌDB B²        ÔÒAP ÃÅÌÌ ÌÏÃAÔÉÏN       ÌDA ÔHÌÔ²     ÔÒAP ÃÅÌÌ HAÌÔ ÏÌP   SÔA B¬É       ÉNB       ÉNA       ÃPB B±00      ÔÒAP ÃÅÌÌ HAÌÔS ÃÏMPÌÅÔÅ?       ÒSS           YÅS       ÊMP ÏÌP       NϬÒÅPÅAÔ       ÃÌA       SÔA DMSP     SÅÔ ×ÏÒD ÔÏ NÏ-ÏP       SÔA MÃNÔ       SÔA MÃNÔÒ       SÔA SÃNÔ       SÔA SÃNÔÒ       SÔA PASS     ÒÅSÔAÒÔ       SÔA ×ÃNÔ       ÌDA BPÔÒ       SÔA BUÆAD    ÉNÉÔÉAÌÉZÅ BUÆAD       ÃÌA¬ÉNA       SÔA NÉ       SÔA SUPP       ÌÉA ±       AND BÉÔ´       ÃÌB           UNÉÔ ½ 0       SZA           SKÉP ÉÆ BÉÔ ´ ½ 0       ÉNB           UNÉÔ ½ ±       SÔB UNÉÔ BGN   ÅÑU ª       ÃÌA¬ÉNA      A _ ±       SÔA SÅÃÔN    SÔAÒÔ ×ÉÔH SÅÃÔÉÏN ÏNÅ H35   ÌDA B35       ÉNÉÔÉAÌ SÔAÔUS       ÊSB ÃÏPÒ       ÌDA ÃH±´      ÔÅÌÅÔYPÅ       ÊSB ÃNVS      ÃÏNVÅÒÔ AND SÔÏÒÅ       ÌDA Dñ´      DAÔA ÃHANNÅÌ       ÊSB ÃNVS       ÌDA Ã÷       ÃÏMMAND ÃHANNÅÌ       ÊSB ÃNVS       ÃÌB       SÔB ÌÏÃAÌ       ÉSZ ÌÏÃAÌ     DÅÌAY¬AÌÌÏ× ÆÏÒ       ÊMP ª-±        S×ÉÔÃH ÔHÒÅÅ ÔÏ BÅ SÅÔ SÃAÌÒ ÅÑU ª        SÅÃÔÉÏN ÃAÌÌÅÒ       ÌÉA ±       AND BÉÔ²      ÉS BÉÔ² SÅÔ?       SZA           NÏ       ÊSB ÔÔYÃK     YÅS¬SKÉP ÉÆ ÔÔY AVAÉÌABÌÅ       ÊMP SSNÏ      ABÏÒÔ ÃHÅÃK ÃÔD   ÊSB ÃYÌÔÉ¬É H²´   ÌDA B²´       ÃYÌÉNDÅÒ ÔABÌÅ ÃÏNÔÅNÔS       ÊSB PÒÉNÔ       ÊSB ASK       ×ÉSH ÔÏ ÃHANGÅ?       ÊMP PAÔ       NÏ H²6   ÌDA B²6       YÅS¬ÅNÔÅÒ ÃYÌÉNDÅÒ NUMBÅÒS ª                                    SÅPAÒAÔÅD BY ÃÏMMAS       ÊSB PÒÉNÔ       ÊSB HÉN       ÉNPUÔ ÆÒÏM KÅYBÏAÒD ÃÔS   ÊSB DÃHAÒ     GÅÔ DÅÃÉMAÌ VAÌUÅ       ÊMP ÃÔS±      ÅÒÒÏÒ ÏÒ DÏNÅ?       ÊSB ÃSÔÒ      SÔÏÒÅ ÉN ÔABÌÅ       ÊMP ÃÔS       ÃÏNÔÉNUÅ ÃÔS±  ÌDA ÃÃNÔ       SZA¬ÒSS       SKÉP ÉÆ ÅÒÒÏÒ       ÊSB ÃSÔÒ      DÏNÅ       ÊMP ÃÔD PAÔ   ÊSB PAÔÔ±     PÒÅPAÒÅ PAÔÔÅÒN ÔABÌÅ H²·   ÌDA B²·       PAÔÔÅÒN ÔABÌÅ ÃÏNÔÅNÔS       ÊSB PÒÉNÔ $µþú       ÊSB ASK       ×ÉSH ÔÏ ÃHANGÅ?       ÊMP H3²       NÏ H30   ÌDA B30       YÅS¬ÅNÔÅÒ PAÔÔÅÒN NUMBÅÒS ª                                    SÅPAÒAÔÅD BY ÃÏMMAS       ÊSB PÒÉNÔ       ÊSB HÉN       ÉNPUÔ ÆÒÏM KÅYBÏAÒD PÔS   ÊSB ÏÃHAÒ     GÅÔ ÏÃÔAÌ VAÌUÅ       ÊMP PÔS±      ÅÒÒÏÒ ÏÒ DÏNÅ?       ÊSB PSÔÒ      SÔÏÒÅ ÉN ÔABÌÅ       ÊMP PÔS       ÃÏNÔÉNUÅ PÔS±  ÌDA ÃÃNÔ       SZA¬ÒSS       SKÉP ÉÆ ÅÒÒÏÒ       ÊSB PSÔÒ      DÏNÅ       ÊMP PAÔ H3²   ÌDA B3²       ÊSB PÒÉNÔ     ÒÅSÅÔ S×ÉÔÃH ²       ÌDA B3²       HÌÔ ²       ÌÉA ±       AND BÉÔ²       SZA       ÊMP H3² SSNÏ  ÅÑU ª       ÌÉA ±       AND BÉÔ3       SZA           ÉS BÉÔ 3 SÅÔ?       ÊMP ÏPDNɬɠ  YÅS       ÌDA SÅÃÔN    ÌÏAD SÅÃÔÉÏN NUMBÅÒ       ADA SÅÃÔ     ADD ÏN PÏÉNÔÅÒ       ÊSB A¬É      ÃAÌÌ SÅÃÔÉÏN SH    ÌDA HÌÔà     ½ ±0²0±0       ÉÏÒ SÅÃÔN     SÅÃÔÉÏN NUMBÅÒ       SÔA SHÌÔ      HAÌÔ BÅÔ×ÅÅN SÅÃÔÉÏNS       ÌÉA ±         ÃHÅÃK ÆÏÒ HAÌÔ AÔ ÅND ÏÆ SÅÃÔÉÏN       AND BÉÔ9       SZA SHÌÔ  NÏP           SÅÔ UP ÉN ADVANÃÅ       ÌÉA ±         ÃHÅÃK ÆÏÒ ÔÅSÔ ÒÅPÅAÔ       AND BÉÔ·       SZA          SKÉP ÉÆ NÏ ÒÅPÅAÔ       ÊMP SÃAÌÒ    ÒÅPÅAÔ ÌASÔ ÔÅSÔ       ÃÃA           ÒÅSÅÔ ÌÏÏP ÉN SÅÃÔÉÏN       SÔA GÌÏB6      SÉØ ÆÌAG       ÌDB SÅÃÔN    ÃÏUNÔ UP SÅÃÔÉÏN NUMBÅÒ       ÉNB       SÔB SÅÃÔN       ÌÉA ±         SÅÌÅÃÔ SPÅÃÉAÌ       AND BÉÔ0       ÔÅSÔÉNG SÅÑUÅNÃÅ?       SZA¬ÒSS       ÊMP SHS±      NÏ       ÊSB SHÏÒԬɠ  ÒÅPÏÒÔ SHÏÒÔÅNÅND ÔÅSÔÉNG       ADB MM3       YÅS. ÉS ÃUÒÒÅNÔ       SSB            SÅÃÔÉÏN 3¬´ ÏÒ 5?       ÊMP SHS±      NÏ       ADB MM3       YÅS. ÉS       SSB            SÅÃÔÉÏN £ ½ 6?       ÊMP SH        NÏ. SKÉP ÅØÅÃUÔÉÏN SHS±  ÌDB SÅÃÔN     YÅS       ÃPB D6        SÉØ SÅÃÔÉÏNS       ÃÌA¬ÉNA¬ÒSS       ÊMP SÃAÌÒ       ADA PASS      ÉNÃÒÅMÅNÔ PASS NUMBÅÒ       SÔA PASS       ÊSB ÔÔYÃK       ÊMP HHH       ÌDA SHÆÌG       SZA¬ÒSS       SHÏÒÔ ÔÅSÔÉNG?       ÊMP HH±       NÏ       ÌDA B·´       YÅS¬PÒÉNÔ H·´   ÊSB PÒÉNÔ      "SHÏÒÔ :þúPASS" HH±   ÅÑU ª       ÌDA PASS       ÌDB P065A     ÃÏNVÅÒÔ PASS       ÊSB DÃÉN²      NUMBÅÒ       ÌDA B65 H65   ÊSB PÒÉNÔ     PASS ØØØØ HHH   ÌÉA ±         ÃHÅÃK ÆÏÒ HAÌÔ AÔ ÅND ÏÆ PASS       AND BÉÔ±²       SZA       HÌÔ ··B       ÃÌA           ÃÌÅAÒ       SÔA SHÆÌG      PASS ÆÌAG       ÊMP ÅÔÒN¬É ÅÃHÏS ÊMP BGN      ÒUN ÔÅSÔ ÏVÅÒ       SKP ª  ª     É¯Ï ÃHANNÅÌ ÔABÌÅ ÆÏÒ ÃNVS ª  ÆÒSÔA DÅÆ ª+±       DÅÆ ÃH±       DÅÆ ÃH²       DÅÆ ÃH3       DÅÆ ÃH´       DÅÆ ÃH5       DÅÆ ÃH6       DÅÆ ÃH·       DÅÆ ÃH¸       DÅÆ ÃH9       DÅÆ ÃH±0       DÅÆ ÃH±±       DÅÆ ÃH±²       DÅÆ ÃH±3       DÅÆ ÃH±5       DÅÆ ÃH±·       DÅÆ ÃH²0 ÌASÔA DÅÆ ª-± SÔÆ0  ÏÃÔ ±0²±00    SÅÔ ÆÌAG¬ÃHANNÅÌ ØØ       SKP ª  ª     ÃNVS ª      ÃÏNVÅÒÔ ÃHANNÅÌ NUMBÅÒ ÔÏ ASÃÉÉ AND SÔÏÒÅ ÉN ª      MÅSSAGÅS M² ÔHÒÏUGH M·. ÉNÉÔÉAÌÉZÅ ÃH± ª      ÔHÒÏUGH ÃH±3 ÔÏ ÃHANNÅÌ SÅÌÅÃÔ ÃÏDÅ ª  ÃNVS  NÏP       SÔA ÌÏÃAÌ     SAVÅ SÅÌÅÃÔ ÃÏDÅ       ÊSB ÃNVÒP¬É   ÃÏNVÅÒÔ       ÌDA ÃVÔ3      ÌÅASÔ SÉGNÉÆÉÃANÔ DÉGÉÔS       SÔA P00²A¬É   SÔÏÒÅ       SÔA P003A¬É    ÉNÔÏ       SÔA P00´A¬É     MÅSSAGÅS       SÔA P005A¬É       SÔA P006A¬É       SÔA P00·A¬É       ÌDB ÆÒSÔA       SÔB GÌÏB²     SAVÅ ÆÉÒSÔ PÏÉNÔÅÒ ÃÌB   ÌDB GÌÏB²¬É   ÌÏAD PÏÉNÔÅÒ       ÌDA B¬É       ÌÏAD ×ÏÒD       AND P··00     MASK ÏUÔ SÅÌÅÃÔ ÃÏDÅ       ÉÏÒ ÌÏÃAÌ     SÔUÆÆ ÉN NÅ× SÅÌÅÃÔ ÃÏDÅ       SÔA B¬É       SÔÏÒÅ BAÃK       ÃPB ÌASÔA¬É   DÏNÅ?       ÊMP ÃÔÅSÔ     YÅS       ÉSZ GÌÏB²       ÊMP ÃÌB ª  ª  ª     ÃÔÅSÔ ª      ÔÅSÔ ÃHANNÅÌ ª  ÃÔÅSÔ ÅÑU ª       ÃÌà0¬Ã      ÉNÉÔÉAÌÉZŠɯϠSYSÔÅM       ÌDA M±0²´     PUÔ ÉÌÌÅGAÌ DÉSà ÃH±5  ÏÔA ÃH         ÃÏMMAND ÉN A ÃH±   ÃÌÆ ÃH        ÃÌÅAÒ ÃHANNÅÌ ÆÌAG ÃH²   SÆS ÃH       ÒSS Ų    ÊSB ÅÒÒÏÒ     ÃÌÆ ÏÒ SÆS ÆAÉÌÅD ÏN ÃHANNÅÌ Ø ÃH3   ÃÌÆ ÃH        ÔÒY AGAÉN ÃH´   SÆÃ ÃH Å3    ÊSB ÅÒÒÏÒ     SÆÃ ÆAÉÌÅD ×ÉÔH ÆÌAG ÃÌÅAÒ-ÃH. Ø ÃH5   SÔÆ ÃH ÃH6   SÆÃ ÃH       ÒSS Å´    ÊSB ÅÒÒÏÒ     SÔÆ ÏÒ SÆÃ ÆAÉÌÅD ÏN ÃHANNÅÌ Ø ÃH·   SÔÆ ÃH        ÔÒY AG¨þúAÉN ÃH¸   SÆS ÃH Å5    ÊSB ÅÒÒÏÒ     SÆS ÆAÉÌÅD ×ÉÔH ÆÌAG SÅÔ - ÃH. Ø       ÌDA ÃH±3¬É       SÔA GÌÏB±       ÌDA ÊSB±      SÅÔ UP ÉNÔÅÒÒUPÔ ÔÒAP ÃÅÌÌ       SÔA ÃH±3¬É ÃH9   SÔàÃH        SÅÔ ÃHANNÅÌ ÔÏ ÒÅÑUÅSÔ ÃH±0  SÔÆ ÃH        AN ÉNÔÅÒÒUPÔ       SÔÆ 0         ÅNABÌÅ ÉNÔÅÒÒUPÔS       SÔà±         ª ÉNÔÅÒÒUPÔS       SÔÆ ±           SHÏUÌD       ÃÌà±           BÅ       ÃÌÆ ±           DÅÌAYÅD       ÊMP ª+±¬É       UNÔÉÌ       DÅÆ ª+±         .       ÊSB ª+±¬É       .       DÅÆ ª+±         .       NÏP             . ÉNÔPÔ NÏP           ª HÅÒÅ Å6    ÊSB ÅÒÒÏÒ     NÏ ÉNÔÅÒÒUPÔ ÏN ÃHANNÅÌ Ø       ÊMP ÃH±± ÒÅÔÒN NÏP           ÉNÔÅÒÒUPÔ SUBÒÏUÔÉNÅ       ÃÌÆ 0         DÉSABÌÅ ÉNÔÅÒÒUPÔS       ÌDA GÌÏB±     ÔÒAP ÃÅÌÌ HAÌÔ       SÔA ÃH±3¬É       SÔÆ 0         ÔÅSÔ ÉNÔÅÒÒUPÔ AÃKNÏ×ÌÅDGÅ       NÏP           ª SHÏUÌD NÏÔ       NÏP             ÉNÔÅÒÒUPÔ HÅÒÅ       ÃÌÆ 0         DÉSABÌÅ ÉNÔÅÒÒUPÔS       ÌDA ÒÅÔÒN     DÉD ÉNÔÅÒÒUPÔ ÏÃÃUÒ AÔ ÔHÅ       ÃPA ADDÒS      ÃÏÒÒÅÃÔ MÅMÏÒY ÌÏÃAÔÉÏN       ÒSS Å·    ÊSB ÅÒÒÏÒ     ÉNÃÏÒÒÅÃÔ ÒÅÔUÒN ADDÒÅSS - ÃH. Ø       ÌDA D±0       SÔAÒÔ SÃÒÅÅN ÔÅSÔ AÔ Sà±0 ñ    SÔA ÔÅMP6     SAVÅ ÉÔ       ÃPA ÌÏÃAÌ     ÉS ÉÔ ÔÅSÔ SÃ?       ÊMP Ã²        YÅS¬SKÉP       ÉÏÒ SÔÆ0      NϬSÅÔ UP SÔÆ ØØ       SÔA ÃH±6      PÌAÃÅ ÉÔ ÃH±·  ÃÌÆ ÃH        ÃÌÅAÒ ÆÌAG ÔSà ÃH±6  NÏP           ÅØÅÃUÔÅ SÔÆ ÉNSÔÒUÃÔÉÏN ÃH²0  SÆS ÃH        ÆÌAG SÅÔ ÏN ÔSÃ?       ÒSS NϬÏK Å·3   ÊSB ÅÒÒÏÒ     YÅS¬Å·3 ò    ÌDA ÔÅMP6     MÏVÅ ÔÏ       ÉNA            NÅØÔ Sà       ÃPA B±00      DÏNÅ?       ÒSS           YÅS¬SKÉP       ÊMP Ã±        NϬÃÏNÔÉNUÅ ÃH±±  SÔàÃH        SÅÔ ÃÏNÔÒÏÌ ÃH±²  SÔÆ ÃH       ÃÌà0         SHÏUÌD ÃÌÅAÒ AÌÌ ÃÏNÔÒÏÌ BÉÔS       SÔÆ 0         ÅNABÌÅ ÉNÔÅÒÒUPÔS       NÏP           ªª SHÏUÌD NÏÔ ÉNÔÅÒÒUPÔ       NÏP              HÅÒÅ       ÃÌà0         ÔUÒN ÅVÅÒYÔHÉNG ÏÆÆ       ÌDA GÌÏB±       SÔA ÃH±3¬É       ÃÌÆ 0       ÊMP ÃNVS¬É    YÅS       HÅD S0 - SÅÃÔÉÏN 0  (×ÒAD© ª  ª  ª         ÒÏUÔÉNÅ ÔÏ ×ÒÉÔÅ ADDÒÅSSÅSŸþú ÏN ÔHÅ DÉSK AND ÔÏ ª     ÃHÅÃK ÏUÔ AÌÌ ÔHÅ ÏPÅÒAÔÉÏNS ÔHAÔ HAVÅ ÔÏ DÏ ×ÉÔH ª     PAÃK ADDÒÅSSÉNG. ª     ÒÏUÔÉNÅ ASKS ÆÏÒ ÏVÅÒÒÉDÅ S×ÉÔÃH ÔÏ BÅ SÅÔ ÏN ÔHÅ DÃU. ª  ª  Ã0060 ÏÃÔ ²0060 ×ÒAD  NÏP      ÅNÔÒY ÆÏÒ ×ÒÉÔÅ ADDÒÅSS ÒÏUÔÉNÅ       ÌDA AS0       ÊSB SÔUÆÆ     ÃUÒÒÅNÔ SÅÃÔÉÏN       ÌDA D´6+SZÒÅÆ ²3 SÅÃÔÏÒS       SÔA ×ÃNÔ      ×ÏÒD ÃÏUNÔ ÆÏÒ ÏNÅ ÔÒAÃK       ÌDA BPÔÒ       SÔA BUÆAD    ÉNÉÔÉAÌÉZÅ BUÆÆÅÒ ADDÒÅSS       ÌDA BPÔS     ÌÏAD ÒÅAD BUÆÆÅÒ ADDÒÅSS       SÔA BUÆAÅ    SÅÔ PÏÉNÔÅÒ       ÌDA UNÉÔ      ÃÏNVÅÒÔ       ADA Ã0060      UNÉÔ NUMBÅÒ       SÔA P0·0A¬É     ÔÏ ASÃÉÉ       SÔA P066A¬É       SÔA P06·A¬É       SÔA P0´0A¬É       SÔA P0´3A¬É       ÊSB ÔÔYÃK     ÉS ÔÔY AVAÉÌABÌÅ?       ÊMP ×HÌÔA     NÏ       ÌDA B66       YÅS       ÊSB PÒÉNÔ ×HÌÔA ÌDA B66       SÅÔ ÏVÅÒÒÉDÅ S×ÉÔÃH PUSH ÒUN       HÌÔ ² ª  ª     PÌAÃÅ ×ÒÉÔÅ ÌÏÃKÏUÔ BÉÔS ÏN ÃYÌÉNDÅÒ ZÅÒÏ ª     PÌAÃÅ DÅÆÅÃÔÉVÅ ÃYÌÉNDÅÒ BÉÔS ÏN ÃYÌÉNDÅÒ ÏNÅ ª                  AÔ ÃYÌÉNDÅÒ ZÅÒÏ ×HÅN ÅNÔÅÒÅD. ª        ÌDA ×ÒÉÌB    ÌÏAD ×ÒÉÔÅ ÌÏÃKÏUÔ BÉÔ       SÔA ÃYÌ      SÅÔ ÆÏÒ ×ÒAÌP       ÊSB ×ÒAÌP    GÅNÅÒAÔÅ ADDÒÅSS ÆÉÅÌD       ÊSB ×ADÒ     ×ÒÉÔÅ ADDÒÅSSÅS ÏNÔÏ DÉSK       ÃÌA       SÔA ÃYÌ      SÅÔ ÃYÌ ÔÏ A ÒÅAÌ ZÅÒÏ       ÃÌA¬ÉNA       USÅ HÅAD       SÔA HÅAD       ÏNÅ       ÌDA B´´       SÅÅK ÉN S0       ÊSB ÃÏPÒ       ÊSB ÆSÅÅH     PÅÒÆÏÒM ÆUÌÌ SÅÅH       ÌDA DÆÔB     ÌÏAD DÅÆÅÃÔÉVÅ ÔÒAÃK ÉNDÉÃAÔÏÒ       ÉNA            ÆÌAG ÔHÅ ÔÒAÃK (ÃAUSÅS ÔHÅ       SÔA ÃYÌ         ÔÒAÃK ÔÏ BÅ DÅÆÅÃÔÉVÅ©       ÊSB ×ÒAÌP     GÅNÅÒAÔÅ ADDÒÅSS ÆÉÅÌD       ÊSB ×ADÒ     ×ÒÉÔÅ ÏNÔÏ DÉSK       ÃÌA       SÔA ÃYÌ       SÔA HÅAD       SÔA SHÔAS     ÅØPÅÃÔÅD SÔAÔUS ½ 0       ÌDA D±²¸+SZÒÅÆ       SÔA ×ÃNÔ      ÏNÅ SÅÃÔÏÒ       ÌDA B´´       SÅÅK ÉN S0       ÊSB ÃÏPÒ       ÊSB ÆSÅÅH     PÅÒÆÏÒM ÆUÌÌ SÅÅH       ÌDA B´²       ÊSB ×ÒÉÔÅ     ×ÒÉÔÅ PÒÏÔÅÃÔÅD - S×ÉÔÃH ÏN       ÊSB ×ÃHK      ÃHÅÃK SÔAÔUS       ÌDA B´´       SÅÅK ÉN S0       ÊSB ÃÏPÒ       ÊSB ÆSÅÅH     PÅÒÆÏÒM ÆUÌÌ SÅÅH        AþúÌDA B3´       ÊSB ÒÅAD      ÒÅAD PÒÏÔÅÃÔÅD - S×ÉÔÃH ÏN       ÊSB ×ÃHK      ÃHÅÃK SÔAÔUS       ÌDA ÆÌBÉÔ       ÉÏÒ NÆBÉÔ       ÉÏÒ AÅBÉÔ       SÔA SHÔAS     ÅØPÅÃÔÅD SÔAÔUS ½ 3±       ÃÌA¬ÉNA       SÔA HÅAD      S×ÉÔÃH ÔÏ HÅAD ÏNÅ       ÌDA B´´       SÅÅK ÉN S0       ÊSB ÃÏPÒ       ÊSB ÆSÅÅH     PÅÒÆÏÒM ÆUÌÌ SÅÅH       ÌDA B33       ÊSB ×ÒÉÔÅ     ×ÒÉÔÅ DÅÆÅÃÔÉVÅ - S×ÉÔÃH ÏN       ÊSB ×ÉPÅ      ÃHÅÃK SÔAÔUS¬AÌÌÏ× NÏ ÔÒANSÆÅÒ       ÌDA B´´       SÅÅK ÉN S0       ÊSB ÃÏPÒ       ÊSB ÆSÅÅH     PÅÒÆÏÒM ÆUÌÌ SÅÅH       ÌDA B´±       ÊSB ÒÅAD      ÒÅAD DÅÆÅÃÔÉVÅ - S×ÉÔÃH ÏN       ÊSB ×ÉPÅ      ÃHÅÃK SÔAÔUS¬AÌÌÏ× NÏ ÔÒANSÆÅÒ       ÊSB ÔÔYÃK     ÉS ÔÔY AVAÉÌABÌÅ?       ÊMP ×HÌÔB     NÏ       ÌDA B6·       YÅS       ÊSB PÒÉNÔ ×HÌÔB ÌDA B6·       ÃÌÅAÒ ÏVÅÒÒÉDÅ S×ÉÔÃH¬PUSH ÒUN       HÌÔ ²       ÌDA B´´       SÅÅK ÉN S0       ÊSB ÃÏPÒ       ÊSB ÆSÅÅH     PÅÒÆÏÒM ÆUÌÌ SÅÅH       ÌDA B33       ÊSB ×ÒÉÔÅ     ×ÒÉÔÅ DÅÆÅÃÔÉVÅ - S×ÉÔÃH ÏÆÆ       ÊSB ×ÉPÅ      ÃHÅÃK SÔAÔUS¬AÌÌÏ× NÏ ÔÒANSÆÅÒ       ÌDA B´´       SÅÅK ÉN S0       ÊSB ÃÏPÒ       ÊSB ÆSÅÅH     PÅÒÆÏÒM ÆUÌÌ SÅÅH       ÌDA B´±       ÊSB ÒÅAD      ÒÅAD DÅÆÅÃÔÉVÅ - S×ÉÔÃH ÏÆÆ       ÊSB ×ÉPÅ      ÃHÅÃK SÔAÔUS¬AÌÌÏ× NÏ ÔÒANSÆÅÒ       ÃÌA       SÔA HÅAD      S×ÉÔÃH ÔÏ HÅAD ZÅÒÏ       ÌDA ÆÌBÉÔ       ÉÏÒ AÅBÉÔ       SÔA SHÔAS     ÅØPÅÃÔÅD SÔAÔUS ½ ±±       ÌDA B´´       SÅÅK ÉN S0       ÊSB ÃÏPÒ       ÊSB ÆSÅÅH     PÅÒÆÏÒM ÆUÌÌ SÅÅH       ÌDA B´²       ÊSB ×ÒÉÔÅ     ×ÒÉÔÅ PÒÏÔÅÃÔÅD - S×ÉÔÃH ÏÆÆ       ÊSB ×ÉPÅ      ÃHÅÃK SÔAÔUS¬AÌÌÏ× NÏ ÔÒANSÆÅÒ       ÌDA D´6+SZÒÅÆ       SÔA ×ÃNÔ       ÌDA B´´       SÅÅK ÉN S0       ÊSB ÃÏPÒ       ÊSB ÆSÅÅH     PÅÒÆÏÒM ÆUÌÌ SÅÅH       ÊSB ×ÒAÌP     GÅNÅÒAÔÅ ADDÒÅSS ÆÉÅÌD       ÊSB ×ADÒA     ×ÒÉÔÅ ADDÒÅSS-S×ÉÔÃH ÏÆÆ       ÊSB ×ÉPÅ      ÃHÅÃK SÔAÔUS¬AÌÌÏ× NÏ ÔÒANSÆÅÒ       ÌDA D±²¸+SZÒÅÆ       SÔA ×ÃNÔ       ÃÌA       SÔA SHÔAS     ÅØPÅÃÔÅD SÔAÔUS ½ 0       ÌDA B´´       SÅÅK ÉN S0       ÊSB ÃÏPÒ       ÊSB ÆSÅÅH     PÅÒÆÏÒM ÆUÌÌ SÅÅH       ÌDA B3´ J×þú      ÊSB ÒÅAD      ÒÅAD PÒÏÔÅÃÔÅD - S×ÉÔÃH ÏÆÆ       ÊSB ×ÃHK     ÃHÅÃK SÔAÔUS       ÌDA D´6+SZÒÅÆ       SÔA ×ÃNÔ       ÊSB ÔÔYÃK     ÉS ÔÔY AVAÉÌABÌÅ?       ÊMP ×HÌÔà    NÏ       ÌDA B66       YÅS       ÊSB PÒÉNÔ ×HÌÔàÌDA B66       SÅÔ ÏVÅÒÒÉDÅ S×ÉÔÃH¬PUSH ÒUN       HÌÔ ²       ÃÌA ×ÒÃÌ  ÅÑU ª       SÔA ÃYÌ      SÅÔ NÅ× ÃYÌÉNDÅÒ NUMBÅÒ       ÃÌA ×ÒHÌ  ÅÑU ª       SÔA HÅAD     SÅÔ NÅ× HÅAD NUMBÅÒ ª  ª                  ÔHÅ ÆÏÌÌÏ×ÉNG ÏPÅÒAÔÉÏN ÉS A SÅÅK ÔHAÔ ª                  ÃAUSÅS PÏSÉÔÉÏNÅÒ MÏÔÉÏN. ª        ÌDA B´´       SÅÅK ÉN S0       ÊSB ÃÏPÒ       ÊSB SÅÅK       ÊSB ×ÒAÌP    GÅNÅÒAÔÅ ADDÒÅSS ÆÉÅÌD       ÊSB ×AÉÔS    ×AÉÔ ÆÏÒ SÅÅK ÃÏMPÌÅÔÉÏN       ÊSB ×ÃHK       ÊSB ×ADÒ     ×ÒÉÔÅ AND ÒÅAD ADDÒÅSSÅS       ÌDA HÅAD     ÃÏUNÔ UP HÅAD NUMBÅÒ       ÉNA       ÃPA ÔÒPà    ÃHÅÃK ÆÏÒ ÅND ÏÆ ÃYÌÉNDÅÒ       ÃÌA¬ÉNA¬ÒSS       ÊMP ×ÒHÌ     NÏÔ DÏNŬ ÆÉNÉSH ÔHÉS ÃYÌÉNDÅÒ       ADA ÃYÌ      ÃÏUNÔ UP ÔÏ NÅØÔ ÃYÌÉNDÅÒ       ÃPA ÃYPP     ÃHÅÃK ÆÏÒ ÅND ÏÆ PAÃK       ÒSS       ÊMP ×ÒÃÌ     NÏÔ DÏNŬ ÆÉNÉSH PAÃK       ÊSB ÔÔYÃK     ÉS ÔÔY AVAÉÌABÌÅ?       ÊMP ×HÌÔD     NÏ       ÌDA B6·       YÅS       ÊSB PÒÉNÔ ×HÌÔD ÌDA B6·       ÃÌÅAÒ ÏVÅÒÒÉDÅ S×ÉÔÃH¬PUSH ÒUN       HÌÔ ²       ÊSB ÔÔYÃK     ÉS ÔÔY AVAÉÌABÌÅ?       ÊMP ×HÌÔÅ     NÏ H·0   ÌDA B·0       YÅS       ÊSB PÒÉNÔ ×HÌÔÅ ÌDA B·0       UNÌÏÃK UNÉԠجPUSH ÒUN       HÌÔ ² H´3   ÌDA B´3       UNÉÔ Ø NÏÔ ÒÅADY ÃHÅÃK ÉN S0       ÊSB ÃÏPÒ       ÊSB SÔAÔ       ÌDA NÒBÉÔ    NÏÔ ÒÅADY       ÉÏÒ AÅBÉÔ       SÔA SHÔAS    SÅÔ ×HAÔ SÔAÔUS SHÏUÌD BÅ       ÊSB ×ÃHK       ÌDA B´5       ÊSB ×ÒÉÔÅ     ×ÒÉÔÅ ÉN S0       ÊSB ×ÉPÅ       ÃÌA       SÔA SHÔAS    ×HAÔ SÔAÔUS SHÏUÌD BÅ NÒÃB  ÅÑU ª       ÊSB ÔÔYÃK       ÊMP ×HÌÔÆ H´0   ÌDA B´0       ÒÅADY UNÉÔ Ø       ÊSB PÒÉNÔ ×HÌÔÆ ÌDA M·936       SÔA ÌÃNÔ     SÅÔ MÉÌÌÉSÅÃÏND ÃÏUNÔÅÒ NÒÃÆ  ÅÑU ª       ÊSB SÔAÔ     GÅÔ SÔAÔUS       ADB D±´       ÊSB ÃÌÏÃK       ÌDA ÌÃNÔ      ÃHÅÃK ÆÏÒ ÔÉMÅ ÔÏ PÒÉNÔ MÅSSAGÅ       SSA¬ÒSS   ªõ<:6    ÊMP NÒÃB       ÌDA SÔAUS    ÌÏAD SÔAÔUS       AND NÒBÉÔ    ÌÅAVÅ NÏÔ ÒÅADY BÉÔ       SZA          SKÉP ÉÆ ÒÅADY       ÊMP NÒÃÆ       ÃÌA       SÔA ÃYÌ       SÔA HÅAD       SÔA SÅÃÔÒ       ÌDA B´´       ÊSB ÃÏPÒ      SÅÅK ÉN S0       ÊSB ÆSÅÅK       ÉSZ ÃYÌ       ÃHANGÅ ÃYÌÉNDÅÒ NUMBÅÒ       ÌDA B±5       ÊSB ÃÏPÒ       ÊSB SÅÅS      ADDÒÅSS ÒÅÃÏÒD ÉN S0       ÌDA D±²¸+SZÒÅÆ       SÔA ×ÃNÔ Œr<ÿÿ ÿýÈ× ÿ12965-18004 1451 S 0122 04DIAG 2883A/2884A DISC AND 12565A INTFC             H0101 ÜLþú ª  ª     ÔHÅ ÒAÒ NÏ× DÉÆÆÅÒS ÆÒÏM ÔHÅ PÏSÉÔÉÏNÅÒ. ª     A ÒÅAD ×ÉÌÌ SHÏ× A SÔAÔUS ÏÆ ²±B ª        ÌDA B´6       ÊSB ÒÅAD      ÒÅAD ÉN S0       ÌDA NÆBÉÔ       ÉÏÒ AÅBÉÔ       SÔA SHÔAS       ÊSB ×ÉPÅ      VÅÒÉÆY SÔAÔUS¬AÌÌÏ× NÏ ÔÒANSÆÅÒ       ÊSB ÔÔYÃK       ÊMP ×HÌÔG       ÌDA B·± H·±   ÊSB PÒÉNÔ     H·± PÒÅSS PÒÅSÅÔ ÔHÅN PÒÅSS ÒUN ×HÌÔG ÌDA B·±       HÌÔ ²       ÊSB SÔAÔ       ÃÌA       SÔA SHÔAS ª  ª     ÔHÅ ÆÏÌÌÏ×ÉNG ÔÅSÔ VÅÒÉÆÉÅS ÔHÅ PÏPÉÏ ÌÉNÅ ª        ÊSB ×ÃHK       ÊMP ×ÒAD¬É   ÒÅÔUÒN ×ÒAÌP NÏP           GÅNÅÒAÔÅS ADDÒÅSS ÆÉÅÌDS       ÃÌA ×ÒÉÌP ÅÑU ª       SÔA SÅÃÔÒ    SÔÏÒÅ NÅ× SÅÃÔÏÒ NUMBÅÒ       ÌDA ÃYÌ      ÌÏAD ÃYÌÉNDÅÒ NUMBÅÒ       SÔA BUÆAD¬É  PUÔ ÉNÔÏ BUÆÆÅÒ       ÉSZ BUÆAD    ÃÏUNÔ UP BUÆÆÅÒ ADDÒÅSS       ÌDA HÅAD       AÌÆ¬AÌÆ      HÅAD ÔÏ ÌÅÆÔ BYÔÅ       ÉÏÒ SÅÃÔÒ    ÏÒ ÉN SÅÃÔÏÒ NUMBÅÒ       SÔA BUÆAD¬É       ÉSZ BUÆAD    ÃÏUNÔ UP BUÆÆÅÒ ADDÒÅSS       ÌDA SÅÃÔÒ    ÃAÔÃH SÅÃÔÏÒ NUMBÅÒ       ÉNA       ÃPA SÃPÔ     ÃHÅÃK ÆÏÒ ÃÏMPÌÅÔÉÏN       ÃÌA¬ÒSS       ÊMP ×ÒÉÌP    NÏÔ DÏNŬ ÆÉNÉSH ÏNÅ ÔÒAÃKS ×ÏÒÔH       SÔA SÅÃÔÒ    BAÃK ÔÏ SÅÃÔÏÒ ZÅÒÏ       ÌDA BPÔÒ      ÒÅSÅÔ BUÆÆÅÒ       SÔA BUÆAD      ADDÒÅSS       ÊMP ×ÒAÌP¬É  ÒÅÔUÒN ª  ª         ÒÏUÔÉNÅ ×ÒÉÔÅS ADDÒÅSSÅS ÏNÔÏ DÉSK AND ª     ÒÅADS ÔHÅM BAÃK ÔÏ ÃHÅÃK. ª     ÃAÌÌS DMAÔ ÆÏÒ DMA ÏPÅÒAÔÉÏNS ª  ×ADÒ  NÏP       ÊSB ×ADÒA       ÊSB ×ÃHK     ÃHÅÃK ÆÏÒ ÅÒÒÏÒS       ÊSB ÒADÒ       ÊMP ×ADҬɠ  ÒÅÔUÒN ×ADÒA NÏP H36   ÌDA B36       ×ÒÉÔÅ ADDÒÅSS ÉN S0       SÔA ÃÏPÒN       ÊSB DM×      SÅÔ UP DMA ×ÒÉÔÅ ÏPÅÒAÔÉÏN       ÌDA ×ÒÉÔA    ÌÏAD ×ÒÉÔÅ ADDÒÅSS ÃÏMMAND       ÊSB ÃÏMMD       ÊSB DMAÔ       ÊSB SÔAÔ     GÅÔ SÔAÔUS       ÃÌA           ÃÌÅAÒ       SÔA SÅÃÔÒ      SÅÃÔÏÒ NUMBÅÒ       ÊMP ×ADÒA¬É ÒADÒ  NÏP       ÌDA B3·       ÒÅAD ADDÒÅSS ÉN S0       SÔA ÃÏPÒN       ÌDA D²        SÅÔ       SÔA ×ÃNÔ       ×ÏÒD ÃÏUNÔ ÔÏ ² ª  ª     ÒÅAD BAÃK ADDÒÅSSÅS AND ÃÏMPAÒÅ ª  Ò0D´  ÅÑU ª       ÉSZ BUÆAÅ     MÏVÅ       ÉSZ BUÆAÅ      PÏÉNÔÅÒ ûZþú      ÊSB DMÒ      SÅÔ UP DMA ÒÅAD ÏPÅÒAÔÉÏN       ÌDA ÒÅADA    ÌÏAD ÒÅAD ADDÒÅSS ÃÏMMAND       ÊSB ÃÏMMD       ÊSB DMAÔ       ÊSB SÔAÔ     GÅÔ SÔAÔUS       ÊSB ×ÃHK      ÃHÅÃK NUMBÅÒ ÏÆ ×ÏÒDS ÒÅAD       ÉSZ SÅÃÔÒ     ÉNÃÒÅMÅNÔ SÅÃÔÏÒ       ÌDA SÅÃÔÒ       ÃPA SÃPÔ      DÏNÅ?       ÒSS           YÅS       ÊMP Ò0D´      NÏ       ÌDB BPÔS      SÉNÃÅ SÅÃÔÏÒ ÏNÅ ×AS ÆÉÒSÔ ÒÅAD¬       ÌDA BUÆAŬɠ   SÅÃÔÏÒ ZÅÒÏ ×AS ÌASÔ ÒÅAD. MÏVÅ       SÔA B¬É         ÌASÔ Ô×Ï ×ÏÒDS ÒÅAD ÔÏ       ÉNB              ÔÏP ÏÆ BUÆÆÅÒ       ÉSZ BUÆAÅ       ÌDA BUÆAÅ¬É       SÔA B¬É       ÌDA BPÔS      ÒÅSÅÔ       SÔA BUÆAÅ      ÒÅAD BUÆÆÅÒ       ÃÌA           ÃÌÅAÒ       SÔA SÅÃÔÒ      SÅÃÔÏÒ       ÊSB DÃHK      ÃHÅÃK ÆÏÒ ÅÒÒÏÒS¬ÃÏMPAÒÅ BUÆÆÅÒS       ÌDA D´6+SZÒÅÆ ÒÅSÅÔ       SÔA ×ÃNÔ       ×ÏÒD ÃÏUNÔ       ÊMP ÒADÒ¬É       HÅD S± - SÅÃÔÉÏN ± ª  ª  ª         SÅÃÔÉÏN ± ª  ª     ÔHÉS SÅÃÔÉÏN ÃÏNSÉSÔS ÏÆ ª  ª         A ÒÅÃAÌÉBÒAÔÅ ª  ª         ×ÒAD ÉS ÃAÌÌÅD ÉÆ ÒÅÑUÅSÔÅD. ª  ª         A ÒÅÃAÌÉBÒAÔÅ ª         A ÒÅAD ADDÒÅSS ª  ª         ÃYÌÉNDÅÒ ADVANÃÅ ª         AÌÌ ÃYÌÉNDÅÒS ª         .   A SÅÅK ª         .   A SÔAÔUS ÌÏÏKÉNG ÆÏÒ PÏSÉÔÉÏNÅÒ BUSY. ª         .   HÅAD ADVANÃÅ ª         .   .   A SÅÅK ÔÏ SÅÌÅÃÔ A NÅ× HÅAD ª         .   .   A ÒÅAD ADDÒÅSS ª         .   . ª         . ª  ª         AÔ ÔHÅ ÅND ÏÆ ÔHÅ PAÃK¬ A SÅÅK ÉS ÉSSUÅD ÔÏ ª         GÏ ÔÏ ÔHÅ NÅØÔ ( NÏN-ÅØÉSÔANÔ © ÃYÌÉNDÅÒ¬ ª         AND SÔAÔUS ÉS ÃHÅÃKÅD. ª  ª         ÔHÅ ÆÏÌÌÏ×ÉNG ÏPÅÒAÔÉÏNS AÒÅ ª         PÅÒÆÏÒMÅD ÏN ÔHÅ ÆÉÒSÔ ÃYÌÉNDÅÒ ÉN ª         ÔHÅ ÃYÌÉNDÅÒ ÔABÌÅ. ª  ª         A ÏNÅ SÅÃÔÏÒ ×ÒÉÔÅ SÔAÒÔÉNG AÔ ÔÒAÃK ZÅÒϬ SÅÃÔÏÒ ZÅÒÏ ª         A Ô×Ï SÅÃÔÏÒ ×ÒÉÔÅ SÔAÒÔÉNG AÔ ÔÒAÃK ZÅÒϬ SÅÃÔÏÒ SÅVÅN ª         A ÒÅAD AND ÃHÅÃK ÏÆ ÔHÅ DAÔA ª  ª         A ÆÏUÒ SÅÃÔÏÒ ×ÒÉÔÅ SÔAÒÔÉNG ÏN ÔÒAÃK ZÅÒÏ ª         A PÏSÉÔÉÏN ÏPÅÒAÔÉÏN ÔÏ ÒÅÔUÒN ÔÏ ÔÒAÃK ZÅÒÏ ª         A Ô×Ï SÅÃÔÏÒ ÃYÃÌÉàÃHÅÃK ÏÆ ÔÒAÃK ZÅÒϬ SÅÃÔÏÒ SÅVÅN ª         A ÒÅAD AND ÃHÅÃK ÏÆ ÔHÅ ÆÏUÒ SÅÃÔÏÒS ª  ª         A PÏSÉÔÉÏN ÏPÅd2þúÒAÔÉÏN ÔÏ MÏVÅ ÔÏ ÔÒAÃK ±9 ª         A Ô×Ï ×ÏÒD ×ÒÉÔÅ ÔHAÔ GÅNÅÒAÔÅS AN ÏVÅÒÒUN ª         A ÆÏUÒ SÅÃÔÏÒ ×ÒÉÔÅ SÔAÒÔÉNG AÔ SÅÃÔÏÒ ²0 ª         A PÏSÉÔÉÏN ÏPÅÒAÔÉÏN ÔÏ ÒÅÔUÒN ÔÏ ÔÒAÃK ±9 ª         A ÒÅAD ÔÏ ÃHÅÃK ÆÏÒ ZÅÒÏ ÆÉÌÌ ª         A ÒÅAD AND ÃHÅÃK ÏÆ ÔHÒÅÅ SÅÃÔÏÒS ª  ª  ÉÆÌG  ÅÑU GÌÏB5 ÃÃÃà ÅÑU GÌÏB6 S±ZÉ  DÅÆ S±Z S±    NÏP       ÌDA AS±       ÊSB SÔUÆÆ     ÃUÒÒÅNÔ SÅÃÔÉÏN       ÃÌB       SÔB SÆÌAG       SÔB SHÔAS     ×HAÔ SÔAÔUS SHÏUÌD BÅ       SÔB DMÒÆ      NÏ DMA ÅÒÒÏÒS AÔ SÔAÒÔ       SÔB SÔÒÆ      NÏ ÉNÉÔÉAÌ ÅÒÒÏÒS       SÔB ÃYÌ       SÔB HÅAD       SÔB SÅÃÔÒ     ÔHÉS ÏP SÔAÒÔS AÔ SÅÃÔÏÒ ZÅÒÏ       ÌDA B6±       ÒÅÃAÌÉBÒAÔÅ ÉN S±       ÊSB ÃÏPÒ       ÌDA ÒÅÃAÌ    ÌÏAD ÃÏMMAND       ÊSB ÃÏMMD    ÉSSUÅ ÃÏMMAND       ÊSB ×AÉÒ      ×AÉÔ ÆÏÒ ÔHÅ ÒÅÃAÌÉBÒAÔÅ       ÊSB ×ÃHK     ÃHÅÃK ÆÏÒ ÅÒÒÏÒS       ÌÉA ±         ÌÏAD S× ÒÅG       AND BÉÔ±       SZA           SKÉP ÉÆ BÉÔ± ½ 0       ÊSB ×ÒAD     ÃAÌÌ ×ÒÉÔÅ ADDÒÅSS ÒÏUÔÉNÅ ª        ÌDA AS±       ÊSB SÔUÆÆ     ÃUÒÒÅNÔ SÅÃÔÉÏN       ÃÌA       SÔA ÃYÌ       SÔA HÅAD       SÔA SÅÃÔÒ       SÔA SHÔAS    ×HAÔ SÔAÔUS SHÏUÌD BÅ       ÌDA B6±       ÒÅÃAÌÉBÒAÔÅ ÉN S±       ÊSB ÃÏPÒ       ÃÌB          ÔÉMÅ USÅD ÉS ZÅÒÏ       ÌDA ÒÅÃAÌ       ÊSB ÃÏMMD    ÉSSUÅ ÒÅÃAÌÉBÒAÔÅ       ÊSB ×AÉÒ      ×AÉÔ ÆÏÒ ÔHÅ ÒÅÃAÌÉBÒAÔÅ       ÊSB ×ÃHK       ÊSB ÒAÃKɬɠ  ÒÅAD ADDÒÅSS AND ÃHÅÃK       ÃÃA       SÔA ÉÆÌG     SÅÔ ÉÆÌG ÆÏÒ ÆÉÒSÔ SÅÅK       ÃÌA SKÌà ÅÑU ª       SÔA ÃYÌ      SAVÅ ÃYÌÉNDÅÒ NUMBÅÒ ª  ª                  ÔHÅ ÆÏÌÌÏ×ÉNG ÏPÅÒAÔÉÏNS AÒŬ ª                  A SÅÅK ÔHAÔ ÃAUSÅS PÏSÉÔÉÏNÅÒ MÏÔÉÏN ª                  AND A SÔAÔUS ÏPÅÒAÔÉÏN ÉMMÅDÉAÔÅÌY ª                  ÆÏÌÌÏ×ÉNG ×HÉÃH SHÏUÌD SÅÅ A ª                  PÏSÉÔÉÏNÅÒ BUSY SÔAÔUS. ª        ÌDA B´´       SÅÅK ÉN S±       ÊSB ÃÏPÒ       ÃÌB       ÊSB SÅÅK       ÌDA PBBÉÔ       ÉSZ ÉÆÌG     SKÉP ÉÆ NÏ MÏÔÉÏN       SÔA SHÔAS    ×HAÔ SÔAÔUS SHÏUÌD BÅ       ÊSB SÔAÔ     GÅÔ SÔAÔUS ×HÉÌÅ BUSY       ÊSB ×ÃHK     ÃHÅÃK ÆÏÒ†0þú ÅÒÒÏÒS       ÃÌB          ÆÏÒ ×AÉÔS ÔÉMÅ ÃÏUNÔÅÒ       SÔB SHÔAS    ×HAÔ SÔAÔUS NÏÒMAÌÌY ÉS       ÌDA ÉÆÌG      DÏN'Ô       SZA¬ÒSS        ÃHÅÃK ÆÌAG ÏN       ÊMP SKÌH        ÅAÒÌY ÃÏMPÌÅÔÉÏN       ÊSB ×AÉÔS    ×AÉÔ ÆÏÒ SÅÅK ÔÏ ÆÉNÉSH       ÊSB ×ÃHK       ÃÌA SKÌH  ÅÑU ª       SÔA HÅAD     SAVÅ HÅAD NUMBÅÒ ª  ª                  ÔHÅ ÆÏÌÌÏ×ÉNG ÏPÅÒAÔÉÏNS AÒŬ ª                  A SÅÅK ÔHAÔ ÃAUSÅS ÏNÌY HÅAD S×ÉÔÃHÉNG¬ AND ª                  A ÒÅAD ADDÒÅSS AND ÃÏMPAÒÅ ×ÉÔH SÅÅK ADDÒÅSS ª        ÌDA B´´       SÅÅK ÉN S±       ÊSB ÃÏPÒ       ÊSB ÆSÅÅH     PÅÒÆÏÒM ÆUÌÌ SÅÅH       ÊSB ÒAÃKɬɠ  ÒÅAD ADDÒÅSS AND ÃHÅÃK       ÌDA HÅAD       ÉNA          ÃÏUNÔ UP ÔÏ NÅØÔ HÅAD       ÃPA ÔÒPà    ÃHÅÃK ÆÏÒ PASÔ ÌASÔ HÅAD       ÃÌA¬ÉNA¬ÒSS  SKÉP ÏUÔ ÉÆ SÏ       ÊMP SKÌH     ÔÒY NÅØÔ HÅAD       ADA ÃYÌ      ADVANÃÅ ÃYÌÉNDÅÒ NUMBÅÒ       ÃPA ÃYPP     ÃHÅÃK ÆÏÒ PASÔ ÅND ÏÆ PAÃK       ÒSS          SKÉP ÏUÔ ÉÆ DÏNÅ       ÊMP SKÌà    ÔÒY NÅØÔ ÃYÌÉNDÅÒ       SÔA ÃYÌ ª  ª                  ÔHÅ ÆÏÌÌÏ×ÉNG ÏPÅÒAÔÉÏN ÉS A SÅÅK ÔHAÔ ª                  AÔÔÅMPÔS ÔÏ MÏVÅ ÔHÅ PÏSÉÔÉÏNÅÒ BÅYÏND ª                  ÉÔS ÌÉMÉÔS. ª                  ÔHÅ SÅÅK ÉNÃÏMPÌÅÔÅ SÔAÔUS ÉS ÃHÅÃKÅD. ª  ª        ÌDA B´´       SÅÅK ÉN S±       ÊSB ÃÏPÒ       ÊSB SÅÅK      SÅÅK ÔÏ NÏN-ÅØÉSÔANÔ ÃYÌÉNDÅÒ       ÊSB ×AÉÔS    ×AÉÔ ÆÏÒ SÅÅK       ÌDA SÃBÉÔ    SÅÅK ÃHÅÃK       ÉÏÒ AÅBÉÔ    ANY ÅÒÒÏÒ       SÔA SHÔAS       ÊSB ×ÃHK     ÃHÅÃK ÆÏÒ ÅÒÒÏÒS       ÃÌA       SÔA HÅAD       SÔA SÅÃÔÒ       SÔA SHÔAS    SÔAÔUS ÉS NÏÒMAÌÌY ZÅÒÏ       ÌDA ÆÔҬɠ    GÅÔ ÆÉÒSÔ ÃYÌÉNDÅÒ ÔHAÔ       SÔA ÃYÌ      ×Å AÒÅ AÌÌÏ×ÅD ÔÏ ×ÒÉÔÅ ÏN.       ÌDA B6±       ÒÅÃAÌÉBÒAÔÅ ÉN S±       ÊSB ÃÏPÒ       ÌDA ÒÅÃAÌ     ÌÏAD ÒÅÃAÌÉBÒAÔÅ ÃÏMMAND       ÊSB ÃÏMMD     ÉSSUÅ ÃÏMMAND       ÊSB ×AÉÒ      ×AÉÔ ÆÏÒ ÃÏMPÌÅÔÉÏN       ÊSB SÔAÔ      GÅÔ SÔAÔUS       ÊSB ×ÃHK      ÃHÅÃK ÆÏÒ ÅÒÒÏÒS ª  ª  ª     ÔHÉS SÅÅK ÒÅÔUÒNS ÔÏ ÃYÌ 0 HÅAD 0 ÉN DÅÆAUÌÔ ÃASÅ ª        ÌDA B´´       SÅÅK ÉN S±       ÊSB ÃÏPÒ       ÊSB ÛþúÆSÅÅK     PÅÒÆÏÒM ÆUÌÌ SÅÅK       ÌDA BPÔÒ       SÔA BUÆAD       ÌDA D3¸´+SZÒÅÆ       SÔA ×ÃNÔ     SÅÔ ×ÏÒD ÃÏUNÔ ÆÏÒ ÔHÒÅÅ SÅÃÔÏÒS       ÊSB DGÅN     GÅNÅÒAÔÅ NÅ× BUÆÆÅÒ ª  ª                  ÔHÅ ÆÏÌÌÏ×ÉNG ÏPÅÒAÔÉÏN DÏÅS ÔHÅ ÆÉÒSÔ ª                  ×ÒÉÔÅ ÏN ÔHÅ DÉSK ÏN HÅAD ZÅÒϬ SÅÃÔÏÒ ZÅÒÏ ª        ÌDA D±²¸+SZÒÅÆ       SÔA ×ÃNÔ     SÅÔ ×ÏÒD ÃÏUNÔ ÆÏÒ ÏNÅ SÅÃÔÏÒ       ÃÌB       ÌDA B´5       ×ÒÉÔÅ ÉN S±       ÊSB ×ÒÉÔÅ    ×ÒÉÔÅ ÏN ÆÉÒSÔ SÅÃÔÏÒ       ÊSB ×ÃHK     ÃHÅÃK ÆÏÒ ÅÒÒÏÒS ª  ª                  ÔHÅ ÆÏÌÌÏ×ÉNG ÏPÅÒAÔÉÏN ÉS A Ô×Ï SÅÃÔÏÒ ÌÏNG ª                  ×ÒÉÔÅ SÔAÒÔÉNG AÔ HÅAD ZÅÒϬ SÅÃÔÏÒ SÅVÅN ª        ÌDA D·       SÔA SÅÃÔÒ    ÏPÅÒAÔÉÏN SÔAÒÔS AÔ SÅÃÔÏÒ ·       ÌDA B±5       ADDÒÅSS ÒÅÃÏÒD ÉN S±       ÊSB ÃÏPÒ       ÊSB SÅÅS       ÌDA D±²¸+SZÒÅÆ       ADA BPÔÒ     NÅ× BUÆÆÅÒ ADDÒÅSS       SÔA BUÆAD       ÌDA D²56+SZÒÅÆ       SÔA ×ÃNÔ     Ô×Ï SÅÃÔÏÒ ×ÏÒD ÃÏUNÔ       ÌDA B´5       ×ÒÉÔÅ ÉN S±       ÊSB ×ÒÉÔÅ       ÊSB ×ÃHK     ÃHÅÃK ÆÏÒ ÅÒÒÏÒS ª  ª                  ÔHÅ ÆÏÌÌÏ×ÉNG ÏPÅÒAÔÉÏN ÉS A ÒÅAD ÔÏ ª                  ÒÅAD BAÃK ÔHÅ ÉNÆÏÒMAÔÉÏN ×ÒÉÔÔÅN ª                  ÏN SÅÃÔÏÒ ZÅÒÏ. ª                  ÔHÅ DAÔA ÉS ÃÏMPAÒÅD ×ÉÔH ÔHAÔ ×ÒÉÔÔÅN. ª        ÃÌA       SÔA SÅÃÔÒ    NÅØÔ ÏP SÔAÒÔS AÔ SÅÃÔÏÒ ZÅÒÏ       ÌDA B±5       ADDÒÅSS ÒÅÃÏÒD ÉN S±       ÊSB ÃÏPÒ       ÊSB SÅÅS       ÌDA D±²¸+SZÒÅÆ       SÔA ×ÃNÔ     SÅÔ ×ÏÒD ÃÏUNÔ ÆÏÒ ÏNÅ SÅÃÔÏÒ       ÌDA BPÔÒ       SÔA BUÆAD    PUÔ BUÆÆÅÒ ADDÒÅSS BAÃK       ÌDA BPÔS       SÔA BUÆAÅ    SÅÔ ÒÅAD ADDÒÅSS       ÌDA B´6       ÒÅAD ÉN S±       ÊSB ÒÅAD     ÃAÌÌ ÒÅAD ÒÏUÔÉNÅ       ÊSB DÃHK      ÃHÅÃK ÆÏÒ ÅÒÒÏÒS¬ÃÏMPAÒÅ BUÆÆÅÒS ª  ª                  ÔHÅ ÆÏÌÌÏ×ÉNG ÏPÅÒAÔÉÏN ÒÅADS BAÃK ÔHÅ ª                  ÉNÆÏÒMAÔÉÏN ×ÒÉÔÔÅN ÏN SÅÃÔÏÒS SÅVÅN AND ª                  ÅÉGHÔ ª                  ÔHÅ DAÔA ÉS ÃÏMPAÒÅD ×ÉÔH ÔHAÔ ×ÒÉÔÔÅN. ª        ÌDA D·       SÔA SÅÃÔÒ    ÏPÅÒAÔÉÏN SÔAÒÔS AÔ SÅÃÔÏÒ ·       ÌDA B±5       ADDÒÅSS ÒÅÃÏÒD ÉN S±       ÊSB ÃÏPÒ       ÊSB SÅÅS       ÌDÏaþúA D±²¸+SZÒÅÆ       ADA BPÔÒ       SÔA BUÆAD    SÅÔ ÔÏ SÅÃÏND ÒÅAD¯×ÒÉÔÅ ADDÒÅSS       ÌDA D±²¸+SZÒÅÆ ÌÏAD ×ÏÒD ÃÏUNÔ       ADA BPÔS       SÔA BUÆAÅ       ÌDA D²56+SZÒÅÆ Ô×Ï SÅÃÔÏÒ       SÔA ×ÃNÔ     SÅÔ ×ÏÒD ÃÏUNÔ       ÌDA B´6       ÒÅAD ÉN S±       ÊSB ÒÅAD       ÊSB DÃHK      ÃHÅÃK ÆÏÒ ÅÒÒÏÒS¬ÃÏMPAÒÅ BUÆÆÅÒS ª  ª                  ÔHÅ ÆÏÌÌÏ×ÉNG ÏPÅÒAÔÉÏN ÉS A ×ÒÉÔÅ ÔHAÔ ª                  SÔAÒÔS NÅAÒ ÔHÅ ÅND ÏÆ ÔÒAÃK ZÅÒÏ AND ª                  ÃÏNÉÔNUÅS ÏNÔÏ ÔHÅ NÅØÔ ÔÒAÃK ª        ÌDA SÃPÔ-3       SÔA SÅÃÔÒ    SÅÔ SÅÃÔÏÒ NUMBÅÒ       ÌDA B±5       ADDÒÅSS ÒÅÃÏÒD ÉN S±       ÊSB ÃÏPÒ       ÊSB SÅÅS       ÌDA D5±²+SZÒÅÆ       SÔA ×ÃNÔ     SÅÔ ÆÏUÒ SÅÃÔÏÒ ×ÏÒD ÃÏUNÔ       ÌDA BPÔÒ       SÔA BUÆAD       ÌDA BPÔS       SÔA BUÆAÅ       ÊSB DGÅN     GÅNÅÒAÔÅ BUÆÆÅÒ       ÌDA B´5       ×ÒÉÔÅ ÉN S±       ÊSB ×ÒÉÔÅ       ÊSB ×ÃHK     ÃHÅÃK ÆÏÒ ÅÒÒÏÒS       ÌDA D·       SÔA SÅÃÔÒ    SÅÔ SÅÃÔÏÒ SÅVÅN ª  ª                  ÔHÉS ÏPÅÒAÔÉÏN SÅÅKS BAÃK ÔÏ HÅAD ZÅÒÏ ª        ÌDA B´´       SÅÅK ÉN S±       ÊSB ÃÏPÒ       ÊSB ÆSÅÅH     PÅÒÆÏÒM ÆUÌÌ SÅÅH ª  ª                  ÔHÉS ÏPÅÒAÔÉÏN DÏÅS A ÃYÃÌÉàÃHÅÃK ÏN ª                  SÅÃÔÏÒS SÅVÅN AND ÅÉGHÔ ª        ÌDA B²²       ÃYÃÌÉàÃHÅÃK ÉN S±       SÔA ÃÏPÒN       ÌDA D²       ÃHÅÃK ÉS ÆÏÒ Ô×Ï SÅÃÔÏÒS       ÊSB DADÏ      SÅÃÔÏÒ ÃÏUNÔ       ÌDA ÃYÃHK    ÌÏAD ÃYÃÌÉàÃHÅÃK ÃÏMMAND       ÊSB ÃÏMMD    ÉSSUÅ ÃÏMMAND       ÊSB ×AÉÔS    ×AÉÔ ÆÏÒ ÃÏMPÌÅÔÉÏN       ÊSB ×ÃHK      ÃHÅÃK SÔAÔUS       ÌDA SÃPÔ-3       SÔA SÅÃÔÒ    SÅÔ SÅÃÔÏÒ       ÌDA B±5       ADDÒÅSS ÒÅÃÏÒD ÉN S±       ÊSB ÃÏPÒ       ÊSB SÅÅS ª  ª                  ÔHÅ ÆÏÌÌÏ×ÉNG ÏPÅÒAÔÉÏN ÒÅADS BAÃK ª                  ÔHÅ DAÔA ×ÒÉÔÔÅN BY ÔHÅ PÒÅVÉÏUS ×ÒÉÔÅ ª                  ÔHÅ DAÔA ÉS ÃÏMPAÒÅD ×ÉÔH ÔHAÔ ×ÒÉÔÔÅN. ª        ÌDA B´6       ÒÅAD ÉN S±       ÊSB ÒÅAD       ÊSB DÃHK      ÃHÅÃK ÆÏÒ ÅÒÒÏÒS¬ÃÏMPAÒÅ BUÆÆÅÒS ª  ª     PÏSÉÔÉÏN ÔÏ MÏVÅ ÔÏ ÔHÅ BÏÔÔÏM ÔÒAÃK ª        ÌDA ÔÒPÃ-±   ÌÏAD ÌASÔ ÔÒAÃK NUMBÅÒ       SÔA HÅAD       ÌDA D±ñ+þú0       SÔA SÅÃÔÒ    SÅÔ SÅÃÔÏÒ ÔÅN ª  ª                  ÔHÅ ÆÏÌÌÏ×ÉNG SÅÅK MÏVÅS ÔÏ ÔHÅ BÏÔÔÏM ª                  ÔÒAÃK ÏÆ ÔHÅ ÃYÌÉNDÅÒ ª        ÌDA B´´       SÅÅK ÉN S±       ÊSB ÃÏPÒ       ÊSB SÅÅH     MÏVÅ ÔÏ ÔHÅ BÏÔÔÏM ÔÒAÃK ª  ª         ÔHÉS ÏPÅÒAÔÉÏN ÏUÔPUÔS A PAÉÒ ÏÆ ×ÏÒDS ÔÏ ÔHÅ ª     DAÔA ÃHANNÅÌ.  ABÏUÔ 50 MÉÃÒÏSÅÃÏNDS AÆÔÅÒ ÔHÅ SÅÃÏND ª     ÉS AÃÃÅPÔÅD¬ A ÔHÉÒD ×ÏÒD ÉS ÏUÔPUÔ ÔÏ SÅÔ ÏVÅÒÒUN ÆÌAG. ª        ÌDA BUÆAD       ÃÌB       SÔB A¬É       SÅÔ Ô×Ï ×ÏÒDS ÔÏ ZÅÒÏ       ÉNA       SÔB A¬É       ÌDA D²       SÔA ×ÃNÔ     SÅÔ ×ÏÒD ÃÏUNÔ       ÌDA ÏVÉÊS    ÊUMP ÔÏ SUBÒÏUÔÉNÅ       SÔA DMSP     SÅÔ DMA BÒÅAK ÌÏÃAÔÉÏN       ÊSB ×AÉH     ×AÉÔ ÆÏÒ HÅAD S×ÉÔÃHÉNG       ÃÌA       SÔA SHÔAS       ÊSB ×ÃHK      SÅÅK SHÏUÌD HAVÅ ZÅÒÏ SÔAÔUS H50   ÌDA B50       ÏVÅÒÒUN ÉN S±       ÊSB ×ÒÉÔÅ       ÊSB ×ÃHK     ÃHÅÃK ÆÏÒ ÏVÅÒÒUN ÅÒÒÏÒ       ÃÌA       SÔA SHÔAS    ×HAÔ SÔAÔUS NÏÒMAÌÌY ÉS       ÌDA SÃPÔ-3       SÔA SÅÃÔÒ    SÅÔ SÅÃÔÏÒ       ÌDA B±5       ADDÒÅSS ÒÅÃÏÒD ÉN S±       ÊSB ÃÏPÒ       ÊSB SÅÅS       ÌDA D5±²+SZÒÅÆ       SÔA ×ÃNÔ     SÅÔ ×ÏÒD ÃÏUNÔ ÆÏÒ ÆÏUÒ SÅÃÔÏÒS       ÊSB DGÅN     GÅNÅÒAÔÅ BUÆÆÅÒ ª  ª                  ÔHÅ ÆÏÌÌÏ×ÉNG ×ÒÉÔÅ SÔAÒÔS NÅAÒ ÔHÅ ª                  ÅND ÏÆ ÔHÅ ÃYÌÉNDÅÒ AND ÃÏNÔÉNUÅS ª                  UNÔÉÌ ÔHÅ ÅND ÏÆ ÃYÌÉNDÅÒ ÅÒÒÏÒ ÏÃÃUÒS ª        ÌDA B´5       ×ÒÉÔÅ ÉN S±       ÊSB ×ÒÉÔÅ ª  ª     MAKÅ SUÒÅ ÔHAÔ ÅND ÏÆ ÃYÌÉNDÅÒ ÅÒÒÏÒ ÏÃÃUÒS ª        ÌDA D3¸´+SZÒÅÆ       SÔA ×ÃNÔ     SÅÔ ×ÏÒD ÃÏUNÔ ÆÏÒ ÔHÒÅÅ SÅÃÔÏÒS       ÌDA ÅÃBÉÔ    ÌÏAD ÅND ÏÆ ÃYÌÉNDÅÒ BÉÔ       ÉÏÒ AÅBÉÔ    ÏÒ ÉN ANY ÅÒÒÏÒ BÉÔ       SÔA SHÔAS    ÔHÉS ÉS ×HAÔ SÔAÔUS SHÏUÌD BÅ       ÊSB ×ÉPÅ      ÃHÅÃK SÔAÔUS¬AÌÌÏ× NÏ ÔÒANSÆÅÒ       ÃÌA       SÔA SHÔAS    SÔAÔUS SHÏUÌD NÏÒMAÌÌY BÅ ZÅÒÏ       ÌDA D±0       SÔA SÅÃÔÒ    SÅÔ SÅÃÔÏÒ ÔÅN ª  ª                  ÔHÉS SÅÅK ÒÅÔUÒNS ÔÏ ÔHÅ BÏÔÔÏM ÔÒAÃK ª        ÌDA B´´       SÅÅK ÉN S±       ÊSB ÃÏPÒ       ÊSB SÅÅH     ÒÅÔUÒN ÔÏ BÏÔÔÏM ÔÒAÃK ª  ª         ÔHÉS ÏPÅÒAÔÉÏN Éš¨þúS A ÒÅAD AND ÃHÅÃK ÏÆ ÔHÅ SÅÃÔÏÒ ª     ÔHAÔ SHÏUÌD HAVÅ BÅÅN ZÅÒÏ ÆÉÌÌÅD. ª         ÔHÅ ÏPÅÒAÔÉÏN ÃHÅÃKS ÔHAÔ ÔHÅ ×ÏÒD ÃAUSÉNG ÔHÅ ª     ÏVÅÒÒUN ×AS NÏÔ ×ÒÉÔÔÅN ÉNÔÏ ÔHÅ SÅÃÔÏÒ. ª        ÌDA D30       SÔA ×ÃNÔ     SÅÔ ×ÏÒD ÃÏUNÔ ÆÏÒ ÏNÅ SÅÃÔÏÒ       ÌDA ÏVÉÊS       SÔA DMSP     SÅÔ ÔÏ ÉNÔÅÒÒUPÔ DMA ÔÒANSÆÅÒ       ÊSB ×AÉH     ×AÉÔ ÆÏÒ HÅAD S×ÉÔÃHÉNG       ÃÌA       SÔA SHÔAS       ÊSB ×ÃHK      SÅÅK SHÏUÌD HAVÅ ZÅÒÏ SÔAÔUS H5·   ÌDA B5·       ÏVÅÒÒÒUN ÃHÅÃK ÉN S±       ÊSB ÒÅAD       ÃÌA       SÔA PAÔÔ     SÅÔ PAÔÔÅÒN ×ÏÒD       ÊSB PÃHKÉ¬É ª  ª  ª                  ÔHÅ ÆÏÌÌÏ×ÉNG ÒÅAD ÒÅADS BAÃK ÔHÅ DAÔA ª                  ×ÒÉÔÔÅN BY ÔHÅ PÒÅVÉÏUS ×ÒÉÔÅ. ª                  ÔHÅ DAÔA ÉS ÃÏMPAÒÅD ×ÉÔH ÔHAÔ ×ÒÉÔÔÅN. ª        ÌDA SÃPÔ-3       SÔA SÅÃÔÒ    SÅÔ SÅÃÔÏÒ       ÌDA B±5       ADDÒÅSS ÒÅÃÏÒD ÉN S±       ÊSB ÃÏPÒ       ÊSB SÅÅS       ÌDA D5±²+SZÒÅÆ       SÔA ×ÃNÔ     SÅÔ ×ÏÒD ÃÏUNÔ ÆÏÒ ÆÏUÒ SÅÃÔÏÒS       ÌDA B´6       ÒÅAD ÉN S±       ÊSB ÒÅAD     ÒÅAD AND ª  ª     MAKÅ SUÒÅ ÔHAÔ ÅND ÏÆ ÃYÌÉNDÅÒ ÅÒÒÏÒ ÏÃÃUÒS ª        ÌDA H····       AND DMÒÆ      AN ÉNÃÏMPÌÅÔÅ DMA ÔÒANSÆÅÒ ÉS ÏK       SÔA DMÒÆ       ÌDA D3¸´+SZÒÅÆ       SÔA ×ÃNÔ     SÅÔ ×ÏÒD ÃÏUNÔ ÆÏÒ ÔHÒÅÅ SÅÃÔÏÒS       ÌDA ÅÃBÉÔ    ÌÏAD ÅND ÏÆ ÃYÌÉNDÅÒ BÉÔ       ÉÏÒ AÅBÉÔ    ÏÒ ÉN ANY ÅÒÒÏÒ BÉÔ       SÔA SHÔAS    ÔHÉS ÉS ×HAÔ SÔAÔUS SHÏUÌD BÅ       ÊSB DÃHK      ÃHÅÃK ÆÏÒ ÅÒÒÏÒS¬ÃÏMPAÒÅ BUÆÆÅÒS       ÃÌA       SÔA SHÔAS    SÔAÔUS SHÏUÌD NÏÒMAÌÌY BÅ ZÅÒÏ ª  ª         ÏPÅÒAÔÉÏN ÔÏ MAKÅ ADDÒÅSS ÒÅGÉSÔÅÒ DÉÆÆÅÒÅNÔ ª     ÆÒÏM AÃÔUAÌ PÏSÉÔÉÏN. ª        SÔA ÃYÌ        ÃYÌÉNDÅÒ       SÔA HÅAD        HÅAD       SÔA SÅÃÔÒ        AND SÅÃÔÏÒ       ÌDA B´´       SÅÅK ÉN S±       ÊSB ÃÏPÒ       ÊSB ÆSÅÅK     PÅÒÆÏÒM ÆUÌÌ SÅÅK       ÌDA D±0       ÃHANGÅ       SÔA ÃYÌ        ÃYÌÉNDÅÒ       ÌDA B±5       ADDÒÅSS ÒÅÃÏÒD ÉN S±       ÊSB ÃÏPÒ       ÊSB SÅÅS       ÃÌA           ÒÅSÅÔ       SÔA ÃYÌ        ÃYÌÉNDÅÒ NUMBÅÒ ª  ª         ÏPÅÒAÔÉÏN ÃHÅÃKS ÆÏÒ NÏÔ ÆÏUND ÅÒÒÏÒ ª        ÌDA D±²¸Œ5þú+SZÒÅÆ       SÔA ×ÃNÔ     SÅÔ ×ÏÒD ÃÏUNÔ ÆÏÒ ÏNÅ SÅÃÔÏÒ       ÌDA B´6       ÒÅAD ÉN S±       ÊSB ÒÅAD       ÌDA NÆBÉÔ    NÏÔ ÆÏUND       ÉÏÒ AÅBÉÔ    ANY ÅÒÒÏÒ       SÔA SHÔAS    ×HAÔ SÔAÔUS SHÏUÌD BÅ       ÊSB ×ÉPÅ      ÃHÅÃK SÔAÔUS¬AÌÌÏ× NÏ ÔÒANSÆÅÒ       ÃÌA       SÔA SHÔAS    ×HAÔ SÔAÔUS SHÏUÌD NÏÒMAÌÌY BÅ ª  ª  ª     SÅÅK ÔÏ ÃYÌÉNDÅÒ ²0² AND ÔHÅN SÅÅK ÔÏ ÆÉÒSÔ ÃYÌÉNDÅÒ ª     ÉN ÃYÌÉNDÅÒ ÔABÌÅ. AÔ HÅAD ±9¬SÅÃÔÏÒ Ô×ÅNÔY ÒÅAD ÏNÅ ª     SÅÃÔÏÒ AND VÅÒÉÆY ÃÏNÔÅNÔS. ÔHÅ ÒÅAD ÃÏMMAND ÉS ÉSSUÅD ª     BÅÆÏÒÅ ÔHÅ SÅÅK ÉS ÃÏMPÌÅÔÅ. ª        ÌDB D²0²       ÌDA ÆÔҬɠ    ÉS ÆÉÒSÔ ÅNÔÒY ÉN ÔABÌÅ       ÃPA D²0²       ÅÑUAÌ ÔÏ ²0²       ÃÌB           YÅS       SÔB ÃYÌ       ÃYÌ ½ ²0² ÏÒ 0       ÃÌB       ÌDA B´´       SÅÅK ÉN S±       ÊSB ÃÏPÒ       ÊSB ÆSÅÅK     PÅÒÆÏÒM ÆUÌÌ SÅÅK       ÌDA ÆÔҬɠ    ÆÉÒSÔ ÃYÌÉNDÅÒ ÉN ÔABÌÅ       SÔA ÃYÌ       ÌDA ÔÒPÃ-±    ÔÒAÃK ±9       SÔA HÅAD       ÌDA SÃPÔ-3    SÅÃÔÒ ²0       SÔA SÅÃÔÒ       ÌDA B´´       SÅÅK ÉN S±       ÊSB ÃÏPÒ       ÊSB SÅÅK       ÌDA B´6       ÒÅAD ÉN S±       ÊSB ÒÅAD       ÊSB DÃHK      ÃHÅÃK SÔAÔUS AND ÃÏMPAÒÅ BUÆÆÅÒS ª  ª  ª     ÒÅAD ADDÒÅSSÅS UNÔÉÌ SÅÃÔÏÒ ±9 ÉS ÆÏUND ÉSSUÅ ª     ADDÒÅSS SKÉP ÃÏMMAND AND VÅÒÉÆY DAÔA ÒÅAD ª        ÌDA MM²3       SÔA ÃÃÃà     DÏ ÏNÌY ²3 ÒÅADS S±ÌP  ÅÑU ª       ÊSB ÒAÃKɬɠ  ÒÅAD ADDÒÅSS AND ÃHÅÃK       ÌDA BPÔS±¬É       AND B3··      A ½ SÅÃÔÏÒ NUMBÅÒ       ÃPA D±9       ÊMP S±ÏK      ÆÏUND ÉÔ       ÉSZ ÃÃÃà     SKÉP ÉÆ ÉÔ ÉS NÏÔ ÔHÅÒÅ       ÊMP S±ÌP       ÊSB PÃÏP      ÃUÒÒÅNÔ ÏPÅÒAÔÉÏN Å6²   ÊSB ÅÒÒÏÒ     SÅÃÔÏÒ MÉSSÉNG ÉN S±       ÊSB ADDÏɬɠ  PÒÉNÔ ÌÏÃAÔÉÏN S±ÏK  ÅÑU ª       ÌDA D±²¸+SZÒÅÆ       SÔA ×ÃNÔ      ×ÏÒD ÃÏUNÔ       ÌDA B60       ADDÒÅSS SKÉP ÉN S±       ÊSB ÃÏPÒ       ÊSB DMÒ       SÅÔ UP DMA ÒÅAD       ÌDA ADSK      ADDÒÅSS SKÉP ÃÏMMAND       ÊSB ÃÏMMD     ÉSSUÅ ÃÏMMAND       ÊSB DMAÔ      ×AÉÔ ÆÏÒ DMA ÔÏ ÆÉNÉSH       ÊSB SÔAÔ      GÅÔ SÔAÔUS       ÊSB DÃHK      ÃHÅÃK SÔAÔUS AND ÃÏMPAÒÅ BUÆÆÅÒS ª  ª  ª         SÅÅKº‚<:6 ÔÏ HÅAD ²0¬ÃHÅÃK ÆÏÒ ÅND ÏÆ ÃYÌÉNDÅÒ ª         ÉNDÉÃAÔÉÏN ÏN A ×ÒÉÔÅ ª        ÌDA D²0       SÔA HÅAD      HÅAD ½ ²0       ÌDA B´´       ÊSB ÃÏPÒ       ÊSB ÆSÅÅK     SÅÅK ÉN S±       ÌDA B´5       ÊSB ×ÒÉÔÅ     ×ÒÉÔÅ ÉN S±       ÌDA B´±       SÔA SHÔAS     ÅØPÅÃÔÅD SÔAÔUS ½ 5±B       ÌDA SÔAUS     MASK ÏÆÆ       AND NBÔ3´      ÆÌAGGÅD ÔÒAÃK AND       SÔA SÔAUS       NÏ ÒÅÃÏÒD ÆÏUND       ÊSB ×ÉPÅ      ÃHÅÃK SÔAÔUS¬AÌÌÏ× NÏ ÔÒANSÆÅÒ ª  ª         SÅÅK ÔÏ SÅÃÔÏÒ ²3 AND ÃHÅÃK ÆÏÒ NÏ ÒÅÃÏÒD ª         ÆÏUND ÏN A ÒÅAD ª        ÃÌA       SÔA SHÔAS       SÔA HÅAD       ÌDA D²3       SÔA SÅÃÔÒ     SÅÃÔÏÒ ½ ²3       ÌDA B´´       ÊSB ÃÏPÒ       ÊSB ÆSÅÅK     SÅÅK ÉN S±       ÌDA B´6       ÊSB ÒÅAD      ÒÅAD ÉN S±       ÌDA B²±       SÔA SHÔAS     ÅØPÅÃÔÅD SÔAÔUS ½ ²±B       ÊSB ×ÉPÅ      ÃHÅÃK SÔAÔUS¬AÌÌÏ× NÏ ÔÒANSÆÅÒ       ÃÌA       SÔA SHÔAS ª  ª     ÃHÅÃK ÃÏNÔÒÏÌÌÅÒ ÆÌAG ÔÉMÉNG BY SÅÅKÉNG ²3 ÔÉMÅS ª     BÅÔ×ÅÅN ÃYÌÉNDÅÒS 0 AND ²0± ×ÉÔH ÔÉGHÔ ÃÏDÅ. ª        ÌDA MM²3       SÔA ÃÃÃà     ÒÅPÅAÔ ÏPÅÒAÔÉÏN ²3 ÔÉMÅS S±A   ÃÌA       ÊSB S±Zɬɠ   DÏ ÔÉGHÔ SÅÅK       ÌDA D²0±       ÊSB S±Zɬɠ   DÏ ÔÉGHÔ SÅÅK       ÉSZ ÃÃÃà     DÏNÅ?       ÊMP S±A       NÏ       ÊMP S±¬É       HÅD ÏVÉÊS åm<ÿÿ ÿýÉØ ÿ12965-18005 1451 S 0122 05DIAG 2883A/2884A DISC AND 12565A INTFC             H0101 ÝMþú ª  ª     DMA BÒÅAK ÒÏUÔÉNÅ ª  ÏVÉÊS ÊSB PÏVÊ¬É ÏVÊ   NÏP       ÃÌA       SÔA DMSP     SÅÔ BAÃK ÔÏ NÏ-ÏP       ADB D±¸       KÅÅP ÔÉMÉNG AÃÃUÒAÔÅ       ÌDA M²56     AÌÌÏ× A SHÏÒÔ ×AÉÔ ÆÏÒ ÔHÅ ÆÌAG ÏVÊÒ  ÅÑU ª       SSA¬ÉNA¬ÒSS  DÏN'Ô HANG ÆÏÒÅVÅÒ       ÊMP ÏVÊØ     PÒÅÔÅND ÆÌAG SÅÔ       ADB D¸        ADD ÏN ÃYÃÌÅS USÅD ÉN ÌÏÏP DM6É  SÆS DMAD      SKÉP ×HÅN DMA DÏNÅ       ÊMP ÏVÊÒ     BAÃK ÉÆ NÏÔ DÏNÅ       ÊSB ÃÌÏÃK    ×AÉÔ ÆÏÒ NÅØÔ ÒÅÑUÅSÔ ÔÏ ÃÏMÅ UP       ÌDA ÏVBÉÔ    ÏVÅÒÒUN BÉÔ       ÉÏÒ AÅBÉÔ    ANY ÅÒÒÏÒ       SÔA SHÔAS    ×HAÔ SÔAÔUS SHÏUÌD BÅ       ÊSB DADÏ     ÏUÔPUÔ ÏNÅ ÅØÔÒA ×ÏÒD . . . ÌAÔÅ ÏVÊØ  ÅÑU ª       ÊMP ÏVʬɠ   ÒÅÔUÒN ÔÏ DMAÔ       HÅD ×ÉPŬÃSÔÒ ª  ª     ÔHÉS ÒÏUÔÉNÅ AÌÌÏ×S ÆÏÒ ÉNÃÏMPÌÅÔÅ DMA ª     ÔÒANSÆÅÒS¬ÔHÅN ÃAÌÌS ×ÃHK. ª  ×ÉPÅ  NÏP       ÌDA NBÔ±5       AND DMÒÆ       SÔA DMÒÆ      MASK ÏÆÆ BÉÔ±5       ÊSB ×ÃHK      ÃHÅÃK SÔAÔUS       ÊMP ×ÉPÅ¬É ª  ª     ÃHANGÅ ÃYÌÉNDÅÒ ÔABÌÅ ÒÏUÔÉNÅ ª  ÃSÔÒ  NÏP           MÏVÅ       ÌDA ÔÒÔ ÃSÔÒ± SÔA ÃPÏNÔ     SÅÔ PÏÉNÔÅÒ       ÌDA ÃPÏNÔ¬É       ADA MM²       SÔA ÃÌÏAD       ÃYÌÉNDÅÒ       ÉNA              ÔABÌÅ       SÔA ÃSÔÏÒ         ÅNÔÒY MÏVÅ  ÌDA ÃÌÏAD¬É        DÏ×N       SÔA ÃSÔÏҬɠ        ÏNÅ       ÌDA ÃÌÏAD            AND       SÔA ÃSÔÏÒ             PÌAÃÅ       ADA MM±                VAÌUÅ       SÔA ÃÌÏAD               AÔ       ADA D±±       ÃPA ÃPÏNÔ¬É       ÃÌB¬ÒSS                 ÔÏP       ÊMP MÏVÅ       ÌDA VAÌUÅ       SÔA ÃSÔÏÒ¬É       SÔB VAÌUÅ       ÊMP ÃSÔÒ¬É       HÅD PAÔÔ ª  ª  ª     PAÔÔ ª      PÒÅPAÒÅ PAÔÔÅÒN ÔABÌÅ ª  PAÔÔ± NÏP       ÌDA MM±       Ô×Ï ÌÉNÅS ×ÉÌÌ BÅ USÅD       SÔA PÃNÔA       ÌDA PAÔÒ      ADDÒÅSS       ADA MM±0       ÏÆ ÆÉÒSÔ       SÔA PÌÏAD       PAÔÔÅÒN       ÌDA P0²·A     ADDÒÅSS       SÔA PSÔÏÒ      ÏÆ MÅSSAGÅ Pà   ÌDA MM5       ÆÉVÅ PAÔÔÅÒNS PÅÒ ÌÉNÅ       SÔA PÃNÔ PB    ÌDB PSÔÏÒ       ÌDA PÌÏAD¬É       ÊSB ÃN×ÒP¬É   ÃÏNVÅÒÔ ÔÏ ASÃÉÉ       ÉSZ PÌÏAD       ÌDB PSÔÏÒ       ADB D3     —þú  ÌDA BB        Ô×Ï ASÃÉÉ BÌANKS       SÔA B¬É       ÉNB       SÔB PSÔÏÒ       ÉSZ PÃNÔ      HAVÅ ×Å DÏNÅ ÆÉVÅ YÅÔ       ÊMP PB        NÏ       ÉSZ PÃNÔA     YÅS¬HAVÅ ×Å DÏNÅ ÔÅN YÅÔ       ÊMP PAÔÔ±¬É   YÅS       ÌDA ÃÒÌÆ      06´±²       SÔA PSÔÏÒ¬É       ÉSZ PSÔÏÒ       ÊMP Pà       HÅD PSÔÒ¬ASK ª  ª     ÃHANGÅ PAÔÔÅÒN ÔABÌÅ ÒÏUÔÉNÅ ª  PSÔÒ  NÏP           ADD       ÌDA PSÔÒ       SÔA ÃSÔÒ      SÅÔ UP ÒÅÔUÒN       ÌDA PAÔÒ       ÊMP ÃSÔÒ± ª  ª  ª     ASK ª      ASK ÏPÅÒAÔÏÒ ÉÆ HÅ ×ÉSHÅS ÔÏ ÃHANGÅ ÔABÌÅ ª  ASK   NÏP H²5   ÌDA B²5       DÏ YÏU ×ÉSH ÔÏ ÃHANGÅ ÔABÌÅ?       ÊSB PÒÉNÔ       ÊSB HÉN       ÉNPUÔ ÆÒÏM KÅYBÏAÒD       ÌDA BÉNA¬É    ÉNPUÔ BUÆÆÅÒ       AND P·´00       ØÏÒ NN        ½´·000B ÉS ÆÉÒSÔ ÃHAÒAÃÔÅÒ N ?       SZA¬ÒSS       SKÉP ÉÆ NÏ       ÊMP ASK¬É       ØÏÒ YY        ½±3´00B ÉS ÆÉÒSÔ ÃHAÒAÃÔÅÒ Y ?       SZA       ÊMP H²5       ÔÒY AGAÉN       ÉSZ ASK       ÊMP ASK¬É NN    ÏÃÔ ´·000 YY    ÏÃÔ ±3´00       HÅD S² - SÅÃÔÉÏN ² ª  ª  ª     SÅÃÔÉÏN ² ÉS ÏÒGANÉZÅD AS ÆÏÌÌÏ×S ª  ª         ÃYÌÉNDÅÒ ADVANÃÅ ª           S×ÉÔÃH 6½0 -- AÌÌ ÃYÌÉNDÅÒS ÆÒÏM 0 ÔÏ ²0² ª           S×ÉÔÃH 6½± -- AÌÌ ÃYÌÉNDÅÒS ÉN ÔÒÔAB ª         . ª         . ª         .   PAÔÔÅÒN GÅNÅÒAÔÏÒ ª         .     GÅNÅÒAÔÅ BUÆÆÅÒS ÆÏÒ ÅAÃH ÏÆ ÔHÅ PAÔÔÅÒNS ÉN PAÔÔÒ ª         .     SKÉP ÔHÉS SÅÃÔÉÏN ÉÆ S×ÉÔÃH 5½± ª         .   . ª         .   .   ÔÒAÃK ADVANÃÅ ª         .   .     AÌÌ ÔÒAÃKS ÆÒÏM 0 ÔÏ ÔÒPÃ-± ª         .   .   . ª         .   .   .   BÌÏÃK ADVANÃÅ ª         .   .   .     ÅAÃH ÔÒAÃK ÉS ×ÒÉÔÔÅN AS ÔHÒÅÅ BÌÏÃKS ª         .   .   .   . ª         .   .   .   .   ×ÒÉÔÅ DAÔA BUÆÆÅÒ ª         .   .   .   . ª         .   . ª         .   .   ÔÒAÃK ADVANÃÅ ª         .   .     AÌÌ ÔÒAÃKS ÆÒÏM 0 ÔÏ ÔÒPÃ-± ª         .   .   . ª         .   .   .   BÌÏÃK ADVANÃÅ ª         .   .   .     ÅAÃH ÔÒAÃK ÉS ÒÅAD AS ÔHÒÅÅ ª         .   .   .     BÌÏÃKS ª         .   .   .   . ª         .   .   .   .   ÒÅAD ÅAÃH BÌÏÃK ª         .    ¶þú.   .   . ª         .   .   .   .   ÃHÅÃK DAÔA ÒÅAD ª         .   .   .   . ª         .   .   . ª         .   . ª         . ª         . ª  ª        ÏÒG ´000B SVÃÔ  ÅÑU GÌÏB±    USÅD ÔÏ ÃÏUNÔ ÔÏÔAÌ ÔÉMÅ SVÃÔÒ ÅÑU GÌÏB² SVKà ÅÑU GÌÏB3 PAÔÔ  ÅÑU GÌÏB´     VAÒÉABÌÅ ÔÏ SAVÅ ÃUÒÒÅNÔ PAÔÔÅÒN PÔNØ  ÅÑU GÌÏB5    ÃÏUNÔÅÒ ÆÏÒ PAÔÔÅÒN ÔABÌÅ S²    NÏP       ÌDA AS²       ÊSB SÔUÆÆ     ÃUÒÒÅNÔ SÅÃÔÉÏN       ÃÌA       SÔA SVÃÔ     ZÅÒÏ ÔÏÔAÌ ÔÉMÅ ÉN SÅÅKS       SÔA SVÃÔÒ       SÔA SVKà    ZÅÒÏ SÅÅK ÃÏUNÔ       SÔA ÃYÌØ     SÅÔ ZÅÒÏ ÉNÔÏ ÉNÉÔÉAÌ ÃYÌÉNDÅÒ S²Ì   ÅÑU ª       ÊSB ÃYÌÊ     ÔÒANSÌAÔÅ ÃYÌØ ÉNÔÏ ÃYÌ       ÃÌA          A _ 0       SÔA HÅAD     PÏSÉÔÉÏN ÆÏÒ HÅAD ZÅÒÏ AND       SÔA SÅÃÔÒ    SÅÃÔÏÒ ZÅÒÏ       ÌDA SVÃÔ     MÏVÅ SAVÅD ÃÏUNÔÅÒS BAÃK       SÔA MÃNÔ       ÌDA SVÃÔÒ       SÔA MÃNÔÒ ª  ª                  ÔHÉS SÅÅK MÏVÅS ÔHÅ PÏSÉÔÉÏNÅÒ ÏNÅ ÃYÌÉNDÅÒ. ª                  ÔHÅSÅ SÅÅKS AÒÅ ÔÉMÅD AND ÔHÅ ÒÅSUÌÔS PÒÉNÔÅD. ª        ÃÌB       ÌDA B´´       SÅÅK ÉN S²       ÊSB ÃÏPÒ       ÊSB SÅÅK       ÊSB ×AÉÔS       ÌDA MÃNÔ       SÔA SVÃÔ     SAVÅ ÃUÒÒÅNÔ MÉÌÌÉSÅÃÏND ÃÏUNÔ       ÌDA MÃNÔÒ       SÔA SVÃÔÒ       ÊSB ×ÃHK     ÃHÅÃK ÆÏÒ ÅÒÒÏÒS       ÌDA SVKà       ÉNA          ÃÏUNÔ UP SÅÅK ÃÏUNÔÅÒ       SÔA SVKà       ÃPA D±²9     HAVÅ ×Å DÏNÅ ±²¸ ÆUÌÌ SÅÅKS       ÒSS          YÅS¬ PÒÉNÔ ÏUÔ SÅÅK ÔÉMÉNG       ÊMP ÔNÔ×     NϬ ÃÏNÔÉNUÅ ÏN       ÌÉA ±         ÌÏAD S× ÒÅG       AND BÉÔ±      SKÉP ÉÆ BÉÔ±       SZA            ÉS ÃÌÅAÒ       ÊSB ÔÔYÃK       ÊMP ÔNÔ×      ABÏÒÔ PÒÉNÏUÔ       ÌDA ±±5B      PÒÉNÔ ÔÉMÉNG MÅSSAGÅ       SSA¬ÒSS        ÏNÌY ÆÏÒ ²±±´¬       ÊMP ÔNÔ×        ²±±5¬²±±6 AND ²±00 ÔHÒU  ÌDA SVÃÔ      ÌÏAD NÏ. ÏÆ MÉÌÌÉSÅÃÏNDS       ÊSB MSÃV     ÃAÌÌ ÃÏNVÅÒÔÅÒ       ÌDA ÃVÔ²      ÔÒANSÆÅÒ       SÔA P053A¬É     ÔÏ       ÌDA ÃVÔ3        MÅSSAGÅ       SÔA P053B¬É H53   ÌDA B53       AVÅÒAGÅ MÉNÉMUM SÅÅK ÔÉMÅ ØØ.Ø       ÊSB PÒÉNÔ    PÒÉNÔ ÏUÔ SÅÅK ÔÉMÅ MÅSSAGÅ ÔNÔ×  ÅÑU ª       ÌÉA ±         ÌÏAD S× ®ÎþúÒÅG       AND BÉÔ5      ÃHÅÃK ÆÏÒ SHÏÒÔ ÔÅSÔ       SZA       ÊSB SHÏÒԬɠ  ÒÅPÏÒÔ SHÏÒÔÅNÅD ÔÅSÔÉNG       SZA          SKÉP ÉÆ ÌÏNG       ÊMP S²H      SHÏÒÔÅN SÅÃÔÉÏN Ô×Ï ª  ª  ª     ÔHÅ ÆÏÌÌÏ×ÉNG SÅÃÔÉÏN ÏÆ ÃÏDÅ ÃYÃÌÅS ÔHÒÏUGH ª     AÌÌ ÔÅN PAÔÔÅÒNS ÉN ÔHÅ PAÔÔÅÒN ÔABÌÅ ª  ª        ÌDA BPÔÒ     ÌÏAD BUÆÆÅÒ ADDÒÅSS       SÔA BUÆAD    SÅÔ ×ÒÉÔÅ AND       SÔA BUÆAÅ    ÒÅAD BUÆÆÅÒ ADDÒÅSSÅS       ÌDA MM±0     PAÔÔÅÒN ÔABÌÅ ÉS ÔÅN ÅNÔÒÉÅS ÌÏNG       SÔA PÔNØ     SAVÅ ÉN ÃÏUNÔÅÒ ×ÏÒD ×GÅN  ÅÑU ª       ÌDA M²56+SZÒÅÆ ¸ SÅÃÔÏÒ ×ÏÒD ÃÏUNÔ ¯ ´       SÔA ÔÅMP±    SAVÅ ÆÏÒ ÔHÅ ÆASÔ ÆÉÌÌ ÌÏÏP       ÌDB PÔNØ     ÌÏAD ÔHÅ PAÔÔÅÒN ÃÏUNÔÅÒ       ADB PAÔÒP    ADD ÏN ÔHÅ ÔABÌÅ ADDÒÅSS       ÌDA B¬É      ÌÏAD ÔHÅ PAÔÔÅÒN ÔÏ A       SÔA PAÔÔ     SAVÅ ÉÔ ÆÏÒ ÔHÅ PÃHK ÒÏUÔÉNÅ       ÌDB BUÆAD    ÌÏAD ÔHÅ ×ÒÉÔÅ ADDÒÅSS ×GÌ   ÅÑU ª       SÔA B¬É       ÉNB       SÔA B¬É       ÉNB       SÔA B¬É       ÉNB       SÔA B¬É       ÉNB       ÉSZ ÔÅMP±    ÃÏUNÔ DÏ×N ÃÏUNÔÅÒ ( BY ÆÏUÒ ©       ÊMP ×GÌ      ÃÏNÔÉNUÅ ÏN ÉÆ NÏÔ DÏNÅ ª  ª  ª         ÔHÅ ÆÏÌÌÏ×ÉNG ÃÏDÅ ×ÒÉÔÅS ÔHÅ PAÔÔÅÒN ÉN ÔHÅ BUÆÆÅÒ ª     ÏNÔÏ ÔHÅ ÅNÔÉÒÅ ÃYÌÉNDÅÒ ª  ª     ÔÏ USÅ ÔHÅ MÉNÉMUM ÔÉMÅ ÆÏÒ ÅAÃH ÔÒAÃK¬ ÔHÅ ÔÒAÃK ª     ÉS DÉVÉDÅD ÉNÔÏ ÔHÉÒDS ×HÉÃH AÒÅ ×ÒÉÔÔÅN ª     ÉN ÔHÅ ÏÒDÅÒ¬ ÆÉÒSÔ¬ ÔHÉÒD¬ SÅÃÏND. ª  ª  ª        ÃÌB       SÔB HÅAD      SÅÔ HÅAD ÔÏ ZÅÒÏ       SÔB SHÔAS     SÅÔ SÅÃÔÏÒ ÔÏ ZÅÒÏ ×NH×  ÅÑU ª       ÃÌA       SÔA SÅÃÔÒ    ÆÉÒSÔ BÌÏÃK SÔAÒÔS AÔ SÅÃÔÏÒ ZÅÒÏ ª  ª                  ÔHÉS SÅÅK SÅÌÅÃÔS A NÅ× HÅAD ª        ÌDA B´´       SÅÅK ÉN S²       ÊSB ÃÏPÒ       ÊSB SÅÅH     SÅÅK ÔÏ ÃUÒÒÅNÔ HÅAD ª  ª                  ÔHÅ ÆÏÌÌÏ×ÉNG ×ÒÉÔÅ ÉS ÆÏÒ ÔHÅ ª                  ÆÉÒSÔ ÔHÉÒD ÏÆ ÔHÉS ÔÒAÃK ª        ÌDA ×ÃÆÔ       SÔA ×ÃNÔ     SÅÔ ×ÏÒD ÃÏUNÔ       ÊSB ×AÉH     ×AÉÔ ÆÏÒ HÅAD S×ÉÔÃHÉNG       ÊSB ×ÃHK      ÃHÅÃK SÔAÔUS       ÌDA B´5       ×ÒÉÔÅ ÉN S²       ÊSB ×ÒÉÔÅ       ÊSB ×ÃHK     ÃHÅÃK ÆÏÒ ÅÒÒÏÒS ª  ª                  ÔHÉS ÏPÅÒAÔÉÏN ÉS A ×ÒÉÔÅ ÆÏÒ ª         œþú         ÔHÅ ÌASÔ ÔHÉÒD ÏÆ ÔHÉS ÔÒAÃK ª        ÌDA SÃÌÔ       SÔA SÅÃÔÒ       ÌDA B±5       ADDÒÅSS ÒÅÃÏÒD ÉN S²       ÊSB ÃÏPÒ       ÊSB SÅÅS       ÌDA ×ÃÌÔ       SÔA ×ÃNÔ     SÅÔ ×ÏÒD ÃÏUNÔ       ÌDA B´5       ×ÒÉÔÅ ÉN S²       ÊSB ×ÒÉÔÅ       ÊSB ×ÃHK     ÃHÅÃK ÆÏÒ ÅÒÒÏÒS ª  ª                  ÔHÉS ÏPÅÒAÔÉÏN ÉS A ×ÒÉÔÅ ÆÏÒ ª                  ÔHÅ SÅÃÏND ÔHÉÒD ÏÆ ÔHÉS ÔÒAÃK ª        ÌDA SÃSÔ       SÔA SÅÃÔÒ       ÌDA B´´       SÅÅK ÉN S²       ÊSB ÃÏPÒ       ÊSB SÅÅH       ÌDA ×ÃÆÔ       SÔA ×ÃNÔ     SÅÔ ×ÏÒD ÃÏUNÔ       ÊSB ×AÉH       ÊSB ×ÃHK      ÃHÅÃK SÔAÔUS       ÌDA B´5       ×ÒÉÔÅ ÉN S²       ÊSB ×ÒÉÔÅ       ÊSB ×ÃHK     ÃHÅÃK ÆÏÒ ÅÒÒÏÒS       ÌDA HÅAD       ÉNA          ÃÏUNÔ UP HÅAD NUMBÅÒ       SÔA HÅAD     AND       ÃPA ÔÒPà    ÃÏNÔÉNUÅ ÏN ÉÆ NÏÔ ÆÉNÉSHÅD ×ÉÔH ÔHÅ ÃYÌÉNDÅÒ       ÃÌA¬ÒSS      DÏNŬ SKÉP ÏUÔ       ÊMP ×NH×     ×ÒÉÔÅ ÏN ÅAÃH ÔÒAÃK ª  ª  ª     ÔHÅ ÆÏÌÌÏ×ÉNG SÅÃÔÉÏN ÒÅADS BAÃK ÔHÅ PAÔÔÅÒNS AND ª     ÃÏMPAÒÅS ÅAÃH ×ÏÒD ×ÉÔH PAÔÔ. ª  ª         AN ÅÉGHÔ SÅÃÔÏÒ ÒÅAD SÔAÒÔÉNG AÔ SÅÃÔÏÒ ZÅÒÏ ª                  ¸ SÅÃÔÏÒ ÔÉMÅS AÒÅ AVAÉÌABÌÅ ÔÏ ÃHÅÃK DAÔA ª         A SÅVÅN SÅÃÔÏÒ ÒÅAD SÔAÒÔÉNG AÔ SÅÃÔÏÒ SÉØÔÅÅN ª                  ¸ SÅÃÔÏÒ ÔÉMÅS AÒÅ AVAÉÌABÌÅ ÔÏ ÃHÅÃK DAÔA ª         AN ÅÉGHÔ SÅÃÔÏÒ ÒÅAD SÔAÒÔÉNG AÔ SÅÃÔÏÒ ÅÉGHÔ ª                  · SÅÃÔÏÒ ÔÉMÅS AÒÅ AVAÉÌABÌÅ ÔÏ ÃHÅÃK DAÔA ª                  ÔHÅ ÒÅAD AND ÃHÅÃK ÉS ÆÉNÉSHÅD ÉN ² ÒÅVÏÌUÔÉÏNS ª        SÔA HÅAD     SÅÔ HÅAD ZÅÒÏ ×NHÒ  ÅÑU ª       ÃÌA       SÔA SÅÃÔÒ    SÔAÒÔ AÔ SÅÃÔÏÒ ZÅÒÏ       ÌDA B´´       SÅÅK ÉN S²       ÊSB ÃÏPÒ       ÊSB ÆSÅÅH     PÅÒÆÏÒM ÆUÌÌ SÅÅH ª  ª  ª                  ÔHÉS ÏPÅÒAÔÉÏN ÉS A ÒÅAD ÆÏÒ ª                  ÔHÅ ÆÉÒSÔ ÔHÉÒD ÏÆ ÔHÉS ÔÒAÃK ª        ÌDA ×ÃÆÔ       SÔA ×ÃNÔ     SÅÔ ÌÅNGÔH ÏÆ ÆÉÒSÔ ÔHÉÒD       ÌDA B´6       ÒÅAD ÉN S²       ÊSB ÒÅAD       ÊSB PÃHK     ÃHÅÃK ÆÏÒ BUÆÆÅÒ MÉSMAÔÃH ª  ª                  ÔHÉS ÏPÅÒAÔÉÏN ÉS A ÒÅAD ÆÏÒ ª                  ÔHÅ ÌASÔ ÔHÉÒD ÏÆ ÔHÉS ÔÒAÃK ª        ÌDA SÃÌÔ"þú       SÔA SÅÃÔÒ    SÅÔ SÅÃÔÏÒ NUMBÅÒ       ÌDA B±5       ADDÒÅSS ÒÅÃÏÒD ÉN S²       ÊSB ÃÏPÒ       ÊSB SÅÅS       ÌDA ×ÃÌÔ     ÌÅNGÔH ÏÆ ÌASÔ ÔHÉÒD       SÔA ×ÃNÔ     SÅÔ ×ÏÒD ÃÏUNÔ       ÌDA B´6       ÒÅAD ÉN S²       ÊSB ÒÅAD       ÊSB PÃHK ª  ª                  ÔHÉS ÏPÅÒAÔÉÏN ÉS A ÒÅAD ÆÏÒ ª                  ÔHÅ SÅÃÏND ÔHÉÒD ÏÆ ÔHÉS ÔÒAÃK ª        ÌDA SÃSÔ     SÅÃÔÏÒ ×HÅÒÅ SÅÃÏND ÔHÉÒD SÔAÒÔS       SÔA SÅÃÔÒ       ÌDA B´´       SÅÅK ÉN S²       ÊSB ÃÏPÒ       ÊSB SÅÅH       ÌDA ×ÃÆÔ     ×ÏÒD ÃÏUNÔ ÆÏÒ ÆÉÒSÔ ÔHÉÒD       SÔA ×ÃNÔ     SÅÔ ×ÏÒD ÃÏUNÔ       ÊSB ×AÉH      ×AÉÔ ÆÏÒ HÅAD S×ÉÔÃHÉNG       ÊSB ×ÃHK       ÌDA B´6       ÒÅAD ÉN S²       ÊSB ÒÅAD       ÊSB PÃHK     ÃHÅÃK ÆÏÒ BUÆÆÅÒ ÅÒÒÏÒS       ÌDA HÅAD       ÉNA       SÔA HÅAD     ÃÏUNÔ UP HÅAD NUMBÅÒ AND       ÃPA ÔÒPà    ÃHÅÃK ÆÏÒ ÅND ÏÆ ÃYÌÉNDÅÒ       ÒSS          SKÉP ÏUÔ ÉÆ DÏNÅ       ÊMP ×NHÒ     ÃÏNÔÉNUÅ ÆÏÒ AÌÌ ÔÒAÃKS       ÉSZ PÔNØ     HAVÅ AÌÌ PAÔÔÅÒNS BÅÅN ÔÒÉÅD       ÊMP ×GÅN     NϬ GÏ BAÃK ÆÏÒ NÅØÔ S²H   ÅÑU ª       ÊSB ÃYÌD     ÃÏUNÔ UP ÃYÌØ AND ÃHÅÃK ÆÏÒ DÏNÅ       ÊMP S²Ì      ÌÏÏP       ÊMP S²¬É     ÒÅÔUÒN       HÅD PAÔÔÅÒN ÔABÌÅ ª  ª     PAÔÔÅÒN ÔABÌÅ ª  ª        ÏÃÔ 000000       ÏÃÔ ±·····       ÏÃÔ ±²5²5²       ÏÃÔ 05²5²5       ÏÃÔ 00·´±·       ÏÃÔ ±·0360       ÏÃÔ ±6²·´5       ÏÃÔ ±633´6       ÏÃÔ ±55555       ÏÃÔ 0²²²²² PAÔÔÒ ÅÑU ª PAÔÒP DÅÆ PAÔÔÒ       HÅD S3 - SÅÃÔÉÏN 3 ª  ª  ª     SÅÃÔÉÏN 3 ª  ª     SÅÃÔÉÏN 3 ÉS ÏÒGANÉZÅD AS ÆÏÌÌÏ×S ª  ª         GÅNÅÒAÔÅ ÒANDÏM ÃYÌÉNDÅÒ NUMBÅÒS AND ª           ÒANDÏM HÅAD AND SÅÃÔÏÒ NUMBÅÒS ª         . ª         . ª         .   GÅNÅÒAÔÅ A ÒANDÏM ×ÏÒD ÃÏUNÔ ª         .     ( NÏÔ BÅYÏND ÅND ÏÆ ÃYÌÉNDÅÒ © ª         .   . ª         .   . ª         .   .   GÅNÅÒAÔÅ A BUÆÆÅÒ ÏÆ ÒANDÏM DAÔA ª         .   .     SÔÏÒÅ A ×ÏÒD ÏÆ ZÅÒÏ ÉNÔÏ ÔHÅ ª         .   .     ÆÉÒSÔ UNUSÅD ×ÏÒD ª         .   . ª         .   . ª         .   .   ×ÒÉÔÅ BUÆÆÅÒ ÔÏ DÉSK ª         .   . ª         .   . ª       +ˆþú  .   .   . ª         .   .   .   ÉSSUÅ SÅÅK ª         .   .   . ª         .   .   . ª         .   .   .   ÒÅAD BÌÏÃK BAÃK ª         .   .   .     ÒÅAD AND ÃHÅÃK ÏNÅ ÅØÔÒA ×ÏÒD ÉÆ ª         .   .   .     NÏÔ A MUÌÔÉPÌÅ ÏÆ SÅÃÔÏÒ SÉZÅ ª         .   .   . ª         .   .   . ª         .   .   .   ÃHÅÃK DAÔA ÒÅAD ª         .   .   . ª         .   .   . ª         .   . ª         .   . ª         . ª         . ª  SKNÔ  ÅÑU GÌÏB± ÒÒPÔ  ÅÑU GÌÏB² ×SAVÅ ÅÑU GÌÏB3 S3    NÏP       ÌDA AS3       ÊSB SÔUÆÆ     ÃUÒÒÅNÔ SÅÃÔÉÏN       ÌÉA ±         S×ÉÔÃH ÒÅGÉSÔÅÒ ÔÏ A       AND BÉÔ5       ÌDB M±0²´    ÃÏUNÔ ÆÏÒ ÌÏNG VÅÒSÉÏN       SZA       ÊSB SHÏÒԬɠ  ÒÅPÏÒÔ SHÏÒÔÅNÅD ÔÅSÔÉNG       SZA          SKÉP ÉÆ ÉNDÅÅD ÌÏNG ÔÅSÔ       ÌDB MM6´     ÃÏUNÔ ÆÏÒ SHÏÒÔ ÔÅSÔ       SÔB SKNÔ S3A   ÅÑU ª       ÊSB ÒNÃH      GÅÔ ÒANDÏM ÃYÌÉNDÅÒ¬HÅAD NUMBÅÒ       ÊSB ÒNSà    GÅÔ ÒANDÏM SÅÃÔÏÒ NUMBÅÒ ª  ª                  ÔHÉS SÅÅK MÏVÅS ÔHÅ PÏSÉÔÉÏNÅÒ ÔÏ A ÒANDÏM ª                  ÃYÌÉNDÅÒ AND HÅAD. ª        ÌDA B´´       SÅÅK ÉN S3       ÊSB ÃÏPÒ       ÊSB SÅÅK     SÔAÒÔ SÅÅK ÏN ÉÔS ×AY       ÊSB Ò×ÃG     GÅÔ ÒANDÏM ×ÏÒD ÃÏUNÔ       ÌDA BPÔÒ     ÌÏAD ÆÉÒSÔ BUÆÆÅÒ PÏÉNÔÅÒ       SÔA BUÆAD       ÌDA BPÔS     ÌÏAD SÅÃÏND BUÆÆÅÒ PÏÉNÔÅÒ       SÔA BUÆAÅ       ÊSB DGÅN     GÅNÅÒAÔÅ A ÒANDÏM BUÆÆÅÒ       ÌDA ×ÃNÔ     SAVÅ ÌASÔ       SÔA ×SAVÅ     ÌÏÃAÔÉÏN+±       ADA BUÆAD    ADD BASÅ ÏÆ ×ÒÉÔÅ BUÆÆÅÒ       ÃÌB       SÔB A¬É       SAVÅ ÔÏ ÃHÅÃK SÅÃÔÏÒ ZÅÒÏÉNG       ÊSB ×AÉÔS    ×AÉÔ ÆÏÒ SÅÅK ÔÏ ÆÉNÉSH       ÊSB ×ÃHK     ÃHÅÃK ÆÏÒ ÅÒÒÏÒS       ÌDA MM´       ÔÒY ÆÏUÒ ÒÅADS       SÔA ÒÒPÔ S3ÒA  ÅÑU ª ª  ª                  ÔHÉS ×ÒÉÔÅ ÆÉÌÌS UP A GÉVÅN AÒÅA ×ÉÔH ª                  ÒANDÏM DAÔA.  ÔHÅ ×ÏÒD ÃÏUNÔ MAY BÅ ÆÒÏM ª                  ÏNÅ ×ÏÒD ÔÏ ±0²3 ×ÏÒDS. ª        ÌDA B´´       SÅÅK ÉN S3       ÊSB ÃÏPÒ       ÊSB ÆSÅÅH     PÅÒÆÏÒM ÆUÌÌ SÅÅH       ÌDA B´5       ×ÒÉÔÅ ÉN S3       ÊSB ×ÒÉÔÅ    ÆÉÌÌ UP ÃHÏSÅN AÒÅA ×ÉÔH ÊUNK       ÊSB ×ÃHK     Ã6þúHÅÃK ÆÏÒ ÅÒÒÏÒS       ÌDA ×ÃNÔ     ÃHÅÃK ÆÏÒ SÅÃÔÏÒ BÏUNDAÒY       AND B±··+SZÒÅÆ ÃHÅÃK ÆÏÒ ÅVÅN SÅÃÔÏÒ BÏUNDAÒY       SZA          SKÉP ÉÆ ÅVÅN MUÌÔÉPÌÅ ÏÆ SÅÃÔÏÒ       ÉSZ ×ÃNÔ     ÃÏUNÔ UP ×ÏÒD ÃÏUNÔ ª  ª                  ÔHÉS SÅÅK ÒÅSÅÌÅÃÔS ÔHÅ PÒÏPÅÒ HÅAD ª        ÌDA B´´       SÅÅK ÉN S3       ÊSB ÃÏPÒ       ÊSB ÆSÅÅH     PÅÒÆÏÒM ÆUÌÌ SÅÅH ª  ª                  ÔHÉS ÒÅAD ÒÅADS BAÃK ÔHÅ DAÔA ×ÒÉÔÔÅN ª                  BY ÔHÅ PÒÅVÉÏUS ×ÒÉÔÅ. ª                  ÔHÅ DAÔA ÉS ÃÏMPAÒÅD ×ÉÔH ÔHAÔ ×ÒÉÔÔÅN. ª        ÌDA B´6       ÒÅAD ÉN S3       ÊSB ÒÅAD     ÒÅAD BAÃK ÊUNK       ÊSB DÃHK     ÃHÅÃK ÆÏÒ ÅÒÒÏÒS       ÌDA ×SAVÅ       SÔA ×ÃNÔ       ÉSZ ÒÒPÔ     ÃHÅÃK ÆÏÒ ÅNÏUGH ÔÉMÅS       ÊMP S3ÒA     ÔÒY SÏMÅ MÏÒÅ ÒÅADS       ÉSZ SKNÔ     AÒÅ ×Å DÏNÅ ×ÉÔH ÔHÉS SÅÃÔÉÏN       ÊMP S3A      NÏÔ DÏNŬ ÔÒY ANÏÔHÅÒ PÌAÃÅ       ÊMP S3¬É     ÒÅÔUÒN       HÅD Ò×ÃG ª  ª         ÔHÉS ÒÏUÔÉNÅ GÅNÅÒAÔÅS A ÒANDÏM ×ÏÒD ÃÏUNÔ BÅÔ×ÅÅN ª     ± AND ±0²3.  ÔHÅ ×ÏÒD ÃÏUNÔ ×ÉÌÌ NÏÔ ÅØÔÅND ª     BÅYÏND ÔHÅ ÅND ÏÆ ÃYÌÉNDÅÒ. ª  ª  Ò×ÃG  NÏP Ò×ÃA  ÅÑU ª       ÊSB ÒAND     GÅÔ A ÒANDÏM NUMBÅÒ       ÒAÒ       AND B±···    ×ÃNÔ < ±0²´       SZA¬ÒSS      ZÅÒÏ ÉS NÏÔ ÌÅGAÌ       ÊMP Ò×ÃA     ÉÆ ZÅÒϬ ÔÒY AGAÉN Ò×ÃÔ  ÅÑU ª       SÔA ×ÃNÔ     SAVÅ ÃHÏSÅN ×ÏÒD ÃÏUNÔ       ÌDB HÅAD     ÃHÅÃK ÆÏÒ ÌASÔ HÅAD ÉN ÃYÌÉNDÅÒ       ÉNB       ÃPB ÔÒPà    ÃHÅÃK ÆÏÒ ÌASÔ HÅAD       ÒSS          ÌASÔ HÅAD¬ MAY BÅ ÔÒÏUBÌÅ       ÊMP Ò×ÃG¬É   NÏÔ ÏN ÌASÔ ÔÒAÃK¬ NÏ S×ÅAÔ       ÌDB SÃPÔ     ÌÏAD NUMBÅÒ ÏÆ SÅÃÔÏÒS PÅÒ ÔÒAÃK       ÃMB¬ÉNB      NÅGAÔÉVÅ       ADB SÅÃÔÒ    AÌÌÏ× ÆÏÒ ×HÅÒÅ ×Å AÒÅ NÏ×       AÌÆ¬AÌÆ      ÃÏNVÅÒÔ ×ÃNÔ ÔÏ SÅÃÔÏÒ ÃÏUNÔ       ÒAÌ       AND B··+SZÒÅÆ ÃHÏP ÏÆÆ ÅØÔÒA       ADA B       SSA          SKÉP ÉÆ ÔÏÏ ÌÏNG       ÊMP Ò×ÃG¬É   NÅGAÔÉVÅ A MÅANS ÏKAY       ÌDA ×ÃNÔ     ÌÏAD ÃHÏSÅN ×ÏÒD ÃÏUNÔ AND       AÒS          HAÌVÅ ÉÔ       ÊMP Ò×ÃÔ     AND SÏ ÏN       HÅD ÃYÌD¬ÃYÌÊ ª  ª  ª         ÃYÌD ÃÏUNÔS UP ÃYÌØ AND ÃHÅÃKS ÆÏÒ ÃÏMPÌÅÔÉÏN ÏÆ ª     ÔÅSÔ ÏN AÌäC640Ì ÃYÌÉNDÅÒS.  ÉÔ GÉVÅS A SKÉP ÒÅÔUÒN ×HÅN ª     AÌÌ ÃYÌÉNDÅÒS HAVÅ BÅÅN ÃÏVÅÒÅD ª  ÃYÌD  NÏP       ÌDB ÃYÌØ      ÌÏAD ÃUÒÒÅNÔ ÃYÌÉNDÅÒ ÒÅÆÅÒÅNÃÅ       ÉNB          ÃÏUNÔ ÉÔ UP BY ÏNÅ       SÔB ÃYÌØ     AND SÔÏÒÅ ÉÔ BAÃK       ÃMB          MAKÅ ÏNÅS ÃÏMPÌÅMÅNÔ       ÊSB S×Ò´      ÌÏAD ÅÆÆÅÃÔÉVÅ S×ÉÔÃH ÒÅGÉSÔÅÒ       AND BÉÔ6      ÃHÅÃK ÆÏÒ ÒÅSÔÒÉÃÔÅD ÃYÌÉNDÅÒS       SZA¬ÒSS      SKÉP ÉÆ SHÏÒÔ ÔÅSÔ ÒÅÑUÅSÔÅD       ÊMP ÃDY      ÆUÌÌ ÔÅSÔ       ADB D±0      ÔHÅÒÅ AÒÅ ÔÅN ÔABÌÅ ÅNÔÒÉÅS       ÊMP ÃDZ ÃDY   ÅÑU ª       ADB ÃYPP     ÃHÅÃK ÆÏÒ ÅND ÏÆ PAÃK ÃDZ   ÅÑU ª       SSB          SKÉP ÉÆ NÏÔ DÏNÅ       ÉSZ ÃYÌD     ÃÏUNÔ UP ÒÅÔUÒN ADDÒÅSS ( DÏNÅ ©       ÊMP ÃYÌD¬É   ÒÅÔUÒN ª  ª     ÃYÌÊ ÔÒANSÌAÔÅS ÔHÅ NUMBÅÒ ÉN ÃYÌØ ÔÏ ÔHÅ DÅSÉÒÅD ª     ÃYÌÉNDÅÒ NUMBÅÒ ÉN ÃYÌ ª  ÃYÌÊ  NÏP       ÊSB S×Ò´      ÌÏAD ÅÆÆÅÃÔÉVÅ S×ÉÔÃH ÒÅGÉSÔÅÒ       AND BÉÔ6      ÃHÅÃK ÆÏÒ ÒÅSÔÒÉÃÔÅD ÃYÌÉNDÅÒS       SZA¬ÒSS      SKÉP ÉÆ SHÏÒÔ ÔÅSÔ       ÊMP ÃÊ×       ÌDA ÃYÌØ       ÌDB D39 ÃÊÑ   ÅÑU ª       ADA MM±0     ÃHÅÃK ÆÏÒ ÃYÌØ ÔÏÏ BÉG       ADB D¸       SSA¬ÒSS      SKÉP ÉÆ ÏKAY       ÊMP ÃÊÑ      ÏÔHÅÒ×ÉSŬ KÅÅP ÒÅDUÃÉNG       ADA ÔÒÔBP    ADD ÏN ÔABÌÅ ADDÒÅSS       ÌDA A¬É      ÌÏAD ÔHÅ ×ÏÒD ÆÒÏM ÔHÅ ÔABÌÅ       SÔA ÃYÌ      SÅÔ BAÃK ÉNÔÏ ÃYÌÉNDÅÒ       ÊMP ÃÊØ ÃÊ×   ÅÑU ª       ÌDA ÃYÌØ       SÔA ÃYÌ      SÔÒAÉGHÔ ÃÏPY       ÌDB D35 ÃÊØ   ÊSB ÃÌÏÃK       ÊMP ÃYÌʬɠ  ÒÅÔUÒN       HÅD ÔÒAÃK ÔABÌŬS×Ò´ it6ÿÿ ÿýÊ Ø ÿ12965-18006 1451 S 0122 06DIAG 2883A/2884A DISC AND 12565A INTFC             H0101 ÞNþú ª  ª     ÔÒAÃK ÔABÌÅ ª  ª  ÆÔÒBN ÅÑU ª        ÔÒAÃK ÔABÌÅ BÅGÉN       ÏÃÔ 0¬±¬²¬´¬±0¬²0¬´0¬±00¬²00       ABS ÌÃYÌ ÔÒÔBP DÅÆ ª ª  ª     S×Ò´ ª      ÉNPUÔ S×ÉÔÃH ÒÅGÉSÔÅÒ ÉÆ SÆÌAG ½ 0 (S±¬S²¬S3© ª      USÅ SÔÏÒÅD VÅÒSÉÏN ÉÆ SÆÌAG ½ ± (S´¬S5¬S6© ª  S×Ò´  NÏP       ÌDA SÆÌAG     ÉS ÆÌAG ½ Ï?       SZA       ÊMP S×Ò´A     NÏ       ÌÉA ±         YÅS¬USÅ S× ÒÅG       ÊMP S×Ò´¬É S×Ò´A ÌDA S´00      USÅ       ADA UNÉÔ       SÔÏÒÅD       ÌDA A¬É         VAÌUÅ       ÊMP S×Ò´¬É       HÅD S´ - SÅÃÔÉÏN ´ ª  ª  ª     SÅÃÔÉÏN ´ ÉS ÏÒGANÉZÅD AS ÆÏÌÌÏ×S ª  ª         ÃYÌÉNDÅÒ ADVANÃÅ ª           S×ÉÔÃH 6½0 -- AÌÌ ÃYÌÉNDÅÒS ÆÒÏM 0 ÔÏ ²0² ª           S×ÉÔÃH 6½± -- AÌÌ ÃYÌÉNDÅÒS ÉN ÔÒÔAB ª         . ª         . ª         .   ÒANDÏM NUMBÅÒ GÅNÅÒAÔÏÒ ª         .     GÅNÅÒAÔÅS A NÅ× BUÆÆÅÒ ÏÆ ÒANDÏM DAÔA ª         .     ÆÏÒ ÅAÃH ÃYÌÉNDÅÒ ª         . ª         .   ÔÒAÃK ADVANÃÅ ª         .     AÌÌ ÔÒAÃKS ÆÒÏM 0 ÔÏ ÔÒPÃ-± ª         .   . ª         .   .   BÌÏÃK ADVANÃÅ ª         .   .     ÅAÃH ÔÒAÃK ÉS ×ÒÉÔÔÅN AS ÔHÒÅÅ ª         .   .   . BÌÏÃKS ª         .   .     ÔHÅ SÃHÅMÅ USÅD ÉS ÔHÅ SAMÅ ª         .   .     AS ÔHAÔ ÏÆ ÔHÅ SÅÃÔÉÏN ª         .   .     ² PAÔÔÅÒN ÒÅAD SÉNÃÅ ª         .   .     ÒÃGÅN AND PÃHK ÔAKÅ ª         .   .     ABÏUÔ ÔHÅ SAMÅ AMÏUNÔ ª         .   .     ÏÆ ÔÉMÅ. ª         .   .   . ª         .   .   .   ÃHÅÃKSUM BÌÏÃK SÏ ÔHAÔ ÉÔ ÉS ª         .   .   .   UNÉÑUÅ AND ÉDÅNÔÉÆÉABÌÅ. ª         .   .   . ª         .   .   .   ×ÒÉÔÅ BÌÏÃK ÔÏ DÉSK ª         .   .   . ª         .   . ª         . ª         . ª         . ª  ª  ª  ª         ÔHÉS SÅÃÔÉÏN ÔHÅN ÒÅADS ÒANDÏM SÅÃÔÏÒS AND ª     VÅÒÉÆÉÅS ÔHAÔ ÔHÅY AÃÔUAÌÌY AÒÅ ÔHÅ SÅÃÔÏÒS ª     ÒÅÑUÅSÔÅD. AÔ ÔHÅ ÅND ÏÆ ÅAÃH SÅÅK¬A ÒÅAD ÉS ª     ÉSSUÅD ÆÏÒ ÔHÅ NÅØÔ AVAÉÌABÌÅ SÅÃÔÏÒ. AS SÏÏN ª     AS ÔHÉS ÒÅAD ÉS ÃÏMPÌÅÔÅD¬ÔHÅ NÅØÔ SÅÅK ÉS ª     SÔAÒÔÅD. ÔHÅ DAÔA ÒÅÃÏÒD ÉS ÃHÅÃKÅD AS SÏÏN AS ª     ÔHÅ SÅÅK ÉS ÉNÉÔÉAÔÅD. ª  ª  S´    NÏP       ÌDA AS´       ÊSB SÔUÆÆ     ÃUÒÒÅNçšþúÔ SÅÃÔÉÏN       ÌÉA ±         ÌÏAD S× ÒÅG       AND BÉÔ6      SAVÅ BÉÔ 6       SZA       ÊSB SHÏÒԬɠ  ÒÅPÏÒÔ SHÏÒÔÅNÅD ÔÅSÔÉNG       ÌDB S´00       ÆÏÒ       ADB UNÉÔ        S´ AND S5       SÔA B¬É       ÃÌA¬ÉNA       A ½  ±       SÔA SÆÌAG       ÃÌA       SÔA ÃYÌØ     SÅÔ ÃYÌÉNDÅÒ ÒÅÆÅÒÅNÃÅ ×ÏÒD S´Ì   ÅÑU ª       ÊSB ÃYÌÊ     ÔÒANSÌAÔÅ ÃYÌØ ÉNÔÏ ÃYÌ       ÃÌA       SÔA HÅAD     PÏSÉÔÉÏN ÆÏÒ HÅAD ZÅÒÏ AND       SÔA SÅÃÔÒ    SÅÃÔÏÒ ZÅÒÏ       ÃÌB ª  ª                  ÔHÉS SÅÅK ÃAUSÅS PÏSÉÔÉÏNÅÒ MÏÔÉÏN ÔÏ ª                  ÔHÅ NÅØÔ ÃYÌÉNDÅÒ. ª        ÌDA B´´       SÅÅK ÉN S´       ÊSB ÃÏPÒ       ÊSB ÆSÅÅK     PÅÒÆÏÒM ÆUÌÌ SÅÅK ª  ª  ª         ÔHÅ ÆÏÌÌÏ×ÉNG SÅÃÔÉÏN ÏÆ ÃÏDÅ GÅNÅÒAÔÅS ÔHÅ ª     ÃHÅÃKSUMMÅD ÒANDÏM DAÔA. ª  ª        ÌDA ×ÃÆÔ     ÌÅNGÔH ÏÆ ÆÉÒSÔ ÔHÉÒD       SÔA ×ÃNÔ     SÅÔ ×ÏÒD ÃÏUNÔ       ÊSB DGÅN      GÅNÅÒAÔÅ ÒANDUM BUÆÆÅÒ       ÃÌA       SÔA SHÔAS    SÔAÔUS SHÏUÌD BÅ ZÅÒÏ S´ÒN  ÅÑU ª       ÃÌA       SÔA SÅÃÔÒ    ÔHÉS ÏP SÔAÒÔS AÔ SÅÃÔÏÒ ZÅÒÏ       ÌDA B´´       SÅÅK ÉN S´       ÊSB ÃÏPÒ       ÊSB ÆSÅÅH     PÅÒÆÏÒM ÆUÌÌ SÅÅH ª  ª                  ÔHÉS ÏPÅÒAÔÉÏN ÉS A ×ÒÉÔÅ ÆÏÒ ª                  ÔHÅ ÆÉÒSÔ ÔHÉÒD ÏÆ ÔHÉS ÔÒAÃK ª  ª                                  ×ÃNÔ AND SÅÃÔÒ AÒÅ SÅÔ UP       ÊSB ÒÃGÅN    GÅNÅÒAÔÅ ÃHÅÃKSUMS       ÌDA B´5       ×ÒÉÔÅ ÉN S´       ÊSB ×ÒÉÔÅ       ÊSB ×ÃHK     ÃHÅÃK ÆÏÒ ÅÒÒÏÒS ª  ª                  ÔHÉS ÏPÅÒAÔÉÏN ÉS A ×ÒÉÔÅ ÆÏÒ ª                  ÔHÅ ÌASÔ ÔHÉÒD ÏÆ ÔHÉS ÔÒAÃK ª        ÌDA SÃÌÔ     SÅÃÔÏÒ ×HÅÒÅ ÌASÔ ÔHÉÒD SÔAÒÔS       SÔA SÅÃÔÒ       ÌDA B±5       ADDÒÅSS ÒÅÃÏÒD ÉN S´       ÊSB ÃÏPÒ       ÊSB SÅÅS       ÌDA ×ÃÌÔ     ÌÅNGÔH ÏÆ ÌASÔ ÔHÉÒD       SÔA ×ÃNÔ     SÅÔ ×ÏÒD ÃÏUNÔ       ÊSB ÒÃGÅN    GÅNÅÒAÔÅ ÃHÅÃKSUMS       ÌDA B´5       ×ÒÉÔÅ ÉN S´       ÊSB ×ÒÉÔÅ       ÊSB ×ÃHK     ÃHÅÃK ÆÏÒ ÅÒÒÏÒS ª  ª                  ÔHÉS ÏPÅÒAÔÉÏN ÉS A ×ÒÉÔÅ ÆÏÒ ª                  ÔHÅ MÉDDÌÅ ÔHÉÒD ÏÆ ÔHÉS ÔÒAÃK ª        ÌDA SÃSÔ     SÅÃÔÏÒ ×HÅÒÅ ÔHÉS ÔHÉÒD SÔAÒÔS   âÅþú    SÔA SÅÃÔÒ       ÌDA B´´       SÅÅK ÉN S´       ÊSB ÃÏPÒ       ÊSB SÅÅH       ÌDA ×ÃÆÔ     ÌÅNGÔH ÏÆ MÉDDÌÅ ÔHÉÒD       SÔA ×ÃNÔ     SÅÔ ×ÏÒD ÃÏUNÔ       ÊSB ÒÃGÅN    GÅNÅÒAÔÅ ÃHÅÃKSUMS       ÊSB ×AÉH      ×AÉÔ ÆÏÒ HÅAD S×ÉÔÃHÉNG       ÊSB ×ÃHK       ÌDA B´5       ×ÒÉÔÅ ÉN S´       ÊSB ×ÒÉÔÅ       ÊSB ×ÃHK     ÃHÅÃK ÆÏÒ ÅÒÒÏÒS       ÌDA HÅAD       ÉNA          ÃÏUNÔ UP ÔÒAÃK NUMBÅÒ       SÔA HÅAD       ÃPA ÔÒPà    ÃHÅÃK ÔÏ SÅÅ ÉÆ DÏNÅ       ÒSS          SKÉP ÏUÔ ×HÅN DÏNÅ       ÊMP S´ÒN     ÆÉNÉSH ÅNÔÉÒÅ ÃYÌÉNDÅÒ       ÊSB ÃYÌD     ÃÏUNÔ UP ÃYÌØ AND ÃHÅÃK ÆÏÒ DÏNÅ       ÊMP S´Ì      ÃÏNÔÉNUÅ ÏN ÔÏ NÅØÔ ÃYÌÉNDÅÒ ª  ª     A SÅÅK ÔÏ ÔHÅ ÆÉÒSÔ ÅNÔÒY ÉN ÔHÅ ÃYÌÉNDÅÒ ÔABÌÅ PÒÅÃÅDÅS ÅAÃH ª     ÃYÃÌÉàÃHÅÃK ÏÆ ±¬²¬´¬¸¬±6¬3²¬6´¬±²¸¬²56 AND 0 SÅÃÔÏÒS. ÔHÅ ª     NÏNZÅÒ0 SÅÃÔÏÒ ÃÏUNÔS ×ÉÌÌ ÒÅSUÌÔ ÉN A ÅND ÏÆ ÃYÌÉNDÅÒ SÔAÔUS ª     SHÏUÌD ANY BÉÔ ÏÆ ÔHÅ SÅÃÔÏÒ ÃÏUNÔÅÒ ÆAÉÌ ÔÏ SÅÔ. ÔHÅ ZÅÒÏ ª     SÅÃÔÏÒ ÃÏUNÔ ×ÉÌÌ ÆAÉÌ ÔÏ ÒÅSUÌÔ ÉN A ÅND ÏÆ ÃYÌÉNDÅÒ SÔAÔUS ª     SHÏUÌD ANY BÉÔ ÏÆ ÔHÅ SÅÃÔÏÒ ÃÏUNÔÅÒ ÆAÉÌ ÔÏ ÃÌÅAÒ. ª        ÃÌA       SÔA HÅAD       SÔA SÅÃÔÒ       ÌDA ÆÔÒ¬É       SÔA ÃYÌ       ÌDA BÉÔ0      ÃD¬±²¸       ÊSB ÃDÃHK       ÌDA BÉÔ±      ÃD¬²56       ÊSB ÃDÃHK       ÌDA BÉÔ²      ÃD¬5±²       ÊSB ÃDÃHK       ÌDA BÉÔ3      ÃD¬±0²´       ÊSB ÃDÃHK       ÌDA BÉÔ´      ÃD¬²0´¸       ÊSB ÃDÃHK       ÌDA BÉÔ5      ÃD¬´096       ÊSB ÃDÃHK       ÌDA BÉÔ6      ÃD¬¸±9²       ÊSB ÃDÃHK       ÌDA BÉÔ·      ÃD¬±63¸´       ÊSB ÃDÃHK       ÌDA BÉÔ¸      ÃD¬3²·6¸       ÊSB ÃDÃHK       ÌDA ÅÃBÉÔ       ÉÏÒ AÅBÉÔ       SÔA SHÔAS     ÅØPÅÃÔÅD SÔAÔUS ½ ´±       ÃÌA           ÃD¬0       ÊSB ÃDÃHK       ÊMP SÔÅ5      ÃÏNÔÉNUÅ ÔHÅ SÅÃÔÉÏN       HÅD ÃDÃHK ª  ª     ÃYÃÌÉàÃHÅÃK ÒÏUÔÉNÅ ª  ÃDÃHK NÏP       SÔA ×ÃNÔ      SAVÅ NUMBÅÒ ÏÆ SÅÃÔÏÒS       ÌDA B´´       SÅÅK ÉN S´       ÊSB ÃÏPÒ       ÊSB ÆSÅÅK     PÅÒÆÏÒM ÆUÌÌ SÅÅK       ÌDA B²²       ÃYÃÌÉàÃHÅÃK ÉN S´       SÔA ÃÏPÒN       ÌDA ×ÃNÔ      NUMBÅÒ ÏÆ SÅÃÔÏÒS       ÊSB _ƒþúDADÏ       ÌDA ÃYÃHK       ÊSB ÃÏMMD     ÏUÔPUÔ ÃYÃÌÉàÃHÅÃK ÃÏMMAND       ÊSB ×AÉÔS     ×AÉÔ ÆÏÒ ÃÏMPÌÅÔÉÏN       ÊSB ×ÃHK      ÃHÅÃK SÔAÔUS       ÊMP ÃDÃHK¬É       HÅD ÒÃGÅN ª  ª  ª     ÒÃGÅN ª         ÔHÉS ÒÏUÔÉNÅ ÃÏNSÔÒUÃÔS ÔHÅ ÃHÅÃKSUMS ÆÏÒ ÔHÅ ×ÒÉÔÅ BUÆÆÅÒ. ª         ±.© ÅAÃH SÅÃÔÏÒ ÉS ÃHÅÃKSUMMÅD SÅPAÒAÔÅÌY ª         ².© ÔHÅ ÅNÔÉÒÅ SÅÃÔÏÒ SUMS ÔÏ ZÅÒÏ ( Ô×ÏS ÃÏMPÌÅMÅNÔ © ª         3.© ÔHÅ ÆÉÒSÔ Ô×Ï ×ÏÒDS SUM ÔÏ ÔHÅ ÃYÌÉNDÅÒ NUMBÅÒ ª         ´.© ×ÏÒDS ² AND 3 SUM ÔÏ ÔHÅ HÅAD¯SÅÃÔÏÒ NUMBÅÒ ª  ÒÃGÅN NÏP       ÌDA ×ÃNÔ       AÌÆ¬AÌÆ       ÒAÌ       AND B··      ÌÅAVÅ ÔHÅ NUMBÅÒ ÏÆ SÅÃÔÏÒS       ÃMA¬ÉNA      ÃÏMPÌÅMÅNÔ ÆÏÒ ÉSZ       SÔA ÔÅMP±       ÌDA HÅAD       AÌÆ¬AÌÆ      HÅAD NUMBÅÒ ÔÏ ÌÅÆÔ SÉDÅ       ÉÏÒ SÅÃÔÒ    PÌUG ÉN SÅÃÔÏÒ NUMBÅÒ       SÔA ÔÅMP²       ÌDB BUÆAD    ÌÏAD ADDÒÅSS ÏÆ ÆÉÒSÔ SÅÃÔÏÒ ÒÃGÌ  ÅÑU ª       ÌDA MM3±+SZÒÅÆ       SÔA ÔÅMP3    ÃÏUNÔ ÆÏÒ ÆÏUÒ UNÉÔ ÌÏÏP       ÌDA B¬É      GÅÔ ×ÏÒD ZÅÒÏ       ÃMA¬ÉNA      MAKÅ ÃÏMPÌÅMÅNÔ       ADA ÃYÌ      ÔHÉS SUMS ÔÏ ÔHÅ ÃYÌÉNDÅÒ NUMBÅÒ       ÉNB          ÃÏUNÔ UP BUÆÆÅÒ ADDÒÅSS       SÔA B¬É       ÉNB          ÃÏUNÔ UP BUÆÆÅÒ PÏÉNÔÅÒ       ÌDA B¬É      ÌÏAD ×ÏÒD ²       ÃMA¬ÉNA      ÃHÅÃK ×ÏÒD ÉS ÃÏMPÌÅMÅNÔ       ADA ÔÅMP²    ADD HÅAD¯SÅÃÔÏÒ       ÉNB          ÃÏUNÔ UP ÔÏ SÌÏÔ ÆÏÒ ×ÏÒD       SÔA B¬É      SAVÅ SÅÃÏND ÃHÅÃK×ÏÒD       ÌDA ÃYÌ       ADA ÔÅMP²    ADD ÏN HÅAD¯SÅÃÔÏÒ NUMBÅÒ ª                                  SUM ÔÏ DAÔÅ ÉN A ÒÃGÆ  ÅÑU ª       ÉNB          ÃÏUNÔ UP BUÆÆÅÒ PÏÉNÔÅÒ       ADA B¬É      ADD ÏN NÅØÔ ×ÏÒD ÏÆ BUÆÆÅÒ       ÉNB       ADA B¬É       ÉNB       ADA B¬É       ÉNB       ADA B¬É       ÉSZ ÔÅMP3    ÃHÅÃK ÆÏÒ DÏNÅ       ÊMP ÒÃGÆ     GÅÔ ÅNÔÉÒÅ BUÆÆÅÒ       ÃMA¬ÉNA      ÃHÅÃK ÉS NÅGAÔÉVÅ       ADA B¬É      SUBÔÒAÃÔ ÏUÔ ÌASÔ ×ÏÒD       SÔA B¬É       ÉNB          ÃÏUNÔ ÔÏ BÅGÉNNÉNG ÏÆ NÅØÔ SÅÃÔÏÒ       ÉSZ ÔÅMP²    ÃÏUNÔ UP SÅÃÔÏÒ NUMBÅÒ       ÉSZ ÔÅMP±    ÃHÅÃK ÆÏÒ DÏNÅ ×ÉÔH ÅNÔÉÒÅ ×ÒÉÔÅ BUÆÆÅÒ       ÊMP ÒÃGÌ     NϬ GÏ DÏ ANÏ—þúÔHÅÒ SÅÃÔÏÒ       ÃÌB       ÊMP ÒÃGÅN¬É  ÒÅÔUÒN       HÅD ÒNÃH¬ÒNSà ª  ª     ÒÏUÔÉNÅ ÔÏ PÉÃK A ÒANDÏM ÃYÌÉNDÅÒ AND HÅAD NUMBÅÒ ª     ÌÅAVÅS Ô×Ï MAÃHÉNÅ ÃYÃÌÅS UNÃÏUNÔÅD. ª  ª  ÒNÃH  NÏP ÒNÃA  ÅÑU ª       ÌDB D33       ÊSB ÃÌÏÃK       ÊSB ÒAND     GÅÔ A ÒANDÏM NUMBÅÒ       AÌÆ¬AÌÆ      USÅ ÌÅÆÔ HAÌÆ       AND B3··     ÃYÌ < ²56       SÔA ÃYÌØ     SAVÅ ÉN ÃYÌÉNDÅÒ ÒÅÆÅÒÅNÃÅ ×ÏÒD       ÃMA          ÏNÅS ÃÏMPÌÅMÅNÔ       ADA ÃYPP     ÃANNÏÔ BÅ A NÏN-ÅØÉSÔANÔ ÃYÌÉNDÅÒ       SSA          SKÉP ÉÆ ÏKAY       ÊMP ÒNÃA     ÏÔHÅÒ×ÉSŬ ÔÒY AGAÉN       ÊSB ÃYÌÊ     ÔÒANSÌAÔÅ ÃYÌØ ÉNÔÏ ÃYÌ ÒNÃD  ÅÑU ª       ÌDB D3±       ÊSB ÃÌÏÃK       ÊSB ÒAND     GÅÔ A ÒANDÏM NUMBÅÒ       ÒAÒ¬ÒAÒ       ÔÏ ÅÌÉMÉNAÔÅ ÃÏÒÒÅÌAÔÉÏN-SÅÃÔÏÒ       AND B3·      HÅAD < 3²       SÔA HÅAD     SÅÔ HÅAD NUMBÅÒ       ÃMA          ÏNÅS ÃÏMPÌÅMÅNÔ       ADA ÔÒPà     ÔÅSÔ ÆÏÒ ÌÅGAÌ HÅAD NUMBÅÒ       SSA          SKÉP ÉÆ ÏKAY       ÊMP ÒNÃD     ÏÔHÅÒ×ÉSŬ ÔÒY AGAÉN       ÊMP ÒNÃH¬É   ÒÅÔUÒN ª  ª     ÒÏUÔÉNÅ ÔÏ PÉÃK A ÒANDÏM SÅÃÔÏÒ NUMBÅÒ ª  ª  ÒNSà NÏP ÒNSA  ÅÑU ª       ÊSB ÒAND     ÃAÌÌ ÒAND ÔHÒÅÅ ÔÉMÅS ÔÏ       ÊSB ÒAND     GÅÔ ÔHÒÅÅ GÏÏD BÉÔS ÏN ÒÉGHÔ ÅND       ÊSB ÒAND      ÔÏ ÅÌÉMÉNAÔÅ ÃÏÒÒÅÌAÔÉÏN-HÅAD       ÊSB ÒAND       ÒAÒ          DÏ NÏÔ USÅ BÉÔ 0(NÏÔ ÒANDÏM©       AND B3·      SÅÃÔÏÒ < 3²       SÔA SÅÃÔÒ    SAVÅ SÅÃÔÏÒ NUMBÅÒ       ÃMA          ÏNÅS ÃÏMPÌÅMÅNÔ       ADA SÃPÔ      ÔÅSÔ ÆÏÒ ÌÅGAÌ SÅÃÔÏÒ NUMBÅÒ       SSA          SKÉP ÉÆ ÏKAY       ÊMP ÒNSA     ÏÔHÅÒ×ÉSŬ ÔÒY AGAÉN       ÊMP ÒNSìɠ  ÒÅÔUÒN       HÅD S´ - SÅÃÔÉÏN ´ (ÃÏNÔD© ª  ª     ÃÏNÔÉNUÅ SÅÃÔÉÏN ´ ª  AÌNÔ  ÅÑU GÌÏB´    SÅÅK ÌÅNGÔH ÃÏUNÔÅÒ ZÃYÌ  ÅÑU GÌÏB5    HÏÌDS PÒÅVÉÏUS ÃYÌÉNDÅÒ NUMBÅÒ ZHDS  ÅÑU GÌÏB6    HÏÌDS PÒÅVÉÏUS HÅAD¯SÅÃÔÏÒ SÔÅ5  ÃÌA       SÔA AÌNÔ     ZÅÒÏ SÅÅK ÌÅNGÔH ÃÏUNÔÅÒ       SÔA SVÃÔ     ZÅÒÏ ÔÏÔAÌ ÔÉMÅ ÉN SÅÅKS       SÔA SVÃÔÒ       SÔA SVKà    ZÅÒÏ SÅÅK ÃÏUNÔ       SÔA SHÔAS    ×HAÔ SÔAÔUS SHÏUÌD BÅ       ÃÃA          -±       SÔA ÆÉÒSÔ       ÌDA D±²¸+S–þúZÒÅÆ ÃHÅÃK ÏNÅ SÅÃÔÏÒ       SÔA ×ÃNÔ     SÅÔ ×ÏÒD ÃÏUNÔ ÆÏÒ ÏNÅ SÅÃÔÏÒ S5à  ÅÑU ª       ÌDA ÃYÌ      ÌÏAD PÒÅVÉÏUS ÃYÌÉNDÅÒ NUMBÅÒ       SÔA ZÃYÌ     AND SAVÅ ÉÔ ÆÏÒ ÒÃHK       ÌDA HÅAD     ÌÏAD PÒÅVÉÏUS HÅAD NUMBÅÒ       AÌÆ¬AÌÆ      MÏVÅ ÔÏ ÌÅÆÔ HAÌÆ       ÉÏÒ SÅÃÔÒ    PÌUG ÉN SÅÃÔÏÒ NUMBÅÒ       SÔA ZHDS     AND SAVÅ ÆÏÒ ÒÃHK ÉÆAKÅ ÅÑU ª        USÅD ÉN ÒÃHK       ÊSB ÒNÃH     GÅNÅÒAÔÅ ÃYÌÉNDÅÒ AND HÅAD NUMBÅÒ       ÊSB PNØSìɠ  GÅNÅÒAÔÅ NÅ× SÅÃÔÏÒ NUMBÅÒ       ÌDA SVÃÔ     MÏVÅ ÔHÅ ÃÏUNÔÅÒS       SÔA MÃNÔ       ÌDA SVÃÔÒ       SÔA MÃNÔÒ ª  ª  ª                  ÔHÉS SÅÅK MÏVÅS ÔÏ A ª                  ÒANDÏM ÃYÌÉNDÅÒ AND HÅAD. ª        ÌDA B´´       SÅÅK ÉN S´       ÊSB ÃÏPÒ       ÌDB D3       ÊSB SÅÅK     SÔAÒÔ SÅÅK       ÊSB ÃÌÏÃK    ÔAKÅ ÃAÒÅ ÏÆ ÃÏUNÔ       ÉSZ ÆÉÒSÔ    SKÉP ÉÆ ÆÉÒSÔ ÔÉMÅ       ÊSB ÒÃHK     YÅS¬NÏÔ ÆÉÒSÔ ÔÉMÅ ÔHÒÏUGH       ÊSB ×AÉÔS    ×AÉÔ ÆÏÒ SÅÅK ÃÏMPÌÅÔÉÏN       ÌDA MÃNÔ     MÏVÅ ÃÏUNÔÅÒS BAÃK       SÔA SVÃÔ       ÌDA MÃNÔÒ       SÔA SVÃÔÒ       ÊSB ×ÃHK ª  ª  ª                  ÔHÉS ÒÅAD ÒÅADS ÉN ÏNÅ SÅÃÔÏÒ ª                   ÆÒÏM A ÒÏNDÏM ÌÏÃAÔÉÏN ª        ÌDA B´6       ÒÅAD ÉN S5       ÊSB ÒÅAD     GÏ DÏ ÒÅAD       ÃÃA       SÔA ÆÉÒSÔ     PÒÅPAÒÅ ÆÏÒ ÌÏÏP       ÊSB ×ÃHK       ÃÌA       SÔA ÆÉÒSÔ     ÒÅSÅÔ       ÌDA ÃYÌ      ÌÏAD ÃYÌÉNDÅÒ NUMBÅÒ       ÃMA¬ÉNA       ADA ZÃYÌ     GÅÔ SÅÅK ÌÅNGÔH       SSA          SKÉP ÉÆ NÏ× PÏSÉÔÉVÅ       ÃMA¬ÉNA      ABSÏÌUÔÅ VAÌUÅ       ADA AÌNÔ     ADD ÔÏ ÔÏÔAÌ       SÔA AÌNÔ       ÌDA SVKà       ÉNA          ÃÏUNÔ UP SÅÅK ÃÏUNÔ       SÔA SVKà       ÃPA D±²¸     SKÉP ÉÆ NÏ PÒÉNÔ       ÒSS          ±²¸ ÔH.  PÒÉNÔ ÏUÔ ÔÉMÉNG       ÊMP S5ÔÅ     NÏÔ NÏ×       ÌDA ±±5B      PÒÉNÔ ÔÉMÉNG MÅSSAGÅ       SSA             ÏNÌY ÆÏÒ ²±±´¬²±±5¬       ÊMP S5ÔÅ        ²±±6 AND ²±00       ÌÉA ±       AND BÉÔ±      ABÏÒÔ ÉÆ       SZA            BÉÔ± ÉS ÃÌÅAÒ       ÊSB ÔÔYÃK       ÊMP S5ÔÅ      ABÏÒÔ PÒÉNÔÏUÔ       ÌDA SVÃÔ      ÌÏAD ÔÏÔAÌ ÔÉMÅ       ÊSB MSÃV    çðþú  ÃÏNVÅÒÔ ÔÏ ASÃÉÉ       ÌDB P05´A       ÌDA ÃVÔ±      ÔÒANSÆÅÒ       SÔA B¬É        ÔÏ       ÉNB       ÌDA ÃVÔ²        MÅSSAGÅ       SÔA B¬É       ÉNB       ÌDA ÃVÔ3       SÔA B¬É       ÌDA AÌNÔ      ÌÏAD ÔÏÔAÌ ÌÅNGÔH       ÊSB MSÃV      ÃÏNVÅÒÔ ÔÏ ASÃÉÉ       ÌDB P05´B       ÌDA ÃVÔ²      ÔÒANSÆÅÒ       SÔA B¬É        ÔÏ       ÉNB       ÌDA ÃVÔ3        MÅSSAGÅ       SÔA B¬É H5´   ÌDA B5´       ÊSB PÒÉNÔ     AVÅÒAGÅ ÒANDÏM SÅÅK ÔÉMÅ ØØØØ.Ø. ª                                   AVÅÒAGÅ ÒANDÏM SÅÅK ÌÅNGÔH ØØ.Ø S5ÔÅ  ÅÑU ª       ÌDB SVKà     ÌÏAD SÅÅK ÃÏUNÔÅÒ       ÌÉA ±         S× ÒÅG ÔÏ A       AND BÉÔ5       ADB M²56      SHÏÒÔ ÔÅSÔ       SZA¬ÒSS       SKÉP ÉÆ YÅS       ADB M·936       SZA       ÊSB SHÏÒԬɠ  ÒÅPÏÒÔ SHÏÒÔÅNÅD ÔÅSÔÉNG       SSB          SKÉP ÉÆ DÏNÅ       ÊMP S5à     DÏ ANÏÔHÅÒ       ÊMP S´¬É       HÅD ÒÃHK ª  ª  ª         ÒÃHK ª         ÔHÉS ÒÏUÔÉNÅ ÃHÅÃKS ÔHÅ BUÆÆÅÒS GÅNÅÒAÔÅD BY ÒÃGÅN ª         ÉÔ USÅS BUÆAÅ ÆÏÒ A PÏÉNÔÅÒ AND ÃHÅÃKS ÏNÅ SÅÃÔÏÒ ª         SÅÅ ÒÃGÅN ÆÏÒ A DÅSÃÒÉPÔÉÏN ÏÆ ÔHÅ SÅÃÔÏÒ ÆÏÒMAÔ ª  ª  ÒÃHK  NÏP       ÌDA ÒÃHK     SAVÅ ÒÅÔUÒN ADDÒÅSS ÆÏÒ ÅØÉÔ       ÊSB ÒÃHK±     ÆÏÒM BUÆÆÅÒ ÃHÅÃK SUM       SZA          SKÉP ÉÆ ÃHÅÃKSUM ÏK       ÊMP ÒÃÅÒ     ÃHÅÃKSUM ÅÒÒÏÒ       ÌDA ÔÅMP²    GÅÔ ÃYÌÉNDÅÒ ÃHÅÃK BAÃK       ÃPA ZÃYÌ     ÃHÅÃK ÆÏÒ PÒÏPÅÒ ÃYÌÉNDÅÒ       ÒSS       ÊMP ÒÃÅÒ     ×ÒÏNG ÃYÌÉNDÅÒ       ÌDA ÔÅMP3    GÅÔ HÅAD¯SÅÃÔÏÒ BAÃK       ÃPA ZHDS       ÊMP ×ÒÅÒØ    NÏ BUÆÆÅÒ ÅÒÒÏÒS¬ ÃHÅÃK SÔAÔUS ÒÃÅÒ  ÅÑU ª       ÊSB ×AÉÔS     PÒÅÃAUÔÉÏN       ÌDA ZÃYÌ     ÒÅSÔÏÒÅ       SÔA ÃYÌ       ÃYÌ       ÌDA ZHDS       AÌÆ¬AÌÆ       AND B3··       SÔA HÅAD       HÅAD       ÌDA ZHDS       AND B3··       SÔA SÅÃÔÒ       AND SÅÃÔÒ       ÃÃA          -±       SÔA ÆÉÒSÔ    ÒÅSÅÔ ÆÉÒSÔ ÆÌAG       ÌDA B²3       ÒÅAD ÃHÅÃK ÉN S5       SÔA ÃÏPÒN       ÌDA ÆAKÅ     ÒÅSÅÔ       SÔA ×ÃHK      ÒÅÔUÒN ÒÃÅÒ± ÅÑU ª       ÌDA ÔÅMP±    ÌÏAD ÃHÅÃKSUM       ÌDB P05²A     PÏÉNÔÅÒ-ÃHÅÃKSUM   ›Í0.*    ÊSB ÃN×ÒP¬É  ÃÏNVÅÒÔ ÔÏ ASÃÉÉ       ÌDA ÔÅMP²    ÌÏAD ÃYÌÉNDÅÒ ÃHÅÃK       ÌDB P05²B     PÏÉNÔÅÒ-ÃYÌÉNDÅÒ       ÊSB ÃN×ÒP¬É       ÌDA ÔÅMP3    ÌÏAD HÅAD¯SÅÃÔÏÒ ÃHÅÃK       ÌDB P05²Ã     PÏÉNÔÅÒ-HÅAD AND SÅÃÔÏÒ       ÊSB ÃN×ÒP¬É  ÃÏNVÅÒÔ ÔÏ ASÃÉÉ       ÌDA ÔÅMP²       ÌDB P05²D     PÒÉNÔ ÃYÌÉNDÅÒ ÉN DÅÃÉMAÌ       ÊSB DÃÉN²       ÌDA ÔÅMP3       AÌÆ¬AÌÆ       AND B3··       ÌDB P05²Å     PÒÉNÔ HÅAD ÉN DÅÃÉMAÌ       ÊSB DÃÉN±       ÌDA ÔÅMP3       AND B3··       ÌDB P05²Æ     PÒÉNÔ SÅÃÔÏÒ ÉN DÅÃÉMAÌ       ÊSB DÃÉN± Å5²   ÌDB B5²       BUÆÆÅÒ ÃHÅÃKSUM ØØØØØØ ÃYÌ ª                                     YYYYYY HD¯S ZZZZZZ       SÔB SÔÒÆ     SÅÔ ÅÒÒÏÒ MÅSSAGÅ PÏÉNÔÅÒ       SÔB ÅÌÏà     SAVÅ ÆÏÒ ÅÒHÌÔ       ÊMP ×ÒÅÒZ    GÏ ANAÌYZÅ ÅÒÒÏÒS       HÅD ÒÃHK± ª  ª     ÒÃHK± ª      ÆÏÒM BUÆÆÅÒ ÃHÅÃKSUM ª  ÒÃHK± NÏP       SÔA ×ÃHK       ADB D±330       ÊSB ÃÌÏÃK       SÔB ÌÏÃAÌ       ÌDB BUÆAÅ    ÌÏAD BUÆÆÅÒ PÏÉNÔÅÒ       ÌDA M±²´+SZÒÅÆ       SÔA ÔÅMP±    SÅÔ ÃÏUNÔ ÆÏÒ ADD ÌÏÏP       ÌDA B¬É      ÌÏAD ÆÉÒSÔ ×ÏÒD       ÉNB       ADA B¬É      MAKÅ ÃYÌÉNDÅÒ ÃHÅÃK       ÉNB       SÔA ÔÅMP²    SAVÅ ÃYÌÉNDÅÒ ÃHÅÃK       ÌDA B¬É       ÉNB       ADA B¬É      MAKÅ HÅAD¯SÅÃÔÏÒ ÃHÅÃK       ÉNB       SÔA ÔÅMP3    SAVÅ HDS ÃHÅÃK       ADA ÔÅMP²    ÃHÅÃKSUM SÏ ÆAÒ ÒÃÑ   ÅÑU ª       ADA B¬É      ADD UP AÌÌ ×ÏÒDS       ÉNB       ÉSZ ÔÅMP±    ÃÏUNÔ DÏ×N ÃÏUNÔÅÒ       ÊMP ÒÃÑ       SÔA ÔÅMP±    SAVÅ ÃHÅÃKSUM       ÌDB ÌÏÃAÌ       ÊMP ÒÃHK±¬É   ÒÅÔUÒN       HÅD S5 - SÅÃÔÉÏN 5 4S0ÿÿ ÿýË Ø ÿ12965-18007 1451 S 0122 07DIAG 2883A/2884A DISC AND 12565A INTFC             H0101 ßOþú ª  ª  ª     SÅÃÔÉÏN 5 ª      ÔHÉS SÅÃÔÉÏN ÒUNS MUÌÔÉPÌÅ UNÉÔ ÔÅSÔ ÉÆ Ô×Ï UNÉÔS ª      AÒÅ PÒÅSÅNÔ. ÔHÅ SÅÅKS ÏVÅÒÌAP. ÔHÅ ÒÅAD ÃHÅÃK ÉS ÔHÅ SAMÅ ª      ÔHAÔ S5 PÅÒÆÏÒMS. ª  DHANG ÅÑU GÌÏB5 S5    NÏP       ÌDA AS5       ÊSB SÔUÆÆ     ÃUÒÒÅNÔ SÅÃÔÉÏN       ÌÉA ±       AND BÉÔ¸       SZA¬ÒSS       SKÉP ÉÆ BÉÔ ¸ SÅÔ       ÊMP S5¬É      ABÏÒÔ       ÉSZ GÌÏB6       ÊMP S6ÔSÔ       ÉSZ NÉ       ÌDA NÉ       ÃPA D3        AÒÅ BÏÔH DÒÉVÅS ÉNÉÔÉAÌÉZÅD       ÊMP S6ÔSÔ     YÅS       ÌDA UNÉÔ      NϬÉNÉÔÉAÌÉZÅ       ØÏÒ D±         ÏÔHÅÒ       SÔA UNÉÔ        UNÉÔ       ÊMP S5¬É S6ÔSÔ ÅÑU ª       ÌDA B´´       SÅÅK ÉN S5       ÊSB ÃÏPÒ       ÃÌA       SÔA SHÔAS     ÅØPÅÃÔÅD SÔAÔUS ½ 0       SÔA UNÉÔ      UNÉÔ ½ 0       SÔA ÃYÌ       ÃYÌ ½ 0       SÔA HÅAD      HÅAD ½ 0       SÔA SÅÃÔÒ     SÅÃÔÏÒ ½ 0       ÊSB ÆSÅÅK     SÅÅK ÉN S5       ÌDA B´´       SÅÅK ÉN S5       ÊSB ÃÏPÒ       ÃÌA¬ÉNA       SÔA UNÉÔ      UNÉÔ ½ ±       SÔA ÃYÌ       ÃYÌ ½ ±       ÊSB ÆSÅÅK       ÌDA B²²       ÃYÃÌÉàÃHÅÃK ÉN S5       ÊSB ÃÏPÒ       ÃÌA       SÔA UNÉÔ      UNÉÔ ½ 0       ÃÌA¬ÉNA       ÃHÅÃK ÉS ÆÏÒ ÏNÅ SÅÃÔÏÒ       ÊSB DADÏ       ÌDA ÃYÃHK     ÃYÃÌÉàÃHÅÃK ÃÏMMAND       ÊSB ÃÏMMD       ÊSB ×AÉÔS       ÌDA B²±       SÔA SHÔAS     ÅØPÅÃÔÅD SÔAÔUS ½ ²±       ÊSB ×ÃHK       ÃÌA       SÔA SHÔAS     ÅØPÅÃÔÅD SÔAÔUS ½ 0       ÌDA D±²¸+SZÒÅÆ       SÔA ×ÃNÔ      ÏNÅ SÅÃÔÏÒ       ÌDA S´0       MAKÅ       ÉÏÒ S´0+±      BÏÔH       SÔA S´0         S´ ÉNDÉÃAÔÏÒS       SÔA S´0+±        ÔHÅ SAMÅ       ÃÌA       SÔA S6ÃNÔ     NUMBÅÒ ÏÆ DÏUBÌÅ SÅÅKS S6Ì   ÅÑU ª       ÊSB ÒNÃH      ÒANDÏM ÃYÌÉNDÅÒ AND HÅAD       ÊSB ÒNSà     ÒANDÏM SÅÃÔÏÒ       ÌDA MM²       SÔA GÌÏB6       ÌDA B´´       SÅÅK ÉN S5       ÊSB ÃÏPÒ       ÃÌA       SÔA UNÉÔ       ÊSB SÅÅK      SÅÅK ÏN UNÉÔ 0       ÉSZ UNÉÔ       ÊSB SÅÅK      SÅÅK ÏN UNÉÔ ±       ÊSB ×AÉÔS     ×AÉÔ ÆÏÒ ÆÌAG       ÌDA SÔAUS     SÔAÔUS ÏN UNÉÔ ±       AND PBBÉÔ       SZA           SKÉP ÉÆ £þúUNÉÔ ± ÆÉNÉSHÅD       ÊMP S6Ô±      UNÉÔ 0 ÃÏMPÌÅÔÅD ÆÉÒSÔ S6Ô²  ÅÑU ª       ÊSB ×ÃHK      ÃHÅÃK SÔAÔUS ÏN SÅÅK       ÌDA B´6       ÒÅAD ÉN S6       ÊSB ÒÅAD       ÊSB ×ÃHK      ÃHÅÃK SÔAÔUS       ÊSB S6ÃHK     ÃHÅÃK BUÆÆÅÒ       ÉSZ GÌÏB6       ÒSS       ÊMP S6Ô3      DÏNÅ       ÌDA UNÉÔ      ÔÅSÔ       ØÏÒ D±         ÏÔHÅÒ       SÔA UNÉÔ        UNÉÔ S6Ô´  ÌDA B´´       ÊSB ÃÏPÒ      SÅÅK ÉN S5       ÃÌA       SÔA DHANG     DÏN'Ô AÌÌÏ× HANG S6Ô5  ÊSB SÔAÔ       AND PBBÉÔ       SZA¬ÒSS       SKÉP ÉÆ BUSY       ÊMP S6Ô6      ÃÏNÔÉNUÅ       ÉSZ DHANG       ÊMP S6Ô5      ÔÒY AGAÉN       ÊSB ×ÃHK      PUNÔ S6Ô6  ÅÑU ª       ÊSB SÅÅH      ÒÅÌÏAD ÒAÒ       ÊSB ×AÉH       AND SÅÌÅÃÔ ÃÏÒÒÅÃÔ HÅAD       ÊMP S6Ô² S6Ô±  ÃÌA       SÔA UNÉÔ       ÊMP S6Ô´ S6Ô3  ÅÑU ª       ÉSZ S6ÃNÔ     BUMP ÃÏUNÔÅÒ       ÌDB S6ÃNÔ       ÌÉA ±       AND BÉÔ5      SHÏÒÔÅN ÔÅSÔ?       ADB M²56      -²56       SZA¬ÒSS       SKÉP ÉÆ YÅS       ADB M·936       SZA       ÊSB SHÏÒԬɠ  ÒÅPÏÒÔ SHÏÒÔÅNÅD ÔÅSÔÉNG       SSB           DÏNÅ?       ÊMP S6Ì       NÏ       ÌÉA ±       ÃÌB           UNÉÔ ½ 0       AND BÉÔ´       SZA           SKÉP ÉÆ BÉÔ ´ ½ 0       ÉNB           UNÉÔ ½ ±       SÔB UNÉÔ       ÃÌA¬ÉNA       SÔA NÉ        NÉ ½ ±       SÔA GÌÏB6     AÌÌÏ× SÅÃÔÉÏN ÔÏ BÅ ÌÏÏPÅD       ÊMP S5¬É       HÅD S6ÃHK ª  ª  ª  ª     S6ÃHK ª      ÃHÅÃKS BUÆÆÅÒ ÆÏÒ PÒÏPÅÒ PÏSÉÔÉÏN AND DAÔA ª      ÔÒANSÆÅÒ ª  S6ÃHK NÏP       ÌDA S6ÃHK       ÊSB ÒÃHK±     ÆÏÒM BUÆÆÅÒ ÃHÅÃKSUM       SZA           SKÉP ÉÆ ÏK       ÊMP SÃÅÒ      ÅÒÒÏÒ       ÌDA ÔÅMP²       ÃPA ÃYÌ       ÉS ÃYÌÉNDÅÒ ÏK?       ÒSS           YÅS       ÊMP SÃÅÒ      NϬÅÒÒÏÒ       ÌDA ÔÅMP3       AÌÆ¬AÌÆ       AND B3··       ÌDB A       ÌDA HÅAD       ÃPA B         ÉS HÅAD ÏK?       ÒSS           YÅS       ÊMP SÃÅÒ      NϬÅÒÒÏÒ       ÌDA ÔÅMP3       AND B3··       ÃPA SÅÃÔÒ     ÉS SÅÃÔÏÒ ÏK?       ÊMP ×ÒÅÒØ     YÅS SÃÅÒ  ÅÑU ª H²3   ÌDA B²3       SÔA ÃÏPÒN     ÒÅAD ÃHÅÃKõÔþú ÉN S6       ÊMP ÒÃÅÒ±       HÅD PÃHK ª  ª         PÃHK ÒÏUÔÉNÅ. ª     ÔHÉS ÒÏUÔÉNÅ ÃHÅÃKS ÔHÅ ÅNÔÉÒÅ ÒÅAD BUÆÆÅÒ ÆÏÒ ª     ÅÑUAÌÉÔY ×ÉÔH ÔHÅ ×ÏÒD ÉN PAÔÔ. ª  PÃHK  NÏP       ÌDA PÃHK     ÌÏAD ÒÅÔUÒN ADDÒÅSS       SÔA ×ÃHK     SAVÅ ÆÏÒ PÏSSÉBÌÅ ÃAÌÌ       ÌDA ×ÃNÔ     ÌÏAD BUÆÆÅÒ ÌÅNGÔH       AÒS¬AÒS      DÉVÉDÅ BY ÅÉGHÔ       AÒS          ( ÆÏÒ ÅÉGHÔ UNÉÔ ÌÏÏP ©       ÃMA¬ÉNA      Ô×ÏS ÃÏMPÌÅMÅNÔ       SÔA ÔÅMP±    SÅÔ ÃÏUNÔÅÒ ÆÏÒ ÌÏÏP       ÌDA PAÔÔ     ÌÏAD ÃÏMPAÒÉSÏN ×ÏÒD       ÌDB BUÆAÅ    ÌÏAD ÒÅAD BUÆÆÅÒ ADDÒÅSS PÃHÌ  ÅÑU ª       SÔA ÔÅMP6     ÃHÅÃK ÆÏÒ MAÔÃH ×ÉÔH BUÆÆÅÒ       ÌDA MM¸        ÃÏUNÔ UP BUÆÆÅÒ ADDÒÅSS AND       SÔA ÔÅMP·       SKÉP MÉS-ÃÏMPAÒÅ       ÌDA ÔÅMP6 NÏÒÔ  ÃPA B¬É       ÉNB¬ÒSS       ÊMP PÃHÅ       ÉSZ ÔÅMP·       ÊMP NÏÒÔ       ÉSZ ÔÅMP±    ÃÏUNÔ ÏUÔ       ÊMP PÃHÌ     NÏÔ DÏNŬ ÃÏNÔÉNUÅ ÃHÅÃKÉNG       ÊMP ×ÒÅÒØ    NÏ BUÆÆÅÒ ÅÒÒÏÒS¬ ÃHÅÃK SÔAÔUS PÃHÅ  SÔB ÔÅMP²     PÏÉNÔÅÒ - ÉS       ÌDA PAÔÔÉ     SÅÔ UP       SÔA ÔÅMP±      SHÏUÌD BÅ PAÒÔ ÏÆ ÅÒÒÏÒ MÅSSAGÅ       ÌDA BUÆAÅ       ÃMA¬ÉNA       ADA ÔÅMP²     A ½ ×ÏÒD NUMBÅÒ       ÊMP Åű0± ÔÅMP· BSS ±       HÅD MSÃV ª  ª      ÔHÉS ÒÏUÔÉNÅ ÔAKÅS ÔHÅ NUMBÅÒ ÉN ÔHÅ A-ÒÅG¬ ª     DÉVÉDÅS BY ±²¸ AND PUÔS ÔHÅ ASÃÉÉ ( DÅÃÉMAÌ © ª      ÒÅSUÌÔ ÉNÔÏ ÃVÔ±¬ÃVÔ² AND ÃVÔ3 (ØØØØ.Ø© ª  ª  MSÃV  NÏP       SÔA ÔÅMP±     ÌÏAD NUMBÅÒ ÏÆ MÉÌÌÉSÅÃÏNDS       AÌÆ¬AÌÆ       ÒAÌ          DÉVÉDÅ BY ±²¸       AND B3··      ÉNÔÅGÒAÌ NUMBÅÒ ÏÆ MÉÌÌÉSÅÃÏNDS       ÊSB DÅÃÉN     ÃÏNVÅÒÔ ÉNÔÅGÅÒ ÔÏ DÅÃÉMAÌ ASÃÉÉ       ÌDA ÔÅMP±    SÔAÒÔ ÏN ÆÒAÃÔÉÏN PAÒÔ       AND B±··     ÌÅAVÅ ÏNÌY ÆÒAÃÔÉÏN PAÒÔ       ÃÃB          B _ -± ÔMDÌ  ADA MM±3      ÃÌÏSÅ ÔÏ ±²¸¯±0       ÉNB          ÃÏUNÔ UP ÔÅNÔHS PAÒÔ       SSA¬ÒSS      SKÉP ÉÆ ÔÅNÔHS ÃAÌÃUÌAÔÉÏN DÏNÅ       ÊMP ÔMDÌ       ADB ASÃD0    MAKÅ ÉNÔÏ .Ø       SÔB ÃVÔ3      SÔÏÒÅ       ÊMP MSÃV¬É   ÒÅÔUÒN       HÅD ADDϬÃN×ÒÔ ª  ª         ÒÏUÔÉNÅ ÔÏ PÒÉNÔ ÏUÔ ÔHÅ ÃUÒÒÅNÔ DÉSK ADDÒÅSS ª  ª  ADDÏ  NÏP       ÊSB B±±ÃK     ÉS Ôþ±þúÔY AVAÉÌABÌÅ?       ÊMP AÏUÔ      NÏ       ÌDA ÃYÌ       YÅS¬ÃÏNVÅÒÔ ÃYÌÉNDÅÒ NUMBÅÒ       AND H····       ÌDB P05±A     ÔÏ ASÃÉÉ       ÊSB DÃÉN²       AND SÔÏÒÅ ÉN MÅSSAGÅ       ÌDA HÅAD      ÃÏNVÅÒÔ HÅAD NUMBÅÒ       ÌDB P05±B     ÔÏ ASÃÉÉ       ÊSB DÃÉN±       AND SÔÏÒÅ ÉN MÅSSAGÅ       ÌDA SÅÃÔÒ     ÃÏNVÅÒÔ SÅÃÔÏÒ NUMBÅÒ       ÌDB P05±Ã     ÔÏ ASÃÉÉ       ÊSB DÃÉN±       AND SÔÏÒÅ ÉN MÅSSAGÅ       ÌDA ×ÃNÔ      ÃÏNVÅÒÔ ×ÏÒD ÃÏUNÔ       ÌDB P05±D     ÔÏ ASÃÉÉ       ÊSB DÃÉN²       AND SÔÏÒÅ ÉN MÅSSAGÅ       ÌDA UNÉÔ      ÃÏNVÅÒÔ UNÉÔ NUMBÅÒ ÔÏ ASÃÉÉ       ADA ASÃZZ     ½030060B  AND SÔÏÒÅ ÉN MÅSSAGÅ       SÔA P05±Å¬É H5±   ÌDA B5±       ÃY̬HÅAD¬SÅÃÔÏÒ       ÊSB PÒÉNÔ     ×ÏÒD ÃÏUNÔ ØØØØ UNÉÔ Ø AÏUÔ  ÊSB ÅÒHÌÔ     AÌÌÏ× HAÌÔS       ÊMP ADDÏ¬É ª  ª  ª         ÔHÅ ÃN×ÒÔ ÒÏUÔÉNÅ USÅS ÃNVÒÔ ÔÏ ÃÏNVÅÒÔ ÔHÅ ×ÏÒD ÉN ª     ÔHÅ A ÒÅG ÔÏ ÏÃÔAÌ AND MÏVÅS ÔHÅ ÔHÒÅÅ ASÃÉÉ ×ÏÒDS ÔÏ ª     ÔHÅ ÌÏÃAÔÉÏN SPÅÃÉÆÉÅD BY ÔHÅ B ÒÅG. ª  ª  ÃN×ÒÔ NÏP       SÔB ÔÅMP´    SAVÅ ADDÒÅSS ÆÏÒ ÏÃÔAÌ ×ÏÒDS       ÊSB ÃNVÒÔ    ÃÏNVÅÒÔ AÃÔUAÌ ×ÏÒD ÔÏ ÏÃÔAÌ       ÌDA ÃVÔ±     ÌÏAD ÆÉÒSÔ ×ÏÒD       SÔA ÔÅMP´¬É       ÉSZ ÔÅMP´    ÃÏUNÔ UP ADDÒÅSS       ÌDA ÃVÔ²       SÔA ÔÅMP´¬É       ÉSZ ÔÅMP´       ÌDA ÃVÔ3       SÔA ÔÅMP´¬É       ÊMP ÃN×ÒÔ¬É       HÅD ÃNVÒÔ ª  ª  ª         ÔHÅ ÃNVÒÔ ÒÏUÔÉNÅ ÃÏNVÅÒÔS ÔHÅ SÉNGÌÅ ×ÏÒD ÉN ÔHÅ A ª     ÒÅG. ÔÏ ÔHÒÅÅ ASÃÉÉ ×ÏÒDS ( ÏÃÔAÌ © ÉN ÃVÔ±¬ ÃVÔ²¬ AND ÃVÔ3. ª  ª  ÃNVÒÔ NÏP       SÔA ÔÅMP5    SAVÅ ×ÏÒD       ÌDB A        ×ÏÒD ÔÏ B AÌSÏ       AÌÆ       AND D·       SSB       ÉÏÒ BÉÔ¸     ÏNÅ ÆÏÒ ÌÅÆÔ ÏÃÔAÌ DÉGÉÔ       ÉÏÒ ASÃZZ       SÔA ÃVÔ±       ÌDA ÔÅMP5    GÅÔ ×ÏÒD BAÃK       AÌÆ¬AÌÆ       ÒA̬ÒAÌ       AND B··      ÌÅAVÅ Ô×Ï DÉGÉÔS       ÌDB A        SAVÅ ÆÏÒ A ×HÉÌÅ       AÌÆ¬ÒAÌ      ÌÅÆÔMÏSÔ ÔÏ PÏSÉÔÉÏN       ÉÏÒ B        ÏÒ ÔHÅ Ô×Ï ÔÏGÅÔHÅÒ       AND B3´0·       ÉÏÒ ASÃZZ       SÔA ÃVÔ²       ÌDA ÔÅMP5    GÅÔ ×ÏÒD BAÃK       AND B··      ÌÅAVÅ ÌASÔ Ô×Ï DÉGÉÔS       ÌDB A       AÌÆ¬ÒAÌ       ÉÏÒ #þúB       AND B3´0·       ÉÏÒ ASÃZZ       SÔA ÃVÔ3     SAVÅ ÒÉGHÔMÏSÔ DÉGÉÔS       ÊMP ÃNVÒԬɠ ÒÅÔUÒN       HÅD MÅSSAGÅ ÔABÌÅS ª  ª  ª     MÅSSAGÅ NUMBÅÒ ÔABÌÅ ª  ª  ÆÅÒà ABS -ÆÅÒ ÆÅÒ   DÅÆ ª+±       DÅÆ H0       DÅÆ H±       DÅÆ Å²       DÅÆ Å3       DÅÆ Å´       DÅÆ Å5       DÅÆ Å6       DÅÆ Å·       DÅÆ Å±0       DÅÆ Å±±       DÅÆ Å±²       DÅÆ Å±3       DÅÆ Å±´       NÏP           H±5       NÏP           H±6       DÅÆ H±·       DÅÆ H²0       NÏP           Å²±       NÏP           H²²       DÅÆ H²3       DÅÆ H²´       DÅÆ H²5       DÅÆ H²6       DÅÆ H²·       DÅÆ H30       DÅÆ H3±       NÏP           H3²       NÏP           H33       NÏP           H3´       DÅÆ H35       DÅÆ H36       NÏP           H3·       DÅÆ H´0       NÏP           H´±       NÏP           H´²       DÅÆ H´3       NÏP           H´´       NÏP           H´5       NÏP           H´6       DÅÆ Å´·       DÅÆ H50       DÅÆ H5±       DÅÆ Å5²       DÅÆ H53       DÅÆ H5´       DÅÆ H55       DÅÆ H56       DÅÆ H5·       NÏP           H60       NÏP           H6±       DÅÆ Å6²       DÅÆ Å63       DÅÆ Å6´       DÅÆ H65       NÏP           H66       NÏP           H6·       DÅÆ H·0       DÅÆ H·±       DÅÆ H·²       DÅÆ Å·3       DÅÆ H·´ ÌÅÒ   DÅÆ ª       HÅD ÒAÃK ª  ª  ª         ÒÏUÔÉNÅ ÔÏ ÒÅAD AN ADDÒÅSS AND ÃHÅÃK ÆÏÒ ª     ÃYÌÉNDÅÒ AND HÅAD MAÔÃH. ª  ª  ÒAÃK  NÏP       ÌDA B3·       ÒÅAD ADDÒÅSS ÉN SØ       ÊSB ÃÏPÒ       ÌDA ÒAÃK     ÌÏAD ÒÅÔUÒN ADDÒÅSS       SÔA ×ÃHK     SAVÅ ÆÏÒ ÃAÌÌ       ÌDA BPÔS     ÒÅAD BUÆÆÅÒ PÏÉNÔÅÒ       SÔA BUÆAÅ    ÆÏÒ ÉNPUÔ ÏPÅÒAÔÉÏN       ÌDA D²       ×ÏÒD ÃÏUNÔ ÆÏÒ ÒÅAD ADDÒÅSS       SÔA ×ÃNÔ       ÊSB DMÒ      SÅÔ UP DMA ÒÅAD       ÌDA ÒÅADA    ÌÏAD ÒÅAD ADDÒÅSS ÃÏMMAND       ÊSB ÃÏMMD    ÉSSUÅ ÃÏMMAND       ÊSB DMAÔ     ×AÉÔ ÆÏÒ DMA ÏPÅÒAÔÉÏN ÔÏ ÆÉNÉSH       ÊSB SÔAÔ     ÃAÌÌ ÆÏÒ SÔAÔUS ÃÒAÃK ÌDA BUÆAŬɠ  ÌÏAD ÆÉÒSÔ ×ÏÒD ÒÅAD       ÃPA ÃYÌ      ÃÏMPAÒÅ ÆÏÒ ÃYÌÉN þúDÅÒ NUMBÅÒ       ÒSS       ÊMP ÒÃNM     NÏ ÃÏMPAÒŬ ÅÒÒÏÒ       ÌDA BPÔS±¬É   ÌÏAD SÅÃÏND ×ÏÒD ÒÅAD       AÌÆ¬AÌÆ      ÒÉGHÔ ÊUSÔÉÆY HÅAD NUMBÅÒ       AND B3··     ÌÅAVÅ ÏNÌY HÅAD NUMBÅÒ       ÃPA HÅAD     SHÏUÌD MAÔÃH HÅAD       ÊMP ×ÒÅÒØ     ADDÒÅSS ÏK¬ÃHÅÃK ÏÔHÅÒ ÅÒÒÏÒS ÒÃNM  ÅÑU ª       ÌDA BPÔS¬É   ÌÏAD ÆÉÒSÔ ×ÏÒD ÒÅAD ÉN       ÌDB P0²±A       ÊSB ÃN×ÒP¬É  ÃÏNVÅÒÔ ÔÏ ÏÃÔAÌ AND SÔÏÒÅ       ÌDA BPÔS±¬É   ÌÏAD SÅÃÏND ×ÏÒD ÉN BUÆÆÅÒ       ÌDB P0²±B       ÊSB ÃN×ÒP¬É  ÃÏNVÅÒÔ AND SÔÏÒÅ       ÌDB B²±       ADDÒÅSS ÒÅAD ×AS ØØØØØØ YYYYYY       SÔB SÔÒÆ     SÅÔ ÅÒÒÏÒ PÏÉNÔÅÒ       ÊMP ×ÒÅÒZ    GÏ ANAÌYZÅ ÅÒÒÏÒS       HÅD S6 - SÅÃÔÉÏN 6 (ÏPDSN© ª  ª     ÏPDSN ª      ÏPÅÒAÔÏÒ DÅSÉGN SÅÃÔÉÏN ª      ÔHÉS SÅÃÔÉÏN AÌÌÏ×S ÔHÅ ÏPÅÒAÔÏÒ ÔÏ DÅSÉGN ª      HÉS Ï×N ÔÅSÔ AND ÔHÅN ÅØÅÃUÔÅ ÉÔ. ª        ÏÒG 6000B ÏPDSN ÌDA AS6       ÊSB SÔUÆÆ     ÃUÒÒÅNÔ SÅÃÔÉÏN       ÌDA BPÔÏ      SÔAÒÔ ÏÆ ×ÏÒK AÒÅA       SÔA BÉÌD      SÔÏÒAGÅ PÏÉNÔÅÒ       SÔA ÏPSÒÔ       ÌDA ±±·B       AND MÅM       DÅÔÅÒMÉNÅ       ÃPA BÉÔ±²      MÅMÏÒY SÉZÅ       ÒSS             AND ÌÉMÉÔ       ÊMP ª+3          ÏPDSN ÔÏ ¸K       ÌDA Ì×AM       ÊMP ª+3       ÌDA B····        ÏPDSN ÔÏ ¸K       ADA MM±       SÔA Ì×AM       SÔA ÌBÌP±       ÌDA BPÔÒ      SÅÔ       SÔA BUÆAD      UP       ÌDA BPÔS        PÏÉNÔÅÒS       SÔA BUÆAÅ       ÃÌA       SÔA ÌABÌà       SÔA SHÔAS     ZÅÒÏ ÅØPÅÃÔÅD SÔAÔUS       SÔA SÔÒÆ       SÔA DMÒÆ H55   ÌDA B55       ÅNÔÅÒ ÉNSÔÒUÃÔÉÏNS       ÊSB PÒÉNÔ ÏPD±  ÅÑU ª       ÊSB HÉN       ÉNPUÔ ÌÉNÅ       ÃÌA       SÔA PÆÌAG       ÌDA D±²¸      ÃÏMMÏNÌY USÅD ÆÏÒ       SÔA ×D²        DÅÆAUÌÔ ÃASÅ       ÊSB PAÃK²     GÅÔ ÏP ÃÏDÅ       ÊMP H²0       ÅÒÒÏÒ ÉN ÉNPUÔ       ÌDB ÃÏDÅÅ ÏPD²  ÅÑU ª         SÅAÒÃH ÆÏÒ       ÃPA B¬É        ÃÏDÅ MAÔÃH       ÊMP ÏPD3      ÆÏUND ÉÔ       ÉNB       ÃPB ÃÏDÅÆ       ÒSS           ÅÒÒÏÒ - BAD ÏP ÃÏDÅ       ÊMP ÏPD² H²0   ÌDA B²0       UNDÅÆÉNÅD ÉNSÔÒUÃÔÉÏN       ÊSB PÒÉNÔ       ÊMP ÏPD± ÏPD3  ÅÑU ª >,þú      ADB ÃÏDÅà       SÔB ÏPÃNÔ     ÏP ÃÏDÅ       ADB ÏUÔà       ÊSB ÏPÅND     ÃHÅÃK ÆÏÒ ABÏÒÔ       ÌDA B¬É       PÒÏÃÅSS ÉNSÔÒUÃÔÉÏN       ÊMP A¬É       SKP ª  ª  ª     PÏUÔ±    AÒ¬DS¬ÉS¬SÒ¬ÉÔ ª  PÏUÔ± ÌDA PPÔ±       SÔA ×D±       SÔÏÒÅ ÔÒANSÆÅÒ VÅÃÔÏÒ       ÃÌA       SÔA ×D²       DÅÆAUÌÔ ÃASÅ       SÔA ×D3       ÊSB ÃHAÒ      GÅÔ NÅØÔ ÃHAÒAÃÔÅÒ       ÊMP PUÔ5B     DÏNÅ       ÊSB PUÔ±G     ÃHÅÃK ÆÏÒ ÃÏMMA       ÊSB PUÔ±D     PÒÏÃÅSS ÆÉÒSÔ ÆÉÅÌD¬ÃYÌÉNDÅÒ       SÔA ×D²       ÊSB PUÔ±D     PÒÏÃÅSS SÅÃÏND ÆÉÅÌD¬HÅAD       AÌÆ¬AÌÆ       SÔA ×D3       ÊSB PUÔ±D     PÒÏÃÅSS ÔHÉÒD ÆÉÅÌD¬SÅÃÔÏÒ       ÉÏÒ ×D3       SÔA ×D3       ÌDA PÆÌAG     DÏNÅ?       SZA¬ÒSS       SKÉP ÉÆ YÅS       ÊMP PUÔ±A     ÅÒÒÏÒ       ÊMP PUÔ5B PUÔ±B ÌDA D3 PUԱƠÊSB BUÉÌD       ÊMP ÏPD±      ÅØÉÔ PUÔ±A ÊSB H3±       BAD ÉNPUÔ       ÊMP ÏPD± PUÔ±D NÏP       ÌDA PÆÌAG     DÏNÅ?       SZA       ÊMP PUÔ5B     YÅS       ÊSB PUԱؠ    NϬGÅÔ NÅØÔ ÆÉÅÌD       ÊMP PUÔ±D¬É PUԱؠNÏP       ÊSB DÃHAÒ     GÅÔ NÅØÔ ÆÉÅÌD       ÒSS       ÊMP PUﱯƒ       ÊSB PUԱŠ    DÏNÅ ÏÒ ÅÒÒÏÒ?       ÉSZ PÆÌAG     DÏNÅ       ÊMP PUԱجɠ  ÃÏNÔÉNUÅ PUԱŠNÏP           DÏNÅ ÏÒ ÅÒÒÏÒ?       ÌDB ÃÃNÔ      ÃÏÌUMNS ÒÅMAÉNÉNG       SZB       ÊMP ÏPD±      ÅÒÒÏÒ (AÌÒÅADY ÒÅPÏÒÔÅD©       ÊMP PUﱁƒ PUÔ±G NÏP           ÃHÅÃK ÃÏMMA       ØÏÒ B5´       SZA¬ÒSS       ÊMP PUÔ±G¬É   ÏK       ÊMP PUÔ±A PUÔ±H NÏP       ÊSB ÃHAÒ      GÅÔ NÅØÔ ÃHAÒAÃÔÅÒ       ÊMP PUÔ±B     DÏNÅ       ÊSB PUÔ±G     ÃHÅÃK ÆÏÒ ÃÏMMA       ÊMP PUÔ±H¬É   ÒÅÔUÒN       SKP ª  ª  ª     PÏUÔ²    AS¬ÃŬÒìÒ̬ÒS¬SS¬SÔ¬ÒA¬ÃA ª  PÏUÔ² NÏP       ÌDA PPÔ²       SÔA ×D±       SÔÏÒÅ ÔÒANSÆÅÒ VÅÃÔÏÒ       ÊSB ÃHAÒ       ÒSS           SKÉP ÉÆ DÏNÅ       ÊMP PUÔ±A     ÅÒÒÏÒ       ÊMP PUÔ3Ê     ÅØÉÔ       SKP þÌ0.**0ÿÿ ÿýÌ Ù ÿ12965-18008 1451 S 0122 08DIAG 2883A/2884A DISC AND 12565A INTFC             H0101 àPþú ª  ª  ª     PÏUÔ3    GϬÌB ª  PÏUÔ3 ÌDA PPÔ3      AN ÒSS       SÔA ×D±       SÔÏÒÅ ÔÒANSÆÅÒ VÅÃÔÏÒ       ÊSB ÃHAÒ       ÊMP PUÔ±A     ÅÒÒÏÒ       ÊSB PUÔ3K     GÅÔ ÌABÅÌ       ÊSB ÃHAÒ      ÃHÅÃK NÅØÔ ÃHAÒAÃÔÅÒ       ÒSS           ÏK-SKÉP       ÊMP PUÔ±A     ÅÒÒÏÒ-ÔÏÏ MANY ÃHAÒAÃÔÅÒS       ÌDA ÏPÃNÔ     ÏP ÃÏDÅ       ÃMA¬ÉNA       ADA B±5       ÉS ÉÔ ÌB?       SZA           SKÉP ÉÆ YÅS       ÊMP PUÔ3A     MUSÔ BÅ GÏ       ÊSB PUÔ3D     SÅAÒÃH ÆÏÒ ÌABÅÌ       ÊMP PUÔ3B     NÏÔ ÔHÅÒÅ       ÉSZ ÌBÌP²     ÆÏUND ÉÔ       ÌDA ÌBÌP²¬É   ADDÒÅSS ×ÏÒD       SZA¬ÒSS       SKÉP ÉÆ PÒÅVÉÏUSÌY DÅÆÉNÅD       ÊMP PUÔ3Å H±·   ÌDA B±·       DUPÌÉÃAÔÅ ÌABÅÌ       ÊSB PÒÉNÔ       ÊMP ÏPD± PUÔ3B ÊSB PUÔ3Ì     ÃHÅÃK ÆÏÒ ÏVÅÒÆÌÏ× PUÔ3Å ÌDA BÉÌD      NÅØÔ AVAÉÌABÌÅ ÌÏÃAÔÉÏN       SÔA ÌBÌP²¬É   SÔÏÒÅ ADDÒÅSS PUÔ3Ê ÌDA D²       ÊMP PUԱƠ    ÅØÉÔ PUÔ3A ÊSB PUÔ3D     GϬSÅAÒÃH ÔABÌÅ       ÊMP PUÔ3Æ     DÉD NÏÔ ÆÉND ÉÔ       ÉSZ ÌBÌP²     ÆÏUND ÉÔ PUÔ3G ÌDA ÌBÌP²       AND B3···       ÉÏÒ ÊMPÉ      ½±²6000B       SÔA ×D±       ÊMP PUÔ3Ê PUÔ3Æ ÊSB PUÔ3Ì     ÃHÅÃK ÆÏÒ ÏVÅÒÆÌÏ×       ÃÌA       SÔA ÌBÌP²¬É   ZÅÒÏ ADDÒÅSS ×ÏÒD       ÊMP PUÔ3G PUÔ3D NÏP           SÅAÒÃH ÔABÌÅ       ÌDB ÌABÌà    NUMBÅÒ ÏÆ ÌABÅÌS PUÔ3É SZB¬ÒSS       ÊMP PUÔ3D¬É   ZÅÒÏ ÌABÅÌS       ÌDA ÌBÌP²¬É       ÃPA ÌABÅÌ       ÊMP PUÔ3H     ÆÏUND ÉÔ       ÌDA ÌBÌP²     SÔÅP       ADA MM²        BAÃK       SÔA ÌBÌP²       ÔHÒÏUGH ÃÏÒÅ       ADB MM±       DÅÃÒÅMÅNÔ ÌABÅÌ ÃÏUNÔ       ÊMP PUÔ3É PUÔ3H ÉSZ PUÔ3D     NÏÒMAÌ       ÊMP PUÔ3D¬É    ÅØÉÔ PUÔ3K NÏP           GÅÔ ÌABÅÌ       ÊSB PUÔ±G     ÃHÅÃK ÃÏMMA       ÊSB PAÃK²       ÊMP PUÔ±A     ÅÒÒÏÒ       SÔA ÌABÅÌ     SAVÅ ÌABÅÌ       ÌDA ÌBÌP±       SÔA ÌBÌP²       ÊMP PUÔ3K¬É PUÔ3Ì NÏP           ÃHÅÃK ÆÏÒ ×ÏÒK SPAÃÅ ÏVÅÒÆÌÏ×       ÊSB PUÔ3N       ÉSZ ÌABÌà       ÌDA ÌABÅÌ       SÔA ÌBÌP²¬É       ÉSZ ÌBÌP²       ÊMP PUÔ3̬ɠ  NÏÒMAÌ ÅØÉÔ PUÔ3N NÏP       ÌDA ÌABÌà       AÌS           Ô×Ï ÌÏÃAÔÉÏNS PÅÒ ºkþúÌABÅÌ       ADA BÉÌD       ADA D´       ÌDB ÌBÌP±       ÃMB¬ÉNB       ADB A       SSB¬ÒSS       ÊMP PUÔ3M     ÏVÅÒÆÌÏ×       ÊMP PUÔ3N¬É PUÔ3M ÌDA B±6       ÏVÅÒÆÌÏ×       ÊSB PÒÉNÔ       ÊMP ÏPD±       SKP ª  ª  ª     PÏUÔ´    ÃD¬ÒD¬×D ª  PÏUÔ´ ÌDA PPÔ´       SÔA ×D±       SÔÏÒÅ ÔÒANSÆÅÒ VÅÃÔÏÒ       ÊSB PUÔ±H     ÌÏÏK ÆÏÒ ÃÏMMA       ÊSB PUԱؠ    NϬGÅÔ NÅØÔ ÆÉÅÌD       SÔA ×D²       ÌDA ÏPÃNÔ     ÉS       ØÏÒ B±6        ÉÔ       SZA¬ÒSS         ÒÅAD?       ÊSB PUÔ6D     YÅS¬ÌÉMÉÔ ×ÏÒD ÃÏUNÔ       ÌDA PÆÌAG     DÏNÅ?       SZA¬ÒSS       SKÉP ÉÆ YÅS       ÊMP PUÔ±A     ÅÒÒÏÒ       ÊMP PUÔ±B     ÅØÉÔ ª  ª  ª     PÏUÔ5    ÃB ª  PÏUÔ5 ÌDA PPÔ5       SÔA ×D±       ÔÒANSÆÅÒ VÅÃÔÏÒ       ÃÌA¬ÉNA       SÔA ×D3       DÅÆAUÌÔ NUMBÅÒ ÏÆ ÅÒÒÏÒ PÒÉNÔS       ÊSB ÃHAÒ       ÊMP PUÔ5B     DÏNÅ       ÊSB PUÔ±G     ÃHÅÃK ÃÏMMA       ÊSB DÃHAÒ       ÊMP PUÔ5A     DÏNÅ ÏÒ ÅÒÒÏÒ?       ÉSZ DÆÌÔ      SKÉP ÏN DÅÆAUÌÔ       SÔA ×D²       ÊSB DÃHAÒ       ÒSS       ÊMP PUÔ±A     ÅÒÒÏÒ       ÊSB PUԱŠ    DÏNÅ ÏÒ ÅÒÒÏÒ?       ÉSZ DÆÌÔ      SKÉP ÏN DÅÆAUÌÔ       SÔA ×D3       ÊMP PUÔ5B PUÔ5A ÊSB PUԱŠ      ÉSZ DÆÌÔ      SKÉP ÏN DÅÆAUÌÔ       SÔA ×D² PUÔ5B ÌDA D´       ÊMP PUԱƠ    ÅØÉÔ       SKP ª  ª     PÏUÔ6    DB ª  PÏUÔ6 ÌDA PPÔ6       SÔA ×D±       SÔÏÒÅ ÔÒANSÆÅÒ VÅÃÔÏÒ       ÊSB PUÔ±H     ÌÏÏK ÆÏÒ ÃÏMMA       ÊSB DÃHAÒ       ÊMP PUÔ6à    DÏNÅ ÏÒ ÅÒÒÏÒ?       ÉSZ DÆÌÔ      SKÉP ÏN DÅÆAUÌÔ       SÔA ×D²       ÊSB PUÔ6D       ÊSB ÏÃHAÒ       ÊMP PUÔ6A     DÏNÅ ÏÒ ÅÒÒÏÒ?       ÊSB PUÔ6B       ÊSB ÃHAÒ       ÊMP PUÔ±A     ÅÒÒÏÒ       ØÏÒ B±03      Ã       SZA       ÊMP PUÔ±A     ÅÒÒÏÒ       ÌDA ×D²       ÉÏÒ BÉÔ±´       SÔA ×D²       ÊSB ÃHAÒ       ÊMP PUÔ5B     SHÏUÌD BÅ DÏNÅ       ÊMP PUÔ±A     ÅÒÒÏÒ PUÔ6A ÊSB PUԱŠ    DÏNÅ ÏÒ ÅÒÒÏÒ?       ÊSB PUÔ6B       ÊMP PUÔ5B PUÔ6B NÏP       ÉSZ DÆÌÔ      SKÉP ÉÆ DÅÆAUÌÔ       ÒSS           ÏK       ÊMP PUÔ±A     ÅÒÒÏÒ       SÔA ×D3       ÌDÏ]þúA BÉÔ±5       ÉÏÒ ×D²       SÔA ×D²       ÊMP PUÔ6B¬É PUÔ6àÊSB PUԱŠ    DÏNÅ ÏÒ ÅÒÒÏÒ?       ÉSZ DÆÌÔ      SKÉP ÉÆ DÅÆAUÌÔ       SÔA ×D²       ÊSB PUÔ6D       ÊMP PUÔ±B     ÅØÉÔ PUÔ6D NÏP           ÃHÅÃK ×D² - MUSÔ NÏÔ BÅ GÒÅAÔÅÒ       ÌDA ×D²       ÔHAN ±0²´       SSA           MUSÔ BÅ       ÊMP PUÔ±A      PÏSÉÔÉVÅ       ÃMA¬ÉNA       ADA D±0²´       SSA       ÊMP PUÔ±A     ÅÒÒÏÒ       ÊMP PUÔ6D¬É       SKP ª  ª     PÏUÔ·    ÅN ª  PÏUÔ· ÌDA PPÔ· PUÔ·G SÔA ×D±       SÔÏÒÅ ÔÒANSÆÅÒ VÅÃÔÏÒ       ÌDB ÌABÌà    NUMBÅÒ ÏÆ ÌABÅÌS       ÌDA ÌBÌP±       ÉNA       SÔA ÌBÌP² PUÔ·D SZB¬ÒSS       SÅAÒÃH ÆÏÒ       ÊMP PUÔ·B      UNDÅÆÉNÅD ÌABÅÌS       ÌDA ÌBÌP²¬É       SZA¬ÒSS       ÊMP PUÔ·Ã       ÌDA ÌBÌP²       ADA MM²       SÔA ÌBÌP²       ADB MM±       ÊMP PUÔ·D PUÔ·B ÊSB ÃHAÒ       ÊMP PUÔ·Æ     NÏÒMAÌ SÔAÒÔ       ÊSB PUÔ3K       ÊSB ÃHAÒ      ÃHÅÃK NÅØÔ ÃHAÒAÃÔÅÒ       ÒSS           ÏK-SKÉP       ÊMP PUÔ±A     ÅÒÒÏÒ-ÔÏÏ MANY ÃHAÒAÃÔÅÒS       ÊSB PUÔ3D     SÅAÒÃH ÔABÌÅ       ÊMP PUÔ·A     DÉD NÏÔ ÆÉND ÉÔ       ÉSZ ÌBÌP²     ÆÏUND ÉÔ       ÌDA ÌBÌP²¬É       SÔA ÏPSÒÔ PUÔ·Æ ÌDA D²       ÊSB BUÉÌD       ÊMP ÏPSÒԬɠ  SÔAÒÔ ÅØÅÃUÔÉÏN PUԷàÌDB ÌBÌP²       ADB MM±       ÌDA B¬É PUÔ·Å SÔA P056A¬É H56   ÌDA B56       UNDÅÆÉNÅD ÌABÅÌ¬ØØ       ÊSB PÒÉNÔ       ÊMP ÏPD± PUÔ·A ÌDA ÌABÅÌ       ÊMP PUÔ·Å       SKP ª  ª  ª     PÏUÔ¸    SD ª  PÏUÔ¸ ÌDA PPÔ¸       SÔA ×D±       SÅÔ UP ÔÒANSÆÅÒ VÅÃÔÏÒ       ÊSB ÃHAÒ       ÊMP PUÔ±A     ÅÒÒÏÒ       ÊSB PUÔ±G     ÃHÅÃK ÃÏMMA       ÊSB DÃHAÒ       ÒSS           SHÏUÌD BÅ DÏNÅ       ÊMP PUÔ±A     ÅÒÒÏÒ       ÊSB PUԱŠ    ÅÒÒÏÒ ÏÒ DÏNÅ?       ÉSZ DÆÌÔ      DÅÆAUÌÔ?       ÒSS           NÏ       ÊMP PUÔ±A     YÅS       SÔA ×D²       ÊMP PUÔ±B     ÅØÉÔ ª  ª  ª     PÏUÔ9    ×A ª  PÏUÔ9 ÌDA PPÔ9       SÔA ×D±       SÅÔ UP ÔÒANSÆÅÒ VÅÃÔÏÒ       ÃÌA       SÔA ×D²       DÅÆAUÌÔ ÃASÅ       ÊSB PUÔ±H     ÌÏÏK ÆÏÒ ÃÏMMA       ÊSB ÃHAÒ       NÏP     E7þú  ØÏÒ B±0´      ÉS ÉÔ A D?       SZA           SKÉP ÉÆ YÅS       ÊMP PUÔ9A     NÏ       ÌDA BÉÔ±´     DÅÆÅÃÔÉVÅ ÉNDÉÃAÔÏÒ PUÔ9B SÔA ×D²       ÊSB ÃHAÒ       ÒSS       ÊMP PUÔ±A       ÊMP PUÔ±B PUÔ9A ØÏÒ B²´       ÉS ÉÔ A P?       SZA           SKÉP ÉÆ YÅS       ÊMP PUÔ±A     NϬÅÒÒÏÒ       ÌDA BÉÔ±5     PÒÏÔÅÃÔÉVÅ ÉNDÉÃAÔÏÒ       ÊMP PUÔ9B       SKP ª  ª  ª     PÏÔ±0    SìHÔ ª  PÏÔ±0 ÌDA PPÔ±0     Sà       ÌDB ÏPÃNÔ       ADB MM±0      -±0       SZB¬ÒSS       SKÉP ÉÆ Sà       ÌDA PPÔ±3     HÔ       SÔA ×D±       SÔÏÒÅ ÔÒANSÆÅÒ VÅÃÔÏÒ       ÃÌA       SÔA ×D²       DÅÆAUÌÔ VAÌUÅ       ÊSB PUÔ±H     ÌÏÏK ÆÏÒ ÃÏMMA       ÊSB ÏÃHAÒ       ÒSS           ÏK       ÊMP PUÔ±A     ÅÒÒÏÒ       ÊSB PUԱŠ    DÏNÅ ÏÒ ÅÒÒÏÒ?       ÉSZ DÆÌÔ      SKÉP ÏN DÅÆAUÌÔ       SÔA ×D²       SÔÏÒÅ VAÌUÅ       ÊMP PUÔ±B     ÅØÉÔ       SKP ª  ª  ª     PÏÔ±±    ÅÅ ª  PÏÔ±± ÊSB ÃHAÒ       ÒSS           SKÉP ÉÆ DÏNÅ       ÊMP PUÔ±A     ÅÒÒÏÒ       ÌDA BÉÌD       ÃPA BPÔÏ       ÊMP ÏPD±      NÏÔHÉNG ÔÏ ÅÒASÅ       ADA MM±       ÌDA A¬É       SÔA ÌÏÃAÌ     PÒÅVÉÏUS ÔÒANSÆÅÒ VÅÃÔÏÒ       AÌÆ¬AÌÆ       AND B3··      ×ÏÒD ÃÏUNÔ       ÃMA¬ÉNA       ADA BÉÌD       SÔA BÉÌD      BÉÌD ½ BÉÌD - ×ÏÒD ÃÏUNÔ       ÌDA ÌÏÃAÌ       AND B3··       ØÏÒ B±5       ÉS ÉÔ ÌB       SZA¬ÒSS       ÊMP PÔ±±A     YÅS¬ÌB       ØÏÒ B´       SZA           SKÉP ÉÆ GÏ       ÊMP ÏPD±      ÅØÉÔ       ÌDA BÉÌD¬É       AND B±···     GÅÔ ADDÒÅSS       ADA PAGŸ     ½±6000B       SÔA ÌÏÃAÌ      ÏÆ ÒÅÆÅÒÅNÃÅD ÌABÅÌ       ÌDA ÌÏÃA̬ɠ  ÉS ÔHÉS ÌABÅÌ       SZA           DÅÆÉNÅD?       ÊMP ÏPD±      YÅS¬ÅØÉÔ       ÌDA BÉÌD¬É    SÅAÒÃH ÆÏÒ ÏÔHÅÒ ÒÅÆÅÒÅNÃÅS       SÔA ÔÅMP±     MASK USÅD ÔÏ SÅAÒÃH ÆÏÒ ÏÔHÅÒ       ÌDA BÉÌD      ÒÅÆÅÒÅNÃÅS       SÔA ÔÅMP²     PÏÉNÔÅÒ PÔ±±Ã ÃPA BPÔÏ       ÊMP PÔ±±B     NÏÔ ÆÏUND       ÌDA ÔÅMP²       ADA MM±       GÅÔ ÔÒANSÆÅÒ VÅÃÔÏÒ       ÌDA A¬É       AÌÆ¬AÌÆ       AND B3··      GÅÔ ×ÏÒD ÃÏUNÔ       ÃMA¬ÉNA       ADA ÔÅMP²     ADDÒŠþúÅSS ½ ADDÒÅSS - ×ÏÒD ÃÏUNÔ       SÔA ÔÅMP²       ÌDB ÔÅMP²¬É       ÃPB ÔÅMP±       ÊMP ÏPD±      ANÏÔHÅÒ ÒÅÆÅÒÅNÃÅ ×AS ÆÏUND       ÊMP PÔ±±Ã PÔ±±A ÌDA ÌBÌP±     SÅAÒÃH ÔABÌÅ ÆÏÒ ÌÏÃAÔÉÏN ÏÆ       ÉNA           ÔHÉS ÌABÅÌ PÔ±±Å SÔA ÌBÌP²       ÌDA ÌBÌP²¬É       ÃPA BÉÌD       ÊMP PÔ±±D     ÆÏUND ÉÔ       ÌDA ÌBÌP²       ADA MM²       ÊMP PÔ±±Å PÔ±±D SÔA ÔÅMP²     ×ÏÒK AÒÅA PÏÉNÔÅÒ       ÌDA ÌBÌP²       SÔA ÌÏÃAÌ     ADDÒÅSS ÏÆ ÌABÅÌ       AND B3···       ÉÏÒ ÊMPÉ      ½±²6000B       SÔA ÔÅMP±     MASK USÅD ÔÏ SÅAÒÃH ÆÏÒ ÏÔHÅÒ       ÃÌA           ÒÅÆÅÒÅNÃÅS       SÔA ÌÏÃA̬ɠ  ZÅÒÏ ÏUÔ ÌABÅÌ       ÌDA ÔÅMP²       ÊMP PÔ±±Ã PÔ±±B ÃÌA           NÏ ÒÅÆÅÒÅNÃÅ ÆÏUND       ÌDB ÌÏÃAÌ       ADB MM±       SÔA B¬É       ÌABÅÌ ½ 0       ÉNA       SÔA ÌÏÃA̬ɠ  ADDÒÅSS £ 0 ¬SÏ ÉÔ ×ÉÌÌ BÅ       ÊMP ÏPD±       DÅÆÉNÅD       SKP ª  ª  ª     PÏÔ±²    ÅP ª  PÏÔ±² ÅÑU ÏPDSN ª  ª  ª     PÏÔ±´    ÌP ª  PÏÔ±´ ÌDA PPÔ±´     ÔÒANSÆÅÒ VÅÃÔÏÒ       ÊMP PUÔ·G ª  ª     PÏÔ±5    ÒÔ ª  PÏÔ±5 ÌDA PPÔ±5       SÔA ×D±       SÔÏÒÅ ÔÒANSÆÅÒ VÅÃÔÏÒ       ÊSB ÃHAÒ       ÊMP PUÔ±A     ÅÒÒÏÒ       ÊSB PUÔ3K     GÅÔ ÌABÅÌ       ÊSB PUÔ3D     SÅAÒÃH ÔABÌÅ       ÊMP PUÔ·A     DÉD NÏÔ ÆÉND ÉÔ-ÅÒÒÏÒ       ÉSZ ÌBÌP²     ÆÏUND ÉÔ       ÌDA ÌBÌP²       AND B3···       ÉÏÒ ÊMPÉ      ½±²6000B       SÔA ×D´       ÊSB ÃHAÒ       ÊMP PUÔ±A     ÅÒÒÏÒ       ÊSB PUÔ±G       ÊSB DÃHAÒ     GÅÔ NUMBÅÒ ÏÆ ÔÉMÅS ÔÏ ÒÅPÅAÔ       ÒSS           ÏK-SKÉP       ÊMP PUÔ±A     ÅÒÒÏÒ       ÊSB PUԱŠ    DÏNÅ ÏÒ ÅÒÒÏÒ?       SÔA ×D²       ÃÌA       SÔA ×D3       ÌDA D5       ÊSB BUÉÌD       ÊMP ÏPD±       SKP ª  ª     ÔVP±     AÒ¬DS¬ÉS¬SÒ¬ÉÔ ª  ÔVP±  NÏP       ÊSB ÏPÅND     ÃHÅÃK ÆÏÒ ABÏÒÔ       ÌDB ÔVP±¬É    ×D²       ÌDA ÔVP±       SÔA ÌÏÃAÌ       SÔB ÃYÌ       ÃYÌÉNDÅÒ       ÉSZ ÔVP±       ÌDA ÔVP±¬É       AND B3··       SÔA SÅÃÔÒ     SÅÃÔÏÒ       ÌDA ÔVP±¬É       AÌÆ¬AÌÆ       AND B3··       SÔA HÅAD      HÅAD       ÉSZ ÔVP±       ÌDl÷þúA ÔVP±¬É    ×D´       ÉSZ ÔVP±       AND B3·       ÏP ÃÏDÅ       SZA       ÊMP ÔVP±A       ÌDA B±5       AÒ       ÊSB ÃÏPÒ       ÊSB SÅÅS       ÊMP ÔVP±¬É ÔVP±A ØÏÒ B²3       SZA       ÊMP ÔVP±B ÔVP±D ÌDA B´´       SÒ       ÊSB ÃÏPÒ       ÃÌB       ÊSB SÅÅK      SÅÅK       ÊSB ×AÉÔS     ×AÉÔ ÆÏÒ SÅÅK       ÌDA ÔVP±¬É    NÅØÔ ÔÒANSÆÅÒ VÅÃÔÏÒ       ÊSB ÔVP±G     ÃHÅÃK SÔAÔUS       ÊMP ÔVP±¬É    ÅØÉÔ ÔVP±B ØÏÒ B²6       SZA       ÊMP ÔVP±Ã       SZB¬ÒSS       DS       ÌDB D²03       ADB MM±       DÅÃÒÅMÅNÔ ÃYÌ ÔVP±Å SÔB ÌÏÃA̬ɠ  ÃHANGÅ ×D²       ÊMP ÔVP±D ÔVP±Ã ØÏÒ B±±       SZA       ÊMP ÔVP±Ô       ÉNB           ÉS       ÃPB D²03       ÃÌB       ÊMP ÔVP±Å ÔVP±G NÏP       ÃPA PPÔ±0     ÉS NÅØÔ ÔÒANSÆÅÒ VÅÃÔÏÒ Sà       ÊMP ÔVP±G¬É   YÅS       ÊSB ×ÃHK      NÏ       ÊMP ÔVP±G¬É ÔVP±Ô ÌDA HÅAD      ÉÔ       ÉNA           ÉNÃÒÅMÅNÔ HÅAD       ÃPA D²0       DÏ NÏÔ ÅØÃÅDÅ NUMBÅÒ ±9       ÊMP ÔVP±×     ÉNÃÒÅMÅNÔ ÃYÌ AND ÃÌÅAÒ HÅAD ÔVP±Ø AÌÆ¬AÌÆ       ÉSZ ÌÏÃAÌ       SÔA ÌÏÃA̬ɠ  SÔÏÒÅ HÅAD-SÅÃÔÏÒ       ÃÌA       SÔA SÅÃÔÒ       ÊMP ÔVP±D ÔVP±× ÌDA ÃYÌ       ÉNA           ÉNÃÒÅMÅNÔ ÃYÌ       ÃPA D²03      DÏ NÏÔ ÅØÃÅDÅ NUMBÅÒ ²0²       ÃÌA       SÔA ÌÏÃA̬ɠ  SÔÏÒÅ ÃYÌ       ÃÌA           ÃÌÅAÒ HÅAD       ÊMP ÔVP±Ø       SKP ª  ª  ª     ÔVP²     AS¬ÃŬÒìÒ̬ÒS¬SS¬SÔ¬ÒA¬ÃA ª  ÔVP²  NÏP       ÊSB ÏPÅND     ÃHÅÃK ÆÏÒ ABÏÒÔ       ÌDA ÔVP²¬É    ×D²       ÉSZ ÔVP²       AND B3·       ÏP ÃÏDÅ       ØÏÒ B±·       SZA       ÊMP ÔVP²A       ÌDA D±²¸+SZÒÅÆ  AS       SÔA ×ÃNÔ       ÌDA B60       ADDÒÅSS SKÉP ÉN S·       ÊSB ÃÏPÒ       ÊSB DMÒ       SÔAÒÔ DMA       ÌDA ADSK      ADDÒÅSS SKÉP ÃÏMMAND       ÊSB ÃÏMMD     ÉSSUÅ ÃÏMMAND       ÊSB DMAÔ      ×AÉÔ ÆÏÒ DMA ÔÏ ÆÉNÉSH       ÊSB SÔAÔ ÔVP²Z ÌDA ÔVP²¬É       ÊSB ÔVP±G     ÃHÅÃK SÔAÔUS       ÊMP ÔVP²¬É ÔVP²A ØÏÒ B3·       SZA       ÊMP ÔVP²Å       ÊSB ÒNÃHɬɠ  ÒS¬ ÒANDÏM ÃYÌÉNDÅÒ AND HÅAD       ÊSB ÒNSÃɬɠ  ÒANDÏM SÅÃÔÏÒ       ÌDA ÔVP²   *hþú    SÔA ÔVP±       ÊMP ÔVP±D ÔVP²Å ØÏÒ D6       SZA       ÊMP ÔVP²B       ÌDA ÔVP²      ÒÌ       SÔA ÔVP±       ÊMP ÔVP±D ÔVP²B ØÏÒ B²5       SZA       ÊMP ÔVP²Æ       SÔA SÅÃÔÒ     ÃÅ ÔVP²Ã ÌÉA ±       AND B3       ÃPA B3       ÊMP ÔVP²¬É    S×Ò ½ 3 DÏNÅ       AND B²       SZA¬ÒSS       ÊMP ÔVP²D       ÌDA D9        S×Ò ½ ² ÃY̽±±¸¬HÅAD½9       SÔA HÅAD       ÌDA D±±¸       ÊMP ÔVP²Ø ÔVP²D SÔA HÅAD      S×Ò ½ 0¬± ÃY̽·3¬HÅAD½0       ÌDA D·3 ÔVP²Ø SÔA ÃYÌ       ÌDA B´´       ÊSB ÃÏPÒ       ÃÌB       ÊSB SÅÅK      SÅÅK ÒÅÃÏÒD       ÊSB ×AÉÔS     ×AÉÔ ÆÏÒ SÅÅK       ÊSB ×ÃHK       ÊMP ÔVP²Ã     ÃYÃÌÅ ÔVP²Æ ØÏÒ B33       SZA       ÊMP ÔVP²H       ÌDA B6±       Òà       ÊSB ÃÏPÒ       ÃÌB       ÌDA ÒÅÃAÌ     ÒÅÃAÌÉBÒAÔÅ ÃÏMMAND       ÊSB ÃÏMMD     ÉSSUÅ ÒÅÃAÌÉBÒAÔÅ       ÊSB ×AÉÒ      ×AÉÔ ÆÏÒ ÒÅÃAÌÉBÒAÔÅ ÔÏ ÆÉNÉSH ÔVP²Ê ÊSB SÔAÔ       ÊMP ÔVP²Z ÔVP²H ØÏÒ D±       SZA       ÊMP ÔVP²É       SÔA SUPP      SS       ÊMP ÔVP²¬É ÔVP²É ØÏÒ D3       SZA       ÊMP ÔVP²×       ÉNA           SÔ       SÔA SUPP       ÊMP ÔVP²Ê ÔVP²× ØÏÒ B±5       SZA       ÊMP ÔVP²Y       ÌDA D²+SZÒÅÆ  ÒA       SÔA ×ÃNÔ       ÌDA B3·       ÊSB ÃÏPÒ       ÊSB DMÒ       SÅÔ UP DMA       ÌDA ÒÅADA     ÒÅAD ADDÒÅSS ÃÏMMAND       ÊSB ÃÏMMD     ÉSSUÅ ÃÏMMAND       ÊSB DMAÔ      ×AÉÔ ÆÏÒ DMA ÔÏ ÃÏMPÌÅÔÅ       ÊSB SÔAÔ       ÊMP ÔVP²Z ÔVP²Y ÌDA ÔVP²      ÃA¬SÅÔ UP       SÔA ×ÃHK       ÒÅÔUÒN ADDÒÅSS       ÊMP ÃÒAKÉ¬É       SKP ª  ª  ª     ÔVP´     ÃD¬ÒD¬×D ª  ÔVP´  NÏP       ÊSB ÏPÅND     ÃHÅÃK ÆÏÒ ABÏÒÔ       ÌDA ÔVP´¬É    ×D²       SÔA ×ÃNÔ       ÉSZ ÔVP´       ÌDA ÔVP´¬É    ×D3       ÉSZ ÔVP´       AND B3··      ÏP ÃÏDÅ       ØÏÒ B±6       SZA       ÊMP ÔVP´A       ÌDA B´6       ÒD       ÊSB ÒÅAD ÔVP´Ã ÌDA ÔVP´¬É       ÊSB ÔVP±G     ÃHÅÃK SÔAÔUS       ÊMP ÔVP´¬É    ÅØÉÔ ÔVP´A ØÏÒ B3²       SZA       ÊMP ÔVP´B       ÌDA B´5       ×D       ÊSB ×ÒÉÔÅ       ÊMP ÔVP´Ã ÔVP´B ÌDA B²²       ÃD       SÔˆ‡0.*A ÃÏPÒN       ÃÌB       ÌDA ×ÃNÔ       AÌÆ¬AÌÆ       ÒAÌ       AND B···      SÅÃÔÏÒ ÃÏUNÔ       SÔA ×ÃNÔ       ÊSB DADÏ       ÌDA ÃYÃHK     ÃYÃÌÉàÃHÅÃK ÃÏMMAND       ÊSB ÃÏMMD       ÊSB ×AÉÔS       ÊMP ÔVP´Ã       SKP ]è0ÿÿ ÿýÍ Ú ÿ12965-18009 1451 S 0122 09DIAG 2883A/2884A DISC AND 12565A INTFC             H0101 áQþú ª  ª  ª     ÔVP5     ÃB ª  ÔVP5  NÏP       ÊSB ÏPÅND     ÃHÅÃK ÆÏÒ ABÏÒÔ       ÌDA ÔVP5¬É    ×D²       SÔA ×ÃNÔ       ÉSZ ÔVP5       ÌDA ÔVP5¬É    ×D3       SÔA NUMP       ÉSZ ÔVP5       ÊSB DÃHK      ÃÏMPAÒÅ BUÆÆÅÒS       ÉSZ ÔVP5       ÌDA D±       SÔA NUMP       ÊMP ÔVP5¬É       SKP ª  ª  ª     ÔVP6     DB ª  ÔVP6  NÏP       ÊSB ÏPÅND     ÃHÅÃK ÆÏÒ ABÏÒÔ       ÌDA ÔVP6¬É    ×D²       ÌDB A       AND D····     ½3····       SÔA ×ÃNÔ       SZA¬ÒSS       ÊMP ÔVP6Æ     ×ÏÒD ÃÏUNÔ ½ 0       ÌDA ×ÃNÔ       ÃMA¬ÉNA       SÔA ×ÃNÔ      ×ÃNÔ ½ -×ÃNÔ       ÌDA BPÔÒ       SÔA ÌÏÃAÌ       SSB       ÊMP ÔVP6A     Æ½± ÔVP6B ÊSB ÒAND      Æ½0       ÊSB ÔVP6Å     SÔÏÒÅ ÉN BUÆÆÅÒ¬ÃHÅÃK ÆÏÒ ÅND       ÊMP ÔVP6B ÔVP6A ÒBÌ       SSB       ÃÌB           Ã½0¬Æ½±       ÉSZ ÔVP6      Ã½±¬Æ½±       ÌDA ÔVP6¬É ÔVP6àÊSB ÔVP6Å     SÔÏÒÅ ÉN BUÆÆÅÒ¬ÃHÅÃK ÆÏÒ ÅND       SZB¬ÒSS       ÃMA       ÊMP ÔVP6à ÔVP6Å NÏP       SÔA ÌÏÃA̬ɠ  SÔÏÒÅ A ÉN BUÆÆÅÒ       ÉSZ ÌÏÃAÌ       ÉSZ ×ÃNÔ      DÏNÅ?       ÊMP ÔVP6Ŭɠ  NÏ ÔVP6G ÉSZ ÔVP6      YÅS       ÉSZ ÔVP6       ÊMP ÔVP6¬É    ÅØÉÔ ÔVP6Æ SSB           ÔÅSÔ ÆÏÒ       ÉSZ ÔVP6       DB¬0       ÊMP ÔVP6G       SKP ª  ª  ª     ÔVP¸     SD ª  ÔVP¸  NÏP       ÊSB ÏPÅND     ÃHÅÃK ÆÏÒ ABÏÒÔ       ÌDA ÔVP¸¬É    ×D²       ÉSZ ÔVP¸       SÔA UNÉÔ      SÔÏÒÅ UNÉÔ NUMBÅÒ       ÉSZ ÔVP¸       ÊMP ÔVP¸¬É    ÅØÉÔ ª  ª  ª     ÔVP9     ×A ª  ÔVP9  NÏP       ÊSB ÏPÅND     ÃHÅÃK ÆÏÒ ABÏÒÔ       ÌDB ÔVP9¬É       ÌDA D´6+SZÒÅÆ       SÔA ×ÃNÔ       ÃÌA       SSB       ÌDA ×ÒÉÌB     PÒÏÔÅÃÔÉVÅ ÔÒAÃK ÉNDÉÃAÔÏÒ       ÒBÌ       SSB¬ÒSS       ÊMP ÔVP9A       ÃÌB       ÌDA ÃYÌ       ÃHANGÅ ÃYÌÉNDÅÒ NUMBÅÒ       ÃPA D²0²       SÔB ÃYÌ       ÉSZ ÃYÌ       ÌDA DÆÔB ÔVP9A ÉÏÒ ÃYÌ       SÔA ÃYÌ       ÊSB ×ÒAÌÉ¬É       ÊSB ×ADÒɬɠ  ×ÒÉÔÅ ADDÒÅSS       ÉSZ ÔVP9       ÉSZ ÔVP9       ÌDA ÔVP9¬É       ÊSB ÔVP±G    ÃHÅÃK SÔAÔUS       ÊMP ÔVP9¬É    ÅØÉÔ ª  ª  ª     ÔVP±œ þú0    Sà ª  ÔVP±0 NÏP       ÊSB ÏPÅND     ÃHÅÃK ÆÏÒ ABÏÒÔ       ÌDA ÔVP±0¬É   ×D²       SÔA SHÔAS     ÅØPÅÃÔÅD SÔAÔUS       ÉSZ ÔVP±0       ÉSZ ÔVP±0       ÊSB ×ÃHK       ÃÌA       SÔA SHÔAS     ÒÅSÅÔ ÅØPÅÃÔÅD SÔAÔUS       ÊMP ÔVP±0¬É       SKP ª  ª  ª     ÔVP±3    HÔ ª  ÔVP±3 NÏP       ÊSB ÏPÅND     ÃHÅÃK ÆÏÒ ABÏÒÔ       ÌDA ÔVP±3¬É   HAÌÔ ÃÏDÅ       HÌÔ ²       ÉSZ ÔVP±3       ÉSZ ÔVP±3       ÊMP ÔVP±3¬É ª  ª  ª     ÔVP±´    ÌP ª  ÔVP±´ ÊSB ÏPÅND     ÃHÅÃK ÆÏÒ ABÏÒÔ       ÊMP BPÔÏ¬É ª  ª  ª     ÔVP±5    ÒÔ ª  ÔVP±5 NÏP       ÊSB ÏPÅND     ÃHÅÃK ÆÏÒ ABÏÒÔ       ÌDA ÔVP±5¬É   NUMBÅÒ ÏÆ ÔÉMÅS ÔÏ ÒÅPÅAÔ       ÉSZ ÔVP±5       ÃPA ÔVP±5¬É   DÏNÅ?       ÊMP ÔV±5A     YÅS       ÉSZ ÔVP±5¬É       ÉSZ ÔVP±5       ÊMP ÔVP±5¬É   ÊUMP ÔÏ ÌABÅÌ ÔV±5A ÃÌA       SÔA ÔVP±5¬É   ÒÅSÅÔ ÃÏUNÔ       ÉSZ ÔVP±5       ÉSZ ÔVP±5       ÉSZ ÔVP±5       ÊMP ÔVP±5¬É       SKP ª  ª  ª  ª  ª     ÔÒANSÆÅÒ VÅÃÔÏÒS ª  ª  ª     PÏÉNÔÅÒS USÅD BY ÔÒANSÆÅÒ VÅÃÔÏÒS ª  ª  ÃÏDÅàABS -ª-² ÃÏDÅÅ DÅÆ ª+±       AS౬AÒ      0       AS౬ÃB      ±       AS౬ÃD      ²       AS౬ÃÅ      3       AS౬DB      ´       AS౬DS      5       AS౬ÅÅ      6       AS౬ÅN      ·       AS౬ÅP      ±0       AS౬GÏ      ±±       AS౬HÔ      ±²       AS౬×A      ±3       AS౬ÉS      ±´       AS౬ÌB      ±5       AS౬ÒD      ±6       AS౬AS      ±·       AS౬ÒS      ²0       AS౬Sà     ²±       AS౬SD      ²²       AS౬SÒ      ²3       AS౬×D      ²´       AS౬ÌP      ²5       AS౬ÒÌ      ²6       AS౬ÒA      ²·       AS౬Òà     30       AS౬SS      3±       AS౬SÔ      3²       AS౬ÉÔ      33       AS౬ÃA      3´       AS౬ÒÔ      35 ÃÏDÅÆ DÅÆ ª       SKP ª  ª     ÔABÌÅ ÏÆ ÏP ÃÏDÅS ª  ª  ª  ª     ÃÏDÅ GÅNÅÒAÔÏÒ ÔÒANSÆÅÒ ÔABÌÅ ª  ÏUÔà DÅÆ ª+±       DÅÆ PÏUÔ±     AÒ       DÅÆ PÏUÔ5     ÃB       DÅÆ PÏUÔ´     ÃD       DÅÆ PÏUÔ²     ÃÅ       DÅÆ PÏUÔ6     DBÆUþú       DÅÆ PÏUÔ±     DS       DÅÆ PÏÔ±±     ÅÅ       DÅÆ PÏUÔ·     ÅN       DÅÆ PÏÔ±²     ÅP       DÅÆ PÏUÔ3     GÏ       DÅÆ PÏÔ±0     HÔ       DÅÆ PÏUÔ9     ×A       DÅÆ PÏUÔ±     ÉS       DÅÆ PÏUÔ3     ÌB       DÅÆ PÏUÔ´     ÒD       DÅÆ PÏUÔ²     AS       DÅÆ PÏUÔ²     ÒS       DÅÆ PÏÔ±0     Sà       DÅÆ PÏUÔ¸     SD       DÅÆ PÏUÔ±     SÒ       DÅÆ PÏUÔ´     ×D       DÅÆ PÏÔ±´     ÌP       DÅÆ PÏUÔ²     ÒÌ       DÅÆ PÏUÔ²     ÒA       DÅÆ PÏUÔ²     Òà       DÅÆ PÏUÔ²     SS       DÅÆ PÏUÔ²     SÔ       DÅÆ PÏUÔ±     ÉÔ       DÅÆ PÏUÔ²     ÃA       DÅÆ PÏÔ±5     ÒÔ       HÅD PAÃK² ª     PAÃK² ª      ÉNPUÔ Ô×Ï ÃHAÒAÃÔÅÒS PAÃKÅD ÉNÔÏ ÏNÅ ×ÏÒD ª      SKÉPS ÏN ÅÒÒÏÒ-ÆÒÅÅ ÅØÉÔ ª  PAÃK² NÏP       ÊSB ÃHAÒ      ÆÉÒSÔ ÃHAÒAÃÔÅÒ       ÊMP PAÃK²¬É   ÅÒÒÏÒ       AÌÆ¬AÌÆ       PÏSÉÔÉÏN ÔÏ ÌÅÆÔ ÃHAÒAÃÔÅÒ       SÔA ÌÏÃAÌ     SAVÅ       ÊSB ÃHAÒ      SÅÃÏND ÃHAÒAÃÔÅÒ       ÊMP PAÃK²¬É   ÅÒÒÏÒ       ÉÏÒ ÌÏÃAÌ     PAÃK ÔÏGÅÔHÅÒ       ÉSZ PAÃK²       ÊMP PAÃK²¬É       HÅD BUÉÌD¬ÏPÅND ª  ª     BUÉÌD ª      ÔÒANSÆÅÒS ÃÏDÅ ÆÒÏM ×D±¬×D²¬×D3 AND ×D´ ÔÏ ª      ÔHÅ ×ÏÒK AÒÅA. ª      ÏN ÅNÔÒY A½ NUMBÅÒ ÏÆ ×ÏÒDS ÔÏ ÔÒANSÆÅÒ ª  BUÉÌD NÏP       ÌDB A         SAVÅ ÃÏUNÔ       ADB ×D0       ÆÏÒM PÏÉNÔÅÒ ÔÏ NÅØÔ ×ÏÒD       SÔB ÌÏÃAÌ       AÌÆ¬AÌÆ       ÆÏÒM ×ÏÒD N       ADA ÏPÃNÔ       SÔA B¬É       SÔÏÒÅ ÉNÔÏ ÔÒANSÆÅÒ AÒÅA       ÊSB PÔ3Nɬɠ  ÃHÅÃK ÆÏÒ ÏVÅÒÆÌÏ×       ÌDA ×D0 BU̱  ÉNA       ÌDB A¬É       ÔÒANSÆÅÒ       SÔB BÉÌD¬É     ÔÏ ×ÏÒK AÒÅA       ÉSZ BÉÌD       ÃPA ÌÏÃAÌ     DÏNÅ?       ÊMP BUÉÌD¬É   YÅS       ÊMP BU̱      NÏ ª  ª  ª     ÏPÅND ª      ÃHÅÃKS ÆÏÒ ABÏÒÔ (BÉÔ3½0© ª  ÏPÅND NÏP       ÌÉA ±       AND BÉÔ3       SZA¬ÒSS       ÉS BÉÔ3 ½0?       ÊMP DÏNŬɠ   YÅS¬ABÏÒÔ       ÊMP ÏPÅND¬É   NϬÏK       HÅD MÅSSAGÅ ÔABÌÅS (ÃÏNÔÉNUÅD© ª  ª     MÅSSAGÅ ADDÒÅSS ÔABÌÅ ª  ÆMÉ   DÅÆ ª+±       DÅÆ M0       DÅÆ M±       DÅÆ M²       DÅÆ M3       DÅÆ M´       DÅÆ M5       DÅÆ M6       DÅÆ M·       DÅÆ M±0       LþúDÅÆ M±±       DÅÆ M±²       DÅÆ M±3       DÅÆ M±´       DÅÆ M±5       DÅÆ M±6       DÅÆ M±·       DÅÆ M²0       DÅÆ M²±       DÅÆ M²²       DÅÆ M²3       DÅÆ M²´       DÅÆ M²5       DÅÆ M²6       DÅÆ M²·       DÅÆ M30       DÅÆ M3±       DÅÆ M3²       DÅÆ M33       DÅÆ M3´       DÅÆ M35       DÅÆ M36       DÅÆ M3·       DÅÆ M´0       DÅÆ M´±       DÅÆ M´²       DÅÆ M´3       DÅÆ M´´       DÅÆ M´5       DÅÆ M´6       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ÅÆ M·0       DÅÆ M·±       DÅÆ M·²       DÅÆ M·3       DÅÆ M·´       SKP ª  ª     MÅSSAGÅ ÌÅNGÔH ÔABÌÅ ª  ÆMÌ   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ÅÆ Ì²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ÅÆ Ì·±       DÅÆ Ì·²       DÅÆ Ì·3       DÅÆ Ì·´       HÅD MÅSSAGÅS Eƒÿÿ ÿýÎ Ø ÿ12965-18010 1451 S 0122 10DIAG 2883A/2884A DISC AND 12565A INTFC             H0101 ÙIþú ª  ª     MÅSSAGÅS ª  ª        SUP M²    ASà±5¬Å² ÃÌÆ ÏÒ SÆS ÆAÉÌÅD-ÃHANNÅÌ Ê00²A BSS ± ̲    ÅÑU ª+ª-M²-M² M3    ASà±9¬Å3 SÆÃ ÆAÉÌÅD ×ÉÔH ÆÌAG ÃÌÅAÒ-ÃHANNÅÌ Ê003A BSS ± Ì3    ÅÑU ª+ª-M3-M3 M´    ASà±5¬Å´ SÔÆ ÏÒ SÆÃ ÆAÉÌÅD-ÃHANNÅÌ Ê00´A BSS ± Ì´    ÅÑU ª+ª-M´-M´ M5    AS౸¬Å5 SÆS ÆAÉÌÅD ×ÉÔH ÆÌAG SÅÔ-ÃHANNÅÌ Ê005A BSS ± Ì5    ÅÑU ª+ª-M5-M5 M6    ASà±´¬Å6 NÏ ÉNÔÅÒÒUPÔ ÏN ÃHANNÅÌ Ê006A BSS ± Ì6    ÅÑU ª+ª-M6-M6 M·    ASà±6¬Å· ×ÒÏNG ÒÅÔUÒN ADDÒÅSS-ÃHANNÅÌ Ê00·A BSS ± Ì·    ÅÑU ª+ª-M·-M· M±0   ASà±0¬Å±0 NÏ ÃÏMMAND ÆÌAG ̱0   ÅÑU ª+ª-M±0-M±0 M±±   ASà09¬Å±± ÌAÔÅ DAÔA ÆÌAG ̱±   ÅÑU ª+ª-M±±-M±± M±²   ASà±6¬Å±² NÏ DAÔA ÆÌAG(GÅÔÔÉNG SÔAÔUS© ̱²   ÅÑU ª+ª-M±²-M±² M±3   ASà0²¬Å±3 ÊP±3A BSS ²       ASà±0¬ ×ÏÒDS ÔÒANSÆÅÒÒÅD ÊP±3B BSS ²       ASà05¬ ÅØPÅÃÔÅD ̱3   ÅÑU ª+ª-M±3-M±3 M±´   ASà±5¬Å±´ NÏ ÃÏMMAND ÆÌAG(USÉNG DMA© ̱´   ÅÑU ª+ª-M±´-M±´ M±5   ASà±±¬H±5 ADDÒÅSS ÒÅÃÏÒD ÉN ÊP±5A BSS ± ̱5   ÅÑU ª+ª-M±5-M±5 M±6   ASà06¬H±6 ÏVÅÒÆÌÏ× Ì±6   ÅÑU ª+ª-M±6-M±6 M±·   ASà±0¬H±· DUPÌÉÃAÔÅ ÌABÅÌ Ì±·   ÅÑU ª+ª-M±·-M±· M²0   ASà±3¬H²0 UNDÅÆÉNÅD ÉNSÔÒUÃÔÉÏN ̲0   ÅÑU ª+ª-M²0-M²0 M²±   ASà±±¬Å²± ADDÒÅSS ÒÅAD ×AS ÊP²±A BSS 3       ASà03¬ AND ÊP²±B BSS 3 ̲±   ÅÑU ª+ª-M²±-M²± M²²   ASà±0¬H²² ÃYÃÌÉàÃHÅÃK ÉN ÊP²²A BSS ± ̲²   ÅÑU ª+ª-M²²-M²² M²3   ASà09¬H²3 ÒÅAD ÃHÅÃK ÉN ÊP²3A BSS ± ̲3   ÅÑU ª+ª-M²3-M²3 M²´   ASà09¬H²´ ÃYÌÉNDÅÒ ÔABÌÅ       ÏÃÔ 06´±² ÊP²´A BSS ²0 ̲´   ÅÑU ª+ª-M²´-M²´ M²5   ASà±²¬H²5 ×ÉSH ÔÏ AÌÔÅÒ ÔABÌÅ? ̲5   ÅÑU ª+ª-M²5-M²5 M²6   ASà²0¬H²6 ÅNÔÅÒ ÃYÌÉNDÅÒS SÅPAÒAÔÅD BY ÃÏMMAS ̲6   ÅÑU ª+ª-M²6-M²6 M²·   ASà09¬H²· PAÔÔÅÒN ÔABÌÅ       ÏÃÔ 06´±² ÊP²·A BSS ´± ̲·   ÅÑU ª+ª-M²·-M²· M30   ASà±9¬H30 ÅNÔÅÒ PAÔÔÅÒNS SÅPAÒAÔÅD BY ÃÏMMAS Ì30   ÅÑU ª+ª-M30-M30 M3±   ASà0¸¬H3± ÉNPUÔ ÅÒÒÏÒ Ì3±   ÅÑU ª+ª-M3±-M3± M3²   ASà09¬H3² ÒÅSÅÔ S×ÉÔÃH ² Ì3²   ÅÑU ª+ª-M3²-M3² M33   ASà±6¬H33 ×ÒÉÔÅ DÅÆÅÃÔÉVÅ ÔÒAÃK ÉN S0 Ì33   ÅÑU ª+ª-M33-M33 M3´   ASà±5¬H3´ ÒÅAD PÒÏÔÅÃÔÅD ÔÒAÃK ÉN SW­þú0 Ì3´   ÅÑU ª+ª-M3´-M3´ M35   ASà09¬H35 ÉNÉÔÉAÌ SÔAÔUS Ì35   ÅÑU ª+ª-M35-M35 M36   ASà±±¬H36 ×ÒÉÔÅ ADDÒÅSS ÉN ÊP36A BSS ± Ì36   ÅÑU ª+ª-M36-M36 M3·   ASà±0¬H3· ÒÅAD ADDÒÅSS ÉN ÊP3·A BSS ± Ì3·   ÅÑU ª+ª-M3·-M3· M´0   ASà0¸¬H´0 ÅNABÌÅ UNÉÔ ÊP´0A BSS ± Ì´0   ÅÑU ª+ª-M´0-M´0 M´±   ASà±5¬H´± ÒÅAD DÅÆÅÃÔÉVÅ ÔÒAÃK ÉN S0 Ì´±   ÅÑU ª+ª-M´±-M´± M´²   ASà±6¬H´² ×ÒÉÔÅ PÒÏÔÅÃÔÅD ÔÒAÃK ÉN S0 Ì´²   ÅÑU ª+ª-M´²-M´² M´3   ASà05¬H´3 UNÉÔ ÊP´3A BSS ±       ASà±±¬ NÏÔ ÒÅADY ÃHÅÃK ÉN S0 Ì´3   ÅÑU ª+ª-M´3-M´3 M´´   ASà06¬H´´ SÅÅK ÉN ÊP´´A BSS ± Ì´´   ÅÑU ª+ª-M´´-M´´ M´5   ASà0·¬H´5 ×ÒÉÔÅ ÉN ÊP´5A BSS ± Ì´5   ÅÑU ª+ª-M´5-M´5 M´6   ASà06¬H´6 ÒÅAD ÉN ÊP´6A BSS ± Ì´6   ÅÑU ª+ª-M´6-M´6 M´·   ASà0·¬Å´· DAÔA ×ÏÒD ÊP´·A BSS ²       ASà0²¬ ÉS ÊP´·B BSS 3       ASà06¬ SHÏUÌD BÅ ÊP´·Ã BSS 3 Ì´·   ÅÑU ª+ª-M´·-M´· M50   ASà09¬H50 ÏVÅÒÒUN ÉN S± Ì50   ÅÑU ª+ª-M50-M50 M5±   ASà0´¬H5± ÃYÌ ÊP5±A BSS ²       ASà03¬ HÅAD ÊP5±B BSS ±       ASà0´¬ SÅÃÔÏÒ ÊP5±Ã BSS ±       ASà06¬ ×ÏÒD ÃÏUNÔ ÊP5±D BSS ²       ASà03¬ UNÉÔ ÊP5±Å BSS ± Ì5±   ÅÑU ª+ª-M5±-M5± M5²   ASà±0¬Å5² BUÆÆÅÒ ÃHÅÃKSUM ÊP5²A BSS 3       ASà03¬ ÃYÌ ÊP5²B BSS 3       ASà0±¬ ( ÊP5²D BSS ²       ASà03¬©HD¯S ÊP5²Ã BSS 3       ASà0²¬ (H½ ÊP5²Å BSS ±       ASà0²¬  S½ ÊP5²Æ BSS ±       ASà0±¬© Ì5²   ÅÑU ª+ª-M5²-M5² M53   ASà±5¬H53 AVÅÒAGÅ MÉNÉMUM SÅÅK ÔÉMÅ ÊP53A BSS ± ÊP53B BSS ± Ì53   ÅÑU ª+ª-M53-M53 M5´   ASà±5¬H5´ AVÅÒAGÅ ÒANDÏM SÅÅK ÔÉMÅ ÊP5´A BSS 3       ASà0´¬¬ÌÅNGÔH ÊP5´B BSS ² Ì5´   ÅÑU ª+ª-M5´-M5´ M55   ASà±±¬H55 ÅNÔÅÒ ÉNSÔÒUÃÔÉÏNS Ì55   ÅÑU ª+ª-M55-M55 M56   ASà±0¬H56 UNDÅÆÉNÅD ÌABÅÌ ÊP56A BSS ± Ì56   ÅÑU ª+ª-M56-M56 M5·   ASà±²¬H5· ÏVÅÒÒUN ÃHÅÃK ÉN S± Ì5·   ÅÑU ª+ª-M5·-M5· M60   ASà±0¬H60 ADDÒÅSS SKÉP ÉN ÊP60A BSS ± Ì60   ÅÑU ª+ª-M60-M60 M6±   ASà±0¬H6± ÒÅÃAÌÉBÒAÔÅ ÉN ÊP6±A BSS ± Ì6±   ÅÑU ª+ª-M6±-M6± M6²   ASà±²¬Å6² SÅÃÔÏÒ MÉSSÉNG ÉN S± Ì6²   ÅÑU ª+ª-M6²-M6² M63   ASà0¸¬Å63 NÏ DAÔA ÆÌAG Ì63 2þú  ÅÑU ª+ª-M63-M63 M6´   ASà0·¬Å6´ SÔAÔUS ÉS ÊP6´A BSS 3       ASà06¬ SHÏUÌD BÅ ÊP6´B BSS 3 Ì6´   ÅÑU ª+ª-M6´-M6´ M65   ASà05¬H65 PASS ÊP65A BSS ² Ì65   ÅÑU ª+ª-M65-M65 M66   ASà±5¬H66 SÅÔ ÆÏÒMAÔ S×ÉÔÃH ÏN UNÉÔ ÊP66A BSS ±       ASà05¬¬PUSH ÒUN Ì66   ÅÑU ª+ª-M66-M66 M6·   ASà±6¬H6· ÃÌÅAÒ ÆÏÒMAÔ S×ÉÔÃH ÏN UNÉÔ ÊP6·A BSS ±       ASà05¬¬PUSH ÒUN Ì6·   ÅÑU ª+ª-M6·-M6· M·0   ASà09¬H·0 DÉSABÌÅ UNÉÔ ÊP·0A BSS ±       ASà05¬¬PUSH ÒUN Ì·0   ÅÑU ª+ª-M·0-M·0 M·±   ASà±6¬H·± PÒÅSS PÒÅSÅÔ ÔHÅN PÒÅSS ÒUN Ì·±   ÅÑU ª+ª-M·±-M·± M·3   ASà±²¬Å·3 SÃÒÅÅN ÔÅSÔ ÆAÉÌUÒÅ Ì·3   ÅÑU ª+ª-M·3-M·3 M·´   ASà0·¬H·´ SHÏÒÔ PASS Ì·´   ÅÑU ª+ª-M·´-M·´       HÅD ÃYÌÔ ª  ª     ÃYÌÔ ª      ÃÏNVÅÒÔ ÃYÌÉNDÅÒ ÔABÌÅ ÔÏ AÃSÉÉ AND SÔÏÒÅ ÉN MÅSSAGÅ ª  ÃYÌÔ  NÏP       ÌDA P0²´A     ÉNÉÔÉAÌÉZÅ       SÔA ÃPNÔ       PÏÉNÔÅÒ       ÌDA MM±0      -±Ï       SÔA ÃSAVÅ ÃÌÏÏP ADA ÔÒԬɠ    ÃYÌÉNDÅÒ ÔABÌÅ PÏÉNÔÅÒ       ÌDA A¬É       ÊSB DÅÃÉN     ÃÏNVÅÒÔ NUMBÅÒ       ÌDA ÃVÔ±      USÅ ÒÉGHÔ       AND B3··       ÃHAÒAÃÔÅÒ       AÌÆ¬AÌÆ         ÏÆ       ÌDB A            ÃVÔ±       ÌDA ÃVÔ²         AND       AND P·´00         ÌÅÆÔ       AÌÆ¬AÌÆ            ÃHAÒAÃÔÅÒ       ÉÏÒ B               ÏÆ ÃVÔ²       SÔA ÃPNԬɠ          ÆÏÒ ÆÉÒSÔ       ÉSZ ÃPNÔ              ×ÏÒD       ÌDA ÃVÔ²      USÅ       AND B3··       ÒÉGHÔ       AÌÆ¬AÌÆ         ÃHAÒAÃÔÅÒ       ÉÏÒ B5´          ÏÆ ÃVÔ²       SÔA ÃPNԬɠ       AND       ÉSZ ÃPNÔ           ASÃÉÉ ÃÏMMA       ÉSZ ÃSAVÅ           ÆÏÒ SÅÃÏND       ÌDA ÃSAVÅ            ×ÏÒD       SSA       ÊMP ÃÌÏÏP       ÌDB P0²´A     ÒÅMÏVÅ       ADB D±9        ÌASÔ       ÌDA B¬É         ÃÏMMA       AND P·´00       ÉÏÒ B´0       SÔA B¬É       ÊMP ÃYÌÔ¬É       HÅD S±Z¬MìSPASS ª  ª     PÅÒÆÏÒM SÅÅK UNDÅÒ ÔÉGHÔ ÃÏDÅ ÃÏNDÉÔÉÏNS ª  S±Z   NÏP       SÔA ÃYÌ       SAVÅ ÃYÌÉNDÅÒ NUMBÅÒ       ÊSB DADÏ      ÏUÔPUÔ ÃYÌÉNDÅÒ NUMBÅÒ       ÌDA PÏSÉÔ     SÅÅK ÃÏMMAND       ÉÏÒ UNÉÔ      UNÉÔ NUMBÅÒ Ãø±  ÏÔA Ãà Ãø²  ÃÌàÃà       MAé»þúKÅ SUÒÅ ÅNÃÏDÅ ÉS ZÅÒÏ       ÃÌB       SÔB ÌÏÃAÌ Ãø3  SÔàÃìà     SÅÔ ÅNÃÏDÅ Dø±  SÆS Dà       ÃHÅÃK DAÔA ÃHANNÅÌ ÆÌAG¬NÏ×       ÊMP Dø´      NÏ Dø²  ÏÔB Dà       ÏUÔPUÔ Dø3  SÔàDìà      HÅAD-SÅÃÔÏÒ       ÊMP S±ZB Dø´  SÆS Dà       ÃHÅÃK AGAÉN¬NÏ×       ÊMP S±ZA      NÏ Dø5  ÏÔB Dà       ÏUÔPUÔ Dø6  SÔàDìà      HÅAD-SÅÃÔÏÒ S±ZB  ÊSB ×AÉÔD     ×AÉÔ ÆÏÒ DAÔA ÃHANNÅÌ       ÊSB ×AÉÔS     ×AÉÔ ÆÏÒ ÃÏMMAND ÃHANNÅÌ       ÊMP S±Z¬É S±ZA  ÉSZ ÌÏÃAÌ     AVÏÉD       ÊMP Dø±       ÅNDÌÅSS ÌÏÏP       ÌDA S±Z       USÅ       SÔA ×AÉÔD      ×AÉÔD ÒÏUÔÉNÅ       ÊMP S±ZZ        ÔÏ ÒÅPÏÒÔ ÅÒÒÏÒ ª  ª     ABÏÒÔ DMA ÒÏUÔÉNÅ ª  Mà   NÏP DM6Å  ÃÌàDMAD DM6Æ  SÔÆ DMAD ÃÃ06  ÃÌàÃà Dñ±  ÃÌàDà Dò²  SÔÆ Dà       ÊMP MÃ¬É ª  ª     SHÏÒÔÅNÅD ÔÅSÔÉNG ÒÏUÔÉNÅ ª  SPASS NÏP       SÔB ÔÅMP6       ÃÃB           SÅÔ ÆÌAG       SÔB SHÆÌG      ÔÏ ÒÅPÏÒÔ       ÌDB ÔÅMP6       SHÏÒÔ ÔÅSÔÉNG       ÊMP SPASS¬É       HÅD NØSÅìBÅGÉN BUÆÆÅÒS ª  ª     ÃAÌÃUÌAÔÅS NÅØÔ AVAÉÌABÌÅ SÅÃÔÏÒ ª  NØSÅàNÏP       ÌDB SÃNÔÒ     ÌÏAD ÃYÃÌÅ ÃÏUNÔÅÒ       ADB BÉAS      ADD ÏN AÌÌÏ×ANÃÅ       ADB KÃSà     ÃHÅÃK ÆÏÒ ÅND ÏÆ SÅÃÔÏÒ       ÌDA SÃNÔ      ÌÏAD ÃUÒÒÅNÔ SÅÃÔÏÒ NUMBÅÒ       SSB¬ÒSS       DÏN'Ô SKÉP ÉÆ ÔÏÏ ÃÌÏSÅ       ÉNA           ÃÏUNÔ UP ÉÆ ÃÌÏSÅ       ÃPA SÃPÔ      ÃHÅÃK ÆÏÒ ÅND       ÃÌA           BAÃK ÔÏ SÅÃÔÏÒ ZÅÒÏ       SÔA SÅÃÔÒ     SAVÅ ÉÔ       ÊMP NØSÅÃ¬É BUÆB  DÅÆ ª       HÅD ÉNÉÔ       ÏÒG ±²000B ª     ÉNÉÔ ª      ÃÏNÆÉGUÒÅS ÅAÃH ÏÆ ÔHÒÅÅ ÃHANNÅÌS ª        ÏÒG ±²000B ÉNÉÔ  NÏP       ÃÌA H0    ÊSB PÒÉNÔ     "HP ²±00 SÅÒÉÅS DÉSàÆÉÌÅ(²¸¸3© ª                                  DÉAGNÏSÔÉÃ"       ÌDA B·² H·²   ÊSB PÒÉNÔ     "ÅNÔÅÒ SÅÌÅÃÔ ÃÏDÅS¬DMA ÃHANNÅÌ ª                                  ÉN S×ÉÔÃH ÒÅGÉSÔÅÒ¬PÒÅSS ÒUN"       ÏÃÔ ±0·00±       ÌÉA ±       SÔA ÃNÆS×     SAVÅ ÃÏNÆÉGUÒAÔÉÏN S×ÉÔÃH ÒÅG       AND B··       SÔA ÃH±´      SAVÅ ÔÅÌÅÔYPÅ SÅÌÅÃÔ ÃÏDÅ       ADA MM5       SSA       HÌÔ ´´B       ÌDA ÃNÆS×     ÌÏk¶þúAD ÃÏNÆÉGUÒAÔÉÏN S×ÉÔÃH ÒÅG       AÌÆ¬AÌÆ       SHÉÆÔ ÒÉGHÔ       ÒA̬ÒAÌ        SÉØ ÌÏÃAÔÉÏNS       AND B··       SÔA ÌÏÃAÌ     SAVÅ DAÔA ÃHANNÅÌ SÅÌÅÃÔ ÃÏDÅ       ADA MM5       SSA       HÌÔ ´´B       ÌDB ÆÒSÔB       SÔB GÌÏB²     SAVÅ ÆÉÒSÔ PÏÉNÔÅÒ       ÃÃA       SÔA ÆÌAG      ÆÌAG ½ -±       ÌDB ÌASÔB ÌA    SÔB GÌÏB±     SAVÅ ÌASÔ PÏÉNÔÅÒ ÌB    ÌDB GÌÏB²¬É   ÌÏAD PÏÉNÔÅÒ       ÌDA B¬É       ÌÏAD ×ÏÒD       AND P··00     MASK ÏUÔ SÅÌÅÃÔ ÃÏDÅ       ÉÏÒ ÌÏÃAÌ     SÔUÆÆ ÉN NÅ× SÅÌÅÃÔ ÃÏDÅ       SÔA B¬É       SÔÏÒÅ BAÃK       ÃPB GÌÏB±¬É   DÏNÅ?       ÊMP Ìà       YÅS       ÉSZ GÌÏB²     NÏ       ÊMP ÌB Ìà   ÅÑU ª       ÉSZ ÆÌAG      SKÉP ÉÆ NÏÔ DÏNÅ       ÊMP ÉÏUÔ      DÏNÅ       ÉSZ ÌÏÃAÌ     ÉNÃÒÅMÅNÔ SÅÌÅÃÔ ÃÏDÅ       ÌDB ÆÒSÔà       SÔB GÌÏB²     SAVÅ ÆÉÒSÔ PÏÉNÔÅÒ       ÌDB ÌASÔà    ÌÏAD ÌASÔ PÏÉNÔÅÒ       ÊMP ÌA ÉÏUÔ  ÅÑU ª       ÌDA ÃNÆS×     ÌÏAD ÃÏNÆÉGUÒAÔÉÏN S×ÉÔÃH ÒÅG       AND BÉÔ±´       SZA           SKÉP ÆÏÒ DMA 6       ÃÌA¬ÉNA       ÔHÉS ÉS  DMA ·       SÔA ÌÏÃAÌ       ÌDB ÆÒSÔD       SÔB GÌÏB²     SÅÔ UP PÏÉNÔÅÒ ÌD    ÌDB GÌÏB²¬É   ÌÏAD ADDÒÅSS ÆÒÏM ÔABÌÅ       ÌDA B¬É       ÌÏAD VAÌUÅ ÆÒÏM ÃÏÒÅ       AND P···6     MASK ÏÆÆ BÉÔ 0       ÉÏÒ ÌÏÃAÌ     ADD DMA ÃHANNÅÌ BÉÔ       SÔA B¬É       ÒÅSÔÏÒÅ ÃÏÒÅ       ÃPB ÌASÔD¬É   DÏNÅ?       ÊMP ÌÅ        YÅS       ÉSZ GÌÏB²     NϬÃÏNÔÉNUÅ       ÊMP ÌD ÌÅ    ÅÑU ª       ÌDA NÉNSÔ     ÃHANGÅ SÔAÒÔÉNG ÉNSÔÒUÃÔÉÏN ÆÏÒ       SÔA ÃNÆÉG      DUMP ÒÏUÔÉNÅ       ÃÌA¬ÉNA H±    ÊSB PÒÉNÔ     "ÅNÔÅÒ PÒÏGÒAM ÏPÔÉÏNS ÉN S×ÉÔÃH ª                                  ÒÅGÉSÔÅÒ¬PÒÅSS ÒUN"       ÏÃÔ ±0·0··    AÌÌÏ× ÆÏÒ ÏPÔÉÏNAÌ DUMP       ÊMP ±30B NÉNSÔ DÅÆ ª+±       ÃÌA       ÊSB PÒÉNÔ     "HP ²±00 SÅÒÉÅS DÉSàÆÉÌÅ(²¸¸3© ª                                  DÉAGNÏSÔÉÃ"       ÊMP ÌÅ       SKP ª  ª     MÅSSAGÅS USÅD ÉN ÃÏNÆÉGUÒAÔÉÏN ª  M0    ÏÃÔ 6´±²       ASà±9¬H0 HP ²±00 SÅÒÉÅS DÉSàÆÉÌÅ(²¸¸3© DÉAG       ASà03¬NÏSÔÉà Ì0    ÅÑU ª+ª-M0-M0 M±    ÏÃÔ 6´±²     Šß$"  ASà±9¬H± ÅNÔÅÒ PÒÏGÒAM ÏPÔÉÏNS ÉN S×ÉÔÃH ÒÅG       ASà0¸¬ÉSÔÅÒ¬PÒÅSS ÒUN ̱    ÅÑU ª+ª-M±-M± M·²   ÏÃÔ 6´±²       ASà±9¬H·² ÅNÔÅÒ SÅÌÅÃÔ ÃÏDÅS¬DMA ÃHANNÅÌ ÉN       ASà±3¬S×ÉÔÃH ÒÅGÉSÔÅÒ¬PÒÅSS ÒUN Ì·²   ÅÑU ª+ª-M·²-M·²       SKP ª  ª     DAÔA ÃHANNÅ̠ɯϠÉNSÔÒUÃÔÉÏNS ª  ÆÒSÔB DÅÆ ª+±       DÅÆ DMAÃ×       DÅÆ DÃ0±       DÅÆ DÃ0²       DÅÆ DÃ03       DÅÆ DÃ0´       DÅÆ DÃ05       DÅÆ DÃ06       DÅÆ Dñ±       DÅÆ Dñ²       DÅÆ Dñ3       DÅÆ Dñ´       DÅÆ Dò²       DÅÆ Dò3       DÅÆ Dø±       DÅÆ Dø²       DÅÆ Dø3       DÅÆ Dø´       DÅÆ Dø5       DÅÆ Dø6 ÌASÔB DÅÆ ª-± ª  ª     ÃÏMMAND ÃHANNÅ̠ɯϠÉNSÔÒUÃÔÉÏNS ª  ÆÒSÔàDÅÆ ª+±       DÅÆ ÃÃ0±       DÅÆ ÃÃ0²       DÅÆ ÃÃ03       DÅÆ ÃÃ0´       DÅÆ ÃÃ05       DÅÆ ÃÃ06       DÅÆ Ã÷       DÅÆ Ãø±       DÅÆ Ãø²       DÅÆ Ãø3 ÌASÔàDÅÆ ª-±       SKP ª  ª     DMA ÃHANNÅÌ ÉNSÔÒUÃÔÉÏNS ª  ÆÒSÔD DÅÆ ª+±       DÅÆ DM²A       DÅÆ DM²B       DÅÆ DM²Ã       DÅÆ DM²D       DÅÆ DM²Å       DÅÆ DM²Æ       DÅÆ DM²G       DÅÆ DM²H       DÅÆ DM²É       DÅÆ DM²Ê       DÅÆ DM²K       DÅÆ DM6A       DÅÆ DM6B       DÅÆ DM6à       DÅÆ DM6D       DÅÆ DM6Å       DÅÆ DM6Æ       DÅÆ DM6G       DÅÆ DM6H       DÅÆ DM6É ÌASÔD DÅÆ ª-± PÅND  ÅÑU ª       ÅND |à$ÿÿ ÿýÏ Ú ÿ12966-18001 1519 S 0122 BUFFRD ASYNC COMMUN INTF DIAGN SOURCE             H0101 »¸þúASMB,L,A,B,C HED BUFFERED ASYNC COMMUNICATION INTERFACE DIAGNOSTIC ORG 0 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 * (SUPPRESS ALL OPERATOR INTERVENTION) * 11 = SUPRESS ERROR MESSAGES * 10 = SUPRESS NON-ERROR MESSAGES * 9 = GO TO USER CONTROL SECTION * AT END OF PRESENT TEST * 8= SUPPRESS OPERATOR INTERVENTION TESTS * 7 * = DIAGNOSTIC OPTIONS * 0 * NOTE: STANDARD RUN SHOULD BE WITH SW. REG. = 0 * USER CONTROL WILL ASK FOR A 32 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 * * 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 * * CONTROL PROGRAM HALT MESSAGES * * 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 RESERVED * 102071 RESERVED * 102070 RESERVED (FOR INTERNAL USE - SUB-TEST HALT) * * 106077 TRAP CELL HALT * * * ÚpþúHED PROGRAM ORGANIZATION CHART * ******************************************* * * CONFIGURATOR 100B * * * LINKAGE TABLE * * ******************************************* * * EXECUTIVE 130B * * * LINKAGE * * ******************************************* * * CONSTANTS 150B * * * AND * * * STORAGE * * ******************************************* * * 2000B * * * EXECUTIVE CONTROL * * * * * ******************************************* * * IF USED * * * BASIC I/O TESTS (TEST 00) * * * ZCEND * * ******************************************* * * TABLE OF TEST POINTERS * * * TABLE OF I/O INSTR POINTERS * * ******************************************* * * * * * * * * * * * * * * * * * MAIN DIAGNOSTICS (1-31) * * * * * * * * * * * * * * * * * ******************************************* * * * * * * * * * * * * * * * * * * * * HED CONFIGURATOR LIN²‰þúKAGE 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 * * 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 OCT 0 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 DSNL BSS 1 DIAGNOSTIC SERIAL NUMBER FMTR BSS 1 FORMATTER * * * CONTROL LINKAGE AND DATA REFERENCES * CFIG DEF ZCONF CONFIGURATION SECTION MSGC DEF ZMSGC MESSAGE WITH NO HALT MSGH DEF ZMSGH MESSAGE WITH HALT ERMS DEF ZERMS ERROR MESSAGE SWRT DEF ZSWRT SWITCH REGISTER CHECK ROUTINE TSTN OCT 0 CURRENT TEST NUMBER EXRT DEF ZEXRT RETURN TO CONTROL PROGRAM NOP RESERVED * * * * * * * * * * * * * HED EXECUTIVE CONTROL ORG 2000B ZSTEX CLC INTP,C TURN I/O SYSTEM OFF JSB MSGC,I DO CRLF DEF ZRTLF LDA HDMP GET INTRODUCTORY MESSAGE STA *+2 JSB MSGC,I OUT PUT IT NOP CLA CLEAR PASS STA ZEOLC COUNT LDB ZSW9 CHECK FOR USER SELECTION REQ JSB SWRT,I JMP ZUSR IT'S USERS CHOICE ZNUSR LDA STDA ”“þú GET STANDARD TEST RUN LDB STDB * JMP ZEXC * ZUSR LDA ZSINA RETRIEVE PREVIOUS RUN LDB ZSINB HLT 75B WAIT FOR USER INPUT NOP NOP NOP ZEXC STA ZUINA SAVE STB ZUINB USER STA ZSINA INPUT STB ZSINB PROGRAM LDB ZSW9 CHECK IF SW9 IS DOWN JSB SWRT,I JMP ZUSR NO GO AND WAIT CCA SET TEST NUMBER STA TSTN =-1 CLA STA ZTSTA CLEAR TEST RUN FLAG * * * * * * * * * * * * * * * * SKP ZEXCL LDA ZUINA RESTORE A REG. LDB ZUINB RESTORE B REG. ERA,RAL ROTATE ERB FIRST ERA TEST BIT STA ZUINA SAVE POSITIONS STB ZUINB ISZ TSTN MOVE TEST UP ONE NOP ZXCL1 LDA TSTN ADA TSTP GET IT'S LDA A,I ADDRESS CPA Z.M1 IS IT END OF LIST JMP ZEOL YES LDB ZUINB SSB,RSS SHOULD IT BE RUN? JMP ZEXCL NO STA ZTSTA YES - SAVE TEST ADDRESS JSB ZITCH INITIALIZE TRAP CELL HALTS JSB ZTSTA,I GO DO TEST ZEXRT LDA TSTN DISPLAY TEST NUMBER IF HALTED LDB ZSW15 CHECK FOR HALT AT END OF TEST JSB SWRT,I HLT 76B YES WAIT FOR OPERATOR LDB ZSW9 CHECK FOR ABORT JSB SWRT,I JMP ZUSR YES LDB ZSW13 CHECK FOR LOOP ON ROUTINE JSB SWRT,I JMP ZXCL1 YES - LOOP JMP ZEXCL CONTINUE * ZEOL LDA ZTSTA CHECK IF ANY TESTS WERE RUN SZA,RSS ? JMP ZNUSR NO SO PICK UP STANDARD RUN LDA ZEOLC UP DATE PASS COUNT INA STA ZEOLC CCE LDB ZPSCA GET PASS COUNT ADB Z.2 ADDRESS JSB O2AS,I CONVERT IT JSB MSGC,I CALL PRINT ROUTINE ZPSCA DEF ZPSC LDB ZSW12 CHECK FOR LOOP ON DIAG. JSB EþúSWRT,I JMP *+3 YES LDA ZEOLC HLT 77B NO WAIT AND DISPLAY PASS COUNT LDA ZSINA RESTORE ORIGINAL LDB ZSINB PROGRAM JMP ZEXC DO IT ALL AGAIN * SKP * MESSAGE OUTPUT WITH OUT HALT * ZMSGC NOP ENTRY JSB ZMSG OUTPUT MESSAGE OCT 2000 SWITCH 10 CHECK JMP ZMSGC,I RETURN TO CALLER * * MESSAGE OUTPUT WITH HALT * ZMSGH NOP ENTRY JSB ZMSG OUTPUT MESSAGE OCT 2000 SWITCH 10 CHECK LDA ZHLT GET HALT CODE STA *+2 PUT IT IN PLACE LDA ZSAVA RESTORE A REGISTER NOP HALT FOR DISPLAY JMP ZMSGH,I RETURN TO CALLER * * ERROR MESSAGE WITH HALT * ZERMS NOP ENTRY JSB ZMSG OUTPUT MESSAGE OCT 4000 SWITCH 11 CHECK CLA LDB ZSW14 CHECK SWR BIT 14 TO SUPPRESS JSB SWRT,I HALT STA *+3 PUT HALT IN PLACE LDA ZSAVA RESTORE A & B LDB ZSAVB ZHLT NOP WAIT FOR OPERATOR JMP ZERMS,I RETURN TO CALLER * * * * * * * * * * * * * SKP * OUTPUT MESSAGE * ZMSG NOP STA ZSAVA SAVE A AND B REGISTERS STB ZSAVB LDB ZMSG,I GET SWITCH REGISTER BIT LDA ZMSG ADA Z.M2 DECREMENT RETURN ADDRESS STA ZMSG JSB SWRT,I CHECK TO SUPPRESS MESSAGE JMP ZMSG0 YES LDA ZMSG,I CHECK IF ERROR LDA A,I LDA A,I IF SO ALF,ALF AND Z.177 CPA ZA.E JSB ZCFTN CHECK TO OUTPUT TEST NUMBER LDA ZMSG,I NO RETRIEVE FORMAT LDB A,I ADDRESS CLA,CLE JSB FMTR,I ZMSG0 LDA ZMSG,I CONVERT HALT CODE LDB A,I FROM ASCII STRING CCA,CCE JSB AS2N,I STA ZN2AO SAVE RESULT AND Z.300 DECODE LDB ZH2 HALT CODE CPA Z.100 CþúLDB ZH6 CPA Z.200 LDB ZH3 CPA Z.300 LDB ZH7 LDA ZN2AO GET HALT NUMBER AND Z.77 IOR B STA ZHLT SAVE IT ISZ ZMSG,I ADJUST RETURN POINTERS ISZ ZMSG ISZ ZMSG ISZ ZMSG LDA ZSAVA RESTORE A AND B REGISTERS LDB ZSAVB JMP ZMSG,I * * * * * * SKP ZCFTN NOP LDA TSTN GET TEST NUMBER CPA ZCFTT IS IT THE SAME ONE? JMP ZCFTN,I YES SKIP OUTPUT STA ZCFTT NO - THEN UPDATE IT JSB ZN2AO CONVERT IT STA ZTSTN PUT IT IN STRING CLA DO A CRLF JSB SLOP,I CLA,CLE INDICATE START OF FORMAT LDB ZTSTF JSB FMTR,I JMP ZCFTN,I RETURN * * * * ZSAVA NOP ZSAVB NOP ZEOLC NOP ZTSTA NOP ZSINA NOP ZSINB NOP ZUINA NOP ZUINB NOP ZBTMP NOP Z.2 OCT 2 Z.7 OCT 7 Z.10 OCT 10 Z.60 OCT 60 Z.77 OCT 77 Z.177 OCT 177 Z.M1 DEC -1 Z.M2 DEC -2 ZD100 DEC -100 ZIOM OCT 177700 ZSW15 OCT 100000 ZSW14 OCT 40000 ZSW13 OCT 20000 ZSW12 OCT 10000 ZS812 OCT 010400 ZSW9 OCT 1000 Z.100 OCT 100 Z.200 OCT 200 Z.300 OCT 300 ZH2 OCT 102000 ZH6 OCT 106000 ZH3 OCT 103000 ZH7 OCT 107000 ZCFTT DEC -1 ZTSTF DEF *+1 ASC 3,TEST ZTSTN ASC 2,XX// ZRTLF ASC 1,// ZPSC ASC 6,PASS XXXXXX/ ZA.E OCT 105 HED GENERAL ROUTINES * * ZN2AO NOP STA ZIOAD SAVE NUMBER AND Z.7 CONVERT FIRST IOR Z.60 NUMBER STA B SAVE IT LDA ZIOAD GET RAR,RAR SECOND RAR NUMBER AND Z.7 CONVERT IOR Z.60 IT ALF,ALF MOVE TO UPPER HALF IOR B ADD LOWER JMP ZN2AO,I AND RETURN * * * * SWITCH REGISTER CHECK * ZSWRT NOP STA ZN2AO SAVE A REGISTER LIA SW GET SWITCH REG. AND B MASK OUT BIT SZA,RSS IS IT UP? 5ïþú ISZ ZSWRT NO LDA ZN2AO RESTORE A REGISTER LIB SW LET B = SWITCH REGISTER JMP ZSWRT,I RETURN TO CALLER * * * * INITIALIZE TRAP CELL HALTS * ZITCH NOP LDA ZTSH GET STARTING TRAP CELL HALT LDB Z.2 GET FIRST TRAP CELL LOCATION ZTSHL STA B,I PUT IT IN PLACE CPB Z.77 AM I FINISHED JMP ZITCH,I YES INB NEXT ADDRESS JMP ZTSHL * ZTSH OCT 106077 * * * SKP * PUT JSB INSTRUCTION IN TRAP CELL * ZTCJI NOP LDB ZJSBI GET INSTRUCTION STB ZIOSC,I PUT IT IN TRAP CELL LDA ZTCJI,I GET LOCATION STA 3B SAVE IT FOR JSB INSTRUCTION ISZ ZTCJI ADJUST RETURN JMP ZTCJI,I RETURN TO CALLER * ZJSBI JSB 3B,I JSB INSTRUCTION * * * INITIALIZE SELECT CODE I/O INSTRUCTIONS * ZISC NOP STA ZIOSC SAVE SELECT CODE STB ZIOAD SAVE TABLE ADDRESS ZIOL LDB ZIOAD,I GET ADDRESS OF LOCATION CPB Z.M1 IS IT THE TERMINATOR JMP ZISC,I YES RETURN TO CALLER LDA B,I NO - GET CONTENTS AND ZIOM MASK OFF OLD SELECT CODE IOR ZIOSC ADD IN NEW SELECT CODE STA B,I RESTORE IT ISZ ZIOAD MOVE TO NEXT ADDRESS JMP ZIOL DO IT * ZIOSC NOP ZIOAD NOP * * * * SKP * CONFIGURATION SECTION * ZCONF CLC INTP,C TURN I/O SYSTEM OFF LIA SW GET SELECT CODE AND OPTIONS STA USSC SAVE THEM AND Z.77 ELIMINATE OPTIONS LDB A CMB,INB CHECK THAT SC > 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 * * * * * * * * * * * * * * ‚Qþú * * * * * * * * * 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/ * * 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 ¡ô640ZBS32 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 ©«6ÿÿ ÿýÐ Þ ÿ12966-18002 1519 S 0122 BUFFRD ASYNC COMMUN INTF DIAGN SOURCE             H0101 ¼¸þú 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 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 O{þú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 CLF INTP TURN OFF ONTPS ZBS72 SFS CH 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 * * * * * * * * * * * * * * * * * * * * * * * SKP 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 JMP ZBIO,I RETURN TO CALLER * ZBI70 NOP CONTROL FAILED CLF INTP TURN OFF INTPS INA JMP ZB70 * 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 08,H025 BI-O COMP/ SKP 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 DEF ZBS42 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 * * * * * * * * * * * * * * * * * * * * * * * * * * HED BUFFERED ASYNC COMMUNICATION INTERFACE DIAGNOSTIC * * * * ORG 126B DSN OCT 103017 DIAGNOSTIC SERIAL NO. ORG 140B IOIP DEF IOID POINTER TO I-O INSTRUCTIONS TSTP DEF TSTD POINTER TO TEST DEF TABLE HDMP DEF HDMS POINTER TO HEADER MESSAGE STDA OCT 007777 STANDARD TESTS STDB OCT 000000 STANDARD TESTS ORG 150B IOCLR EQU 0 SARI EQU 12B NULL EQU 0 WRD0 EQU 00000B WRD1 EQU 10000B WRD2 EQU 20000B WRD3 EQU 30000B WRD4 EQU 40000B WRD5 EQU 50000B WRD6 EQU 60000B SCFE EQU 1 CFE EQU 2 CEE EQU 4 CCE EQU 10B CBE EQU 20B ENCHM EQU 40B SCFR EQU 1 CFR EQU 2 CER EQU 4 CCR EQU 10B CBR EQU 20B DIAGC EQU 40B PASNS EQU 4 PAR EQU 10B ECHO EQU 20B STB EQU 40B DMA EQU 20B SCA EQU 40B CD EQU 100B CA EQU 200B XMIT EQU 400B CLPE EQU 1 CLBRK EQU 2 CBEF EQU 4 CBF EQU 10B CBH EQU 20B CSPEC EQU 40B SPCHD EQU 400B SCF EQU 1 CF EQU 2 CE EQU 4 CC EQU 10B CB EQU 20B PARR EQU 40B BRK EQU 100B BEF EQU 200B BFF EQU 400B BFHF EQU 1000B TEST EQU 4000B RSPAR EQU 10000B SPCHR EQU 40000B DEVI EQU 40000B SCM EQU 40000B VALDA EQU 40000B B0 EQU 1 B1 EQU 2 B2 EQU 4 B3 EQU 10B B4 EQU 20B B5 EQU 40B B6 EQU 100B B7 EQU 200B SDMAL EQU 2 LOWER SELECT CODE DMA SDMAH EQU 6 UPPER SELECT CODE DMA IRTN DEF *-* BUFFA BSS 1 BUFFB BSS 1 BXMIT DEF XBUF POINTER TO TRANSMIóþúT BUFFER BRCV DEF RBUF POINTER TO RECIEVE BUFFER SKP TRJSB DEF ZTCJI POINTER D1 EQU * SW0 OCT 1 D2 EQU * SW1 OCT 2 .7 OCT 7 SW2 EQU * D4 DEC 4 MD1 DEC -1 MD8 DEC -8 MD38 DEC -38 MD9 DEC -9 MD15 DEC -15 MD16 DEC -16 MD64 DEC -64 MD128 DEC -128 BCNTR BSS 1 MSK3 OCT 3 SKP GUPLO DEF *-* RETURN ADDRESS CLE,ERB LDA B,I GET CHARACTER SEZ,RSS ALF,ALF AND LOHWD ELB JMP GUPLO,I RETURN SPC 3 PUPLO DEF *-* RETURN ADDRESS CLE,ERB AND LOHWD STA PCH LDA B,I SEZ,RSS ALF,ALF AND UPHWD IOR PCH SEZ,RSS ALF,ALF STA B,I ELB JMP PUPLO,I RETURN PCH BSS 1 UPHWD OCT 177400 MASK FOR UPPER HALF WORD LOHWD OCT 000377 MASD FOR LOWER HALF WORD SKP * SWITCH REGISTER BIT 0 HAS * THE MEANING LOOP ON SUB-TEST AND * SWITCH REGISTER BIT 1 MEANS HALT * AT THE END OF THE CURRENT SUB-TEST. * THIS HALT IS 102070 (OCTAL). * THE SUB-TEST LOOP * WILL CAUSE LOOPING ON A SMALL * PROGRAM SEGMENT. SPC 2 SUBT DEF *-* RETURN ADDRESS LDA USSC GET CONFIG INFO SSA,RSS IS SUB-TEST CAPABILITY * ENABLED? JMP SUBC1 CONTINUE - NO LDB SW1 MASK FOR SWITCH 1 JSB SWRT,I CHECK SWITCH 1 - SUB-TEST HALT RSS JMP SUBT1 CONINUE LDA TSTN GET TEST NO. LDB SUBT. GET SUB-TEST NO. HLT 70B HALT SUBT1 LDB SW0 MASK FOR SWITCH 0 JSB SWRT,I CHECK SWITCH 0 - SUB-TEST LOOP JMP SUBT,I RETURN SUBC1 ISZ SUBT JMP SUBT,I RETURN SPC 1 SUBTH DEF *-* RETURN ADDRESS JSB SUBT CHECK SUB-TEST HALT NOP BYPASS LOOP JSB SUBUP UPDATE SUB-TEST NO. JMP SUBTH,I RETURN SPC 1 SUBTT DEF *-* RETURN ADDîEþúRESS JSB SUBT CHECK SUB-TEST HALT,LOOP JMP SUBLL LOOP ON THIS SUB-TEST JSB SUBUP UPDATE SUB-TEST NO. JMP SUBTT,I RETURN SPC 1 STSUB DEF *-* RETURN ADDRESS LDA STSUB SAVE LOOP ADDRESS INA STA SUBLP LDA STSUB,I GET SUB-TEST NO. STA SUBT. SAVE STA SUBLN SAVE FOR USE WHEN LOOPING ISZ STSUB UPDATE RETURN JMP STSUB,I RETURN SPC 1 SHUTA DEF *-* RETURN ADDRESS JSB SUBT CHECK SUB-TEST HALT, LOOP JMP SUBLL LOOP JSB SUBUP UPDATE SUB-TEST NO. LDA SHUTA GET LOOP ADDRESS STA SUBLP SAVE LDA SUBT. GET SUB-TST NO. STA SUBLN SAVE FOR FUTURE LOOPING JMP SHUTA,I RETURN SPC 1 SUBLL LDA SUBLN GET SUB-TEST NO. STA SUBT. SAVE JMP SUBLP,I GO LOOP SPC 1 SUBUP DEF *-* RETURN ADDRESS LDA SUBT. GET SUB-TEST NO. INA AND .77 MASK CPA .70 CHECK FOR OCT X70 JMP SUBT3 CONTINUE ISZ SUBT. OK UPDATE SUBT. JMP SUBUP,I RETURN SUBT3 LDA SUBT. GET SUB-TEST NO. AND .300 MASK X00 ADA .100 UPDATE SUB-TEST NO. STA SUBT. SAVE JMP SUBUP,I RETURN .300 OCT 300 .70 OCT 70 .77 OCT 77 SUBLP DEF *-* LOOP ADDRESS SUBLN BSS 1 LOOP SUB-TEST NO. SUBT. BSS 1 SUB-TEST NUMBER .100 OCT 100 SKP ERNO DEF *-* RETURN ADDRESS LDB ERNO,I GET BUFFER POINTER BLS CONVERT TO BYTE ADDRESS INB LDA SUBT. GET SUB-TEEST NO. AND E NO. ALF,ALF RAL,RAL AND LOHWD MASK ADA ASC0 CONVERT TO ASCII NO JSB PUPLO PLACE IN MESSAGE INB LDA SUBT. RAR,RAR RAR AND .7 ADA ASC0 CONVERT TO ASCII JSB PUPLO PLACE IN MESSAGE INB LDA SUBT. ¡ôþú AND .7 MASK ADA ASC0 CONVERT TO ASCII NO JSB PUPLO PLACE IN MESSAGE ISZ ERNO UPDATE RETURN JMP ERNO,I RETURN ASC0 OCT 60 ASCII ZERO SKP CMNDD DEF *-* RETURN ADDRESS LDA CMNDD,I GET OPTIONS IN COMMAND FNIO1 OTA SARI GIVE COMMAND ISZ CMNDD UPDATE RETURN ADDRESS LDA D4 WAIT 4 MS JSB TMRR,I JMP CMNDD,I RETURN SPC 2 RSTUS DEF *-* RETURN ADDRESS FNIO2 CLC SARI SELECT STATUS STIO1 LIA SARI READ STATUS JMP RSTUS,I RETURN SPC 2 RDDTA DEF *-* RETURN ADDRESS FNIO6 STC SARI SET CONTROL = DATA IOIN6 LIA SARI INPUT DATA JMP RDDTA,I RETURN SPC 2 MRST DEF *-* RETURN ADDRESS LDA MRSTC GET MASTER RESET COMMAND FNIO0 OTA SARI GIVE COMMAND LDA D2 JSB TMRR,I WAIT 2 MS JMP MRST,I RETURN MRSTC ABS 100000B+WRD5+CLPE+CLBRK+CBF+CBEF+CBH+CSPEC SPC 2 CLF DEF *-* RETURN ADDRESS CNIO1 CLF SARI CLEAR INTERFACE FLAG JMP CLF,I RETURN SPC 2 SFS DEF *-* RETURN ADDRESS CNIO2 SFS SARI SKIP ON FLAG SET JMP SFS,I RETURN - FLAG CLEAR ISZ SFS UPDATE RETURN ADDRESS JMP SFS,I RETURN SPC 2 STC DEF *-* RETURN ADDRESS CNIO3 STC SARI SET INTERFACE CONTROL FF JMP STC,I RETURN SPC 2 CLC DEF *-* RETURN ADDRESS CNIO4 CLC SARI CLEAR INTERFACE CONTROL FF JMP CLC,I RETURN SPC 2 CLK16 DEF *-* RETURN ADDRESS LDA MD16 STA CLKNT CLKC1 LDA CLKON RISING EDGE OF 16 X BAUD RATE CLOCK CLK01 OTA SARI OUTPUT LDA CLKOF FALLING EDGE OF 16 X BAUD RATE CLOCK CLK00 OTA SARI OUTPUT ISZ CLKNT JMP CLKC1 JMP CLK16,I RETURN SPC 1 CLKON ABS WRD2+DIAGC CLKOF ABS WRD2+NULL CLKNT BSS 1 SPC 2 RARI DEF *-* RETURN LDA BRCV INITIALI×ãþúZE BUFFER POINTER STA BUFFA LDA MD128 INITIALIZE COUNTER STA BCNTR JSB CMND SELECT RECEIVE MODE ABS WRD4 RAC01 JSB RDDTA READ DATA STA BUFFA,I PLACE IN BUFFER ISZ BUFFA UPDATE BUFFER POINTER ISZ BCNTR UPADTE COUNTER JMP RAC01 CONTINUE - MORE CHARACTERS JMP RARI,I RETURN SPC 2 XARI DEF *-* RETURN ADDRESS JSB CMND SELECT TRANSMIT MODE ABS WRD4+XMIT LDA MD128 INITIALIZE COUNTER STA XACNT LDB BXMIT INITIALIZE BUFFER POINTER STB BUFFA XAC01 LDA BUFFA,I GET DATA AND LOHWD MASK STA XAPO1 SAVE JSB CMND OUTPUT CHARACTER XAPO1 BSS 1 CHARACTER ISZ BUFFA UPDATE BUFFER POINTER ISZ XACNT UPDATE COUNTER JMP XAC01 CONTINUE - MORE CHARACTERS JMP XARI,I RETURN SPC 1 XACNT BSS 1 SPC 2 SDIN DEF *-* RETURN ADDRESS LDA SDIN,I GET PARAMETERS STA SDTYP SAVE LDA MD128 INITIALIZE COUNTER STA BCNTR LDA BRCV INITIALIZE BUFFER POINTER STA BUFFA SDC03 LDA SDTYP LDB MD9 AND MSK3 BITS / CHAR CMA,INA ADB A LDA SDTYP AND SDP PARITY BIT SZA,RSS INB LDA SDTYP AND SDST NO OF STOP BITS SZA,RSS INB LDA SDTYP GET TYPE AND SDSTX CPA SDST INB SPECIAL FOR 5 BIT 2 STOPS STB SDCNT SAVE NO BITS / CHAR STB SDDTC CLA STA BUFFA,I PLACE IN BUFFER SDC01 JSB CLK16 SUPPLY CLOCKS TO INTERFACE JSB RSTUS READ STATUS AND SDBA ISOLATE SIGNAL BA LDB BUFFA,I GET PARTIAL DATA RBR ADD THIS BIT TO DATA SZA INB STB BUFFA,I PLACE DATA IN BUFFER ISZ SDCNT UPDATE BIT COUNTER JMP SDC01 LDA SDTYP GET TYPE AND SD^c640STX CPA SDST JMP SDC06 CONTINUE - 5 BIT AND 2 STOPS SDC05 LDA SDDTC INA SDC02 RBL PREPARE CHARACTER INA,SZA JMP SDC02 STB BUFFA,I PLACE ASSEMBLED CHARACTER IN BUFFER ISZ BUFFA UPDATE BUFFER POINTER ISZ BCNTR UPDATE COUNTER JMP SDC03 CONTINUE - MORE CHARACTERS JSB CLK16 SUPPLY 16 CLOCKS TO INTFC JMP SDIN,I RETURN SDC06 LDB MD8 STB SDCNT SDC04 JSB CMND ABS WRD2+DIAGC JSB CMND ABS WRD2+NULL ISZ SDCNT JMP SDC04 JSB RSTUS GET BA AND SDBA LDB BUFFA,I RBR SZA INB )A6ÿÿ ÿýÑ ß ÿ12966-18003 1519 S 0122 BUFFRD ASYNC COMMUN INTF DIAGN SOURCE             H0101 ½¸þú STB BUFFA,I LDA SDDTC ADA MD1 STA SDDTC JMP SDC05 SPC 2 SDDTC BSS 1 SDCNT BSS 1 SDTYP BSS 1 SDBA ABS RSPAR SDP ABS PAR SDST ABS STB SDSTX ABS STB+3 SPC 2 SDOUT DEF *-* RETURN ADDRESS LDA SDOUT,I GET PARAMETER ISZ SDOUT UPDATE RETURN ADDRESS STA SDOP1 SAVE LDA BXMIT INITIALIZE BUFFER POINTER STA BUFFA LDA MD128 INITIALIZE COUNTER STA BCNTR LDA SDWD4 GET WORD 4 COMMAND STA SDOP3 SAVE SDOC1 LDA SDOP1 GET PARAMETER AND MSK3 STA B LDA SDOP1 AND SDST SZA INB LDA SDOP1 AND SDP SZA INB ADB D6 CMB,INB STB SDOCN COUNTER - BITS / CHARACTER JSB CMND PREPARE FOR RECEIVE SDOP3 BSS 1 WORD 4 COMMAND JSB CLK16 START BIT SDOC2 LDA BUFFA,I GET DATA CMA AND MSK1 ALF,ALF RAR,RAR ADA SDWD4 STA SDOP2 LDA BUFFA,I RAR STA BUFFA,I JSB CMND SDOP2 BSS 1 JSB CLK16 SUPPLY 16 CLICKS ISZ SDOCN UPDATE BIT COUNTER JMP SDOC2 CONTINUE WITH THIS CHARACTER ISZ BUFFA UPDATE BUFFER POINTER ISZ BCNTR UPADTE COUNTER JMP SDOC1 CONTINUE - MORE CHARACTERS JSB CLK16 JMP SDOUT,I RETURN SPC 2 MSK1 EQU D1 SDOCN BSS 1 SDOP1 BSS 1 D6 DEC 6 SDWD4 BSS 1 SPC 2 LINBF DEF *-* RETURN ADDRESS LDA MD128 INITIALIZE COUNTER STA BCNTR LDB BRCV INITIALIZE BUFFER POINTER STB BUFFB LDB BXMIT INITIALIZE BUFFER POINTER STB BUFFA LIC01 LDA BUFFB,I PREPARE DATA AND LOHWD STA BUFFB,I REPLACE IN BUFFER LDA BUFFA,I AND MSKCZ STA BUFFA,I REPLACE IN BUFFER ISZ BUFFB UPDATE BUFFER POINTER ISZ BUFFA UPDATE BUFFER POINTER ISZ BCNTR kÔþúUPDATE COUNTER JMP LIC01 CONTINUE JMP LINBF,I RETURN SPC 2 FIXDA DEF *-* RETURN ADDRESS LDA FIXDA,I GET DATA FORMAT STA FXDAT SAVE ISZ FIXDA UPDATE RETURN ADDRESS LDB BXMIT GET BUFFER POINTER STB BUFFA SAVE LDB MD128 INITIALIZE COUNTER STB BCNTR FXC07 LDA FXDAT AND MSK3 LDB MSK37 FXC09 SZA,RSS JMP FXC08-1 RBL INB ADA MD1 JMP FXC09 STB MSKCZ SAVE MASK FXC08 LDA BUFFA,I AND B STA BUFFA,I LDA FXDAT AND SDP IS PARITY USED SZA,RSS JMP FXC01 NO- DO START AND STOP(S) LDA FXDAT AND .B2 YES - WHAT TYPE SZA,RSS CCB,RSS CLB LDA BUFFA,I GET DATA JSB PTYGN GENERATE PARITY STA BUFFA,I SAVE AND .B8 STA B SAVE PARITY BIT RBR,RBR RBR LDA FXDAT AND MSK3 NO BITS / CHAR FXC03 SZA,RSS JMP FXC02 CONTINUE RBL ADA MD1 JMP FXC03 CONTINUE FXC02 LDA BUFFA,I AND B0TB7 IOR B RSS FXC01 LDA BUFFA,I GET DATA RAL INSERT START BIT AND NB0 MASK STA BUFFA,I SAVE LDB .B6 LDA FXDAT AND SDST CHECK NO STOP BITS SZA ADB .B7 USE 2 LDA FXDAT AND MSK3 GET NO OF BITS / CHAR FXC06 SZA,RSS JMP FXC05 CONTINUE RBL PUT STOP BITS IN CORRECT POSITION ADA MD1 JMP FXC06 FXC05 LDA FXDAT AND SDP SZA IS PARITY USED RBL POSITION STOP BIT(S) LDA BUFFA,I GET DATA IOR B STA B STB BUFFA,I SAVE COMPLETE DATA ISZ BUFFA UPDATE BUFFER POINTER ISZ BCNTR UPDATE BUFFER COUNTER JMP FXC07 JMP FIXDA,I RETURN SPC 2 FXDAT BSS 1 MSKCZ BSS 1 .B2 OCT 4 .B6 OC0þúT 100 .B7 OCT 200 NB0 OCT 7776 SPC 2 PTYGN DEF *-* RETURN ADDRESS STB PYTYP SAVE PARITY TYPE LDB MD8 STB PYCNT CCB AND B0TB7 MASK PYC01 SLA GENERATE PARITY CMB RAR ISZ PYCNT JMP PYC01 ALF,ALF SZB IOR .B8 LDB PYTYP GIVE CORRECT SSB,RSS PARITY TO XOR .B8 DATA JMP PTYGN,I RETURN PYCNT BSS 1 COUNTER MSK37 OCT 37 PYTYP BSS 1 PARITY TYPE .B8 OCT 400 B0TB7 ABS B0+B1+B2+B3+B4+B5+B6+B7 SPC 2 CMND DEF *-* RETURN ADDRESS LDA CMND,I GET DATA ISZ CMND UPDATE RETURN OTIO1 OTA SARI OUTPUT JMP CMND,I RETURN SPC 2 PTG DEF *-* RETURN ADDRESS LDA PTG,I GET ADDRESS OF STA PTGI INTERRUPT ROUTINE ISZ PTG LDA PTG,I GET ADDRESS OF STA IRTN INTERRUPT RETURN JSB TRJSB,I FILL TRAP CELL PTGI DEF *-* ISZ PTG UPDATE RETURN JMP PTG,I RETURN SPC 2 CBUFS DEF *-* RETURN CLA STA NOERS INITIALIZE ERROR FLAG LDA CBUFS,I GET ERROR POINTER STA CBERR LDA MD128 INITIALIZE COUNT STA CBCNT LDA BXMIT INITIALIZE POINTERS STA BUFFA LDA BRCV STA BUFFB CBC02 LDA CBC1A STA CDATA LDA BUFFA,I ISZ BUFFA STA CEXPD SAVE LDA BUFFB,I ISZ BUFFB LDB A JMP CDAC1 CHECK DATA CEXPD BSS 1 EXPECTED DATA CBERR DEF *-* ERROR MESSAGE POINTER ISZ NOERS CHECK FOR ERRORS RSS CONTINUE JMP CBC03 DO NOT REPORT ANY NORE ERRORS ISZ CBCNT DONE? JMP CBC02 CONTINUE CBC03 ISZ CBUFS UPDATE RETURN JMP CBUFS,I RETURN CBCNT BSS 1 CBC1A DEF CEXPD SPC 2 DMAON DEF *-* RETURN ADDRESS LDA DMACF PLACE STA SDMAH CLF °°þúIN TRAP CELL LDA CW1 GET COMMAND WORD 1 OTA SDMAH OUTPUT TO DMA CLC SDMAL PREPARE FOR CW2 LDA DMAON,I INPUT OR OUTPUT + OTA SDMAL ADDRESS TO DMA STC SDMAL PREPARE FOR CW3 LDA CW3 GET CONTROL WORD 3 OTA SDMAL OUTPUT TO DAM FNIO5 STC SARI,C START ARI STC SDMAH,C START DMA ISZ DMAON UPDATE RETURN JMP DMAON,I RETURN SPC 1 CW1 ABS SARI CONTROL WORD 1 FOR DMA CW3 EQU MD128 SPC 2 DMAOF DEF *-* RETURN ADDRESS DMACF CLF SDMAH TRUN OFF DMA LIA SDMAL GET COUNT SZA,RSS CHECK COUNT = 0 JMP DMAOF,I RETURN CLF INTP CLEAR INTERRUPT SYSTEM JSB ERMS,I REPORT ERROR DEF EM154 JMP DMAOF,I RETURN SPC 2 CLBFR DEF *-* RETURN ADDRESS LDB MD128 INITIALIZE COUNTER CLA CLEAR STB CLCNT LDB BRCV BUFFER POINTER CLC01 STA B,I CLEAR BUFFER INB UPDATE POINTER ISZ CLCNT UPDATE COUNT JMP CLC01 CONTINUE JMP CLBFR,I RETURN CLCNT BSS 1 COUNTER SPC 2 PTGNR DEF *-* RETURN ADDRESS LDA PTGNR,I GET START PATTERN STA PTGTY SAVE LDB MD128 INITIALIZE COUNTER STB PTNCT SAVE LDB BXMIT GET BUFFER POINTER PTGC1 STA B,I PLACE DATA IN BUFFER INB UPDATE BUFFER POINTER LDA PTGTY GET DATA SZA,RSS RSS SSA RSS INA STA PTGTY SAVE NEXT DATA ISZ PTNCT UPDATE COUNTER JMP PTGC1 CONTINUE ISZ PTGNR UPDATE RETURN ADDRESS JMP PTGNR,I RETURN SPC 2 PTGTY BSS 1 DATA PTNCT BSS 1 SKP CSTUS DEF *-* RETURN ADDRESS JSB RSTUS GET INTERFACE STATUS CSC01 STA STAT SAVE ACTUAL STATUS LDA CSTUS,I GET EXPECTED STATUS ISZ CSTUS UPDATE RETURN CPA ST])þúAT CHECK STATUS JMP CSXIT CONTINUE STA EXSTS SAVE EXPECTED STSTUS LDA CSTUS,I GET ERROR MESSAGE STA CSFRM SAVE LDA EMCS3 STA CSTO JSB MOVE CSTO DEF *-* CSFRM DEF *-* LDA EXSTS GET EXPECTED STATUS CLE LDB EMCS2 JSB O2AS,I LDA STAT GET ACTUAL STATUS CLE LDB EMCS1 JSB O2AS,I JSB ERNO GET SUB-TEST NO. DEF EMCS LDA STAT GET ACTUAL STATUS LDB EXSTS GET EXPECTED STATUS JSB ERMS,I OUTPUT ERROR DEF EMCS CSXIT ISZ CSTUS JMP CSTUS,I RETURN EMCS ASC 8,EXXX STATUS IS EMS1 ASC 6,XXXXXX EXP EMS2 ASC 4,YYYYYY ( EMS3 ASC 14, EMCS1 DEF EMS1 EMCS2 DEF EMS2 EMCS3 DEF EMS3 STAT BSS 1 ACTUAL STATUS EXSTS BSS 1 SPC 2 MSTUS DEF *-* RETURN ADDRESS JSB RSTUS READ STATUS AND MSTUS,I MASK THE STATUS ISZ MSTUS UPDATE RETURN ADDRESS LDB MSTUS GET RETURN ADDRESS STB CSTUS SAVE JMP CSC01 CONTINUE SPC 2 MOVE DEF *-* RETURN ADDRESS LDB MOVE,I GET TO ISZ MOVE LDA .M14 STA MVCNT LDA MOVE,I GET FROM STA MVFRM MVC01 LDA MVFRM,I GET DATA STA B,I PUT DATA INB ISZ MVFRM ISZ MVCNT JMP MVC01 ISZ MOVE JMP MOVE,I RETURN MVCNT BSS 1 .M14 DEC -14 MVFRM DEF *-* SPC 2 ESTUS DEF *-* RETURN ADDRESS JSB RSTUS READ STATUS AND MSKXS MASK LDB ESTUS GET RETURN ADDRES STB CSTUS SAVE JMP CSC01 CONTINUE SPC 2 MSKXS ABS CC+CF+SCF+CB+CE+DEVI+DEVI SKP CDATA DEF *-* RETURN ADDRESS JSB RDDTA GET DATA FROM INTERFACE CDAC1 STA DATA SAVE ACTUAL DATA LDA CDATA,I GET EXPECTED DATA ISZ CDATA UPDATE RETURN CPA DATA CHECK DATA JMP CDXIT CONTINUE STA ?þúEXDAT SAVE EXPECTED DATA LDA CDATA,I GET MESSAGE POINTER STA CDFRM LDA EMCD3 STA CDTO JSB MOVE CDTO DEF *-* CDFRM DEF *-* LDA EXDAT GET EXPECTED DATA CLE LDB EMCD2 JSB O2AS,I CONVERT TO ASCII LDA DATA GET ACTUAL DATA CLE LDB EMCD1 JSB O2AS,I CONVERT TO ASCII JSB ERNO PLACE E NO. DEF EMCD LDA DATA GET ACTUAL DATA LDB EXDAT GET EXPECTED DATA JSB ERMS,I REPORT ERROR DEF EMCD JSB ALLER CHECK - ALL ERRORS DESIRED CDXIT ISZ CDATA UPDATE RETURN JMP CDATA,I RETURN SPC 2 EMCD ASC 7,EXXX DATA IS EMD1 ASC 6,XXXXXX EXP EMD2 ASC 4,YYYYYY ( EMD3 ASC 14, EMD4 ASC 4, STOP, EMD5 ASC 6, PARITY, EMD6 ASC 9, BITS PER CHAR)/ EMCD1 DEF EMD1 EMCD2 DEF EMD2 EMCD3 DEF EMD3 DATA BSS 1 ACTUAL DATA EXDAT BSS 1 EXPECTED DATA SPC 2 MDATA DEF *-* RETURN ADDRESS JSB RDDTA READ DATA AND MDATA,I MASK THE DATA ISZ MDATA UPDATE RETURN ADDRESS LDB MDATA GET RETURN ADDRESS STB CDATA SAVE JMP CDAC1 CONTINUE SPC 2 CBURT DEF *-* RETURN ADDRESS LDA CBURT,I GET WORD 3 COMMAND STA CBWD3 SAVE ISZ CBURT UPDATE RETURN ADDRESS LDA CBURT,I GET ERROR MSG POINTER STA CBMSG SAVE ISZ CBURT UPDATE RETURN ADDRESS LDA MD128 INITIALIZE COUNTER STA BCNTR LDA BXMIT GET BUFFER POINTER STA BUFFA SAVE LDA BRCV GET BUFFER POINTER STA BUFFB SAVE CLA INITIALIZE ERROR FLAG STA NOERS CBUC2 LDB BUFFA,I GET EXPECTED DATA LDA BUFFB,I GET ACTUAL DATA CPA B CHECK DATA JMP CBUC1 CONTINUE STB EXDAT SAVE EXPECTED DATA STA DATA SAVE ACTUAL DATA JSB MOVE MOVE MSG DEF EMD3 CBMSG DEF *-* þûþú MSG POINTER JSB ERNO GENERATE ENNN DEF EMCD POINTER TO MSG LDA CBWD3 GET WORD 3 COMMAND AND MSK3 ISOLATE BITS / CHAR ADA ASCI5 CONVERT TO ASCII STA EMD6 PLACE IN MSG LDA CBWD3 GET WORD 3 COMMAND AND .B5 ISOLATE STOP LDB ASCI1 1 STOP BIT SZA LDB ASCI2 2 STOP BITS STB EMD4 PLACE IN MSG LDA CBWD3 GET WORD 3 COMMAND RAR,RAR POSITION AND MSK3 ISOLATE PARITY TYPE SZA,RSS WAS PARITY USED JMP CBNOP CONTINUE - NO PARITY USED SLA,RSS EVEN OR ODD? JMP CBODD CONTINUE - ODD PARITY USED LDA CBM1E EVEN PARITY USED LDB CBM2E GET ASCII "EVN" JMP CBEC1 CONTINUE CBODD LDA CBM1O GET ASCII "ODD" LDB CBM2O JMP CBEC1 CONTINUE CBNOP LDA CBM1N GET ASCII "NO" LDB CBM2N CBEC1 STA EMD5 PLACE IN MSG STB EMD5+1 LDA EXDAT GET EXPECTED DATA CLE LDB EMCD2 GET POINTER JSB O2AS,I CONVERT TO ASCII LDA DATA GET ACTUAL DATA CLE LDB EMCD1 GET POINTER JSB O2AS,I CONVERT TO ASCII LDA DATA GET ACTUAL DATA LDB EXDAT GET EXPECTED DATA JSB ERMS,I REPORT ERROR DEF EMCD POINTER TO MSG JSB ALLER CHECK - ALL ERRORS DESIRED LDB SW14 MASK FOR SE 14 SWJSB JSB SWRT,I CHECK SW REG JMP CBEC2 CONTINUE LDA SUBT. GET SUB-TEST NO (ENNN) AND .77 IOR CBHTI GENERATE HALT INSTRUCTION STA CBHLT PLACE HALT INSTRUCTION IN PROGRAM LDB 112B IS THERE A TELEPRINTER? LDA CBWD3 GET WORD 3 COMMAND FOR DISPLAY SZB,RSS CBHLT NOP NOP REPLACED WITH HALT 1030XX CBEC2 ISZ NOERS CHECK - ALL ERRORS DESIRED RSS JMP CBURT,I NO - RETURN CBUC1 ISZ BUFFA UPDATE BUFFER POINTER ISZ BUFFB UPDAþ«þúTE BUFFER POINTER ISZ BCNTR UPDATE COUNTER JMP CBUC2 CONTINUE JMP CBURT,I RETURN SPC 1 CBHTI OCT 103000 HALT INSTRUCTION SW14 OCT 40000 MASK FOR SE REG BIT 14 CBM1N ASC 1, N CBM2N ASC 1,O CBM1O ASC 1, O CBM2O ASC 1,DD CBM1E ASC 1, E CBM2E ASC 1,VN ASCI5 ASC 1, 5 ASCI1 ASC 1, 1 ASCI2 ASC 1, 2 CBWD3 BSS 1 WORD 3 COMMAND .B5 ABS B5 SPC 1 ALLER DEF *-* RETURN ADDRESS LDB SW2 MASK FOR SWITCH 2 JSB SWRT,I CHECK SWITCH REGISTER CLA,RSS CLEAR ERROR FLAG CCA SET ERROR FLAG STA NOERS SAVE FLAG JMP ALLER,I RETURN SPC 1 NOERS BSS 1 ERROR FLAG SPC 2 SPCHC DEF *-* RETRUN ADDRESS LDA SPCHX GET COMMAND STA SPCP1 SAVE JSB CMND PLACE IN TRANSMIT MODE ABS WRD4+XMIT SPCC1 JSB CMND OUTPUT WORD 6 COMMAND SPCP1 BSS 1 LDA SPCP1 UPDATE COMMAND INA STA SPCP1 AND LOHWD SZA JMP SPCC1 CONTINUE JSB CMND PLACE IN RECEIVE MODE ABS WRD4 JMP SPCHC,I RETURN SPC 2 SPCHX ABS WRD6 SKP ORG ZCEND IOID EQU * DEF FNIO0 DEF FNIO1 DEF CNIO1 DEF CNIO2 DEF CNIO3 DEF CNIO4 DEF OTIO1 DEF FNIO2 DEF FNIO5 DEF STIO1 DEF FNIO6 DEF IOIN6 DEF CW1 DEF CLK00 DEF CLK01 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 DEF TST13 DEC -1 SKP TST01 EQU * MRTST DEF *-* RETURN ADDRESS JSB STSUB SAVE SUB-TEST NO. OCT 30 SUB-TEST NO. JSB CLF CLEAR INTERFACE FLAG CLC IOCLR I/O MASTER RESET JSB SFS CHECK INTERFACE FLAG FF RSS $7þú JMP MRC01 CONTINUE JSB ERMS,I REPORT ERROR DEF EM030 ERROR MESSAGE POINTER MRC01 JSB SHUTA CHECK SUB-TEST HALT,LOOP JSB CLF CLEAR INTERFACE FLAG JSB STC SET INTERFACE CONTROL FF JSB TRJSB,I FILL INTERRUPT TRAP CELL DEF MRIR1 WHERE TO GO IF INTERRUPT STF INTP ENABLE INTERRUPT SYTTEM CLC IOCLR I/O MASTER RESET NOP ALLOW TIME FOR INTERRUPT NOP INTERRUPT SHOULD NOT OCCUR CLF INTP TURN OFF THE INTERRUPT SYSEM JMP MRC02 CONTINUE MRIR1 DEF *-* RETURN ADDRESS CLF INTP TURN OFF INTERRUPT SYSTEM JSB ERMS,I REPORT ERROR DEF EM031 POINTER TO MESSAGE MRC02 JSB SHUTA CHECK SUB-TEST HALT,LOOP JSB CLF CLEAR INTERFACE FLAG FF JSB STC SET CONTROL FF JSB MRST GIVE INTERFACE A MASTER RESET COMMAND JSB SFS CHECK INTERFACE FLAG FF RSS JMP MRC03 CONTINUE JSB ERMS,I REPORT ERROR DEF EM032 POINTER TO MESSAGE MRC03 JSB SUBTH CHECK SUB-TEST HALT JSB CLF CLEAR INTERFACE FLAG FF JSB STC SET INTERFACE CONTROL FF JSB TRJSB,I FILL INTERRUPT TRAP CELL DEF MRIR2 WHERE TO GO IF INTERRUPT STF INTP TURN ON INTERRUPT SYSTEM NOP ALLOW TIME FOR AN INTERRUPT TO TAKE NOP PLACE JSB SUBTH UPDATE SUB-TEST NO. JSB TRJSB,I FILL INTERRUPT TRAP CELL DEF MRIR3 WHERE TO GO IF INTERRUPTED JSB MRST GIVE INTERFACE A MASTER RESET COMMAND NOP GIVE THE INTERFACE TIME TO INTERRUPT NOP THERE SHOULD BE NO INTERRUPT CLF INTP TURN OFF THE INTERRUPT SYSTEM MRC04 JSB SUBTT CHECK SUB-TEST HALT,LOOP JMP MRTST,I RETURN SPC 2 MRIR2 DEF *-* RETURN ADDRESS CLF INTP TURN OFF THE INTERRUPT SYSTEM JSB ERMS,I REPORT ERROR DEF EM033 ór<:6POINTER TO MESSAGE JMP MRC04 CONTINUE MRIR3 DEF *-* RETURN ADDRESS CLF INTP TURN INTERRUPT SYSTEM OFF JSB ERMS,I REPORT ERROR DEF EM034 POINTER TO MESSAGE JMP MRC04 CONTINUE SKP TST02 EQU * MSTST DEF *-* RETURN ADDREEES JSB STSUB SAVE SUB-TEST NO OCT 35 JSB MRST MASTER RESET JSB MSS1 TEST SBA,SBB ABS WRD4+SCA ABS SCF+CF EXPECTED STATUS DEF EM035 JSB SHUTA UPDATE SUB-TEST NO. JSB MSS1 TEST CD, CC, CE ABS WRD4+CA ABS CC+CE DEF EM036 JSB SHUTA UPDATE SUB-TEST NO. JSB MSS1 TEST CA, CB, CF ABS WRD4+CD ABS CB DEF EM037 JSB SHUTA UPDATE SUB-TEST NO. JSB CMNDD INITIALIZE INTERFACE ABS WRD4+CD+CA JSB RSTUS READ STATUS (CLC CH) AND MSTT1 MASK CPA MSTT1 CHECK STATUS JMP MSC01 CONTINUE JSB ERMS,I REPORT ERROR DEF EM040 MSC01 JSB SUBTH UPDATE SUB-TEST NO. JSB RDDTA READ DATA - SET CONTROL FF AND MSTT1 MASK CPA MSTT1 CHECK NOT EQUAL RSS STATUS JMP MSC02 CONTINUE JSB ERMS,I REPORT ERROR DEF EM041 ðû<ÿÿ ÿýÒá ÿ12966-18004 1519 S 0122 BUFFRD ASYNC COMMUN INTF DIAGN SOURCE             H0101 ¾¸þúMSC02 JSB SHUTA UPDATE SUB-TEST NO. JSB CMNDD ABS WRD4+CD+CA+SCA JSB MRST MASTER RESET JSB ESTUS ABS NULL DEF EM042 JSB SUBTT JMP MSTST,I RETURN SPC 2 MSTT1 ABS CC+CE+CB SPC 2 MSS1 DEF *-* RETURN ADDRESS LDA MSS1,I GET PARAMETERS STA MSP1 ISZ MSS1 LDA MSS1,I STA MSP2 ISZ MSS1 LDA MSS1,I STA MSP3 STA MSP4 ISZ MSS1 UPDATE RETURN ADDRESS JSB CMNDD OUTPUT COMMAND MSP1 BSS 1 WORD 4 COMMAND JSB ESTUS CHECK STATUS MSP2 BSS 1 EXPECTED STATUS MSP3 DEF *-* ERROR MESSAGE JSB CMNDD OUTPUT COMMAND ABS WRD4+NULL JSB ESTUS CHECK STATUS ABS NULL EXPECTED STATUS MSP4 DEF *-* ERROR MESSAGE JMP MSS1,I RETURN SKP EM030 ASC 14,E030 FLAG NOT SET BY CLC 0/ EM031 ASC 16,E031 CONTROL NOT RESET BY CLC 0/ EM032 ASC 16,E032 FLAG NOT SET BY MR COMMAND/ EM034 ASC 13,E034 CONTROL NOT RESET BY ASC 6, MR COMMAND/ EM033 ASC 18,E033 FLAG SET - STATUS RESET FAILED/ EM035 ASC 11,SBA-SCA, SBB-SCF, CF)/ EM036 ASC 6,CA, CC, CE)/ EM037 ASC 4,CD, CB)/ EM040 ASC 12,E040 STATUS NOT RECVD ON ASC 10, INPUT AFTER CLC CH/ EM041 ASC 10,E041 STATUS RECVD ON ASC 10, INPUT AFTER STC CH/ EM042 ASC 2,MR)/ EM043 ASC 6,EN SBB-SCF)/ EM044 ASC 4,EN CF)/ EM045 ASC 4,EN CE)/ EM046 ASC 4,EN CC)/ EM047 ASC 4,EN CB)/ EM050 ASC 7,REF SBB-SCF)/ EM051 ASC 4,REF CF)/ EM052 ASC 4,REF CE)/ EM053 ASC 4,REF CC)/ EM054 ASC 4,REF CB)/ EM055 ASC 4,EN MR)/ EM056 ASC 4,REF MR)/ EM057 ASC 17,E057 FLAG SET - LOCK INOPERATIVE/ EM060 ASC 14,E060 FLAG NOT SET - DEVINT/ EM110 ASC 4,CA INH)/ EM111 ASC 3,SPCH)/ EM112 ASC 3,SPCH)/ EM113 ASC 11,E113 BA = 0 AFTER MR/ EM114 ASC 10,UART CHAR CTR DOWN)/ EM115 ASC 14,E115 BA = 1 (NO START BIT)/ EM116 ASC 11,UART XMIT OCT 6412 ASC 2, EM117 ASC 5,TEST, BB)/ EM120 ASC 11,U,³þúART RCVE OCT 6412 ASC 2, EM122 ASC 9,E122 PARITY ERROR/ EM126 ASC 5,SPCHFLG)/ EM127 ASC 15,E127 FLAG NOT SET BY SPCHFLG/ EM130 ASC 8,SPCHFLG RESET)/ EM131 ASC 6,BREAK FLAG)/ EM132 ASC 14,E132 FLAG NOT SET BY BREAK/ EM133 ASC 7,BREAK RESET)/ EM134 ASC 3,ECHO)/ EM137 ASC 5,OVER-RUN)/ EM140 ASC 15,E140 FLAG NOT SET BY OVPEFLG/ EM141 ASC 8,OVPEFLG RESET)/ EM142 ASC 11,E142 NO PARITY ERROR ( PEMS2 ASC 4,XXXXXX)/ EM143 ASC 18,E143 OVPEFLG NOT RESET (WORD5&CLPE)/ EM144 ASC 20,E144 FLAG SET BY BUFFER FLAGS (DCPC=1)/ EM145 ASC 17,E145 FLAG SET BY DEVINT WITH SRQ/ EM146 ASC 19,E146 FLAG NOT SET AFTER CLF CH (SRQ)/ EM147 ASC 14,E147 SRQ SET WHILE LOCK = 1/ HM150 ASC 20,H150 DCPC DATA TRANSFER OMITTED-NO DCPC/ EM151 ASC 8,DCPC TRANSMIT)/ EM152 ASC 14,STATUS ERROR IN DCPC TEST)/ EM153 ASC 7,DCPC RECEIVE)/ EM154 ASC 15,E154 DCPC ABNORMAL COMPLETION/ HDMS ASC 16,BUFFERED ASYNC COMM INTFC DIAG/ SKP TST03 EQU * RMTST DEF *-* RETURN ADDRESS JSB STSUB SAVE SUB-TEST NO OCT 43 JSB MRST MASTER RESET INTERFACE JSB CMNDD INITIALIZE INTERFACE ABS WRD4+CD+CA+SCA LDA MD5 COUNT STA RMCNT LDA RMCM1 INITIAL COMMAND STA RMP02 SAVE LDA AEM43 GET ERROR POINTER STA RMEPT RMC01 LDA RMEPT,I GET POINTER TO ERROR MSG STA RMP03 SAVE STA RMP04 JSB CMND GIVE COMMAND RMP02 BSS 1 COMMAND (ENABLE) JSB CSTUS CHECK STATUS ABS DEVI+DEVI+CC+CB+CE+CF+SCF+RSPAR RMP03 DEF *-* POINTER TO ERROR MSG JSB CMND GIVE COMMAND (RESET ENABLE) ABS WRD1+NULL JSB CSTUS CHECK STATUS ABS CC+CB+CE+CF+SCF+RSPAR RMP04 DEF *-* POINTER TO ERROR MSG ISZ RMCNT UPDATE COUNT RSS JMP RMC02 CONTINUE ISZ RMEPT LDA RMP02 GET LAST COMMAND SLA AND MSK37 MASK IOR WRDD1 STA RMP02 SAVE NEW COMMAND JSB SUBUP §Dþú UPDATE SUB-TEST NO JMP RMC01 CONTINUE SPC 2 RMC02 JSB SHUTA JSB MRST MASTER RESET JSB RMS01 TEST REFERANCE COMMAND ABS WRD1+SCFE ABS WRD2+SCFR DEF EM050 JSB SHUTA JSB RMS01 TEST REFERANCE COMMAND ABS WRD1+CFE ABS WRD2+CFR DEF EM051 JSB SHUTA UPDATE SUB-TEST NO JSB RMS01 TEST REFERANCE COMMAND ABS WRD1+CEE ABS WRD2+CER DEF EM052 JSB SHUTA UPDATE SUB-TEST NO JSB RMS01 TEST REFERANCE COMMAND ABS WRD1+CCE ABS WRD2+CCR DEF EM053 JSB SHUTA UPDATE SUB-TEST NO JSB RMS01 TEST REFERANCE COMMAND ABS WRD1+CBE ABS WRD2+CBR DEF EM054 JSB SHUTA UPDATE SUB-TEST NO JSB CMND ENABLE TO ONES ABS WRD1+CCE+CBE+CFE+SCFE+CEE JSB MRST MASTER RESET JSB CMNDD CREATE CONDITIONS THAT ABS WRD4+CA+CD+SCA JSB CMND WOULD OTHERWISE PRODUCE AN INTERRUPT ABS WRD2+NULL JSB ESTUS CHECK STATUS ABS CC+CF+SCF+CB+CE DEF EM055 JSB SHUTA UPDATE SUB-TEST NO JSB CMND SET REF TO ONES ABS WRD2+CCR+CER+CFR+SCFR+CBR JSB MRST MASTER RESET JSB CMND ENABLE ABS WRD1+CCE+CEE+CFE+SCFE+CBE JSB CMNDD ABS WRD4 JSB ESTUS CHECK STATUS ABS NULL DEF EM056 JSB SHUTA UPDATE SUB-TEST NO JSB MRST MASTER RESET JSB CLF CLEAR FLAG FF JSB CMND GENERATE DEVICE INTERRUPT ABS WRD1+CCE+CEE+CBE JSB CMND ABS WRD2+CCR+CER+CBR JSB SFS JMP RMC03 CONTINUE JSB ERMS,I REPORT ERROR DEF EM057 RMC03 JSB SUBUP UPDATE SUB-TEST NO JSB STC SET CONTROL AND CLEAR LOCK JSB SFS RSS JMP RMC04 CONTINUE JSB ERMS,I REPORT ERROR DEF EM060 RMC04 JMP RMTST,I RETURN SPC 2 RMS0Lºþú1 DEF *-* RETURN ADDRESS LDA RMS01,I GET ARM COMMAND STA RMP05 SAVE ISZ RMS01 LDA RMS01,I GET REFERANCE COMMAND STA RMP06 SAVE ISZ RMS01 LDA RMS01,I GET ERROR POINTER STA RMP07 SAVE STA RMP08 STA RMP09 STA RMP10 ISZ RMS01 UPDATE RETURN ADDRESS JSB CMND OUTPUT ARM COMMAND RMP05 BSS 1 JSB CMNDD OUTPUT CONTROL COMMAND ABS WRD4+NULL JSB CMND OUTPUT REFERANCE COMMAND RMP06 BSS 1 JSB ESTUS CHECK STATUS ABS DEVI+DEVI RMP07 DEF *-* ERROR POINTER JSB CMNDD OUTPUT CONTROL COMMAND ABS WRD4+CD+CA+SCA JSB ESTUS CHECK STATUS ABS CC+CB+CE+CF+SCF RMP08 DEF *-* ERROR POINTER JSB CMND OUTPUT REFERANCE COMMAND ABS WRD2+NULL JSB ESTUS CHECK STATUS ABS DEVI+DEVI+CC+CE+CF+SCF+CB RMP09 DEF *-* ERROR POINTER JSB CMNDD OUTPUT CONTROL COMMAND ABS WRD4+NULL JSB ESTUS CHECK STATUS ABS NULL RMP10 DEF *-* ERROR POINTERS JMP RMS01,I RETURN SPC 1 MD5 DEC -5 RMCM1 ABS WRD1+SCFE WRDD1 ABS WRD1 RMEPT DEF *-* POINTER TO ERROR MSG RMCNT BSS 1 COUNTER AEM43 DEF RMETB RMETB DEF EM043 DEF EM044 DEF EM045 DEF EM046 DEF EM047 SKP TST04 EQU * FIFO NOP RETURN ADDRESS JSB STSUB SAVE SUB-TEST NO OCT 61 JSB PTGNR GENERATE FIRST DATA PATTERN ABS 0 ALL ZEROS JSB XMT TRANSMIT,RECEIVE,COMPARE DATA JSB PTGNR GENERATE 2ND DATA PATTERN ABS -1 ALL ONES JSB XMT TRANSMIT,RECEIVE,COMPARE DATA JSB PTGNR GENERATE 3RD DATA PATTERN ABS 1 ASCENDING JSB XMT TRANSMIT,RECEIVE,COMPARE DATA JSB SHUTA UPDATE SUB-TEST NO JSB CHECK GO TO MASTER RESET ROUTINE JSB SHUTA UPDATE SUB-TgsþúEST NO JSB PTGNR CREATE 128 CHAR PATTERN ABS 1 ASCENDING JSB VALID GO TO VALIDITY TEST JSB SUBTT JMP FIFO,I RETURN XMT NOP TRANSMIT,RECEIVE AND COMPARE JSB MRST MASTER RESET CLA STA NOERS CLEAR ERROR FLAG JSB CMND START TRANSMIT MODE ABS WRD4+XMIT JSB CMND SEND BLANK CHAR TO ABS WRD0 CLEAR UART JSB XARI OUTPUT WORD 0 DATA LDB MD128 LOAD CHAR COUNT STB BCNTR JSB CMND SELECT RECEIVE MODE ABS WRD4 LDA BXMIT LOAD STARTING ADDRESS STA BUFFA OF BUFFER NOP RLOOP LDA BUFFA,I GET EXPECTED DATA CHAR AND LOHWD MASK STA RXXDA SAVE JSB MDATA GET AND CHECK REVD CHAR OCT 377 MASK RXXDA BSS 1 EXPECTED CHAR DEF EM061 POINTER TO ERROR MSG ISZ NOERS CHECK FOR ERRORS RSS JMP RXXXT BYPASS ERRORS ISZ BUFFA INC TO NEXT CHAR ISZ BCNTR INC CHAR CTR AND SKIP IF =128 JMP RLOOP GET NEXT CHAR LDA BXMIT RESTORE TO START RXXXT STA BUFFA ADDRESS OF BUFF JMP XMT,I RETURN SPC 2 CHECK NOP RETURN ADDRESS JSB PTGNR GENERATE A TEST PATTERN ABS -1 JSB XARI OUTPUT TEST DATA JSB MRST JSB PTGNR GENERATE EXPECTED DATA PATTERN ABS 0 JSB RARI RECEIVE THE DATA FROM FIFO JSB CBUFS CHECK THE RECEIVED DATA DEF EM062 POINTER TO ERROR MSG JMP CHECK,I RETURN SPC 2 VALID NOP VALIDITY TEST LDA VEC STA RLOOP-1 INSERT JMP CND IN XMT LOOP JMP XMT+1 GO TO XMT LOOP I046 JSB CMND SEND CHAR MODE ENABLE CMND ABS WRD1+ENCHM CLA STA NOERS CLEAR ERROR FLAG STA RLOOP-1 RESTORE NOP IN XMT LOOP LDA MD128 INITIALIZE COUNTER STA BCNTR VFLAG JSB RDDTA READ DµþúATA STA VSAVE CLA,INA DELAY PROCESSING FOR 1MS JSB TMRR,I LDA VSAVE RESTORE A REG TO PREVIOUS SSA,RSS CHECK BIT 15 FOR 1 (VALDA) JSB ERR15 ERROR,BIT15 NOT A 1 JSB SFS CHECK FOR FLAG SET (CHAR ENABLE MODE) JSB VERR ERROR,FLAG NOT SET JSB CLF JSB STC ISZ NOERS CHECK FOR ERRORS RSS JMP VALID,I BYPASS ERRORS - RETURN ISZ BCNTR INC TO NEXT CHAR JMP VFLAG GET NEXT CHAR JMP VALID,I RETURN VERR NOP CHAR ENABLE MODE ERROR JSB ERMS,I GO TO ERROR ROUTINE DEF EM064 JSB ALLER CHECK FOR ERROR REPORTS JMP VERR,I ERR15 NOP VALIDITY ERROR ROUTINE JSB ERMS,I DEF EM063 JSB ALLER CHECK FOR ERROR REPORTS JMP ERR15,I SPC 2 VEC JMP I046 VSAVE BSS 1 EM061 ASC 3,FIFO)/ EM062 ASC 5,FIFO MR)/ EM063 ASC 14,E063 VALID DATA BIT NOT SET/ EM064 ASC 11,E064 FLAG DID NOT SET, ASC 10, CHAR MODE ENABLED./ EM065 ASC 9,E065 INC CHAR CTR ASC 12,CNT=XXXXXX EXP YYYYYY/ EM066 ASC 8,BHFLG NOT SET)/ EM067 ASC 9,E067 FLAG NOT SET ASC 5,BY BHFLG./ EM100 ASC 6,WORD5&CBH)/ EM101 ASC 8,BFFLG NOT SET)/ EM102 ASC 9,E102 FLAG NOT SET ASC 5,BY BFFLG./ EM103 ASC 6,WORD5&CBF)/ EM104 ASC 8,BEFLG NOT SET)/ EM105 ASC 9,E105 FLAG NOT SET ASC 5,BY BEFLG./ EM106 ASC 6,WORD5&CBE)/ EM107 ASC 10,E107 FIFO MR DID NOT ASC 8, RESET CHAR CTR/ SKP ORG 6000B TST05 EQU * CHAR CTR AND BUFFER FLAG TEST FLAGS NOP RETURN ADDRESS JSB STSUB SAVE TEST NO OCT 65 JSB MRST MASTER RESET CLA STA NOERS CLEAR ERROR FLAG JSB PTGNR GENERATE 128 CHAR DATA PATTERN ABS 1 JSB CMND SEND XMIT COMMAND ABS WRD4+XMIT LDB MD128 SET UP 128 COUNTER FOR CHAR STB BCNTR COUNT LDA BXMIT GET BUFFER START ADDkyþúRESS STA BUFFA FOR XMIT CLB FLOOP LDA BUFFA,I LOAD NEXT CHAR TO STA F5DA JSB CMND FIFO F5DA BSS 1 INB INC COUNT ISZ BUFFA UPDATE BUFFER ADDRESS JSB RDDTA GET CHAR COUNT AND CCMSK MASK COUNT AND ALF,ALF POSITION CPA B CHECK FOR VALID COUNT RSS COUNT IS EQUAL JSB CTNER ERROR,COUNT NOT SAME ISZ BCNTR INC CHAR CTR AND CPB .77 TEST FOR FULL CTN RSS FULL COUNT JMP FLOOP COUNT NOT FULL,LOOP JSB SUBTH UPDATE SUB-TEST NUMBER CLA STA NOERS CLEAR ERROR FLAG F503 LDA BUFFA,I LOAD AND SEND NEXT STA F5DA3 JSB CMND CHAR TO INTERFACE F5DA3 BSS 1 LDB BCNTR UPDATE CHAR CTR. INB,SZB,RSS CHECK FOR BUFF FULL JMP FULL BUFFER IS FULL STB BCNTR ISZ BUFFA INC TO NEXT BUF CHAR CPB HFULL CHECK FOR BUFF HALF FULL RSS BUFFER IS HALF FULL JMP F503 LOOP JSB MSTUS CHECK FOR BUFFER ABS BFHF+BFF+BEF HALF FULL FLAG ABS BFHF SET DEF EM066 POINTER TO ERROR MSG JSB SUBTH UPDATE SUB-TEST NUMBER JSB SFS CHECK FOR FLAG SET JSB FERR FLAG NOT SET,GO TO ERR RTN JSB SUBTH UPDATE SUB-TEST NUMBER JSB CMND RESET BUFFER HALF FULL ABS WRD5+77B WITH WORD 5 COMMAND JSB MSTUS GET AND CHECK STATUS ABS BFHF+BFF+BEF FOR BUFFER HALF FULL ABS NULL RESET DEF EM100 POINTER TO ERROR MSG JSB CLF JSB STC CLEAR FLAG,REARM FOR NEXT CK JSB SUBTH UPDATE SUB-TEST NUMBER JMP F503 RETURN TO NORMAL LOOP FERR DEF *-* FLAG NOT SET,BUF HALF FULL JSB ERMS,I GO TO ERROR MSG ROUTINE DEF EM067 JMP FERR,I RETURN FCTR BSS 1 FCTR1 BSS 1 SPC 2 CTNER NOP COUNT ERROR ROUTINE 0^þú STA FCTR1 SAVE ACTUAL COUNT STB FCTR STORE CONTENTS OF REG LDB ME65A LOAD ADDRESS CLE JSB O2AS,I GO TO ASCII CONVERT RTN LDA FCTR LOAD EXPECT COUNT LDB ME65B LOAD MSG ADDRESS CLE JSB O2AS,I GO TO ASCII CONVERT RTN LDA NOERS GET ERROR FLAG INA,SZA JMP CTNC1 NO MORE ERRORS TO REPORT LDB FCTR GET EXPECT COUNT LDA FCTR1 GET ACTUAL COUNT JSB ERMS,I GO TO ERROR MSG ROUTINE DEF EM065 JSB ALLER WANT ANY MORE ERRORS REPORTED CTNC1 LDB FCTR JMP CTNER,I RETURN SPC 1 ME65A DEF EM065+11 ME65B DEF EM065+17 SPC 2 FULL JSB MSTUS GET AND CHECK STATUS ABS BFHF+BFF+BEF FOR BUFFER FULL FLAG ABS BFF SET DEF EM101 POINTER TO ERROR MSG JSB SUBTH UPDATE SUB-TEST NUMBER JSB SFS CHECK IF FLAG SET JSB FERR2 FLAG NOT SET,GO TO ERR RTN JSB SUBTH UPDATE SUB-TEST NUMBER JSB CMND SEND COMMAND 5 ABS WRD5+77B CLEAR BUFF FULL JSB MSTUS GET AND CHECK STATUS ABS BFHF+BFF+BEF ABS NULL RESET DEF EM103 POINTER TO ERROR MSG JSB SUBTH UPDATE SUB-TEST NO. JSB CMND ABS WRD4 LDB MD128 SET COUNTER TO STB BCNTR 128 F5R JSB RDDTA GO TO RECEIVE ROUTINE ISZ BCNTR ROUTINE JMP F5R LOOP FOR 128 CHARS JSB CMND ABS WRD4+XMIT LDA MD16 STA BCNTR F5RR JSB CLK16 ISZ BCNTR JMP F5RR JSB MSTUS GET AND CHECK STATUS ABS BFHF+BFF+BEF FOR BUFFER EMPTY FLAG ABS BEF SET DEF EM104 POINTER TO ERROR MSG JSB SUBTH UPDATE SUB-TEST NUMBER JSB SFS CHECK IF FLAG SET JSB FERR4 FLAG NOT SET,GO TO ERR RTN JSB SHUTA UPDATE SUBTEST NUMBER JSB CMND SEND COMMAND 5,TO CLEAR ABS WRD5+77B STATUS ’þú JSB MSTUS GET AND CHECK STATUS ABS BFHF+BFF+BEF FOR BUFFER EMPTY FLAG ABS NULL RESET DEF EM106 POINTER TO ERROR MSG JSB SHUTA UPDATE SUB-TEST NO. JSB MRST MASTER RESET JSB XARI FILL THE FIFO BUFFER JSB MRST MASTER RESET JSB RDDTA GET DATA WORD AND CCMSK SZA CHECK FOR ZERO CTR JSB FERR6 CTR NOT ZERO,GO TO ERR JSB SHUTA UPDATE SUB-TEST NO. JSB MRST MASTER RESET JSB PTGNR GENERATE A TEST PATTERN ABS 1 JSB XARI FILL FIFO - CCNT7 NOT JSB CMND ATTEMPT TO RAISE LINE CA ABS WRD4+CA JSB MSTUS CHECK CC AND CE ABS CC+CE ABS NULL DEF EM110 POINTER ERROR MSG JSB SHUTA UPDATE SUB-TEST NO. JMP FLAGS,I RETURN TO START OF TEST SPC 1 FERR2 DEF *-* FLAG NOT SET,BUF FULL JSB ERMS,I GO TO ERROR ROUTINE DEF EM102 JMP FERR2,I RETURN SPC 1 FERR4 DEF *-* FLAG NOT SET,BUF EMPTY JSB ERMS,I DEF EM105 JMP FERR4,I SPC 1 FERR6 DEF *-* MASTER CLEAR ERROR JSB ERMS,I GO TO ERROR ROUTINE DEF EM107 JMP FERR6,I SPC 1 CCMSK OCT 37400 FMASK ABS BFHF+BFF+BEF HFULL EQU MD64 SKP TST06 EQU * SCTST NOP RETURN ADDRESS JSB STSUB SAVE SUB-TEST NO OCT 111 JSB MRST MASTER RESET INTERFACE JSB CMND GO TO XMIT MODE ABS WRD4+XMIT JSB CMND OUTPUT DUMMY ABS WRD0+NULL CLA STA SCSSX JSB SCS02 INTIALIZE SPCH RAM ABS WRD6 JSB SCS01 CHECK DATA AND SC ABS SCALL RAM = ALL ZEROS DEF EM111 POINTER ERROR MSG CLA STA SCSSX JSB SCS02 INITIALIZE SPCH RAM ABS WRD6+SPCHD JSB SCS01 CHECK RAM DATA = ALL ONES ABS SCALL+SCCMP+SCCMP DEF EM111 POINTER TO E oþúRROR MSG JSB SHUTA UPDATE SUB-TEST NO LDA SCSCM STA SCSSX JSB SCS02 INITIALIZE SPCH RAM ABS WRD6 JSB SCS01 CHECK RAM DATA ABS SCCHX DEF EM112 POINTER TO ERROR MSG LDA SCSCM STA SCSSX JSB SCS02 INITIALIZE SPCH RAM ABS WRD6+SPCHD JSB SCS01 CHECK RAM DATA ABS SCCHX+SCCMP+SCCMP DEF EM112 POINTER TO ERROR MSG JSB SHUTA UPDATE SUB-TEST NO. JMP SCTST,I RETURN SKP SCS01 NOP RETURN ADDRESS CLA STA NOERS CLEAR ERROR FLAG LDA SCS01,I GET PARAMETERS STA SCTYP SAVE PATTERN TYPE ISZ SCS01 LDA SCS01,I STA SCPE1 CLA STA SCCHR INITIALIZE CHARACTER ADA SCWD0 WORD 0 COMMAND STA SCPS1 SAVE SCSC5 JSB CMND OUTPUT WORD 4 COMMAND ABS WRD4+XMIT JSB CMND OUTPUT WORD 0 COMMAND SCPS1 BSS 1 JSB CMND SET INTERFACE TO RECEIVE ABS WRD4+NULL LDB SCTYP GET TYPE OF PATTERN RBL RBL,SLB JMP SCSC1 ALL RBL,SLB JMP SCSC2 CHECKS LDA SCTYP AND LOHWD STA B LDA SCPS1 GET DATA AND LOHWD LOWER HALF WORD CPA B JMP SCSC1 LDA SCMX JMP SCSC3 CONTINUE SCSC1 LDA SCSCN JMP SCSC3 CONTINUE SCSC2 LDA SCPS1 SLA JMP SCSC4 LDA SCSCN RSS SCSC4 LDA SCMX SCSC3 LDB SCTYP SSB XOR SCMX STA B LDA SCPS1 SAVE AND LOHWD IOR B IOR SCMYY CONSTRUCT EXPECTED DATA STA SCPS2 JSB CDATA CHECK DATA SCPS2 BSS 1 SCPE1 DEF *-* POINTER TO ERROR MSG ISZ NOERS CHECK ERROR FLAG RSS CONTINUE JMP SCSC6 NO MORE ERROR REPORTS LDA SCPS1 INA UPDATE TEST DATA STA SCPS1 AND LOHWD SZA JMP SCSC5 CO­9B@ 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 * * * * * * * * * * * * * * * * * * * * * ðþú* * 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/ * * 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 COбþúNTROL 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 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 m%<:6* 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 ­Ã<ÿÿ ÿýÕä ÿ12967-18002 1438 S 0122 SYNC COMMUN INTF DIAGN SOURCE             H0101 Eþú 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 CLF INTP TURN OFF ONTPS ZBS72 SFS CH 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 * * * * * * * * * * * * * * * * * * * * * * * SKP 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 JMP ZBIO,I RETURN TO CALLER * ZBI70 NOP CONTROL FAILED CLF INTP TURN OFF INTPS INA JMP ZB70 * 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 08,H025 BI-O COMP/ SKP 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 DEF ZBS42 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 * * * * * * * * * * * * * * * * * * * * * * * * * * HED SYNC COMM INTFC DIAG * * ORG 126B DSN OCT 103116 DIAGNOSTIC SERIAL NO. a~þú ORG 140B IOIP DEF IOID POINTER TO I-O INSTRUCTIONS TSTP DEF TSTD POINTER TO TEST DEF TABLE HDMP DEF HDMS POINTER TO HEADER MESSAGE STDA OCT 001777 STANDARD TESTS STDB OCT 000000 STANDARD TESTS ORG 150B IOCLR EQU 0 SSMI EQU 12B RDERR EQU 2 RESET DATA ERROR RPERR EQU 1 RESET PARITY ERROR SRLSA EQU 10B SECONDARY RECEIVE LINE SIGNAL ARM RLSA EQU 4 RECEIVE LINE SIGNAL ARM CLSA EQU 2 CLEAR TO SEND ARM DSRA EQU 1 DATA SET READY ARM RNGM EQU 20B RING MASK SRLSM EQU 10B SECONDARY RECEIVE LINE SIGNAL MASK RLSM EQU 4 RECEIVE LINE SIGNAL MASK CLSM EQU 2 CLEAR TO SEND MASK DSRM EQU 1 DATA SET READY MASK DMAEN EQU 40B DMA ENABLE PEN EQU 20B PARRITY ENABLE PSNS EQU 10B PARITY SENSE SRQS EQU 4 SECONDARY REQUEST TO SEND DTR EQU 2 DATA TERMINAL READY RQS EQU 1 REQUEST TO SEND DIAGN EQU 10B DIAGNOSE RECVT EQU 4 RECEIVE TEST TRDTA EQU 2 TEST RECEIVE DATA TCLK EQU 1 TEST CLOCK CHECK EQU 40000B CHECK / 2 MRQ EQU 40000B MODEM REQUEST DERR EQU 20000B DATA ERROR PERR EQU 10000B PARITY ERROR DRQ EQU 4000B DATA REQUEST RNGI EQU 1000B RING INTERRUPT SRLSI EQU 400B SECONDARY RECEIVE LINS SIGNAL INTERRUPT RLSI EQU 200B RECEIVE LINE SIGNAL INTERRUPT CLSI EQU 100B CLEAR TO SEND INTERRUPT DSRI EQU 40B DATA SET READY INTERRUPT RNG EQU 20B RING SRLS EQU 10B SECONDARY RECEIVE LINE SIGNAL RLS EQU 4 RECEIVE LINE SIGNAL CLS EQU 2 CLEAR TO SEND DSR EQU 1 DATA SET READY TSDTA EQU 40000B TEST SERIAL DATA RUN EQU 40000B RUN FF ACTV EQU 20000B ACTIVE FF HUNT EQU 10000B HUNT FF BYMD EQU 4000B BYTE MODE FF BCOV EQU 2000B BIT COUNTER OVERFLOW SYND EQU 1000B SYNK DETECT RQSS EQU 400B REQUEST TO SEND STATUS NULL EQU 0 ALL ZEROS SRSTC EQ–ÞþúU 10000B STATUS RESET COMMAND ARMC EQU 20000B ARM COMMAND MASKC EQU 30000B MASK COMMAND CNTLC EQU 40000B CONTROL COMMAND TESTC EQU 50000B TEST COMMAND STRTC EQU 60000B START COMMAND STOPC EQU 70000B STOP COMMAND B0 EQU 1 B1 EQU 2 B2 EQU 4 B3 EQU 10B B4 EQU 20B B5 EQU 40B B6 EQU 100B B7 EQU 200B SDMAL EQU 2 LOWER SELECT CODE DMA SDMAH EQU 6 UPPER SELECT CODE DMA IRTN DEF *-* BUFFA BSS 1 BUFFB BSS 1 TDATA DEF SMPDA ABUFB DEF BUFBB ABUFD DEF DMABF BUFBB BSS 18 DMABF BSS 36 SKP TRJSB DEF ZTCJI POINTER SW1 OCT 2 .7 OCT 7 MD8 DEC -8 MD7 DEC -7 MD38 DEC -38 MD9 DEC -9 MD18 DEC -18 SKP GUPLO NOP RETURN ADDRESS CLE,ERB LDA B,I GET CHARACTER SEZ,RSS ALF,ALF AND LOHWD ELB JMP GUPLO,I RETURN SPC 3 PUPLO NOP RETURN ADDRESS CLE,ERB AND LOHWD STA PCH LDA B,I SEZ,RSS ALF,ALF AND UPHWD IOR PCH SEZ,RSS ALF,ALF STA B,I ELB JMP PUPLO,I RETURN PCH BSS 1 UPHWD OCT 177400 MASK FOR UPPER HALF WORD LOHWD OCT 000377 MASK FOR LOWER HALF WORD SKP SUBT NOP RETURN ADDRESS LDB SW1 MASK FOR SWITCH 1 LDA USSC GET CONFIGURATION DATA SSA,RSS CHECK FOR SUB-TEST OK JMP SUBC1 CONTINUE JSB SWRT,I CHECK SWITCH 1 RSS JMP SUBT1 CONINUE LDA TSTN GET TEST NO. LDB SUBT. GET SUB-TEST NO. HLT 70B HALT SUBT1 LDB SW0 MASK FOR SWITCH 0 JSB SWRT,I CHECK SWITCH 0 JMP SUBT,I RETURN SUBC1 ISZ SUBT UPDATE RETURN ADDRESS JMP SUBT,I RETURN SPC 1 SUBTH NOP RETURN ADDRESS JSB SUBT CHECK SUB-TEST HALT NOP BYPASS LOOP JSB SUBUP UPDATE SUB-TEST NO. JMP SUBTH,I RETURNµþú SPC 1 SUBTT NOP RETURN ADDRESS JSB SUBT CHECK SUB-TEST HALT,LOOP JMP SUBLL LOOP ON THIS SUB-TEST JSB SUBUP UPDATE SUB-TEST NO. JMP SUBTT,I RETURN SPC 1 STSUB NOP RETURN ADDRESS LDA STSUB SAVE LOOP ADDRESS INA STA SUBLP LDA STSUB,I GET SUB-TEST NO. STA SUBT. SAVE STA SUBLN SAVE FOR USE WHEN LOOPING ISZ STSUB UPDATE RETURN JMP STSUB,I RETURN SPC 1 SHUTA NOP RETURN ADDRESS JSB SUBT CHECK SUB-TEST HALT, LOOP JMP SUBLL LOOP JSB SUBUP UPDATE SUB-TEST NO. LDA SHUTA GET LOOP ADDRESS STA SUBLP SAVE LDA SUBT. GET SUB-TST NO. STA SUBLN SAVE FOR FUTURE LOOPING JMP SHUTA,I RETURN SPC 1 SUBLL LDA SUBLN GET SUB-TEST NO. STA SUBT. SAVE JMP SUBLP,I GO LOOP SPC 1 SUBUP NOP RETURN ADDRESS LDA SUBT. GET SUB-TEST NO. INA AND .77 MASK CPA .70 CHECK FOR OCT X70 JMP SUBT3 CONTINUE ISZ SUBT. OK UPDATE SUBT. JMP SUBUP,I RETURN SUBT3 LDA SUBT. GET SUB-TEST NO. AND .300 MASK X00 ADA .100 UPDATE SUB-TEST NO. STA SUBT. SAVE JMP SUBUP,I RETURN .300 OCT 300 .70 OCT 70 .77 OCT 77 SUBLP DEF *-* LOOP ADDRESS SUBLN BSS 1 LOOP SUB-TEST NO. SUBT. BSS 1 SUB-TEST NUMBER .100 OCT 100 SKP ERNO NOP RETURN ADDRESS LDB ERNO,I GET BUFFER POINTER BLS CONVERT TO BYTE ADDRESS INB LDA SUBT. GET SUB-TEEST NO. AND E NO. ALF,ALF RAL,RAL AND LOHWD MASK ADA ASC0 CONVERT TO ASCII NO JSB PUPLO PLACE IN MESSAGE INB LDA SUBT. RAR,RAR RAR AND .7 ADA ASC0 CONVERT TO ASCII JSB PUPLO PLACÝþúE IN MESSAGE INB LDA SUBT. AND .7 MASK ADA ASC0 CONVERT TO ASCII NO JSB PUPLO PLACE IN MESSAGE ISZ ERNO UPDATE RETURN JMP ERNO,I RETURN ASC0 OCT 60 ASCII ZERO SKP CMND NOP RETURN ADDRESS LDA CMND,I GET OPTIONS IN COMMAND IOR B15 GENERATE COMMAND FNIO1 OTA SSMI GIVE COMMAND TO INTERFACE ISZ CMND UPDATE RETURN ADDRESS JMP CMND,I RETURN SPC 2 RSTUS NOP RETURN ADDRESS FNIO2 CLC SSMI INIT INPUT SELECTOR TO SELS STIO1 LIA SSMI READ STATUS JMP RSTUS,I RETURN SPC 2 MRST NOP RETURN ADDRESS LDA MRSTC GET MASTER RESET COMMAND FNIO0 OTA SSMI GIVE COMMAND TO INTERFACE LDA D4 JSB TMRR,I WAIT 4 MS JMP MRST,I RETURN B15 EQU * MRSTC OCT 100000 MASTER RESET COMMAND SPC 2 CLF NOP RETURN ADDRESS CNIO1 CLF SSMI CLEAR INTERFACE FLAG JMP CLF,I RETURN SPC 2 SFS NOP RETURN ADDRESS CNIO2 SFS SSMI SKIP ON FLAG SET JMP SFS,I RETURN - FLAG CLEAR ISZ SFS UPDATE RETURN ADDRESS JMP SFS,I RETURN SPC 2 STC NOP RETURN ADDRESS CNIO3 STC SSMI SET INTERFACE CONTROL FF JMP STC,I RETURN SPC 2 CLC NOP RETURN ADDRESS CNIO4 CLC SSMI CLEAR INTERFACE CONTROL FF JMP CLC,I RETURN SPC 2 LIA NOP RETURN ADDRESS CNIO5 LIA SSMI INPUT FORM INTERFACE JMP LIA,I RETURN SPC 2 CNTRL NOP RETURN ADDRESS LDA CNTRL,I GET CONTROL COMMAND STA CNTP1 JSB CMND OUTPUT CONTROL COMMAND CNTP1 BSS 1 LDA D4 WAIT 4 MS JSB TMRR,I ISZ CNTRL UPDATE RETURN JMP CNTRL,I RETURN SPC 2 MCLK NOP RETURN ADDRESS JSB CMND GIVE TEST COMMAND ABS TESTC+DIAGN+TCLK JSB CMND Hþú GIVE TEST COMMAND ABS TESTC+DIAGN JMP MCLK,I RETURN SPC 2 XMTI NOP RETURN ADDRESS JSB CNTRL RQS=1 ABS CNTLC+RQS+DTR JSB CMND SET RUN ABS STRTC JSB MCLK SET ACTV JSB MCLK SET BYMD AND DRQ JMP XMTI,I RETURN SPC 2 RCVI NOP RETURN ADDRESS JSB CNTRL RQS=0 ABS CNTLC+DTR+SRQS JSB CMND SET RUN ABS STRTC JSB MCLK SET ACTV JSB MCLK SET HUNT JMP RCVI,I RETURN SPC 2 PTYGN NOP RETURN ADDRESS STB PYTYP SAVE PARITY TYPE LDB MD8 STB PYCNT CCB AND B0TB6 MASK PYC01 SLA GENERATE PARITY CMB RAR ISZ PYCNT JMP PYC01 ALF,ALF SZB IOR .B7 LDB PYTYP GIVE CORRECT SSB,RSS PARITY TO XOR .B7 DATA JMP PTYGN,I RETURN PYCNT BSS 1 COUNTER PYTYP BSS 1 PARITY TYPE .B7 OCT 200 B0TB6 ABS B0+B1+B2+B3+B4+B5+B6 SPC 2 OTA NOP RETURN ADDRESS LDA OTA,I GET DATA ISZ OTA UPDATE RETURN OTIO1 OTA SSMI OUTPUT JMP OTA,I RETURN SPC 2 PENN DEF *-* SSA JMP PENC1 JSB CMND PARITY ENABLE ABS CNTLC+PEN+RQS JMP PENN,I RETURN PENC1 JSB CMND ABS CNTLC+PEN+PSNS+RQS JMP PENN,I RETURN SPC 2 SDIN NOP RETURN ADDRESS LDB SDIN,I GET DATA LDA MD8 INITIALIZE COUNTER STA SDINC SDC01 LDA MB0 GENERATE TEST COMMAND AND B RAL IOR SDCM1 CNIO6 OTA SSMI OUTPUT COMMAND XOR MB0 COMPLEMENT TEST CLOCK CNIO7 OTA SSMI OUTPUT COMMAND RBR NEXT BIT ISZ SDINC ALL BITS? JMP SDC01 CONTINUE XOR MB0 CNIO8 OTA SSMI ISZ SDIN YES - UPDATE RETURN JMP SDIN,I RETURN SW0 EQU * ¹Ï0.*MB0 ABS B0 SDINC BSS 1 SDCM1 ABS TESTC+DIAGN+RECVT+TCLK+100000B SPC 2 CDSB NOP RETURN ADDRESS LDA CDSB GET RETURN STA CDATA SAVE RETURN JSB RDDTA READ DATA LDA DSBYM AND B LDB A JMP CDAC1 CONTINUE DSBYM ABS RUN+ACTV+BYMD+BCOV+HUNT+SYND+RQSS SPC 2 SDOU NOP RETURN ADDRESS LDA MD8 STA SDOUC CLA STA SDCHR SDC02 JSB RDDTA GET TSDTA ELB CONSTRUCT LDA SDCHR CHARACTED ERA STA SDCHR BIT JSB MCLK SUPPLY TCLK ISZ SDOUC DONE/ JMP SDC02 CONTINUE LDA SDCHR GET CHARACTER ALF,ALF JMP SDOU,I RETURN SDCHR BSS 1 SDOUC BSS 1 SPC 2 PTG NOP RETURN ADDRESS LDA PTG,I GET ADDRESS OF STA PTGI INTERRUPT ROUTINE ISZ PTG LDA PTG,I GET ADDRESS OF STA IRTN INTERRUPT RETURN JSB TRJSB,I FILL TRAP CELL PTGI DEF *-* ISZ PTG UPDATE RETURN JMP PTG,I RETURN SPC 2 SMI1 NOP UNUSED RETURN ADDRESS Â\0ÿÿ ÿýÖ ã ÿ12967-18003 1438 S 0122 SYNC COMMUN INTF DIAGN SOURCE             H0101 Fþú CLF INTP TURN INTPS OFF SMIO1 CLC SSMI INPUT SELECTTOR TO SELS SMIO2 LIA SSMI GET INTERFACE STATUS AND NRNG MASK OFF RING STA XSSMI SAVE AND SMMI GENERATE NEW ARM IOR SMIA SMIO3 OTA SSMI OUTPUT COMMAND SMIO4 STC SSMI SET CONTROL JSB PTG PLACE TO GO IF ANOTHER INT DEF DMIX DEF CMCCA-1 DONE STF INTP ENABLE INTERRUPTS JMP IRTN,I RETURN XSSMI BSS 1 SMMI ABS CLS+DSR+RLS SMIA ABS 100000B+ARMC NRNG ABS -RNG-SRLS-1 SPC 2 CMNDI NOP RETURN ADDRESS LDA CMNDI,I GET COMMAND STA CMPI1 ISZ CMNDI LDA CMNDI,I GET EXPECTED STATUS STA CMPI2 ISZ CMNDI LDA CMNDI,I GET ERROR POINTER STA CMPI3 ISZ CMNDI UPDATE RETURN JSB PTG PLACE TO GO DEF SMI1 INTERRUPT DEF CMNIC DONE JSB CLF CLEAR FLAG JSB STC SET CONTROL STF INTP TURN ON INTERRUPTS JSB CMND ABS MASKC+CLSM+DSRM+RLSM JSB CNTRL CMPI1 BSS 1 COMMAND CLF INTP TURN INTERRUPT SYSTEM OFF JSB ERMS,I REPORT TIMEOUT DEF EM153 JSB RSTUS READ STATUS AND NRNG MASK OFF RING RSS SKIP CMNIC LDA XSSMI GET STATUS LDB CMCCA STB CSTUS CLF INTP TURN INTERRUPT SYSTEM OFF JMP CSC01 CHECK STATUS CMPI2 BSS 1 EXPECTED STATUS CMPI3 DEF *-* STF INTP TURN INTERRUPT SYSTEM ON JMP CMNDI,I RETURN CMCCA DEF CMPI2 SPC 2 CBUFS NOP RETURN ADDRESS CLA STA NOERS CLEAR ERROR FLAG LDA CBUFS,I GET ERROR POINTER STA CBERR LDA MD32 INITIALIZE COUNT STA CBCNT LDA TDATA INITIALIZE POINTERS ALS STA BUFFA LDA ABUFB ALS INA STA BUFFB CBC02 LDA CBC1A STA CDATA LDB BUFFA JSí/þúB GUPLO GET EXPECTED DATA ISZ BUFFA STA CEXPD SAVE LDB BUFFB ISZ BUFFB JSB GUPLO GET ACTUAL DATA LDB A JMP CDAC1 CHECK DATA CEXPD BSS 1 EXPECTED DATA CBERR DEF *-* ERROR MESSAGE POINTER ISZ NOERS CHECK FOR EXTENDED ERROR REPORT RSS JMP CBC03 EXIT NO MORE ERRORS ALLOWED ISZ CBCNT DONE? JMP CBC02 CONTINUE CBC03 ISZ CBUFS UPDATE RETURN JMP CBUFS,I RETURN CBCNT BSS 1 CBC1A DEF CEXPD SPC 2 DMS1 NOP RETURN ADDRESS JSB CNTRL CONTROL COMMAND ABS CNTLC+DTR+RQS+DMAEN JSB CMND START COMMAND ABS STRTC JSB MCLK SET ACTV JSB MCLK SET BYMD AND DRQ JMP DMS1,I RETURN SPC 2 DMS2 NOP RETURN ADDRESS JSB MRST MASTER RESET LDA CPTO GET COMPUTER OPTIONS RAR,RAR SLA,RSS JMP DMC05 CONTINUE - NO DMA JSB STSUB OCT 151 JSB CLBFR CLEAR BUFFER JSB CMNDI INITIALIZE INTERFACE ABS CNTLC+DTR ABS CHECK+CHECK+MRQ+DSRI+DSR DEF EM151 JSB CMNDI ABS CNTLC+DTR+RQS ABS CHECK+CHECK+MRQ+CLSI+CLS+DSR DEF EM151 JSB SUBUP UPDATE SUB. TEST NO. JSB UNPCK JSB DMAON TURN ON DMA DEF DMABF JSB STSUB OCT 146 LDA ABUFB BUFFER POINER ALS STA BUFFB LDA MD33 STA DMCNT COUNT JSB PTG PLACE TO GO DEF DMIX SMI INTERRUPT DEF DMC06 INTERRUPT RETURN JSB CMND START COMMAND ABS STRTC JSB CMND ENABLE DMA ABS CNTLC+DTR+RQS+DMAEN JSB MCLK SUPPLY CLOCK JSB MCLK SUPPLY CLOCK DMC07 JSB SDOU SUPPLY COOCKS LDB BUFFB JSB STC SET CONTROL JSB PUPLO PUT CHARACTER IN BUFFER ISZ BUFFB ISZ DMCNT UPDATE COUNTER °þú JMP DMC07 CONTINUE JSB CMND STOP COMMAND ABS STOPC JSB DMAOF TURN DMA OFF CLF INTP TURN INTERRUPT SYSTEM OFF JSB CBUFS CHECK DATA DEF EM146 STF INTP TURN INTERRUPT SYSTEM ON JSB SHUTA JSB STSUB OCT 151 JSB CMNDI PREPARE INTERFACE FOR INPUT ABS CNTLC+DTR ABS CHECK+CHECK+MRQ+CLSI+DSR DEF EM151 JSB CMNDI ABS CNTLC+DTR+SRQS ABS CHECK+CHECK+MRQ+RLSI+RLS+DSR DEF EM151 JSB STSUB OCT 147 JSB CLBFR CLEAR BUFFER JSB DMAON START DMA DEF DMABF,I DMA BUFFER JSB RCVI START RECIIVE JSB CMND ABS CNTLC+SRQS+DTR+DMAEN LDA TDATA BUFFER ADDRESS ALS STA BUFFA LDA MD33 STA DMCNT JSB GSYNC GET SYNC CHARACTER STA DMSY1 STA DMSY2 JSB SDIN PROVIDE SYNC DMSY1 BSS 1 SYNC JSB SDIN PROVIDE SYNC DMSY2 BSS 1 SYNC JSB LIA INPUT SELECTOR TO SELD DMC08 LDB BUFFA JSB GUPLO GET TEST DATA STA DMPD1 JSB SDIN PROVIDE DATA DMPD1 BSS 1 TEST DATA ISZ BUFFA UPDATE BUFFER POINTER ISZ DMCNT UPDATE COUNT JMP DMC08 CONTINUE JSB DMAOF TURN DMA OFF JSB PACK JSB CBUFS DEF EM147 JSB STSUB OCT 151 JSB CMNDI ABS CNTLC+DTR ABS CHECK+CHECK+MRQ+RLSI+DSR DEF EM151 JSB CMNDI ABS CNTLC ABS CHECK+CHECK+MRQ+DSRI DEF EM151 JSB SUBTT DMC06 EQU * JMP DMS2,I SPC 1 DMC05 JSB MSGC,I DEF HM152 JMP DMC06 DMCNT BSS 1 SPC 2 DMAON NOP RETURN ADDRESS LDA DMACF PLACE STA SDMAH CLF IN TRAP CELL LDA CW1 GET COMMAND WORD 1 OTA SDMAH OUTPUT TO DMA CLC SDMAL PREPARE FOR CW2 LDA DMAON,I INPUT OR OUTPUT + ö.þú OTA SDMAL ADDRESS TO DMA STC SDMAL PREPARE FOR CW3 LDA CW3 GET CONTROL WORD 3 OTA SDMAL OUTPUT TO DAM FNIO5 STC SSMI,C START SMI STC SDMAH,C START DMA ISZ DMAON UPDATE RETURN JMP DMAON,I RETURN SPC 1 CW1 ABS SSMI CONTROL WORD 1 MD32 DEC -32 DMACF CLF SDMAH CLEAR DMA FLAG CW3 EQU * MD33 DEC -33 SPC 2 DMAOF NOP RETURN ADDRESS CLF SDMAH TRUN OFF DMA LIA SDMAL GET COUNT SZA,RSS CHECK COUNT = 0 JMP DMAOF,I RETURN CLF INTP TURN OFF INTERRUPTS JSB ERMS,I REPORT ERROR DEF EM150 JMP DMAOF,I RETURN SPC 2 DMIX NOP RETURN ADDRESS CLF INTP TURN OFF INTERRUPTS CLF SDMAH STOP DMA JSB RDDTA GET ACTUAL DATA AND STATUS JSB ERMS,I REPORT ERROR DEF EM154 JMP IRTN,I CONTINUE SPC 2 GSYNC NOP RETURN ADDRESS LDA USSC GET CONFIGURATION DATA ALF,ALF ISOLATE SYNC CHARACTER ALF,RAR RAR AND LOHWD MASK JMP GSYNC,I RETURN SPC 2 CLBFR NOP RETURN ADDRESS LDB MD38 INITIALIZE COUNTER CLA CLEAR STB CLCNT LDB ABUFB BUFFER POINTER BLS CLC01 JSB PUPLO CLEAR BUFFER INB UPDATE POINTER ISZ CLCNT UPDATE COUNT JMP CLC01 CONTINUE JMP CLBFR,I RETURN CLCNT BSS 1 COUNTER SPC 2 PACK NOP RETURN ADDRESS LDA ABUFD STA BUFFA LDB ABUFB BLS INB LDA MD32 STA MYCNT MYC01 LDA BUFFA,I JSB PUPLO INB ISZ BUFFA ISZ MYCNT JMP MYC01 CONTINUE JMP PACK,I RETURN SPC 1 MYCNT BSS 1 SPC 1 UNPCK NOP RETURN ADDRESS LDB TDATA BLS LDA ABUFD STA BUFFB LDA MD32 STA MYCN¸àþúT MYC02 JSB GUPLO STA BUFFB,I INB ISZ BUFFB ISZ MYCNT JMP MYC02 CONTINUE JMP UNPCK,I RETURN SKP CSTUS NOP RETURN ADDRESS JSB RSTUS GET INTERFACE STATUS CSC01 STA STAT SAVE ACTUAL STATUS LDA CSTUS,I GET EXPECTED STATUS ISZ CSTUS UPDATE RETURN CPA STAT CHECK STATUS JMP CSXIT CONTINUE STA EXSTS SAVE EXPECTED STSTUS LDA CSTUS,I GET ERROR MESSAGE STA CSFRM SAVE LDA EMCS3 STA CSTO JSB MOVE CSTO DEF *-* CSFRM DEF *-* LDA EXSTS GET EXPECTED STATUS CLE LDB EMCS2 JSB O2AS,I LDA STAT GET ACTUAL STATUS CLE LDB EMCS1 JSB O2AS,I JSB ERNO GET SUB-TEST NO. DEF EMCS LDA STAT GET ACTUAL STATUS LDB EXSTS GET EXPECTED STATUS JSB ERMS,I OUTPUT ERROR DEF EMCS CSXIT ISZ CSTUS JMP CSTUS,I RETURN EMCS ASC 8,EXXX STATUS IS EMS1 ASC 6,XXXXXX EXP EMS2 ASC 4,YYYYYY ( EMS3 ASC 10, EMCS1 DEF EMS1 EMCS2 DEF EMS2 EMCS3 DEF EMS3 STAT BSS 1 ACTUAL STATUS EXSTS BSS 1 SKP MOVE NOP RETURN ADDRESS LDB MOVE,I GET TO ISZ MOVE LDA .M10 STA MVCNT LDA MOVE,I GET FROM STA MVFRM MVC01 LDA MVFRM,I GET DATA STA B,I PUT DATA INB ISZ MVFRM ISZ MVCNT JMP MVC01 ISZ MOVE JMP MOVE,I RETURN MVCNT BSS 1 .M10 DEC -10 MVFRM DEF *-* SKP 2 RDDTA NOP RETURN ADDRESS FNIO6 CLC SSMI INITIALIZE INPUT SELECTOR TO * STATUS INIO1 LIA SSMI GET STATUS INIO2 LIB SSMI GET DATA JMP RDDTA,I RETURN SPC 2 CDATA NOP RETURN ADDRESS JSB RDDTA GET DATA FROM INTERFACE CDAC1 STB DATA LDA CDATA,I GET EXPECTED DATA ISZ CDATA UPDATE RETURN CPA DATA CHèªþúECK DATA JMP CDXIT CONTINUE STA EXDAT SAVE EXPECTED DATA LDA CDATA,I GET MESSAGE POINTER STA CDFRM LDA EMCD3 STA CDTO JSB MOVE CDTO DEF *-* CDFRM DEF *-* LDA EXDAT GET EXPECTED DATA CLE LDB EMCD2 JSB O2AS,I CONVERT TO ASCII LDA DATA GET ACTUAL DATA CLE LDB EMCD1 JSB O2AS,I CONVERT TO ASCII JSB ERNO PLACE E NO. DEF EMCD LDA DATA GET ACTUAL DATA LDB EXDAT GET EXPECTED DATA JSB ERMS,I REPORT ERROR DEF EMCD LDB SW2 GET MASK FOR SW 2 SWJSB JSB SWRT,I CHECK SWITCH REGISTER CLA,RSS CLEAR FLAG CCA SET FLAG STA NOERS SAVE ERROR FLAG CDXIT ISZ CDATA UPDATE RETURN JMP CDATA,I RETURN SPC 2 EMCD ASC 7,EXXX DATA IS EMD1 ASC 6,XXXXXX EXP EMD2 ASC 4,YYYYYY ( EMD3 ASC 10, EMCD1 DEF EMD1 EMCD2 DEF EMD2 EMCD3 DEF EMD3 DATA BSS 1 ACTUAL DATA EXDAT BSS 1 EXPECTED DATA NOERS BSS 1 D4 EQU * SW2 OCT 4 SKP HM152 ASC 19,H152 DMA DATA TRANSFER OMITTED-NO DMA/ EM153 ASC 16,E153 MISSING INT. DURING STATUS/ EM154 ASC 14,E154 INT. WHEN NOT EXPECTED/ EM155 ASC 17,E155 MISSING INT. DURING TRANSMIT/ BSPGO EQU * SKP ORG ZCEND IOID EQU * DEF FNIO0 DEF FNIO1 DEF CNIO1 DEF CNIO2 DEF CNIO3 DEF CNIO4 DEF CNIO5 DEF CNIO6 DEF CNIO7 DEF CNIO8 DEF OTIO1 DEF FNIO2 DEF FNIO5 DEF FNIO6 DEF STIO1 DEF INIO1 DEF INIO2 DEF SMIO1 DEF SMIO2 DEF SMIO3 DEF SMIO4 DEF SMIO6 DEF CW1 DEC -1 TSTD EQU * DEF TST00 DEF TST01 DEF TST02 DEF TST03 DEF TST04 DEF TST05 DEF TST06 DEF TST07 DEF TST10 DEF TST11 DEC -1 SKP SMPDxïþúA OCT 015433 SYNC,SYNC EM030 ASC 14,E030 FLAG NOT SET BY CLC 0/ EM031 ASC 16,E031 CONTROL NOT RESET BY CLC 0/ EM032 ASC 13,E032 FLAG NOT SET BY MRST/ EM033 ASC 16,E033 CONTROL NOT RESET BY MRST/ EM034 ASC 5,RQS, CLS)/ EM035 ASC 8,DTR, DSR, RNG)/ EM036 ASC 9,SRQS, RLS, SRLS)/ EM037 ASC 24,E037 STATUS NOT RECVD ON 1ST INPUT AFTER CLC CH/ EM040 ASC 22,E040 STATUS RECVD ON 2ND INPUT AFTER CLC CH/ EM041 ASC 24,E041 STATUS NOT DECVD ON 1ST INPUT AFTER STC CH/ EM042 ASC 3,MRST)/ EM043 ASC 12,E043 STATUS REVD AFTER ASC 11,MASTER RESET COMMAND/ EM044 ASC 6,RNGI, DSRI)/ EM045 ASC 7,RLSI, SRLSI)/ EM046 ASC 3,CLSI)/ EM047 ASC 3,DSRA)/ EM050 ASC 3,CLSA)/ EM051 ASC 3,RLSA)/ EM052 ASC 4,SRLSA)/ EM053 ASC 6,MASK, MRST)/ EM054 ASC 6,ARM, MRST)/ EM055 ASC 17,E055 FLAG SET - LOCK INOPERATIVE/ EM056 ASC 13,E056 FLAG NOT SET - DEVRQ/ EM057 ASC 8,TSDTA)/ EM060 ASC 3,RQS)/ EM061 ASC 4,RECVT)/ EM062 ASC 4,TRDTA)/ EM063 ASC 3,RUN)/ EM064 ASC 6,RUN, STOP)/ EM065 ASC 6,RUN, MRST)/ EM066 ASC 3,ACTV)/ EM067 ASC 6,ACTV, STOP)/ EM100 ASC 3,HUNT)/ EM101 ASC 6,HUNT, STOP)/ EM102 ASC 3,BYMD)/ EM103 ASC 6,BYMD, STOP)/ EM104 ASC 3,BCOV)/ EM105 ASC 4,BCOV+1)/ EM106 ASC 4,BCOV+8)/ EM107 ASC 6,BCOV, STOP)/ EM110 ASC 3,DRQ)/ EM111 ASC 6,DRQ, STOP)/ EM112 ASC 13,E112 FLAG NOT SET BY DRQ/ EM113 ASC 6,DRQ, DATA)/ EM114 ASC 6,DRQ, BCOV)/ EM115 ASC 6,DRQ, INPUT)/ EM116 ASC 3,DERR)/ EM117 ASC 7,DERR, SRSTC)/ EM120 ASC 3,MRST)/ EM121 ASC 6,SHIFT ONES)/ EM122 ASC 4,SDOUT)/ EM123 ASC 7,SDOUT, MRST)/ EM124 ASC 6,DATA PATH)/ EM125 ASC 6,PARITY ODD)/ EM126 ASC 7,PARITY EVEN)/ EM127 ASC 5,E127 SYND= E127A ASC 1, ASC 3,DATA= E127B ASC 4,XXXXXX/ EM130 ASC 6,BYMD, SYND)/ EM131 ASC 8,BYMD, NOT SYND)/ EM132 ASC 6,HUNT, SYND)/ EM133 ASC 6,NO PARITY)/ EM134 ASC 3,PERR)/ EM135 ASC 4,RPERR)/ EM136 EQU * EM137 ASC 5,TRANSMIT)/ EM140 EQU * EM141 ASC 5,RECEIVE)/ EM142 ASC 19,E142 FLAG SET WITH DMA ENABLED (DRQ)/ EM143 ASC 17,E143 FLAG SET BY CHECK É|þúWITH (SRQ)/ EM144 ASC 19,E144 FLAG NOT SET AFTER CLF CH (SRQ)/ EM145 ASC 13,E145 SRQ SET WHILE LOCK=1/ EM146 ASC 7,DMA TRANSMIT)/ EM147 ASC 7,DMA RECEIVE)/ EM150 ASC 15,E150 DMA ABNORMAL COMPLETION/ EM151 ASC 5,DMA TEST)/ SKP TST01 EQU * MRTST NOP RETURN ADDRESS JSB STSUB SAVE SUB-TEST NO. OCT 30 SUB-TEST NO. JSB CLF CLEAR INTERFACE FLAG CLC IOCLR I/O MASTER RESET JSB SFS CHECK INTERFACE FLAG FF RSS JMP MRC01 CONTINUE JSB ERMS,I REPORT ERROR DEF EM030 ERROR MESSAGE POINTER MRC01 JSB SHUTA CHECK SUB-TEST HALT,LOOP JSB CLF CLEAR INTERFACE FLAG JSB STC SET INTERFACE CONTROL FF JSB TRJSB,I FILL INTERRUPT TRAP CELL DEF MRIR1 WHERE TO GO IF INTERRUPT STF INTP ENABLE INTERRUPT SYTTEM CLC IOCLR I/O MASTER RESET NOP ALLOW TIME FOR INTERRUPT NOP INTERRUPT SHOULD NOT OCCUR CLF INTP TURN OFF THE INTERRUPT SYSEM JMP MRC02 CONTINUE MRIR1 NOP RETURN ADDRESS CLF INTP TURN OFF INTERRUPT SYSTEM JSB ERMS,I REPORT ERROR DEF EM031 POINTER TO MESSAGE MRC02 JSB SHUTA CHECK SUB-TEST HALT,LOOP JSB CLF CLEAR INTERFACE FLAG FF JSB MRST GIVE INTERFACE A MASTER RESET COMMAND JSB SFS CHECK INTERFACE FLAG FF RSS JMP MRC03 CONTINUE JSB ERMS,I REPORT ERROR DEF EM032 POINTER TO MESSAGE MRC03 JSB SHUTA CHECK SUB-TEST HALT,LOOP JSB CLF CLEAR INTERFACE FLAG FF JSB STC SET INTERFACE CONTROL FF JSB TRJSB,I FILL INTERRUPT TRAP CELL DEF MRIR2 WHERE TO GO IF INTERRUPT STF INTP TURN ON INTERRUPT SYSTEM JSB MRST GIVE INTERFACE A MASTER RESET COMMAND NOP GIVE THE INTERFACE TIME TO INTERRUPT NOP THERE SHOULD BE NO INTERRUPT CLF INTP TURN OFFÑþú THE INTERRUPT SYSTEM MRC04 JSB SUBTT CHECK SUB-TEST HALT,LOOP JMP MRTST,I RETURN MRIR2 NOP RETURN ADDRESS CLF INTP TURN OFF THE INTERRUPT SYSTEM JSB ERMS,I REPORT ERROR DEF EM033 POINTER TO MESSAGE JMP MRC04 CONTINUE SKP TST02 EQU * MSTST NOP RETURN ADDRESS JSB STSUB SAVE SUB-TEST NO OCT 34 JSB MRST MASTER RESET JSB MSS1 TEST RQS AND CLS ABS CNTLC+RQS ABS CLS DEF EM034 JSB SHUTA CHECK SUB-TEST HALT AND LOOP JSB MSS1 TEST DTR,DSR,RNG ABS CNTLC+DTR ABS DSR+RNG DEF EM035 JSB SHUTA CHECK SUB-TEST HALT AND LOOP JSB MSS1 TEST SRQS,RLS,SRLS ABS CNTLC+SRQS ABS RLS+SRLS DEF EM036 JSB SHUTA CHECK SUB-TEST HALT AND LOOP JSB CNTRL GIVE CONTROL COMMAND ABS CNTLC+DTR+RQS+SRQS JSB RSTUS GET INTERFACE STATS CPA MSTT1 CHECK STATUS JMP MSC01 CONTINUE JSB ERMS,I REPORT ERROR DEF EM037 MSC01 JSB SUBTH CHECK SUB-TEST HALT JSB LIA INPUT 2ND CHARACTER CPA MSTT1 RSS JMP MSC02 CONTINUE JSB ERMS,I REPORT ERROR DEF EM040 MSC02 JSB SHUTA CHECK SUB-TEST HALT, LOOP MSC03 JSB SUBUP UPDATE SUB-TEST NO. JSB CNTRL GIVE CONTROL COMMAND ABS CNTLC+DTR+RQS+SRQS JSB MRST GIVE INTERFACE MASTER RESET COMMAND JSB CSTUS CHECK STATUS ABS NULL ALL MODEM STATUS RESET DEF EM042 JSB SHUTA CHECK SUB-TEST HALT, LOOP JSB MRST MASTER RESET COMMAND JSB CNTRL GIVE CONTROL COMMAND ABS CNTLC+DTR+RQS+SRQS JSB LIA INPUT FROM INTERFACE CPA MSTT1 CHECK INPUT FOR DATA RSS JMP MSC04 CONTINUE JSB ERMS,I REPORT ERROR DEF EM043 MSC04 JSB SUBTT CHECK SUB-TEST HALT, LOOP JMP MSTST,I RETURN Òé<:6 SPC 2 MSTT1 ABS CLS+RNG+DSR+SRLS+RLS SPC 2 MSS1 NOP RETURN ADDRESS LDA MSS1,I GET PARAMETERS STA MSP1 ISZ MSS1 LDA MSS1,I STA MSP2 ISZ MSS1 LDA MSS1,I STA MSP3 STA MSP4 ISZ MSS1 UPDATE RETURN ADDRESS JSB CNTRL GIVE CONTROL COMMAND MSP1 BSS 1 JSB CSTUS CHECK STATUS MSP2 BSS 1 MSP3 DEF *-* ERROR MESSAGE POINTER JSB CNTRL GIVE CONTROL COMMAND ABS CNTLC+NULL JSB CSTUS CHECK STATUS ABS NULL MSP4 DEF *-* ERROR MESSAGE POINTER JMP MSS1,I RETURN SKP TST03 EQU * AMTST NOP RETURN ADDRESS JSB STSUB SAVE SUB-TEST NO. OCT 44 JSB MRST MASTER RESET JSB CNTRL GIVE CONTROL COMMAND ABS CNTLC+DTR+RQS+SRQS JSB CMND GIVE INTERFACE MASK COMMAND ABS MASKC+RNGM JSB CSTUS CHECK STATUS ABS CHECK+CHECK+MRQ+RNGI+SRLS+RLS+CLS+DSR+RNG ßÿ<ÿÿ ÿý׿ ÿ12967-18004 1438 S 0122 SYNC COMMUN INTF DIAGN SOURCE             H0101 Gþú DEF EM044 JSB CMND ABS MASKC+DSRM JSB CSTUS CHECK STATUS ABS CHECK+CHECK+MRQ+DSRI+SRLS+RLS+CLS+DSR+RNG DEF EM044 JSB SHUTA JSB CMND GIVE INTERFACE MASK COMMAND ABS MASKC+RLSM JSB CSTUS CHECK STATUS ABS CHECK+CHECK+MRQ+RLSI+SRLS+RLS+CLS+DSR+RNG DEF EM045 JSB CMND GIVE INTERFACE MASK COMMAND ABS MASKC+SRLSM JSB CSTUS CHECK STATUS ABS CHECK+CHECK+MRQ+SRLSI+SRLS+RLS+CLS+DSR+RNG DEF EM045 JSB SHUTA JSB CMND GIVE INTERFACE MASK COMMAND ABS MASKC+CLSM JSB CSTUS CHECK STATUS ABS CHECK+CHECK+MRQ+CLSI+SRLS+RLS+CLS+DSR+RNG DEF EM046 JSB CMND ABS MASKC+NULL JSB CSTUS CHECK STATUS ABS SRLS+RLS+CLS+DSR+RNG DEF EM046 JSB SHUTA CHECK SUB-TEST HALT, LOOP JSB CMND GIVE INTERFACE MASK COMMAND ABS MASKC+DSRM+CLSM+RLSM+SRLSM AML01 JSB AMS1 TEST DSR ARM ABS CNTLC+DTR ABS CHECK+CHECK+MRQ+DSRI+DSR+RNG ABS ARMC+DSRA DEF EM047 JSB SUBT JMP AML01 LOOP JSB SUBUP UPDATE SUB-TEST NO AML02 JSB AMS1 TEST CLS ARM ABS CNTLC+RQS ABS CHECK+CHECK+MRQ+CLSI+CLS ABS ARMC+CLSA DEF EM050 JSB SUBT CHECK SUBOTEST HALT, LOOP JMP AML02 LOOP JSB SUBUP UPDATE SUB-TEST NO AML03 JSB AMS1 TEST RLS ARM ABS CNTLC+SRQS ABS CHECK+CHECK+MRQ+RLSI+RLS+SRLS ABS ARMC+RLSA DEF EM051 JSB SUBT CHECK SUB-TEST HALT, LOOP JMP AML03 LOOP JSB SUBUP AML04 JSB AMS1 TEST SRLS ARM ABS CNTLC+SRQS ABS CHECK+CHECK+MRQ+SRLSI+SRLS+RLS ABS ARMC+SRLSA DEF EM052 JSB SUBT CHECK SUB-TEST HALT, LOOP JMP AML04 LOOP JSB SUBUP UPDATE SUB-TEST NO OCT 53 JSB CMND GIVE MASK COMMAND ABS MASKC+RNGM+DSRM+RLSM+SRLSM+CLSM Û±þú JSB MRST GIVE INTERFACE MASTER RESET JSB CNTRL GIVE CONTROL COMMAND ABS CNTLC+DTR+RQS+SRQS JSB CSTUS CHECK STATUS ABS CLS+DSR+RNG+RLS+SRLS DEF EM053 JSB SHUTA JSB CMND GIVE ARM COMMAND ABS ARMC+DSRA+CLSA+RLSA+SRLSA JSB MRST JSB CMND GIVE MASK COMMAND ABS MASKC+DSRM+CLSM+RLSM+SRLSM JSB CNTRL GIVE CONTROL COMMAND ABS CNTLC+DTR+RQS+SRQS JSB CSTUS CHECK STATUS ABS CHECK+CHECK+MRQ+SRLSI+RLSI+CLSI+DSRI+SRLS+RLS+CLS+DSR+RNG DEF EM054 JSB SHUTA CHECK SUB-TEST HALT, LOOP JSB MRST INTERFACE MASTER RESET JSB CLF CLF INTP JSB CNTRL GIVE CONTROL COMMAND ABS CNTLC+DTR+RQS+SRQS JSB CMND GIVE MASK COMMAND ABS MASKC+DSRM+CLSM+RLSM+SRLSM JSB SFS SKIP FLAG SET JMP AMC01 CONTINUE JSB ERMS,I REPORT ERROR DEF EM055 AMC01 JSB SUBTH CHECK SUB-TEST HALT JSB STC JSB SFS SKIP FLAG SET RSS JMP AMC02 CONTINUE JSB ERMS,I REPORT ERROR DEF EM056 AMC02 JSB SUBTT CHECK SUB-TEST HALT, LOOP JMP AMTST,I RETURN SKP AMS1 NOP RETURN ADDRESS LDA AMS1,I GET PARAMETERS STA AMP1 ISZ AMS1 LDA AMS1,I STA AMP2 AND AMMS1 STA AMP4 LDA AMP2 AND AMMS2 STA AMP5 LDA AMP2 AND AMMS3 ALF,ALF ALF,ARS IOR AMMS4 STA AMP6 ISZ AMS1 LDA AMS1,I STA AMP3 ISZ AMS1 LDA AMS1,I STA AMSE1 STA AMSE2 STA AMSE3 STA AMSE4 JSB CMND AMP6 BSS 1 JSB CNTRL GIVE CONTROL COMMAND ABS CNTLC+NULL JSB CMND GIVE ARM COMMAND AMP3 BSS 1 JSB CSTUS CHECK STATUS AMP4 BSS 1 AMSE1 DEF *-* JSB CNTRL GIVE CONTROL COMMAND AMP1 BSS 1 JSB CSTUS CHECK STATUS AMP5 BSS ‚aþú1 AMSE2 DEF *-* JSB CMND ABS ARMC+NULL JSB CSTUS CHECK STATUS AMP2 BSS 1 AMSE3 DEF *-* JSB CNTRL GIVE CONTROL COMMAND ABS CNTLC+NULL JSB CSTUS CHECK STATUS ABS NULL AMSE4 DEF *-* ISZ AMS1 JMP AMS1,I SPC 2 AMMS1 ABS CHECK+CHECK+MRQ+DSRI+SRLSI+RLSI+CLSI AMMS2 ABS DSR+RLS+SRLS+CLS+RNG AMMS3 ABS SRLSI+RLSI+CLSI+DSRI AMMS4 ABS MASKC SKP TST04 EQU * ICTST NOP RETURN ADDRESS JSB STSUB SAVE SUB-TEST NO. OCT 57 JSB MRST JSB CMND ABS TESTC+DIAGN JSB CDATA CHECK DATA ABS TSDTA+TSDTA DEF EM057 JSB SUBTH CHECK SUB-TET HALT JSB CNTRL GIVE CONTROL COMMAND ABS CNTLC+RQS JSB CDATA CHECK DATA ABS RQSS DEF EM060 JSB SUBTH JSB CMND GIVE TEST COMMAND ABS TESTC+RECVT+DIAGN JSB CDATA CHECK DATA ABS RQSS DEF EM061 JSB SUBTH CHECK SUB-TEST HALT JSB CMND GIVE TEST COMMAND ABS TESTC+DIAGN+RECVT+TRDTA JSB CDATA CHECK DATA ABS TSDTA+TSDTA+RQSS DEF EM062 JSB SHUTA CHECK SUB-TEST HALT, LOOP JSB MRST MASTER RESET TO INTERFACE JSB CMND GIVE COMMAND TEST ABS TESTC+DIAGN JSB CMND GIVE START COMMAND ABS STRTC JSB CDSB CHECK DIAGN STATUS BYTE ABS RUN DEF EM063 JSB SUBTH CHECK SUB-TEST HALT JSB CMND GIVE COMMAND ABS STOPC JSB CDSB CHECK DIAGN STATUS BYTE ABS NULL DEF EM064 JSB SHUTA CHECK SUB-TEST HALT, LOOP JSB CMND GIVE COMMAND ABS STRTC JSB MRST JSB CMND GIVE TEST COMMAND ABS TESTC+DIAGN JSB CDSB CHECK DIAGN STATUS BYTE ABS NULL DEF EM065 JSB SHUTA JSB CMND SET RUN ABS STRTC JSB MCLK SET ACTV JSB CDSB nþú CHECK DIAGN STATUS BYTE ABS RUN+ACTV DEF EM066 JSB SUBTH CHECK SUB-TEST HALT JSB CMND STOP ABS STOPC JSB CDSB CHECK DIAGN STATUS BYTE ABS NULL DEF EM067 JSB SHUTA CHECK SUB-TEST HALT, LOOP JSB CMND SET RUN ABS STRTC JSB MCLK SET ACTV JSB MCLK SET HUNT JSB CDSB CHECK DIAGN STATUS BYTE ABS RUN+ACTV+HUNT DEF EM100 JSB SUBTH CHECK SUB-TEST HALT JSB CMND STOP ABS STOPC JSB CDSB CHECK DIAGN STATUS BYTE ABS NULL DEF EM101 JSB SHUTA CHECK SUB-TEST HALT, LOOP JSB CNTRL PUT INTERFACE IN ABS CNTLC+RQS TRANSMIT MODE JSB CMND ABS STRTC SET RUN JSB MCLK SET ACTV JSB MCLK SET BYMD JSB CDSB CHECK DIAGN STATUS BYTE ABS RUN+ACTV+BYMD+RQSS DEF EM102 JSB SUBTH CHECK SUB-TEST HALT JSB CMND RESET BYMD ABS STOPC JSB CDSB CHECK DIAGN STATUS BYTE ABS RQSS DEF EM103 JSB SHUTA CHECK SUB-TEST HALT, LOOP JSB CNTRL INITIALIZE INTERFACE FOR ABS CNTLC+RQS TRANSMIT MODE JSB CMND SET RUN ABS STRTC LDB MD9 ICC01 JSB MCLK SUPPLY 5 CLOCKS INB,SZB TO GET BCOV JMP ICC01 JSB CDSB CHECK DIAGN STATUS BYTE ABS RUN+ACTV+BYMD+BCOV+RQSS DEF EM104 JSB SUBTH CHECK SUB-TEST HALT JSB MCLK JSB CDSB CHECK DIAGN STATUS BYTE ABS RUN+ACTV+BYMD+RQSS DEF EM105 JSB SUBTH CHECK SUB-TEST HALT LDB MD7 ICC02 JSB MCLK SUPPLY TEST CLOCKS INB,SZB TO GET BCOV JMP ICC02 JSB CDSB CHECK DIAGN STATUS BYTE ABS RUN+ACTV+BYMD+BCOV+RQSS DEF EM106 JSB SUBTH CHECK SUB-TEST HALT JSB CMND STOP ABS STOPC JSB CDSB CHECK DIAGŽþúN STATUS BYTE ABS RQSS DEF EM107 JSB SHUTA CHECK SUB-TEST HALT, LOOP JSB MRST MASTER RESETT JSB CNTRL SET UP TRANSMIT MODE ABS CNTLC+RQS JSB CMND SET RUN ABS STRTC JSB MCLK SET ACTIVE JSB MCLK SET DQR JSB CSTUS CHECK STATUS ABS DRQ+CLS DEF EM110 JSB SUBTH CHECK SUB-TEST HALT JSB CMND STOP ABS STOPC JSB CSTUS CHECK STATUS ABS CLS DEF EM111 JSB SHUTA CHECK SUB-TEST HALT, LOOP JSB MRST MASTER RESET JSB CNTRL SET UP TRANSMIT MODE ABS CNTLC+RQS JSB CMND SET RUN ABS STRTC JSB MCLK SET ACTV JSB MCLK SET DRQ JSB SFS CHECK FLAG SET RSS JMP ICC03 CONTINUE JSB ERMS,I REPORT ERROR DEF EM112 ICC03 JSB SUBTH CHECK SUB-TEST HALT JSB OTA RESET DRQ WITH DSTB OCT 0 JSB CSTUS CHECK STATUS ABS CLS DEF EM113 JSB SUBTH CHECK SUB-TEST HALT, LOOP LDB MD8 ICC04 JSB MCLK SET DRQ BY BCOV INB,SZB JMP ICC04 JSB CSTUS CHECK STATUS ABS DRQ+CLS DEF EM114 JSB SUBTH CHECK SUB-TEST HALT JSB CNTRL SET INTERFACE TO ABS CNTLC RECEIVE MODE JSB RDDTA READ DATA JSB CSTUS CHECK STATUS ABS NULL DEF EM115 JSB CMND STOP ABS STOPC JSB SHUTA JSB MRST MASTER RESET JSB CNTRL PUT INTERFACE IN ABS CNTLC+RQS TRANSMIT MODE JSB CMND SET RUN ABS STRTC LDB MD18 ICC05 JSB MCLK SET DRQ THEN DERR INB,SZB JMP ICC05 JSB CSTUS CHECK STATUS ABS CHECK+CHECK+DERR+DRQ+CLS DEF EM116 JSB SUBTH CHECK SUB-TEST HALT JSB CMND STATUS RESET COMMAND ABS SRSTC+RDERR JSB CSTUS CHECK STATUSTÞþú ABS DRQ+CLS DEF EM117 JSB SUBTT CHECK SUB-TEST HALT, LOOP JMP ICTST,I RETURN SKP * DATA PATH TEST TST05 EQU * DATST NOP RETURN ADDRESS JSB STSUB SAVE SUB-TEST NO. OCT 120 JSB MRST MASTER RESET JSB CDATA CHECK DATA ABS NULL DEF EM120 JSB SHUTA CHECK SUB-TEST HALT, LOOP JSB CNTRL RQS = 1 ABS CNTLC+RQS * TRANSMIT MODE LDB MD7 DAC01 JSB MCLK GIVE TEST CLOCKS INB,SZB JMP DAC01 JSB CDATA CHECK DATA ABS B1+B2+B3+B4+B5+B6+B7+RQSS DEF EM121 JSB SUBTH CHECK SUB-TEST HALT JSB MCLK PLACE LAST ONE IN SHIFT REG JSB CDATA CHECK DATA ABS B0+B1+B2+B3+B4+B5+B6+B7+RQSS+TSDTA+TSDTA DEF EM122 JSB SUBTH CHECK SUB-TEST HALT JSB MRST MASTER RESET JSB CDATA CHECK DATA ABS NULL DEF EM123 JSB SHUTA CHECK SUB-TEST HALT, LOOP CLA JSB DAS1 TEST DATA PATH NO PARITY DEF EM124 JSB SHUTA CHECK SUB-TEST HALT,LOOP CLA,INA JSB DAS1 TEST DATA PATH PARITY EVEN- DEF EM125 JSB SHUTA CHECK SUB-TEST HALT,LOOP CCA HAG - PARITY EVEN JSB DAS1 DATA SUB-TEST DEF EM126 JSB SUBTT CHECK SUB-TET HALT,LOOP JMP DATST,I RETURN SPC 2 DAS1 NOP RETURN ADDRESS STA DAP SAVE PARITY TYPE CLA STA NOERS CLEAR ERROR FLAG LDA DAS1,I GET ERROR MESSAGE STA DAERR SAVE JSB MRST MASTER RESET JSB XMTI SETUP FOR TRANSMIT LDA DAP CHECK PARITY TYPE SZA JSB PENN ENABLE PARITY CLA INITIALIZE DATA DAC02 STA DAP01 SAVE TEST DATA JSB OTA OUTPUT DATA DAP01 BSS 1 DATA LDB MD8 DAC03 JSB MCLK SUPPLY TEST COLCK 8¡þú INB,SZB JMP DAC03 CONTINUE LDB DAP GET PARITY TYPE LDA DAP01 SZB JSB PTYGN GENERATE PARITY ADA DADSB SLA ADA B15 STA DAP02 SAVE EXPECTED DATA DAC04 JSB CDATA CHECK DATA DAP02 BSS 1 EXPECTED DATA DAERR DEF *-* ERROR MESSAGE POINTER ISZ NOERS CHECK FOR EXTENDED ERROR REPORTS RSS JMP DAC05 CONTINUE LDA DAP01 UPDATE DATA PATERN INA AND LOHWD SZA JMP DAC02 DAC05 ISZ DAS1 UPDATE RETURN JMP DAS1,I RETURN DADSB ABS RUN+ACTV+BYMD+RQSS DAP BSS 1 ORG 6000B SKP TST06 EQU * RMTST NOP RETURN ADDRESS JSB STSUB SAVE SUB-TEST NO. OCT 127 JSB GSYNC GET SYNC CHARACTER STA RMP01 STA RMP02 STA RMP04 STA RMP05 STA RMP06 STA RMP07 STA RMP08 STA RMP09 STA RMP10 INA AND LOHWD STA RMP03 JSB MRST MASTER RESET JSB RCVI START RECEIVE MODE JSB CNTRL TURN RQS ON ABS CNTLC+RQS CLA RML01 STA RMP04 SAVE TEST CHARACTER JSB OTA OUTPUT DATA RMP04 BSS 1 TEST DATA JSB RDDTA GET DIAGNOSTIC STATUS BYE LDA XSYND ISOLATE SYND AND B STA XXSYN SAVE LDB RMP04 CPB SYNCH XOR XSYND SZA,RSS JMP RMC02 CONTINUE LDA SYNC0 LDB XXSYN SZB LDA SYNC1 STA E127D,I CLE LDB E127C LDA RMP04 JSB O2AS,I CONVERT TO ASCII LDA XXSYN LDB RMP04 JSB ERMS,I REPORT EROR DEF EM127 LDB SW2 MASK FOR SW 2 JSB SWRT,I CHECK SWITCH REGISTER RSS JMP RMC01 CONTINUE - BYPASS ADDITIONAL ERRORS RMC02 LDA RMP04 UPDATE TEST DATA INA AND LOHWD SZA CHECK FOR ALL JMP RML01 ¢þú NO RMC01 JSB SHUTA UPDATE SUB-TEST NO. JSB MRST MASTER RESET JSB RCVI START RECEIVE MODE JSB SDIN SERIAL INPUT SYNCH EQU * RMP01 BSS 1 SYNC CHARACTER JSB CDSB CHECK DIAGNOSTIC STATUS BYTE ABS RUN+ACTV+HUNT+BYMD+SYND DEF EM130 JSB SHUTA CHECK SUB-TEST HALT, LOOP JSB MRST MASTER RESET JSB RCVI START RECEIVE MODE JSB SDIN SERIAL INPUT RMP02 BSS 1 JSB SDIN SERIAL INPUT RMP03 BSS 1 JSB CDSB CHECK DIAGNOSTIC STATUS BYTE ABS RUN+ACTV+HUNT DEF EM131 JSB SHUTA CHECK SUB-TEST HALT, LOOP JSB MRST MASTER RESET JSB RCVI START RECEIVE MODE JSB SDIN SERIAL INPUT RMP05 BSS 1 JSB SDIN SERIAL INPUT RMP06 BSS 1 JSB CDSB CHECK DIAGNOSTIC STATUS BYTE ABS RUN+ACTV+BYMD DEF EM132 JSB SHUTA CHECK SUB-TEST HALT, LOOP JSB MRST MASTER RESET JSB RCVI START RECEIVE JSB SDIN SERIAL INPUT RMP07 BSS 1 JSB SDIN SERIAL INPUT RMP08 BSS 1 JSB SDIN SERIAL INPUT ABS B0+B1+B2+B3+B4+B5+B6+B7 JSB CDATA CHECK DATA ABS RUN+ACTV+BYMD+377B+TSDTA+TSDTA DEF EM133 JSB SHUTA CHECK SUB-TEST HALT, LOOP JSB MRST JSB RCVI START RECEIVE MODE JSB SDIN SERIAL INPUT RMP09 BSS 1 JSB SDIN SERIAL INPUT RMP10 BSS 1 JSB CNTRL ENABLE PARITY ABS CNTLC+PEN JSB SDIN SERIAL INPUT ABS B0 BAD PARITY JSB CSTUS ABS CHECK+CHECK+DRQ+PERR DEF EM134 JSB SUBTH JSB CMND RESET PARITY ERROR ABS SRSTC+RPERR JSB CSTUS CHECK STATUS ABS DRQ DEF EM135 JSB SUBTT CHECK SUB-TEST HALT, LOOP JMP RMTST,I RETURN SPC 1 XXSYN BSS 1 XSYND ABS SYND SYNC0 ASC 1,0 SYNC1 ASC 1,1 E127C DEF E127B E127D DEF E127A ßþú SKP TST07 EQU * TRTST NOP RETURN ADDRESS JSB STSUB SAVE SUB-TEST NO. OCT 136 JSB MRST MASTER RESET JSB CLBFR CLEAR BUFFER JSB CMNDI START TRANSMIT MODE ABS CNTLC+DTR ABS CHECK+CHECK+MRQ+DSRI+DSR DEF EM136 JSB CMNDI OUTPUT COMMAND ABS CNTLC+DTR+RQS ABS CHECK+CHECK+MRQ+CLSI+CLS+DSR DEF EM136 JSB SUBUP JSB CLC CLEAR CONTROL FF LDA TDATA ALS STA BUFFA LDA ABUFB ALS STA BUFFB LDA MD38 STA TRCNT JSB PTG DEF TRTSI DEF TRC01 JSB XMTI INITIATE TRANSMIT TRC03 JSB STC SET CONTROL FF LDA D4 WAIT 4 MS JSB TMRR,I INTERRUPT CLF INTP TURN INTERRUPT SYSTEM OFF JSB ERMS,I REPORT TIMEOUT DEF EM155 JSB MRST MASTER RESET JMP TRTST,I RETURN TRC01 JSB SDOU SUPPLY COLCKS LDB BUFFB JSB PUPLO PUT CHARACTER IN BUFFER ISZ BUFFB UPDATE BUFFER POINTER JMP TRC03 CONTINUE TRTSI NOP UNUSED RETURN ADDRESS CLF INTP TURN OFF INTERRUPTS ISZ TRCNT LAST RSS NO JMP TRC02 YES - RETURN LDB BUFFA JSB GUPLO SMIO6 OTA SSMI,C OUTPUT TEST DATA ISZ BUFFA STF INTP JMP IRTN,I RETURN TRC02 JSB CMND GIVE STOP COMMAND ABS STOPC JSB STSUB OCT 136 JSB CMNDI COMMAND RQS = 0 ABS CNTLC+DTR ABS CHECK+CHECK+MRQ+CLSI+DSR DEF EM136 JSB CMNDI OUTPUT COMMAND ABS CNTLC ABS CHECK+CHECK+MRQ+DSRI DEF EM136 CLF INTP TURN INTERRUPTS OFF JSB SUBUP UPDATE SUB-TEST NO. JSB CBUFS DEF EM137 JMP TRTST,I TRCNT BSS 1 SKP TST10 EQU * RCTST NOP RETURN ADDRESS JSB STSUB SAVE SUBTEST NO. OCT 140 JSB MRST $8þú MASTER RESET JSB CLBFR JSB CMNDI INITIALIZE INTERFACE ABS CNTLC+DTR ABS CHECK+CHECK+MRQ+DSRI+DSR DEF EM140 JSB CMNDI ABS CNTLC+DTR+SRQS ABS CHECK+CHECK+MRQ+RLSI+RLS+DSR DEF EM140 JSB CLC CLEAR CONTROL FF LDA TDATA INITIALIZE BUFFER POINTERS ALS STA BUFFA LDA ABUFB ALS INA STA BUFFB LDA MD32 STA RCCNT JSB GSYNC GET SYNC CHARACTER STA RCSY1 INITIALIZE TEST STA RCSY2 JSB PTG PLACE TO GO DEF RCSYI INTERRUPT DEF RCC03 JSB RCVI START RECEIVE MODE JSB SDIN RECEIVE FIRST SYNC RCSY1 BSS 1 DYNV VHSTSVYRT JSB SDIN RECEIVE SECOND SYNC RCSY2 BSS 1 SYNC CHARACTER RCC01 JSB SUBUP UPDATE SUB-TEST NO JSB PTG PLACE TO GO DEF RCTSI INTERRUPT DEF RCC02 DONE RCC02 LDB BUFFA JSB GUPLO GET TEST DATA STA RCDTA ISZ BUFFA JSB SDIN RCDTA BSS 1 TEST DATA JSB STC SET CONTROL LDA D4 JSB TMRR,I WAIT FOR INTERRUPT CLF INTP TURN INTERRUPT SYSTEM OFF JSB ERMS,I REPORT TIMEOUT DEF EM156 JSB MRST MASTER RESET JMP RCTST,I RETURN RCTSI NOP UNUSED RETURN ADDRESS CLF INTP TURN INTERRUPTS OFF JSB RDDTA READ DATA LDA B LDB BUFFB JSB PUPLO PLACE DATA IN BUFFER ISZ BUFFB ISZ RCCNT DONE? RSS NO JMP RCC03 YES-CONTINUE STF INTP TURN INTERRUPT SYSTEM ON JMP IRTN,I RETURN RCSYI NOP UNUSED RETURN ADDRESS CLF INTP TURN INTERRUPTS OFF JSB CSTUS ABS SRLS+RLS+RNG+DSR DEF EM140 JMP IRTN,I RETURN RCC03 JSB CMND ABS STOPC JSB CBUFS CHECK DATA DEF EM141 JSB STSUB SAVE SUB-TEST NO OCT ¦þú140 JSB CMNDI COMMAND SRLS = 0 ABS CNTLC+DTR ABS CHECK+CHECK+MRQ+RLSI+DSR DEF EM140 JSB CMNDI COMMAND DTR = 0 ABS CNTLC ABS CHECK+CHECK+MRQ+DSRI DEF EM140 CLF INTP TURN INTERRUPTS OFF JSB SUBTT CHECK SUB-TEST JMP RCTST,I RETURN RCCNT BSS 1 EM156 ASC 17,E156 MISSING INT. DURING RECEIVE/ CUPGO EQU * SKP ORG BSPGO TST11 EQU * DMATS NOP RETURN ADDRESS JSB STSUB SAVE SUB-TEST NO. OCT 142 JSB MRST MASTER RESET CLF INTP TURN OFF INTERRUPTS JSB CLF CLEAR FLAG AND SRQ JSB DMS1 DMAEN AND DRQ JSB SFS JMP DMC01 CONTINUE JSB ERMS,I REPORT ERROR DEF EM142 DMC01 JSB SHUTA CHECK SUB-TEST HALT, LOOP JSB MRST MASTER RESET JSB CLF CLEAR FLAG AND SRQ JSB STC SET CONTROL FF JSB DMS1 DMAEN,DRQ,SRQ JSB CMND GENERATE CHECK ABS MASKC+DSRM+CLSM+RLSM+SRLSM JSB SFS JMP DMC02 CONTINUE JSB ERMS,I REPORT ERROR DEF EM143 DMC02 JSB SHUTA CHECK SUB-TEST HALT, LOOP JSB MRST MASTER RESET JSB CLF CLEAR FLAG AND SRQ JSB STC SET CONTROL FF JSB DMS1 DMAEN,DRQ,SRQ JSB CMND GENERATE CHECK ABS MASKC+DSRM+CLSM+RLSM+SRLSM JSB CLF CLEAR FLAG AND SRQ JSB SFS RSS FLAG CLEAR JMP DMC03 CONTINUE JSB ERMS,I REPORT ERROR DEF EM144 DMC03 JSB SHUTA CHECK SUB-TEST HALT, LOOP JSB MRST MASTER RESET JSB CLF CLEAR FLAG AND SRQ JSB DMS1 DMAEN,DRQ,SRQ JSB CNTRL DROP DMAEN ABS CNTLC+DTR+RQS+SRQS JSB STC SET CONTROL FF JSB SFS RSS FLAG CLEAR JMP DMC04 CONTINUE JSB ERMS,I REPROT ERROR DEF EM145 DMC04 JSB SHUTA CHECK SUB-TEST HALT, LOOP JSB gHFBDMS2 CLF INTP TURN OFF INTERRUPTS JMP DMATS,I RETURN ORG CUPGO HDMS ASC 11,SYNC COMM INTFC DIAG/ FWAA EQU * END "tHÿÿ ÿýØé ÿ12968-18001 1602 S 0122 12968A ASYNCHRONOUS DATA COMM INTERFACE             H0101 œÕþúASMB,A,B,L,C HED ASYNCHRONOUS COMMUNICATION INTERFACE DIAGNOSTIC ORG 0 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 * (SUPPRESS ALL OPERATOR INTERVENTION) * 11 = SUPRESS ERROR MESSAGES * 10 = SUPRESS NON-ERROR MESSAGES * 9 = GO TO USER CONTROL SECTION * AT END OF PRESENT TEST * 8= SUPPRESS OPERATOR INTERVENTION TESTS * 7 * = DIAGNOSTIC OPTIONS * 0 * NOTE: STANDARD RUN SHOULD BE WITH SW. REG. = 0 * USER CONTROL WILL ASK FOR A 32 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 * * 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 * * CONTROL PROGRAM HALT MESSAGES * * 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 RESERVED * 102071 RESERVED * 102070 RESERVED * * 106077 TRAP CELL HALT * * * HED PROGRAM ORGANIZATION CHART * ¿xþú ******************************************* * * CONFIGURATOR 100B * * * LINKAGE TABLE * * ******************************************* * * EXECUTIVE 130B * * * LINKAGE * * ******************************************* * * CONSTANTS 150B * * * AND * * * STORAGE * * ******************************************* * * 2000B * * * EXECUTIVE CONTROL * * * * * ******************************************* * * IF USED * * * BASIC I/O TESTS (TEST 00) * * * ZCEND * * ******************************************* * * TABLE OF TEST POINTERS * * * TABLE OF I/O INSTR POINTERS * * ******************************************* * * * * * * * * * * * * * * * * * MAIN DIAGNOSTICS (1-31) * * * * * * * * * * * * * * * * * ******************************************* * * * * * * * * * * * * * * * * * * * * HED CONFIGURATOR LINKAGE TABLE A EQU 0 A REGIƾþúSTER REFERENCE B EQU 1 B REGISTER REFERENCE SW EQU 1 SWITCH REGISTER REFERENCE INTP EQU 0 INTERRUPT CHANNEL REFERENCE * * 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 OCT 0 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 DSNL BSS 1 DIAGNOSTIC SERIAL NUMBER FMTR BSS 1 FORMATTER * * * CONTROL LINKAGE AND DATA REFERENCES * CFIG DEF ZCONF CONFIGURATION SECTION MSGC DEF ZMSGC MESSAGE WITH NO HALT MSGH DEF ZMSGH MESSAGE WITH HALT ERMS DEF ZERMS ERROR MESSAGE SWRT DEF ZSWRT SWITCH REGISTER CHECK ROUTINE TSTN OCT 0 CURRENT TEST NUMBER EXRT DEF ZEXRT RETURN TO CONTROL PROGRAM NOP RESERVED * * * * * * * * * * * * * HED EXECUTIVE CONTROL ORG 2000B ZSTEX CLC INTP,C TURN I/O SYSTEM OFF JSB MSGC,I DO CRLF DEF ZRTLF LDA HDMP GET INTRODUCTORY MESSAGE STA *+2 JSB MSGC,I OUT PUT IT NOP CLA CLEAR PASS STA ZEOLC COUNT LDB ZSW9 CHECK FOR USER SELECTION REQ JSB SWRT,I JMP ZUSR IT'S USERS CHOICE ZNUSR LDA STDA GET STANDARD TEST RUN LDB üßþúSTDB * JMP ZEXC * ZUSR LDA ZSINA RETRIEVE PREVIOUS RUN LDB ZSINB HLT 75B WAIT FOR USER INPUT NOP NOP NOP ZEXC STA ZUINA SAVE STB ZUINB USER STA ZSINA INPUT STB ZSINB PROGRAM LDB ZSW9 CHECK IF SW9 IS DOWN JSB SWRT,I JMP ZUSR NO GO AND WAIT CCA SET TEST NUMBER STA TSTN =-1 CLA STA ZTSTA CLEAR TEST RUN FLAG * * * * * * * * * * * * * * * * SKP ZEXCL LDA ZUINA RESTORE A REG. LDB ZUINB RESTORE B REG. ERA,RAL ROTATE ERB FIRST ERA TEST BIT STA ZUINA SAVE POSITIONS STB ZUINB ISZ TSTN MOVE TEST UP ONE NOP ZXCL1 LDA TSTN ADA TSTP GET IT'S LDA A,I ADDRESS CPA Z.M1 IS IT END OF LIST JMP ZEOL YES LDB ZUINB SSB,RSS SHOULD IT BE RUN? JMP ZEXCL NO STA ZTSTA YES - SAVE TEST ADDRESS JSB ZITSC INITIALIZE TRAP CELL HALTS JSB ZTSTA,I GO DO TEST ZEXRT LDA TSTN DISPLAY TEST NUMBER IF HALTED LDB ZSW15 CHECK FOR HALT AT END OF TEST JSB SWRT,I HLT 76B YES WAIT FOR OPERATOR LDB ZSW9 CHECK FOR ABORT JSB SWRT,I JMP ZUSR YES LDB ZSW13 CHECK FOR LOOP ON ROUTINE JSB SWRT,I JMP ZXCL1 YES - LOOP JMP ZEXCL CONTINUE * ZEOL LDA ZTSTA CHECK IF ANY TESTS WERE RUN SZA,RSS ? JMP ZNUSR NO SO PICK UP STANDARD RUN LDA ZEOLC UP DATE PASS COUNT INA STA ZEOLC CCE LDB ZPSCA GET PASS COUNT ADB Z.2 ADDRESS JSB O2AS,I CONVERT IT JSB MSGC,I CALL PRINT ROUTINE ZPSCA DEF ZPSC LDB ZSW12 CHECK FOR LOOP ON DIAG. JSB SWRT,I JMP *+3 YES taþú LDA ZEOLC HLT 77B NO WAIT AND DISPLAY PASS COUNT LDA ZSINA RESTORE ORIGINAL LDB ZSINB PROGRAM JMP ZEXC DO IT ALL AGAIN * SKP * MESSAGE OUTPUT WITH OUT HALT * ZMSGC NOP ENTRY JSB ZMSG OUTPUT MESSAGE OCT 2000 SWITCH 10 CHECK JMP ZMSGC,I RETURN TO CALLER * * MESSAGE OUTPUT WITH HALT * ZMSGH NOP ENTRY JSB ZMSG OUTPUT MESSAGE OCT 2000 SWITCH 10 CHECK LDA ZHLT GET HALT CODE STA *+2 PUT IT IN PLACE LDA ZSAVA RESTORE A REGISTER NOP HALT FOR DISPLAY JMP ZMSGH,I RETURN TO CALLER * * ERROR MESSAGE WITH HALT * ZERMS NOP ENTRY JSB ZMSG OUTPUT MESSAGE OCT 4000 SWITCH 11 CHECK CLA LDB ZSW14 CHECK SWR BIT 14 TO SUPPRESS JSB SWRT,I HALT STA *+3 PUT HALT IN PLACE LDA ZSAVA RESTORE A & B LDB ZSAVB ZHLT NOP WAIT FOR OPERATOR JMP ZERMS,I RETURN TO CALLER * * * * * * * * * * * * * SKP * OUTPUT MESSAGE * ZMSG NOP STA ZSAVA SAVE A AND B REGISTERS STB ZSAVB LDB ZMSG,I GET SWITCH REGISTER BIT LDA ZMSG ADA Z.M2 DECREMENT RETURN ADDRESS STA ZMSG JSB SWRT,I CHECK TO SUPPRESS MESSAGE JMP ZMSG0 YES LDA ZMSG,I CHECK IF ERROR LDA A,I LDA A,I IF SO ALF,ALF AND Z.177 CPA ZA.E JSB ZCFTN CHECK TO OUTPUT TEST NUMBER LDA ZMSG,I NO RETRIEVE FORMAT LDB A,I ADDRESS CLA,CLE JSB FMTR,I ZMSG0 LDA ZMSG,I CONVERT HALT CODE LDB A,I FROM ASCII STRING CCA,CCE JSB AS2N,I STA ZN2AO SAVE RESULT AND Z.300 DECODE LDB ZH2 HALT CODE CPA Z.100 LDB ZH6 CPA Z.200 LDB zéþúZH3 CPA Z.300 LDB ZH7 LDA ZN2AO GET HALT NUMBER AND Z.77 IOR B STA ZHLT SAVE IT ISZ ZMSG,I ADJUST RETURN POINTERS ISZ ZMSG ISZ ZMSG ISZ ZMSG LDA ZSAVA RESTORE A AND B REGISTERS LDB ZSAVB JMP ZMSG,I * * * * * * SKP ZCFTN NOP LDA TSTN GET TEST NUMBER CPA ZCFTT IS IT THE SAME ONE? JMP ZCFTN,I YES SKIP OUTPUT STA ZCFTT NO - THEN UPDATE IT JSB ZN2AO CONVERT IT STA ZTSTN PUT IT IN STRING CLA DO A CRLF JSB SLOP,I CLA,CLE INDICATE START OF FORMAT LDB ZTSTF JSB FMTR,I JMP ZCFTN,I RETURN * * * * ZSAVA NOP ZSAVB NOP ZEOLC NOP ZTSTA NOP ZSINA NOP ZSINB NOP ZUINA NOP ZUINB NOP ZBTMP NOP Z.2 OCT 2 Z.7 OCT 7 Z.10 OCT 10 Z.60 OCT 60 Z.77 OCT 77 Z.177 OCT 177 Z.M1 DEC -1 Z.M2 DEC -2 ZD100 DEC -100 ZIOM OCT 177700 ZSW15 OCT 100000 ZSW14 OCT 40000 ZSW13 OCT 20000 ZSW12 OCT 10000 ZS812 OCT 010400 ZSW9 OCT 1000 Z.100 OCT 100 Z.200 OCT 200 Z.300 OCT 300 ZH2 OCT 102000 ZH6 OCT 106000 ZH3 OCT 103000 ZH7 OCT 107000 ZCFTT DEC -1 ZTSTF DEF *+1 ASC 3,TEST ZTSTN ASC 2,XX// ZRTLF ASC 1,// ZPSC ASC 6,PASS XXXXXX/ ZA.E OCT 105 HED GENERAL ROUTINES * * ZN2AO NOP STA ZIOAD SAVE NUMBER AND Z.7 CONVERT FIRST IOR Z.60 NUMBER STA B SAVE IT LDA ZIOAD GET RAR,RAR SECOND RAR NUMBER AND Z.7 CONVERT IOR Z.60 IT ALF,ALF MOVE TO UPPER HALF IOR B ADD LOWER JMP ZN2AO,I AND RETURN * * * * SWITCH REGISTER CHECK * ZSWRT NOP STA ZN2AO SAVE A REGISTER LIA SW GET SWITCH REG. AND B MASK OUT BIT SZA,RSS IS IT UP? ISZ ZSWRT NO LDA ZN2AŒþúO RESTORE A REGISTER LIB SW LET B = SWITCH REGISTER JMP ZSWRT,I RETURN TO CALLER * * * * INITIALIZE TRAP CELL HALTS * ZITSC NOP LDA ZTSH GET STARTING TRAP CELL HALT LDB Z.2 GET FIRST TRAP CELL LOCATION ZTSHL STA B,I PUT IT IN PLACE CPB Z.77 AM I FINISHED JMP ZITSC,I YES INB NEXT ADDRESS JMP ZTSHL * ZTSH OCT 106077 * * * SKP * PUT JSB INSTRUCTION IN TRAP CELL * ZTCJI NOP LDB ZJSBI GET INSTRUCTION STB ZIOSC,I PUT IT IN TRAP CELL LDA ZTCJI,I GET LOCATION STA 3B SAVE IT FOR JSB INSTRUCTION ISZ ZTCJI ADJUST RETURN JMP ZTCJI,I RETURN TO CALLER * ZJSBI JSB 3B,I JSB INSTRUCTION * * * INITIALIZE SELECT CODE I/O INSTRUCTIONS * ZISC NOP STA ZIOSC SAVE SELECT CODE STB ZIOAD SAVE TABLE ADDRESS ZIOL LDB ZIOAD,I GET ADDRESS OF LOCATION CPB Z.M1 IS IT THE TERMINATOR JMP ZISC,I YES RETURN TO CALLER LDA B,I NO - GET CONTENTS AND ZIOM MASK OFF OLD SELECT CODE IOR ZIOSC ADD IN NEW SELECT CODE STA B,I RESTORE IT ISZ ZIOAD MOVE TO NEXT ADDRESS JMP ZIOL DO IT * ZIOSC NOP ZIOAD NOP * * * * SKP * CONFIGURATION SECTION * ZCONF CLC INTP,C TURN I/O SYSTEM OFF LIA SW GET SELECT CODE AND OPTIONS STA USSC SAVE THEM AND Z.77 ELIMINATE OPTIONS LDB A CMB,INB CHECK THAT SC > 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 * * * * * * * * * * * * * * * * * * * * * * * Vqþú HED BASIC I/O TESTS SC 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 9,E000 CLF 0-SFC 0/ ZBE01 ASC 9,E001 CLF 0-SFS 0/ ZBE02 ASC 9,E002 STF 0-SFC 0/ ZBE03 ASC 9,E003 STF 0-SFS 0/ * * 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 10,E005 CLF SC-SFC SC/ ZBE06 ASC 10,E006 CLF SC-SFS SC/ ZBE07 ASC 10,E007 STF SC-SFC SC/ ZBE10 ASC 10,E010 STF SC-SFS SC/ * * * * * * * * * * * * * * * * * * * SKP * 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 TO 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 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 SC? 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 SC 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 CHANNEL * 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 *<:6ZBTMP 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 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 9,E015 INT RTN ADDR/ ZBE26 ASC 10,E026 INT EXECUTION/ * * * * 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 ‰ñ<ÿÿ ÿýÙè ÿ12968-18002 1602 S 0122 12968A ASYNCHRONOUS DATA COMM INTERFACE             H0101 Õþú 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 6,E016 CLC SC/ ZBE17 ASC 6,E017 CLC 0/ * * * * * 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 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 T:þúO 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 * * * * * * * * * * * * * * * * * * * * * * * SKP 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 JMP ZBIO,I RETURN TO CALLER * ZBI70 NOP CONTROL FAILED CLF INTP TURN OFF INTPS INA JMP ZB70 * 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 9,H024 PRESET, RUN/ ZBM25 ASC 08,H025 BI-O COMP/ SKP 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 DEF ZBS42 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 * * * * * * * * * * * * * * * * * * * * * * * * * * HED 12968 ASYNC COMM INTFC DIAGNOSTIC * ORG 126B DSN OCT 103121 DIAGNOSTIC SERIAL NO. ORG 140B IOIP \†þúDEF IOID POINTER TO I-O INSTRUCTIONS TSTP DEF TSTD POINTER TO TEST DEF TABLE HDMP DEF HDMS POINTER TO HEADER MESSAGE STDA OCT 001777 STANDARD TESTS STDB OCT 000000 STANDARD TESTS ORG 150B IOCLR EQU 0 SARI EQU 12B NULL EQU 0 WRD0 EQU 00000B WRD1 EQU 10000B WRD2 EQU 20000B WRD3 EQU 30000B WRD4 EQU 40000B WRD5 EQU 50000B SCFE EQU 1 CFE EQU 2 CEE EQU 4 CCE EQU 10B CBE EQU 20B SCFR EQU 1 CFR EQU 2 CER EQU 4 CCR EQU 10B CBR EQU 20B DIAGC EQU 40B PASNS EQU 4 PAR EQU 10B ECHO EQU 20B STB EQU 40B DMA EQU 20B SCA EQU 40B CD EQU 100B CA EQU 200B XMIT EQU 400B CLPE EQU 1 CLBRK EQU 2 CBEF EQU 4 CBF EQU 10B SCF EQU 1 CF EQU 2 CE EQU 4 CC EQU 10B CB EQU 20B PARR EQU 40B BRK EQU 100B BEF EQU 200B BFF EQU 400B SPCHR EQU 40000B DEVI EQU 40000B B5 EQU 40B B7 EQU 200B SDMAL EQU 2 LOWER SELECT CODE DMA SDMAH EQU 6 UPPER SELECT CODE DMA IRTN DEF *-* BUFFA BSS 1 BUFFB BSS 1 BXMIT DEF XBUF POINTER TO TRANSMIT BUFFER BRCV DEF RBUF POINTER TO RECEIVE BUFFER SPC 3 TRJSB DEF ZTCJI POINTER D1 EQU * SW0 OCT 1 D2 EQU * SW1 OCT 2 .7 OCT 7 SW2 EQU * D4 DEC 4 MD1 DEC -1 MD8 DEC -8 MD38 DEC -38 MD9 DEC -9 MD15 DEC -15 MD16 DEC -16 BCNTR BSS 1 MSK3 OCT 3 PATUP DEC 16 SKP PUPLO NOP RETURN ADDRESS CLE,ERB AND LOHWD STA PCH LDA B,I SEZ,RSS ALF,ALF AND UPHWD IOR PCH SEZ,RSS ALF,ALF STA B,I ELB JMP PUPLO,I RETURN PCH BSS 1 UPHWD OCT 177400 MASK FOR UPPER HALF WORD LOHWD OCT 000377 MASK FOR LOWER HALF WORD SKP * THIS SECTION IS FOR INTERNAL USE ONLY. * TO ENABLE SUB-TEST HALTS AND LOOPS IT * IS NECESSARY TO CONFIGURE THE DIAGNOSTIC * STARTING AT LOCATION 100 OCTAL WITH THE * SELECT COD¾IþúE AND BIT 15 = 1. AT EXECUTION * SWITCH REGISTER BIT 0 HAS * THE MEANING LOOP ON SUB-TEST AND * SWITCH REGISTER BIT 1 MEANS HALT * AT THE END OF THE CURRENT SUB-TEST. * THIS HALT IS 102070 (OCTAL). * THE SUB-TEST LOOP * WILL CAUSE LOOPING ON A SMALL * PROGRAM SEGMENT. SPC 2 SUBT NOP RETURN ADDRESS LDA USSC GET CONFIG INFO SSA,RSS JMP SUBC1 CONTINUE LDB SW1 MASK FOR SWITCH 1 JSB SWRT,I CHECK SWITCH 1 - SUB-TEST HALT RSS JMP SUBT1 CONTINUE LDA TSTN GET TEST NO. LDB SUBT. GET SUB-TEST NO. HLT 70B HALT SUBT1 LDB SW0 MASK FOR SWITCH 0 JSB SWRT,I CHECK SWITCH 0 - SUB-TEST LOOP JMP SUBT,I RETURN SUBC1 ISZ SUBT JMP SUBT,I RETURN SPC 1 SUBTH NOP RETURN ADDRESS JSB SUBT CHECK SUB-TEST HALT NOP BYPASS LOOP JSB SUBUP UPDATE SUB-TEST NO. JMP SUBTH,I RETURN SPC 1 SUBTT NOP RETURN ADDRESS JSB SUBT CHECK SUB-TEST HALT,LOOP JMP SUBLL LOOP ON THIS SUB-TEST JSB SUBUP UPDATE SUB-TEST NO. JMP SUBTT,I RETURN SPC 1 STSUB NOP RETURN ADDRESS LDA STSUB SAVE LOOP ADDRESS INA STA SUBLP LDA STSUB,I GET SUB-TEST NO. STA SUBT. SAVE STA SUBLN SAVE FOR USE WHEN LOOPING ISZ STSUB UPDATE RETURN JMP STSUB,I RETURN SPC 1 SHUTA NOP RETURN ADDRESS JSB SUBTT CHECK SUB-TEST HALT/LOOP LDA SHUTA GET LOOP ADDRESS STA SUBLP SAVE LDA SUBT. GET SUB-TEST NO. STA SUBLN SAVE FOR FUTURE LOOPING JMP SHUTA,I RETURN SPC 1 SUBLL LDA SUBLN GET SUB-TEST NO. STA SUBT. SAVE JMP SUBLP,I GO LOOP SPC 1 SUBUP NOP RETURN ADDRESS LDA SUBT. GET SUB-TEST NO. INA AND .77 ÍKþú MASK CPA .70 CHECK FOR OCT X70 JMP SUBT3 CONTINUE ISZ SUBT. OK UPDATE SUBT. JMP SUBUP,I RETURN SUBT3 LDA SUBT. GET SUB-TEST NO. AND .300 MASK X00 ADA .100 UPDATE SUB-TEST NO. STA SUBT. SAVE JMP SUBUP,I RETURN .300 OCT 300 .70 OCT 70 .77 OCT 77 SUBLP DEF *-* LOOP ADDRESS SUBLN BSS 1 LOOP SUB-TEST NO. SUBT. BSS 1 SUB-TEST NUMBER .100 OCT 100 SKP ERNO NOP RETURN ADDRESS LDB ERNO,I GET BUFFER POINTER BLS CONVERT TO BYTE ADDRESS INB LDA SUBT. GET SUB-TEEST NO. AND E NO. ALF,ALF RAL,RAL AND LOHWD MASK ADA ASC0 CONVERT TO ASCII JSB PUPLO PLACE IN MESSAGE INB LDA SUBT. RAR,RAR RAR AND .7 ADA ASC0 CONVERT TO ASCII JSB PUPLO PLACE IN MESSAGE INB LDA SUBT. AND .7 MASK ADA ASC0 CONVERT TO ASCII JSB PUPLO PLACE IN MESSAGE ISZ ERNO UPDATE RETURN JMP ERNO,I RETURN SPC 2 ASC0 OCT 60 ASCII ZERO SKP CMNDD NOP RETURN ADDRESS LDA CMNDD,I GET OPTIONS IN COMMAND FNIO1 OTA SARI GIVE COMMAND ISZ CMNDD UPDATE RETURN ADDRESS LDA D4 WAIT 4 MS JSB TMRR,I JMP CMNDD,I RETURN SPC 2 RSTUS NOP RETURN ADDRESS FNIO2 CLC SARI SELECT STATUS STIO1 LIA SARI READ STATUS JMP RSTUS,I RETURN SPC 2 RDDTA NOP RETURN ADDRESS FNIO6 STC SARI SET CONTROL = DATA IOIN6 LIA SARI INPUT DATA JMP RDDTA,I RETURN SPC 2 MRST NOP RETURN ADDRESS LDA MRSTC GET MASTER RESET COMMAND FNIO0 OTA SARI GIVE COMMAND LDA D2 JSB TMRR,I WAIT 2 MS JMP MRST,I RETURN MRSTC ABS 100000B+WRD5+CLPE+CLBRK+CBF+CBEF SPC 2 CLF NOfËþúP RETURN ADDRESS CNIO1 CLF SARI CLEAR INTERFACE FLAG JMP CLF,I RETURN SPC 2 SFS NOP RETURN ADDRESS CNIO2 SFS SARI SKIP ON FLAG SET JMP SFS,I RETURN - FLAG CLEAR ISZ SFS UPDATE RETURN ADDRESS JMP SFS,I RETURN SPC 2 STC NOP RETURN ADDRESS CNIO3 STC SARI SET INTERFACE CONTROL FF JMP STC,I RETURN SPC 2 CLK16 NOP RETURN ADDRESS LDA MD16 STA CLKNT CLKC1 LDA CLKON RISING EDGE OF 16 X BAUD RATE CLOCK CLK01 OTA SARI OUTPUT LDA CLKOF FALLING EDGE OF 16 X BAUD RATE CLOCK CLK00 OTA SARI OUTPUT ISZ CLKNT JMP CLKC1 JMP CLK16,I RETURN SPC 1 CLKON ABS WRD2+DIAGC CLKOF ABS WRD2+NULL CLKNT BSS 1 SPC 2 SDIN NOP RETURN ADDRESS LDA SDIN,I GET PARAMETERS STA SDTYP SAVE LDA SDTYP LDB MD9 AND MSK3 BITS / CHAR CMA,INA ADB A LDA SDTYP AND SDP PARITY BIT SZA,RSS INB LDA SDTYP AND SDST NO OF STOP BITS SZA,RSS INB LDA SDTYP GET TYPE AND SDSTX CPA SDST INB SPECIAL FOR 5 BIT 2 STOPS STB SDCNT SAVE NO BITS / CHAR STB SDDTC CLA STA BUFFA,I PLACE IN BUFFER SDC01 JSB CLK16 SUPPLY CLOCKS TO INTERFACE JSB RSTUS READ STATUS AND SDBA ISOLATE SIGNAL BA LDB BUFFA,I GET PARTIAL DATA RBR ADD THIS BIT TO DATA SZA INB STB BUFFA,I PLACE DATA IN BUFFER ISZ SDCNT UPDATE BIT COUNTER JMP SDC01 LDA SDTYP GET TYPE AND SDSTX CPA SDST JMP SDC06 CONTINUE - 5 BIT AND 2 STOPS SDC05 LDA SDDTC INA SDC02 RBL PREPARE CHARACTER INA,SZA JMP SDC02 STB BUFFA,I PLACE ASSEMBLED CHARACTER IN BUFFER ISZ BUFFA UPDATE B…-þúUFFER POINTER JMP SDIN,I RETURN SDC06 LDB MD8 STB SDCNT SDC04 JSB CMND ABS WRD2+DIAGC JSB CMND ABS WRD2+NULL ISZ SDCNT JMP SDC04 JSB RSTUS GET BA AND SDBA LDB BUFFA,I RBR SZA INB STB BUFFA,I LDA SDDTC ADA MD1 STA SDDTC JMP SDC05 SPC 2 SDDTC BSS 1 SDCNT BSS 1 SDTYP BSS 1 SDBA ABS CE SDP ABS PAR SDST ABS STB SDSTX ABS STB+3 SPC 2 SDOUT NOP RETURN ADDRESS LDA SDOUT,I GET PARAMETER ISZ SDOUT UPDATE RETURN ADDRESS STA SDOP1 SAVE LDA SDWD4 GET WORD 4 COMMAND STA SDOP3 SAVE LDA SDOP1 GET PARAMETER AND MSK3 STA B LDA SDOP1 AND SDST SZA INB LDA SDOP1 AND SDP SZA INB ADB D6 CMB,INB STB SDOCN COUNTER - BITS / CHARACTER JSB CMND PREPARE FOR RECEIVE SDOP3 BSS 1 WORD 4 COMMAND JSB CLK16 START BIT SDOC2 LDA BUFFA,I GET DATA CMA AND MSK1 ALF,ALF RAR,RAR ADA SDWD4 STA SDOP2 LDA BUFFA,I RAR STA BUFFA,I JSB CMND SDOP2 BSS 1 JSB CLK16 SUPPLY 16 CLOCKS ISZ SDOCN UPDATE BIT COUNTER JMP SDOC2 CONTINUE WITH THIS CHARACTER ISZ BUFFA UPDATE BUFFER POINTER JSB CLK16 JMP SDOUT,I RETURN SPC 2 MSK1 EQU D1 SDOCN BSS 1 SDOP1 BSS 1 D6 DEC 6 SDWD4 BSS 1 SPC 2 LINBF NOP RETURN ADDRESS LDA MD16 INITIALIZE COUNTER STA BCNTR LDB BRCV INITIALIZE BUFFER POINTER STB BUFFB LDB BXMIT INITIALIZE BUFFER POINTER STB BUFFA LIC01 LDA BUFFB,I PREPARE DATA AND LOHWD STA BUFFB,I REPLACE IN BUFFER LDA BUFFA,I AND MSKCZ STA BUFFA,I REPLACE IN BUFFER ISZ BUFFB UPDATE BUFó,þúFER POINTER ISZ BUFFA UPDATE BUFFER POINTER ISZ BCNTR UPDATE COUNTER JMP LIC01 CONTINUE JMP LINBF,I RETURN SPC 2 FIXDA NOP RETURN ADDRESS LDA FIXDA,I GET DATA FORMAT STA FXDAT SAVE ISZ FIXDA UPDATE RETURN ADDRESS LDB BXMIT GET BUFFER POINTER STB BUFFA SAVE LDB MD16 INITIALIZE COUNTER STB BCNTR FXC07 LDA FXDAT AND MSK3 LDB MSK37 FXC09 SZA,RSS JMP FXC08-1 RBL INB ADA MD1 JMP FXC09 STB MSKCZ SAVE MASK FXC08 LDA BUFFA,I AND B STA BUFFA,I LDA FXDAT AND SDP IS PARITY USED SZA,RSS JMP FXC01 NO- DO START AND STOP(S) LDA FXDAT AND .B2 YES - WHAT TYPE SZA,RSS CCB,RSS CLB LDA BUFFA,I GET DATA JSB PTYGN GENERATE PARITY STA BUFFA,I SAVE AND .B8 STA B SAVE PARITY BIT RBR,RBR RBR LDA FXDAT AND MSK3 NO BITS / CHAR FXC03 SZA,RSS JMP FXC02 CONTINUE RBL ADA MD1 JMP FXC03 CONTINUE FXC02 LDA BUFFA,I AND B0TB7 IOR B RSS FXC01 LDA BUFFA,I GET DATA RAL INSERT START BIT AND NB0 MASK STA BUFFA,I SAVE LDB .B6 LDA FXDAT AND SDST CHECK NO STOP BITS SZA ADB .B7 USE 2 LDA FXDAT AND MSK3 GET NO OF BITS / CHAR FXC06 SZA,RSS JMP FXC05 CONTINUE RBL PUT STOP BITS IN CORRECT POSITION ADA MD1 JMP FXC06 FXC05 LDA FXDAT AND SDP SZA IS PARITY USED RBL POSITION STOP BIT(S) LDA BUFFA,I GET DATA IOR B STA B STB BUFFA,I SAVE COMPLETE DATA ISZ BUFFA UPDATE BUFFER POINTER ISZ BCNTR UPDATE BUFFER COUNTER JMP FXC07 JMP FIXDã¡þúA,I RETURN SPC 2 FXDAT BSS 1 MSKCZ BSS 1 .B2 EQU D4 .B6 EQU .100 .B7 ABS B7 NB0 OCT 7776 SPC 2 PTYGN NOP RETURN ADDRESS STB PYTYP SAVE PARITY TYPE LDB MD8 STB PYCNT CCB AND B0TB7 MASK PYC01 SLA GENERATE PARITY CMB RAR ISZ PYCNT JMP PYC01 ALF,ALF SZB IOR .B8 LDB PYTYP GIVE CORRECT SSB,RSS PARITY TO XOR .B8 DATA JMP PTYGN,I RETURN PYCNT BSS 1 COUNTER MSK37 OCT 37 PYTYP BSS 1 PARITY TYPE .B8 OCT 400 B0TB7 EQU LOHWD SPC 2 CMND NOP RETURN ADDRESS LDA CMND,I GET DATA ISZ CMND UPDATE RETURN OTIO1 OTA SARI OUTPUT JMP CMND,I RETURN SPC 2 PTG NOP RETURN ADDRESS LDA PTG,I GET ADDRESS OF STA PTGI INTERRUPT ROUTINE ISZ PTG LDA PTG,I GET ADDRESS OF STA IRTN INTERRUPT RETURN JSB TRJSB,I FILL TRAP CELL PTGI DEF *-* ISZ PTG UPDATE RETURN JMP PTG,I RETURN SPC 2 CBUFS NOP RETURN ADDRESS CLA STA NOERS INITIALIZE ERROR FLAG LDA CBUFS,I GET ERROR POINTER STA CBERR LDA MD16 INITIALIZE COUNT STA CBCNT LDA BXMIT INITIALIZE POINTERS STA BUFFA LDA BRCV STA BUFFB CBC02 LDA CBC1A STA CDATA LDA BUFFA,I ISZ BUFFA STA CEXPD SAVE LDA BUFFB,I ISZ BUFFB LDB A JMP CDAC1 CHECK DATA CEXPD BSS 1 EXPECTED DATA CBERR DEF *-* ERROR MESSAGE POINTER ISZ NOERS CHECK FOR ERRORS RSS CONTINUE JMP CBC03 DO NOT REPORT ANY MORE ERRORS ISZ CBCNT DONE? JMP CBC02 CONTINUE CBC03 ISZ CBUFS UPDATE RETURN JMP CBUFS,I RETURN CBCNT BSS 1 CBC1A DEF CEXPD SPC 2 EPREP NOP RE/»þúTURN ADDRESS LDA EPREP,I GET TO ADDR STA EMTO SAVE ISZ EPREP LDA EPREP,I GET ERROR NO PTR STA EMNO SAVE STA EMSGG ISZ EPREP LDA EPREP,I GET FROM ADDR STA EMFRN SAVE ISZ EPREP JSB MOVE EMTO DEF *-* EMFRN DEF *-* JSB ERNO EMNO DEF *-* JSB ERMS,I REPORT ERROR EMSGG DEF *-* JMP EPREP,I RETURN SPC 2 DMAON NOP RETURN ADDRESS LDA DMACF PLACE STA SDMAH CLF IN TRAP CELL LDA CW1 GET COMMAND WORD 1 OTA SDMAH OUTPUT TO DMA CLC SDMAL PREPARE FOR CW2 LDA DMAON,I INPUT OR OUTPUT + OTA SDMAL ADDRESS TO DMA STC SDMAL PREPARE FOR CW3 LDA CW3 GET CONTROL WORD 3 OTA SDMAL OUTPUT TO DMA FNIO5 STC SARI,C START ARI STC SDMAH,C START DMA ISZ DMAON UPDATE RETURN JMP DMAON,I RETURN SPC 1 CW1 ABS SARI CONTROL WORD 1 FOR DMA CW3 EQU MD16 SPC 2 XARI NOP RETURN ADDRESS LDA BUFFB,I GET DATA AND LOHWD MASK STA XARP1 SAVE JSB CMND OUTPUT CHARACTER XARP1 BSS 1 CHARACTER ISZ BUFFB UPDATE BUFFER POINTER JMP XARI,I RETURN SPC 2 RARI DEF *-* RETURN JSB RDDTA READ DATA STA BUFFB,I PLACE IN BUFFER ISZ BUFFB UPDATE BUFFER POINTER JMP RARI,I RETURN SPC 2 DMAOF NOP RETURN ADDRESS DMACF CLF SDMAH TURN OFF DMA LIA SDMAL GET COUNT SZA,RSS CHECK COUNT = 0 JMP DMAOF,I RETURN CLF INTP CLEAR INTERRUPT SYSTEM JSB ERMS,I REPORT ERROR DEF EM132 JMP DMAOF,I RETURN SPC 2 CLBFR NOP RETURN ADDRESS LDB MD16 INITIALIZE COUNTER CLA CLEAR STB CLCNT LDB BRCV BUFFER POINTER CLC01 STA B,I CLEAR BUFFER INB lÒB@ 67B? JMP CONFG YES, GO RESTART CONFIGURATION. SPC 1 LDA DMACW CONFIGURE DMA CW1 ADA B STA CW1 * LDA C4 CLC DATA INSTRUCTIONS ADA B STA MT.50 STA MT.13 SPC 1 LDA C12 STC DATA,C INSTRUCTIONS ADA B INCLUDE THE CHANNEL NUMBER. STA MT.11 STORE THE INSTRUCTION. SPC 1 LDA C13 CLF DATA INSTRUCTION. ADA B INCLUDE THE CHANNEL NUMBER. STA MT.12 STORE THE INSTRUCTION. SPC 1 LDA C6 LIA CMND INSTRUCTIONS ADA B STA S.1 SPC 1 ¸ þúLDA C7 LIB CMND INSTRUCTIONS ADA B STA S.0 SPC 1 LDA C9 SFS CMND INSTRUCTIONS ADA B STA MT.0 STA MT.8 SPC 1 LDA C10 OTA CMND INSTRUCTIONS ADA B STA MT.14 STA MT.1 SPC 1 LDA C11 STC CMND,C INSTRUCTIONS ADA B STA MT.7 STA MT.6 SPC 1 LDA C0 OTB CMND INSTRUCTION. ADA B STA O.B SPC 1 LDA C3 CLC CMND INSTRUCTION. ADA B STA MT.4 STA MT.16 SPC 1 LDA UNITS LOAD THE SWITCH OPTIONS. RAL,RAL SHIFT BIT 14 TO BIT 0. SLA,RAL IS MAXIMUM UNIT > 3? JMP CONFG YES, ERROR; RESTART. RAL SHIFT UNIT MAXIMUM TO 2-0. AND .3 ISOLATE THE MAXIMUM UNIT NUMBER. CPA .3 ARE THERE FOUR(4) MT UNITS? JMP STOP YES, TERMINATE CONFIGURATION. LDB SL0 NO, LOAD THE SL0 COMMAND. STB SL3 SET UNIT 3 TO BE UNIT 0. CPA DEC2 ARE THERE THREE(3) MT UNITS? JMP STOP YES, TERMINATE CONFIGURATION. STB SL2 NO, MAKE UNIT 2 EQU UNIT 0. CPA DEC1 ARE THERE TWO(2) MT UNITS? JMP STOP YES, TERMINATE CONFIGURATION. STB SL1 NO, MAKE UNIT 1 EQU UNIT 0. SPC 1 STOP HLT 77B END OF DRIVER CONFIGURATION. SPC 1 LDA .SL1 LOAD THE SELECT UNIT 1 COMMAND. STA SL1 RESTORE THE COMMAND. LDA .SL2 LOAD THE SELECT UNIT 2 COMMAND. STA SL2 RESTORE THE COMMAND. LDA .SL3 LOAD THE SELECT UNIT 3 COMMAND. STA SL3 RESTORE THE COMMAND. JMP I.MT SPC 2 .77 OCT 77 M.10 OCT -10 MAXCH OCT -60 UNITS NOP .SL1 OCT 002400 SELECT UNIT 1 COMMAND. .SL2 OCT 004400 SELECT UNIT 2 COMMAND. .SL3 OCT 010400 SELECT UNIT 3 COMMAND. DMACW OCT 20000 SPC 1 * I/O INSTRUCTIONS SPC 1 C0 OTB CMND C31³þú CLC CMND C4 CLC DATA C6 LIA CMND C7 LIB CMND C9 SFS CMND C10 OTA CMND C11 STC CMND,C C12 STC DATA,C C13 CLF DATA SPC 1 * END OF RELEASABLE INITIALIZATION SECTION SPC 1 I.P.L EQU 00445B DRIVER LENGTH. ORG KCORE+07135B-I.P.L SPC 1 * F.W.A. OF SIO MT DRIVER MUST BE > X6467B. SPC 1 * L.W.A. OF SIO MT DRIVER MUST BE < X7135B. SKP * CALLING SEQUENCE: (WRITE/READ) SPC 1 * LDA (>0=CHARS, <0=WORDS) * LDB * JSB 107B,I * OCT (0=READ, 1=WRITE) * * * (A)=RECORD LENGTH, (B)=STATUS SPC 1 * READ AND WRITE REQUESTS OF 0 LENGTH ARE RETURNED * BY THE DRIVER TO THE NORMAL RETURN LOCATION * WITHOUT ANY TAPE MOVEMENT. SPC 1 * THE FIRST WORD OF 2 BYTES WRITTEN ON TAPE IS THE * USER'S REQUEST LENGTH. THIS WORD IS NOT STORED * IN THE USER'S BUFFER BY A READ REQUEST, BUT IS * LEFT IN THE A REGISTER IN THE FORM WHICH THE * USER SPECIFIED (+CHARACTERS OR -WORDS) AS THE * TAPE RECORD LENGTH IF THE TAPE RECORD < THE * BUFFER REQUEST LENGTH. SPC 2 * CALLIN @SEQUENCE: (REWIND/REWIND STANDBY/STATUS) SPC 1 * P JSB 107B,I * P+1 OCT (3=REWIND, 7=STATUS, * P+2 5=REWIND & STANDBY) SPC 2 * CALLING SEQUENCE: (GAP/WRITE END OF FILE) SPC 1 * P JSB 107B,I * P+1 OCT (6=GAP, 2=END OF FILE) * P+2 * P+3 * P+4 (B)=STATUS SPC 2 * CALLING SEQUENCE: (POSITION) SPC 1 * LDA (+=FORWARD, -=REVERSE) * LDB " " * JSB 107B,I * OCT 4 * * * (A)=FILE COUNT, (B)=STATUS SPC 1 * A BACKFILE LEAVES "ƒþúTHE TAPE POSITIONED ON THE SIDE OF * THE N-TH FILE MARK (-N IN A FOR BACKFILE) AWAY FROM * LOAD POINT. THUS (A) = -2 LEAVES THE TAPE AT THE * BEGINNING OF THE FILE PRECEEDING THE CURRENT FILE. SPC 1 * RECORD OPERATIONS WILL MOVE THE TAPE THE APPROPRIATE * # OF RECORDS. THE FILE MARK IS COUNTED AS 1 RECORD. SPC 1 * COMMANDS TRYING TO CROSS THE SOT OR EOT MARKERS WILL * CAUSE AN EXIT TO THE END OF TAPE RETURN POINT. SPC 1 * END OF TAPE ON READ, WRITE OR GAP WILL BE CHECKED * BEFORE THE OPERATION IS INITIATED. SPC 2 * TAPE COMMANDS - SPC 1 * OCT 0 - READ * 1 - WRITE * 2 - WRITE END OF FILE * 3 - REWIND * 4 - POSITION * 5 - REWIND AND STANDBY * 6 - GAP (4" BLANK TAPE) * 7 - STATUS (RETURNS STATUS IN -B- ) SPC 2 * THE STATUS WORD BIT ASSIGNMENTS ARE: SPC 1 * BIT MEANING SPC 1 * 0 TAPE UNIT NOT ON-LINE * 1 PARITY AND/OR TIMING ERROR * 2 FILE PROTECTED (NO WRITE ENABLE RING) * 3 REJECT: 1 MOTION REQ'D AND CONTROLLER BUSY * 2 BACKWARD MOTION REQ'D & AT LOAD POINT * 3 WRITE COMMAND GIVEN AND NO WRITE RING * 4 TIMING ERROR * 5 END OF TAPE * 6 START OF TAPE * 7 END OF FILE * 8 CONTROLLER BUSY * 9 TAPE UNIT NOT READY * 10 TAPE UNIT REWINDING * 11 ODD NUMBER OF BYTES READ SKP * F.W.A. OF SIO MT DRIVER MUST BE > X6467B. SPC 1 MTD NOP ENTRY POINT. STA BUFL SAVE LENGTH AND STB BUFA ADDRESS OF BUFFER JSB STIN GO LOAD THE MT STATUS. SLA IS THE MT CONTROLLER BUSY? JMP S.1 YES, CONTINUE. MT.13 CLC DATA NO, CLEAR DATA CHANNEL CONTROL. MT.16 CLC CMND CLEAR COMMAND CHANNEL CONTROL. LDA MTD,I LOAD THE COMMAND CODE WORD. ALF SHIFT UNIT NUMBER TO BITS 2-0. AND .7 ISOLATE THE ÖþúUNIT NUMBER. STA SPACE SAVE UNIT NUMBER SZA,RSS SELECT UNIT 0? LDA SL0 YES, LOAD THE SELECT CODE. CPA DEC1 SELECT UNIT 1? LDA SL1 YES, LOAD THE SELECT CODE. CPA DEC2 SELECT UNIT 2? LDA SL2 YES, LOAD THE SELECT CODE. CPA .3 SELECT UNIT 3? LDA SL3 YES, LOAD THE SELECT CODE. CPA SPACE UNIT NUMBER > 3? JMP UNDEF YES, UNDEFINED UNIT. MT.1 OTA CMND OUTPUT THE UNIT SELECTION. LDA MTD,I LOAD THE OPERATION CODE. AND .7 USE THE LOWER 3 BITS ONLY. CPA .7 IS THE REQUEST FOR STATUS. JMP ERR.1 YES, RETURN; STATUS IS IN "B". STA ABS SAVE THE COMMAND REQUEST CODE. OK... CLE,SLB IS THE TAPE UNIT IN LOCAL MODE? JMP LOCAL YES, STOP 44B. ISZ MTD INCREMENT THE RETURN ADDRESS (P+2). ADA TBASE LOOK UP PROCESSOR IN TABLE JMP A,I CALL PROCESSOR SPC 1 TBASE DEF *+1,I COMMAND PROCESSOR ENTRY DEF READ POINT TABLE DEF WRITE DEF WEOF DEF REW DEF POS DEF RES DEF GAP SPC 1 RES LDA RWO LOAD THE REWIND/STANDBY COMMAND. CCE,RSS SKIP. REW LDA .101 REWIND ** CCE ENTER: E=1. JSB CMAND GO INITIATE COMMAND EXECUTION. JSB STIN GO LOAD THE MT UNIT STATUS. JMP EXIT1 SPC 1 UNDEF HLT 15B ILLEGAL UNIT NUMBER. JMP UNDEF IRRECOVERABLE ERROR. SPC 2 * TAPE POSITIONING ROUTINE SPC 1 * ENTER WITH COMMANDS STORED IN BUFL AND BUFA. SPC 1 POS LDB BUFL GET FILE COUNT LDA SFILE LOAD THE FILE CODE OFF-SET. JSB ABS SET FLAGS, COMMANDS AND COUNT JMP P.1 # FILES = 0, DO RECORDS P.5 CCA,SEZ,CCE,RSS ENTER: E=1; BACKWARDS MOTION? JSB P.2 YES, GO CHECK FOR "BOT". JSB SPACE FORWARD SPACE JMP P.5 REPEAT UNT/¡þúIL FILE ISZ CNTR CHECK FOR FINISHED JMP P.5 NO, LOOP LDA BUFL RAL,CLE,SLA,ELA BACKFILE REQUEST? ISZ BUFA .31 SLA,ARS SKIP. JMP EXIT P.1 LDB BUFA PROCESS RECORDS CLA ENTER: A=0. JSB ABS SET FOR FWD/REV RECORD SPACING JMP EXIT NO RECORDS, EXIT P.0 CCA,SEZ,CLE,RSS ENTER: E=0; BACKWARDS MOTION? JSB P.2 YES, GO CHECK FOR "BOT". JSB SPACE FORWARD SPACE SL0 ALR SELECT UNIT 0 COMMAND. ISZ CNTR FINISHED? JMP P.0 NO, LOOP SPC 1 EXIT ISZ MTD JSB STIN GO LOAD THE MT STATUS. ERR.1 ISZ MTD EXIT1 LDA BUFL MT.4 CLC CMND CLEAR THE MT COMMAND CONTROL BIT. JMP MTD,I SPC 2 P.2 NOP ENTRY POINT. JSB STIN GET TAPE STATUS (BACKFILE) RAL SHIFT THE "SOT" BIT TO A15. SSA,RSS IS THE MT UNIT AT THE "SOT"? JMP P.2,I NO, RETURN. SEZ YES; FILE SKIPPING? ISZ CNTR CNT = -1? JMP EXIT1 NO, TRIED TO CROSS SOT, ERROR JMP P.1 YES, DO RECORD SPACING SPC 2 ABS NOP SET-UP ROUTINE SSB,RSS IS TAPE MOTION TO BE FORWARD? ADA .3 FORWARD SPACE COMMAND SSB IF # IS < 0 SET FOR ADA .41 BACKSPACE COMMAND STA WNEC CLE,SSB,RSS GET -ABS(#) FOR CNT CMB,CCE,INB,SZB IS THE MT TO BE MOVED? ISZ ABS YES, EXIT TO (P+2). STB CNTR JMP ABS,I SPC 2 SPACE NOP SPACE TAPE CLE,SSA IS TAPE MOTION BACKWARDS? JSB EOTC LDA WNEC JSB CMAND SPACE RAL,SLA END-OF-FILE (EOF) MARK? ISZ SPACE YES, SKIP EXIT. CCE,SSA IS THE MT UNIT AT "SOT"? JMP EXIT1 JMP SPACE,I SPC 2 STIN NOP GET TAPE STATUS S.1 LIA CMND LDB A LOAD THE MT UNIT STATUS. ALF,ALF V_þú SHIFT THE MT UNIT STATUS 8 BITS. JMP STIN,I SPC 2 * WRITE 4" BLANK TAPE SPC 1 GAP JSB WNEC CHECK FOR WRITE RING IN JSB EOTC CHECK FOR END OF TAPE LDA .15 4 INCH TAPE GAP JSB CMAND JMP EXIT NORMAL EXIT SPC 2 * WRITE END OF FILE SPC 1 WEOFR LDA .41 LOAD: BACKSPACE RECORD COMMAND. JSB CMAND GO EXECUTE THE COMMAND. SPC 1 WEOF JSB WNEC CHECK FOR WRITE RING IN MT.12 CLF DATA CLEAR THE DATA CHANNEL FLAG. LDA GFM WRITE FILE MARK CODE JSB CMAND RBR,SLB,RBL DID A PARITY OR TIMING ERROR OCCUR? JMP WEOFR YES, GO BACKSPACE OVER THE RECORD. JSB EOTC JMP EXIT SPC 2 WRITE JSB WNEC GO CHECK FOR A WRITE ENABLE RING. JSB EOTC GO CHECK FOR END-OF-TAPE. JSB CNTR GET NEG # WORDS STA WNEC SAVE WORD COUNT LDA .31 LOAD THE WRITE RECORD COMMAND. JSB CMAND GO INITIATE WRITE SEQUENCE. LDA BUFA BUFFER ADDRESS JSB BUFM1 SAVE POINTER TO & CONTENTS BUFF-1 JSB INDMA EXECUTE DMA SEQUENCE * * 1. INITILIZE DMA CONTROL WORDS * 2. TURN ON DMA * 3. WAIT FOR DMA TO COMPLETE * LDA EOTC RESTORE WORD IN USERS PROGRAM STA P.2,I RBR,SLB DID A PARITY OR TIMING ERROR OCCUR? CLE,RSS YES, SKIP. JMP EXIT NORMAL EXIT LDA .41 BACKSPAC1 RECORD JSB CMAND LDA .15 4 INCH TAPE GAP JSB CMAND EXECUTE COMMAND JMP WRITE RETRY WRITE TILL TAPE END SPC 2 READ JSB EOTC READ *** LDA .M3 STA SPACE SET RETRY COUNTER TO -3. JSB CNTR GET NE,# OF WORDS STA WNEC NEG WORD XFER COUNT RERED LDA .23 READ CHARACTER CODE JSB CMAND INIT. READ RECORD SEQ. LDA BUFA USERS INPUT BUFFER JS{4þúB BUFM1 ADA BIT15 DIR BIT FOR DMA READ JSB INDMA EXECUTE DMA SEQUENCE * * 1. INITILIZE DMA CONTROL WORDS * 2. TURN ON DMA * 3. WAIT FOR DMA TO COMPLETE * LDA P.2,I RETREIVE RECORD LENGTH STA ABS LDB EOTC NOW RESTORE USERS PROGRAM STB P.2,I JSB STIN MT STATUS SSA WAS AN "EOF" READ? JMP EXIT1 YES, RETURN TO (P+2). RBR,SLB,RBL DID A PARITY OR TIMING ERROR OCCUR? RSS YES, SKIP. JMP ENDR NO, DONE. ISZ SPACE HAVE WE TRIED 3 TIMES ? CLE,RSS NO JMP ERR.1 YES, EXIT TO ERROR ROUTINE LDA .41 BACKSPACE JSB CMAND JMP RERED TRY AGAIN SPC 1 * RECORD < BUFFER LENGTH, GET TAPE LENGTH IN USER'S BUFFER SPC 1 ENDR LDA ABS GET TAPE RECORD LENGTH LDB BUFL GET USER BUFFER LENGTH CLE,SSA IS ACTUAL LENGTH IN WORDS? JMP ENDR2 YES, GO CHECK READ REQUEST. CMA,INA NO, CONVERT TO - # OF CHARACTERS. CCE,SSB NO; WAS READ REQUEST IN WORDS? ARS YES, CONVERT CHARACTERS TO WORDS. ENDR2 SEZ,SSB,RSS WAS READ REQUEST IN CHARACTERS? ALS CMA,INA STA BUFL SAVE TAPE LENGTH FOR USER SSB,RSS IS USER LENGTH IN CHARACTERS? CMB,INB YES, COMPLEMENT USER REQUEST. ADA B "SUBTRACT": RECORD LENGTH - USER REQ.. CMB,INB MAKE THE USER REQUEST POSITIVE. SSA,RSS IS RECORD LENGTH > USER REQUEST? STB BUFL YES, STORE USER REQUEST LENGTH. JMP EXIT CONTINUE READ PROCESSING SPC 2 * DO A TEMP SAVE OF WORD IN USERS PROGRAM THAT IS AT * BUFFER ADDRESS - 1. THIS DONE BEFORE BOTH READ AND WRITE * OPERATIONS AND THEN THIS WORD IS RESTORED AFTER THE DMA XFER. * BUFM1 NOP ADA .M1 BACK BUFF POINTER BY ONE LDB A,I RETRIVE FROM USERS PROGRAM _þú STA P.2 STB EOTC SAVE BOTH POINTER & CONTENTS JMP BUFM1,I EXIT SPC 2 CFLAG NOP ENTRY POINT. MT.8 SFS CMND IS THE FUNCTION COMPLETE? JMP MT.8 NO, CONTINUE. JSB STIN YES, GO LOAD THE UNIT STATUS. JMP CFLAG,I RETURN. SPC 2 CNTR NOP GET NEG # WORDS IN A LDA BUFL USER'S BUFFER LENGTH CCE,SSA WORDS OR CHARACTERS? JMP CNTR,I WORDS --- RETURN. CMA,INA,SZA,RSS COMPLEMENT; IS THE REQUEST = 0? JMP EXIT YES, GIVE A NORMAL COMPLETION RETURN. ARS JMP CNTR,I RETURN. SPC 2 WNEC NOP WRITE NOT ENABLED CHECK- JSB STIN GO LOAD THE MT UNIT STATUS. RAR,SLA IS THE MT UNIT READY? JMP S.1 NO, CONTINUE. RBR,CLE,RBR SHIFT THE WRITE ENABLE RING BIT TO B0. SLB,RSS DOES THE MT HAVE A WRITE ENABLE RING? JMP WNEC,I EXIT WITH WRITE ENABLED HLT11 HLT 11B AND HALT JMP HLT11 PROTECT HALT. SPC 2 * CONFIGURE DMA INDMA NOP CLC 2 SETUP FOR CW2(BUFFER ADDRESS) OTA 2 CW2 LDA CW1 =B200XX XX=HIGH MT PRIORITY SC OTA 6 STC 2 LDA WNEC NEG OF # WORDS TO XFER STA P.2,I RECORD LENGTH FOR WRITE ADA .M1 SET DMA FOR ADDITIONAL WORD OTA 2 * INITIATE DMA READ/WRITE MT.11 STC DATA,C STC 6,C JSB CFLAG WAIT FOR DMA TO COMPLETE MT.50 CLC DATA STF 6 ROLL OVER DMA WORD COUNT JMP INDMA,I RETURN SPC 1 CMAND NOP ISSUE THE COMMAND IN -A- TO MT.14 OTA CMND OUTPUT THE COMMAND. S.0 LIB CMND LOAD THE STATUS WORD. RBR,RBR SHIFT THE REJECT BIT TO 0. RBR,SLB WAS THE REQUEST REJECTED? JMP REJCT YES, ISSUE A CLEAR AND RETRY. MT.7 STC CMND,C INITIATE COMMAND EXECUTION. CCB,SEZ,CLE READ OR WRITE COMMAND? JMP CMAND,I Ni<:6 YES, RETURN. JSB CFLAG GO WAIT FOR FUNCTION COMPLETION. JMP CMAND,I SPC 1 LOCAL HLT 44B JSB STIN GO LOAD THE MT UNIT STATUS. RAR,SLA IS THE MT UNIT READY? JMP LOCAL NO, CONTINUE. LDA CLR LOAD THE CLEAR COMMAND. JSB CMAND GO EXECUTE THE CLEAR FUNCTION. LDA ABS LOAD THE COMMAND REQUEST CODE. JMP OK... SPC 1 REJCT LDB CLR LOAD THE CLEAR COMMAND CODE. O.B OTB CMND OUTPUT THE CLEAR COMMAND. MT.6 STC CMND,C INITIATE THE CLEAR COMMAND. MT.0 SFS CMND IS THE COMMAND COMPLETED? JMP MT.0 NO, WAIT. JMP MT.14 YES, GO RETRY THE REQUEST. SPC 2 EOTC NOP CHECK FOR EOT JSB STIN GET MT STATUS ALF,CLE,RAR SHIFT THE "EOT" BIT TO A0. SLA IS THE MT UNIT AT THE "EOT"? JMP EXIT1 JMP EOTC,I SKP * BEGIN "LOCAL STORAGE". SPC 1 A EQU 00000B B EQU 00001B SPC 1 DATA EQU 00B CMND EQU DATA+01B SPC 1 BUFL NOP BUFA NOP SPC 1 .7 OCT 000007 .3 OCT 000003 .15 OCT 15 CODE FOR 4 INCH TAPE GAPP .M3 DEC -3 .101 OCT 000101 .41 OCT 000041 .23 OCT 000023 DEC1 DEC 1 DEC2 DEC 2 .M1 OCT -1 SL1 OCT 002400 SELECT UNIT 1 SL2 OCT 004400 SELECT UNIT 2. SL3 OCT 010400 SELECT UNIT 3. CW1 OCT 20000 =B200XX XX=HIGH PRIORITY MT SC BIT15 OCT 100000 CLR OCT 000110 CLEAR COMMAND. RWO OCT 000105 REWIND/STANDBY COMMAND. GFM OCT 000215 GAP 4"; WRITE END-OF-FILE COMMAND. SFILE OCT 000200 SKIP-FILE COMMAND OFF-SET. SPC 1 * END OF "LOCAL STORAGE". SPC 2 * L.W.A. OF SIO MT DRIVER MUST BE < X7135B. SPC 1 END I<ÿÿ ÿýÝì ÿ12970-18002 1518 S 0146 SIO MAG TAPE DMA DRIVER 12K             H0101 hþúASMB,A,B,L,C HED *** 12K SIO HP7970B/7970E MT DRIVER (DMA/DCPC REQUIRED) *** ORG 00106B DEF MTD-1 LAST WORD AVAILABLE MEMORY DEF MTD DRIVER ENTRY POINT SPC 2 ***** DRIVER INITIALIZATION SECTION ***** SPC 1 * PURPOSE OF THIS SECTION IS TO SET THE I/O * INSTRUCTIONS TO REFERENCE A DESIGNATED I/O * ADDRESS FOR THE 7970 MAG TAPE DRIVER. SPC 1 * EXECUTION OF THIS SECTION IS BEGUN AT LOCATION 2: SPC 1 * (2) JMP 3,I * (3) DEF I.MT SPC 1 * WITH SWITCHES 00-05 = I/O ADDRESS SPC 1 * THIS SECTION IS RELEASED AFTER THE INITIALIZATION * IS COMPLETED. SPC 1 ORG 00002B JMP 00003B,I SET STARTING DEF I.MT POINT IN 2 AND 3 SPC 2 KCORE EQU 20000B 12K MEMORY SIZE SPC 2 ORG KCORE+06000B SPC 1 * CONFIGURE I/0 INSTRUCTIONS SPC 1 CONFG HLT 00B SPC 1 SSW EQU 01B SENSE SWITCH REGISTER ADDRESS. I.MT LIA SSW GET DATA CHANNEL ADDRESS STA UNITS SAVE THE SWITCH OPTIONS. AND .77 STA B SAVE DATA CHANNEL ADDRESS IN B ADA M.10 "SUBTRACT": S.C. - 10B. SSA IS CHANNEL NUMBER < 10B? JMP CONFG YES, GO RESTART CONFIGURATION. ADA MAXCH "SUBTRACT": S.C. - 70B. SSA,RSS IS CHANNEL NUMBER > 67B? JMP CONFG YES, GO RESTART CONFIGURATION. SPC 1 LDA DMACW CONFIGURE DMA CW1 ADA B STA CW1 * LDA C4 CLC DATA INSTRUCTIONS ADA B STA MT.50 STA MT.13 SPC 1 LDA C12 STC DATA,C INSTRUCTIONS ADA B INCLUDE THE CHANNEL NUMBER. STA MT.11 STORE THE INSTRUCTION. SPC 1 LDA C13 CLF DATA INSTRUCTION. ADA B INCLUDE THE CHANNEL NUMBER. STA MT.12 STORE THE INSTRUCTION. SPC 1 LDA C6 LIA CMND INSTRUCTIONS ADA B STA S.1 SPC 1 ybþú LDA C7 LIB CMND INSTRUCTIONS ADA B STA S.0 SPC 1 LDA C9 SFS CMND INSTRUCTIONS ADA B STA MT.0 STA MT.8 SPC 1 LDA C10 OTA CMND INSTRUCTIONS ADA B STA MT.14 STA MT.1 SPC 1 LDA C11 STC CMND,C INSTRUCTIONS ADA B STA MT.7 STA MT.6 SPC 1 LDA C0 OTB CMND INSTRUCTION. ADA B STA O.B SPC 1 LDA C3 CLC CMND INSTRUCTION. ADA B STA MT.4 STA MT.16 SPC 1 LDA UNITS LOAD THE SWITCH OPTIONS. RAL,RAL SHIFT BIT 14 TO BIT 0. SLA,RAL IS MAXIMUM UNIT > 3? JMP CONFG YES, ERROR; RESTART. RAL SHIFT UNIT MAXIMUM TO 2-0. AND .3 ISOLATE THE MAXIMUM UNIT NUMBER. CPA .3 ARE THERE FOUR(4) MT UNITS? JMP STOP YES, TERMINATE CONFIGURATION. LDB SL0 NO, LOAD THE SL0 COMMAND. STB SL3 SET UNIT 3 TO BE UNIT 0. CPA DEC2 ARE THERE THREE(3) MT UNITS? JMP STOP YES, TERMINATE CONFIGURATION. STB SL2 NO, MAKE UNIT 2 EQU UNIT 0. CPA DEC1 ARE THERE TWO(2) MT UNITS? JMP STOP YES, TERMINATE CONFIGURATION. STB SL1 NO, MAKE UNIT 1 EQU UNIT 0. SPC 1 STOP HLT 77B END OF DRIVER CONFIGURATION. SPC 1 LDA .SL1 LOAD THE SELECT UNIT 1 COMMAND. STA SL1 RESTORE THE COMMAND. LDA .SL2 LOAD THE SELECT UNIT 2 COMMAND. STA SL2 RESTORE THE COMMAND. LDA .SL3 LOAD THE SELECT UNIT 3 COMMAND. STA SL3 RESTORE THE COMMAND. JMP I.MT SPC 2 .77 OCT 77 M.10 OCT -10 MAXCH OCT -60 UNITS NOP .SL1 OCT 002400 SELECT UNIT 1 COMMAND. .SL2 OCT 004400 SELECT UNIT 2 COMMAND. .SL3 OCT 010400 SELECT UNIT 3 COMMAND. DMACW OCT 20000 SPC 1 * I/O INSTRUCTIONS SPC 1 C0 OTB CMND !¶þú C3 CLC CMND C4 CLC DATA C6 LIA CMND C7 LIB CMND C9 SFS CMND C10 OTA CMND C11 STC CMND,C C12 STC DATA,C C13 CLF DATA SPC 1 * END OF RELEASABLE INITIALIZATION SECTION SPC 1 I.P.L EQU 00445B DRIVER LENGTH. ORG KCORE+07135B-I.P.L SPC 1 * F.W.A. OF SIO MT DRIVER MUST BE > X6467B. SPC 1 * L.W.A. OF SIO MT DRIVER MUST BE < X7135B. SKP * CALLING SEQUENCE: (WRITE/READ) SPC 1 * LDA (>0=CHARS, <0=WORDS) * LDB * JSB 107B,I * OCT (0=READ, 1=WRITE) * * * (A)=RECORD LENGTH, (B)=STATUS SPC 1 * READ AND WRITE REQUESTS OF 0 LENGTH ARE RETURNED * BY THE DRIVER TO THE NORMAL RETURN LOCATION * WITHOUT ANY TAPE MOVEMENT. SPC 1 * THE FIRST WORD OF 2 BYTES WRITTEN ON TAPE IS THE * USER'S REQUEST LENGTH. THIS WORD IS NOT STORED * IN THE USER'S BUFFER BY A READ REQUEST, BUT IS * LEFT IN THE A REGISTER IN THE FORM WHICH THE * USER SPECIFIED (+CHARACTERS OR -WORDS) AS THE * TAPE RECORD LENGTH IF THE TAPE RECORD < THE * BUFFER REQUEST LENGTH. SPC 2 * CALLIN @SEQUENCE: (REWIND/REWIND STANDBY/STATUS) SPC 1 * P JSB 107B,I * P+1 OCT (3=REWIND, 7=STATUS, * P+2 5=REWIND & STANDBY) SPC 2 * CALLING SEQUENCE: (GAP/WRITE END OF FILE) SPC 1 * P JSB 107B,I * P+1 OCT (6=GAP, 2=END OF FILE) * P+2 * P+3 * P+4 (B)=STATUS SPC 2 * CALLING SEQUENCE: (POSITION) SPC 1 * LDA (+=FORWARD, -=REVERSE) * LDB " " * JSB 107B,I * OCT 4 * * * (A)=FILE COUNT, (B)=STATUS SPC 1 * A BACKFILE LEAÉ[þúVES THE TAPE POSITIONED ON THE SIDE OF * THE N-TH FILE MARK (-N IN A FOR BACKFILE) AWAY FROM * LOAD POINT. THUS (A) = -2 LEAVES THE TAPE AT THE * BEGINNING OF THE FILE PRECEEDING THE CURRENT FILE. SPC 1 * RECORD OPERATIONS WILL MOVE THE TAPE THE APPROPRIATE * # OF RECORDS. THE FILE MARK IS COUNTED AS 1 RECORD. SPC 1 * COMMANDS TRYING TO CROSS THE SOT OR EOT MARKERS WILL * CAUSE AN EXIT TO THE END OF TAPE RETURN POINT. SPC 1 * END OF TAPE ON READ, WRITE OR GAP WILL BE CHECKED * BEFORE THE OPERATION IS INITIATED. SPC 2 * TAPE COMMANDS - SPC 1 * OCT 0 - READ * 1 - WRITE * 2 - WRITE END OF FILE * 3 - REWIND * 4 - POSITION * 5 - REWIND AND STANDBY * 6 - GAP (4" BLANK TAPE) * 7 - STATUS (RETURNS STATUS IN -B- ) SPC 2 * THE STATUS WORD BIT ASSIGNMENTS ARE: SPC 1 * BIT MEANING SPC 1 * 0 TAPE UNIT NOT ON-LINE * 1 PARITY AND/OR TIMING ERROR * 2 FILE PROTECTED (NO WRITE ENABLE RING) * 3 REJECT: 1 MOTION REQ'D AND CONTROLLER BUSY * 2 BACKWARD MOTION REQ'D & AT LOAD POINT * 3 WRITE COMMAND GIVEN AND NO WRITE RING * 4 TIMING ERROR * 5 END OF TAPE * 6 START OF TAPE * 7 END OF FILE * 8 CONTROLLER BUSY * 9 TAPE UNIT NOT READY * 10 TAPE UNIT REWINDING * 11 ODD NUMBER OF BYTES READ SKP * F.W.A. OF SIO MT DRIVER MUST BE > X6467B. SPC 1 MTD NOP ENTRY POINT. STA BUFL SAVE LENGTH AND STB BUFA ADDRESS OF BUFFER JSB STIN GO LOAD THE MT STATUS. SLA IS THE MT CONTROLLER BUSY? JMP S.1 YES, CONTINUE. MT.13 CLC DATA NO, CLEAR DATA CHANNEL CONTROL. MT.16 CLC CMND CLEAR COMMAND CHANNEL CONTROL. LDA MTD,I LOAD THE COMMAND CODE WORD. ALF SHIFT UNIT NUMBER TO BITS 2-0. AND .7 ISOLATE åÿþúTHE UNIT NUMBER. STA SPACE SAVE UNIT NUMBER SZA,RSS SELECT UNIT 0? LDA SL0 YES, LOAD THE SELECT CODE. CPA DEC1 SELECT UNIT 1? LDA SL1 YES, LOAD THE SELECT CODE. CPA DEC2 SELECT UNIT 2? LDA SL2 YES, LOAD THE SELECT CODE. CPA .3 SELECT UNIT 3? LDA SL3 YES, LOAD THE SELECT CODE. CPA SPACE UNIT NUMBER > 3? JMP UNDEF YES, UNDEFINED UNIT. MT.1 OTA CMND OUTPUT THE UNIT SELECTION. LDA MTD,I LOAD THE OPERATION CODE. AND .7 USE THE LOWER 3 BITS ONLY. CPA .7 IS THE REQUEST FOR STATUS. JMP ERR.1 YES, RETURN; STATUS IS IN "B". STA ABS SAVE THE COMMAND REQUEST CODE. OK... CLE,SLB IS THE TAPE UNIT IN LOCAL MODE? JMP LOCAL YES, STOP 44B. ISZ MTD INCREMENT THE RETURN ADDRESS (P+2). ADA TBASE LOOK UP PROCESSOR IN TABLE JMP A,I CALL PROCESSOR SPC 1 TBASE DEF *+1,I COMMAND PROCESSOR ENTRY DEF READ POINT TABLE DEF WRITE DEF WEOF DEF REW DEF POS DEF RES DEF GAP SPC 1 RES LDA RWO LOAD THE REWIND/STANDBY COMMAND. CCE,RSS SKIP. REW LDA .101 REWIND ** CCE ENTER: E=1. JSB CMAND GO INITIATE COMMAND EXECUTION. JSB STIN GO LOAD THE MT UNIT STATUS. JMP EXIT1 SPC 1 UNDEF HLT 15B ILLEGAL UNIT NUMBER. JMP UNDEF IRRECOVERABLE ERROR. SPC 2 * TAPE POSITIONING ROUTINE SPC 1 * ENTER WITH COMMANDS STORED IN BUFL AND BUFA. SPC 1 POS LDB BUFL GET FILE COUNT LDA SFILE LOAD THE FILE CODE OFF-SET. JSB ABS SET FLAGS, COMMANDS AND COUNT JMP P.1 # FILES = 0, DO RECORDS P.5 CCA,SEZ,CCE,RSS ENTER: E=1; BACKWARDS MOTION? JSB P.2 YES, GO CHECK FOR "BOT". JSB SPACE FORWARD SPACE JMP P.5 REPEATZ`þú UNTIL FILE ISZ CNTR CHECK FOR FINISHED JMP P.5 NO, LOOP LDA BUFL RAL,CLE,SLA,ELA BACKFILE REQUEST? ISZ BUFA .31 SLA,ARS SKIP. JMP EXIT P.1 LDB BUFA PROCESS RECORDS CLA ENTER: A=0. JSB ABS SET FOR FWD/REV RECORD SPACING JMP EXIT NO RECORDS, EXIT P.0 CCA,SEZ,CLE,RSS ENTER: E=0; BACKWARDS MOTION? JSB P.2 YES, GO CHECK FOR "BOT". JSB SPACE FORWARD SPACE SL0 ALR SELECT UNIT 0 COMMAND. ISZ CNTR FINISHED? JMP P.0 NO, LOOP SPC 1 EXIT ISZ MTD JSB STIN GO LOAD THE MT STATUS. ERR.1 ISZ MTD EXIT1 LDA BUFL MT.4 CLC CMND CLEAR THE MT COMMAND CONTROL BIT. JMP MTD,I SPC 2 P.2 NOP ENTRY POINT. JSB STIN GET TAPE STATUS (BACKFILE) RAL SHIFT THE "SOT" BIT TO A15. SSA,RSS IS THE MT UNIT AT THE "SOT"? JMP P.2,I NO, RETURN. SEZ YES; FILE SKIPPING? ISZ CNTR CNT = -1? JMP EXIT1 NO, TRIED TO CROSS SOT, ERROR JMP P.1 YES, DO RECORD SPACING SPC 2 ABS NOP SET-UP ROUTINE SSB,RSS IS TAPE MOTION TO BE FORWARD? ADA .3 FORWARD SPACE COMMAND SSB IF # IS < 0 SET FOR ADA .41 BACKSPACE COMMAND STA WNEC CLE,SSB,RSS GET -ABS(#) FOR CNT CMB,CCE,INB,SZB IS THE MT TO BE MOVED? ISZ ABS YES, EXIT TO (P+2). STB CNTR JMP ABS,I SPC 2 SPACE NOP SPACE TAPE CLE,SSA IS TAPE MOTION BACKWARDS? JSB EOTC LDA WNEC JSB CMAND SPACE RAL,SLA END-OF-FILE (EOF) MARK? ISZ SPACE YES, SKIP EXIT. CCE,SSA IS THE MT UNIT AT "SOT"? JMP EXIT1 JMP SPACE,I SPC 2 STIN NOP GET TAPE STATUS S.1 LIA CMND LDB A LOAD THE MT UNIT STATUS. ALF,AL^ÈþúF SHIFT THE MT UNIT STATUS 8 BITS. JMP STIN,I SPC 2 * WRITE 4" BLANK TAPE SPC 1 GAP JSB WNEC CHECK FOR WRITE RING IN JSB EOTC CHECK FOR END OF TAPE LDA .15 4 INCH TAPE GAP JSB CMAND JMP EXIT NORMAL EXIT SPC 2 * WRITE END OF FILE SPC 1 WEOFR LDA .41 LOAD: BACKSPACE RECORD COMMAND. JSB CMAND GO EXECUTE THE COMMAND. SPC 1 WEOF JSB WNEC CHECK FOR WRITE RING IN MT.12 CLF DATA CLEAR THE DATA CHANNEL FLAG. LDA GFM WRITE FILE MARK CODE JSB CMAND RBR,SLB,RBL DID A PARITY OR TIMING ERROR OCCUR? JMP WEOFR YES, GO BACKSPACE OVER THE RECORD. JSB EOTC JMP EXIT SPC 2 WRITE JSB WNEC GO CHECK FOR A WRITE ENABLE RING. JSB EOTC GO CHECK FOR END-OF-TAPE. JSB CNTR GET NEG # WORDS STA WNEC SAVE WORD COUNT LDA .31 LOAD THE WRITE RECORD COMMAND. JSB CMAND GO INITIATE WRITE SEQUENCE. LDA BUFA BUFFER ADDRESS JSB BUFM1 SAVE POINTER TO & CONTENTS BUFF-1 JSB INDMA EXECUTE DMA SEQUENCE * * 1. INITILIZE DMA CONTROL WORDS * 2. TURN ON DMA * 3. WAIT FOR DMA TO COMPLETE * LDA EOTC RESTORE WORD IN USERS PROGRAM STA P.2,I RBR,SLB DID A PARITY OR TIMING ERROR OCCUR? CLE,RSS YES, SKIP. JMP EXIT NORMAL EXIT LDA .41 BACKSPAC1 RECORD JSB CMAND LDA .15 4 INCH TAPE GAP JSB CMAND EXECUTE COMMAND JMP WRITE RETRY WRITE TILL TAPE END SPC 2 READ JSB EOTC READ *** LDA .M3 STA SPACE SET RETRY COUNTER TO -3. JSB CNTR GET NE,# OF WORDS STA WNEC NEG WORD XFER COUNT RERED LDA .23 READ CHARACTER CODE JSB CMAND INIT. READ RECORD SEQ. LDA BUFA USERS INPUT BUFFER wþú JSB BUFM1 ADA BIT15 DIR BIT FOR DMA READ JSB INDMA EXECUTE DMA SEQUENCE * * 1. INITILIZE DMA CONTROL WORDS * 2. TURN ON DMA * 3. WAIT FOR DMA TO COMPLETE * LDA P.2,I RETREIVE RECORD LENGTH STA ABS LDB EOTC NOW RESTORE USERS PROGRAM STB P.2,I JSB STIN MT STATUS SSA WAS AN "EOF" READ? JMP EXIT1 YES, RETURN TO (P+2). RBR,SLB,RBL DID A PARITY OR TIMING ERROR OCCUR? RSS YES, SKIP. JMP ENDR NO, DONE. ISZ SPACE HAVE WE TRIED 3 TIMES ? CLE,RSS NO JMP ERR.1 YES, EXIT TO ERROR ROUTINE LDA .41 BACKSPACE JSB CMAND JMP RERED TRY AGAIN SPC 1 * RECORD < BUFFER LENGTH, GET TAPE LENGTH IN USER'S BUFFER SPC 1 ENDR LDA ABS GET TAPE RECORD LENGTH LDB BUFL GET USER BUFFER LENGTH CLE,SSA IS ACTUAL LENGTH IN WORDS? JMP ENDR2 YES, GO CHECK READ REQUEST. CMA,INA NO, CONVERT TO - # OF CHARACTERS. CCE,SSB NO; WAS READ REQUEST IN WORDS? ARS YES, CONVERT CHARACTERS TO WORDS. ENDR2 SEZ,SSB,RSS WAS READ REQUEST IN CHARACTERS? ALS CMA,INA STA BUFL SAVE TAPE LENGTH FOR USER SSB,RSS IS USER LENGTH IN CHARACTERS? CMB,INB YES, COMPLEMENT USER REQUEST. ADA B "SUBTRACT": RECORD LENGTH - USER REQ.. CMB,INB MAKE THE USER REQUEST POSITIVE. SSA,RSS IS RECORD LENGTH > USER REQUEST? STB BUFL YES, STORE USER REQUEST LENGTH. JMP EXIT CONTINUE READ PROCESSING SPC 2 * DO A TEMP SAVE OF WORD IN USERS PROGRAM THAT IS AT * BUFFER ADDRESS - 1. THIS DONE BEFORE BOTH READ AND WRITE * OPERATIONS AND THEN THIS WORD IS RESTORED AFTER THE DMA XFER. * BUFM1 NOP ADA .M1 BACK BUFF POINTER BY ONE LDB A,I RETRIVE FROM USERS PROGRAM -’þú STA P.2 STB EOTC SAVE BOTH POINTER & CONTENTS JMP BUFM1,I EXIT SPC 2 CFLAG NOP ENTRY POINT. MT.8 SFS CMND IS THE FUNCTION COMPLETE? JMP MT.8 NO, CONTINUE. JSB STIN YES, GO LOAD THE UNIT STATUS. JMP CFLAG,I RETURN. SPC 2 CNTR NOP GET NEG # WORDS IN A LDA BUFL USER'S BUFFER LENGTH CCE,SSA WORDS OR CHARACTERS? JMP CNTR,I WORDS --- RETURN. CMA,INA,SZA,RSS COMPLEMENT; IS THE REQUEST = 0? JMP EXIT YES, GIVE A NORMAL COMPLETION RETURN. ARS JMP CNTR,I RETURN. SPC 2 WNEC NOP WRITE NOT ENABLED CHECK- JSB STIN GO LOAD THE MT UNIT STATUS. RAR,SLA IS THE MT UNIT READY? JMP S.1 NO, CONTINUE. RBR,CLE,RBR SHIFT THE WRITE ENABLE RING BIT TO B0. SLB,RSS DOES THE MT HAVE A WRITE ENABLE RING? JMP WNEC,I EXIT WITH WRITE ENABLED HLT11 HLT 11B AND HALT JMP HLT11 PROTECT HALT. SPC 2 * CONFIGURE DMA INDMA NOP CLC 2 SETUP FOR CW2(BUFFER ADDRESS) OTA 2 CW2 LDA CW1 =B200XX XX=HIGH MT PRIORITY SC OTA 6 STC 2 LDA WNEC NEG OF # WORDS TO XFER STA P.2,I RECORD LENGTH FOR WRITE ADA .M1 ADD 1 TO ACCOUNT FOR REC LEN OTA 2 * INITIATE DMA READ/WRITE MT.11 STC DATA,C STC 6,C JSB CFLAG WAIT FOR DMA TO COMPLETE MT.50 CLC DATA STF 6 ROLL OVER DMA WORD COUNT JMP INDMA,I RETURN SPC 1 CMAND NOP ISSUE THE COMMAND IN -A- TO MT.14 OTA CMND OUTPUT THE COMMAND. S.0 LIB CMND LOAD THE STATUS WORD. RBR,RBR SHIFT THE REJECT BIT TO 0. RBR,SLB WAS THE REQUEST REJECTED? JMP REJCT YES, ISSUE A CLEAR AND RETRY. MT.7 STC CMND,C INITIATE COMMAND EXECUTION. CCB,SEZ,CLE READ OR WRITE COMMAND? JMP CMANdª<:6D,I YES, RETURN. JSB CFLAG GO WAIT FOR FUNCTION COMPLETION. JMP CMAND,I SPC 1 LOCAL HLT 44B JSB STIN GO LOAD THE MT UNIT STATUS. RAR,SLA IS THE MT UNIT READY? JMP LOCAL NO, CONTINUE. LDA CLR LOAD THE CLEAR COMMAND. JSB CMAND GO EXECUTE THE CLEAR FUNCTION. LDA ABS LOAD THE COMMAND REQUEST CODE. JMP OK... SPC 1 REJCT LDB CLR LOAD THE CLEAR COMMAND CODE. O.B OTB CMND OUTPUT THE CLEAR COMMAND. MT.6 STC CMND,C INITIATE THE CLEAR COMMAND. MT.0 SFS CMND IS THE COMMAND COMPLETED? JMP MT.0 NO, WAIT. JMP MT.14 YES, GO RETRY THE REQUEST. SPC 2 EOTC NOP CHECK FOR EOT JSB STIN GET MT STATUS ALF,CLE,RAR SHIFT THE "EOT" BIT TO A0. SLA IS THE MT UNIT AT THE "EOT"? JMP EXIT1 JMP EOTC,I SKP * BEGIN "LOCAL STORAGE". SPC 1 A EQU 00000B B EQU 00001B SPC 1 DATA EQU 00B CMND EQU DATA+01B SPC 1 BUFL NOP BUFA NOP SPC 1 .7 OCT 000007 .3 OCT 000003 .15 OCT 15 CODE FOR 4 INCH TAPE GAPP .M3 DEC -3 .101 OCT 000101 .41 OCT 000041 .23 OCT 000023 DEC1 DEC 1 DEC2 DEC 2 .M1 OCT -1 SL1 OCT 002400 SELECT UNIT 1 SL2 OCT 004400 SELECT UNIT 2. SL3 OCT 010400 SELECT UNIT 3. CW1 OCT 20000 =B200XX XX=HIGH PRIORITY MT SC BIT15 OCT 100000 CLR OCT 000110 CLEAR COMMAND. RWO OCT 000105 REWIND/STANDBY COMMAND. GFM OCT 000215 GAP 4"; WRITE END-OF-FILE COMMAND. SFILE OCT 000200 SKIP-FILE COMMAND OFF-SET. SPC 1 * END OF "LOCAL STORAGE". SPC 2 * L.W.A. OF SIO MT DRIVER MUST BE < X7135B. SPC 1 END Ž•<ÿÿ ÿýÞí ÿ12970-18003 1518 S 0146 SIO MAG TAPE DMA DRIVER 16K             H0101 lþúASMB,A,B,L,C HED *** 16K SIO HP7970B/7970E MT DRIVER(DMA REQUIRED) *** ORG 00106B DEF MTD-1 LAST WORD AVAILABLE MEMORY DEF MTD DRIVER ENTRY POINT SPC 2 ***** DRIVER INITIALIZATION SECTION ***** SPC 1 * PURPOSE OF THIS SECTION IS TO SET THE I/O * INSTRUCTIONS TO REFERENCE A DESIGNATED I/O * ADDRESS FOR THE 7970 MAG TAPE DRIVER. SPC 1 * EXECUTION OF THIS SECTION IS BEGUN AT LOCATION 2: SPC 1 * (2) JMP 3,I * (3) DEF I.MT SPC 1 * WITH SWITCHES 00-05 = I/O ADDRESS SPC 1 * THIS SECTION IS RELEASED AFTER THE INITIALIZATION * IS COMPLETED. SPC 1 ORG 00002B JMP 00003B,I SET STARTING DEF I.MT POINT IN 2 AND 3 SPC 2 KCORE EQU 30000B 16K MEMORY SIZE VERSION SPC 2 ORG KCORE+06000B SPC 1 * CONFIGURE I/0 INSTRUCTIONS SPC 1 CONFG HLT 00B SPC 1 SSW EQU 01B SENSE SWITCH REGISTER ADDRESS. I.MT LIA SSW GET DATA CHANNEL ADDRESS STA UNITS SAVE THE SWITCH OPTIONS. AND .77 STA B SAVE DATA CHANNEL ADDRESS IN B ADA M.10 "SUBTRACT": S.C. - 10B. SSA IS CHANNEL NUMBER < 10B? JMP CONFG YES, GO RESTART CONFIGURATION. ADA MAXCH "SUBTRACT": S.C. - 70B. SSA,RSS IS CHANNEL NUMBER > 67B? JMP CONFG YES, GO RESTART CONFIGURATION. SPC 1 LDA DMACW CONFIGURE DMA CW1 ADA B STA CW1 * LDA C4 CLC DATA INSTRUCTIONS ADA B STA MT.50 STA MT.13 SPC 1 LDA C12 STC DATA,C INSTRUCTIONS ADA B INCLUDE THE CHANNEL NUMBER. STA MT.11 STORE THE INSTRUCTION. SPC 1 LDA C13 CLF DATA INSTRUCTION. ADA B INCLUDE THE CHANNEL NUMBER. STA MT.12 STORE THE INSTRUCTION. SPC 1 LDA C6 LIA CMND INSTRUCTIONS ADA B STA S.1 SPC 1 ôþú LDA C7 LIB CMND INSTRUCTIONS ADA B STA S.0 SPC 1 LDA C9 SFS CMND INSTRUCTIONS ADA B STA MT.0 STA MT.8 SPC 1 LDA C10 OTA CMND INSTRUCTIONS ADA B STA MT.14 STA MT.1 SPC 1 LDA C11 STC CMND,C INSTRUCTIONS ADA B STA MT.7 STA MT.6 SPC 1 LDA C0 OTB CMND INSTRUCTION. ADA B STA O.B SPC 1 LDA C3 CLC CMND INSTRUCTION. ADA B STA MT.4 STA MT.16 SPC 1 LDA UNITS LOAD THE SWITCH OPTIONS. RAL,RAL SHIFT BIT 14 TO BIT 0. SLA,RAL IS MAXIMUM UNIT > 3? JMP CONFG YES, ERROR; RESTART. RAL SHIFT UNIT MAXIMUM TO 2-0. AND .3 ISOLATE THE MAXIMUM UNIT NUMBER. CPA .3 ARE THERE FOUR(4) MT UNITS? JMP STOP YES, TERMINATE CONFIGURATION. LDB SL0 NO, LOAD THE SL0 COMMAND. STB SL3 SET UNIT 3 TO BE UNIT 0. CPA DEC2 ARE THERE THREE(3) MT UNITS? JMP STOP YES, TERMINATE CONFIGURATION. STB SL2 NO, MAKE UNIT 2 EQU UNIT 0. CPA DEC1 ARE THERE TWO(2) MT UNITS? JMP STOP YES, TERMINATE CONFIGURATION. STB SL1 NO, MAKE UNIT 1 EQU UNIT 0. SPC 1 STOP HLT 77B END OF DRIVER CONFIGURATION. SPC 1 LDA .SL1 LOAD THE SELECT UNIT 1 COMMAND. STA SL1 RESTORE THE COMMAND. LDA .SL2 LOAD THE SELECT UNIT 2 COMMAND. STA SL2 RESTORE THE COMMAND. LDA .SL3 LOAD THE SELECT UNIT 3 COMMAND. STA SL3 RESTORE THE COMMAND. JMP I.MT SPC 2 .77 OCT 77 M.10 OCT -10 MAXCH OCT -60 UNITS NOP .SL1 OCT 002400 SELECT UNIT 1 COMMAND. .SL2 OCT 004400 SELECT UNIT 2 COMMAND. .SL3 OCT 010400 SELECT UNIT 3 COMMAND. DMACW OCT 20000 SPC 1 * I/O INSTRUCTIONS SPC 1 C0 OTB CMND!¶þú C3 CLC CMND C4 CLC DATA C6 LIA CMND C7 LIB CMND C9 SFS CMND C10 OTA CMND C11 STC CMND,C C12 STC DATA,C C13 CLF DATA SPC 1 * END OF RELEASABLE INITIALIZATION SECTION SPC 1 I.P.L EQU 00445B DRIVER LENGTH. ORG KCORE+07135B-I.P.L SPC 1 * F.W.A. OF SIO MT DRIVER MUST BE > X6467B. SPC 1 * L.W.A. OF SIO MT DRIVER MUST BE < X7135B. SKP * CALLING SEQUENCE: (WRITE/READ) SPC 1 * LDA (>0=CHARS, <0=WORDS) * LDB * JSB 107B,I * OCT (0=READ, 1=WRITE) * * * (A)=RECORD LENGTH, (B)=STATUS SPC 1 * READ AND WRITE REQUESTS OF 0 LENGTH ARE RETURNED * BY THE DRIVER TO THE NORMAL RETURN LOCATION * WITHOUT ANY TAPE MOVEMENT. SPC 1 * THE FIRST WORD OF 2 BYTES WRITTEN ON TAPE IS THE * USER'S REQUEST LENGTH. THIS WORD IS NOT STORED * IN THE USER'S BUFFER BY A READ REQUEST, BUT IS * LEFT IN THE A REGISTER IN THE FORM WHICH THE * USER SPECIFIED (+CHARACTERS OR -WORDS) AS THE * TAPE RECORD LENGTH IF THE TAPE RECORD < THE * BUFFER REQUEST LENGTH. SPC 2 * CALLIN @SEQUENCE: (REWIND/REWIND STANDBY/STATUS) SPC 1 * P JSB 107B,I * P+1 OCT (3=REWIND, 7=STATUS, * P+2 5=REWIND & STANDBY) SPC 2 * CALLING SEQUENCE: (GAP/WRITE END OF FILE) SPC 1 * P JSB 107B,I * P+1 OCT (6=GAP, 2=END OF FILE) * P+2 * P+3 * P+4 (B)=STATUS SPC 2 * CALLING SEQUENCE: (POSITION) SPC 1 * LDA (+=FORWARD, -=REVERSE) * LDB " " * JSB 107B,I * OCT 4 * * * (A)=FILE COUNT, (B)=STATUS SPC 1 * A BACKFILE L¤:þúEAVES THE TAPE POSITIONED ON THE SIDE OF * THE N-TH FILE MARK (-N IN A FOR BACKFILE) AWAY FROM * LOAD POINT. THUS (A) = -2 LEAVES THE TAPE AT THE * BEGINNING OF THE FILE PRECEEDING THE CURRENT FILE. SPC 1 * RECORD OPERATIONS WILL MOVE THE TAPE THE APPROPRIATE * # OF RECORDS. THE FILE MARK IS COUNTED AS 1 RECORD. SPC 1 * COMMANDS TRYING TO CROSS THE SOT OR EOT MARKERS WILL * CAUSE AN EXIT TO THE END OF TAPE RETURN POINT. SPC 1 * END OF TAPE ON READ, WRITE OR GAP WILL BE CHECKED * BEFORE THE OPERATION IS INITIATED. SPC 2 * TAPE COMMANDS - SPC 1 * OCT 0 - READ * 1 - WRITE * 2 - WRITE END OF FILE * 3 - REWIND * 4 - POSITION * 5 - REWIND AND STANDBY * 6 - GAP (4" BLANK TAPE) * 7 - STATUS (RETURNS STATUS IN -B- ) SPC 2 * THE STATUS WORD BIT ASSIGNMENTS ARE: SPC 1 * BIT MEANING SPC 1 * 0 TAPE UNIT NOT ON-LINE * 1 PARITY AND/OR TIMING ERROR * 2 FILE PROTECTED (NO WRITE ENABLE RING) * 3 REJECT: 1 MOTION REQ'D AND CONTROLLER BUSY * 2 BACKWARD MOTION REQ'D & AT LOAD POINT * 3 WRITE COMMAND GIVEN AND NO WRITE RING * 4 TIMING ERROR * 5 END OF TAPE * 6 START OF TAPE * 7 END OF FILE * 8 CONTROLLER BUSY * 9 TAPE UNIT NOT READY * 10 TAPE UNIT REWINDING * 11 ODD NUMBER OF BYTES READ SKP * F.W.A. OF SIO MT DRIVER MUST BE > X6467B. SPC 1 MTD NOP ENTRY POINT. STA BUFL SAVE LENGTH AND STB BUFA ADDRESS OF BUFFER JSB STIN GO LOAD THE MT STATUS. SLA IS THE MT CONTROLLER BUSY? JMP S.1 YES, CONTINUE. MT.13 CLC DATA NO, CLEAR DATA CHANNEL CONTROL. MT.16 CLC CMND CLEAR COMMAND CHANNEL CONTROL. LDA MTD,I LOAD THE COMMAND CODE WORD. ALF SHIFT UNIT NUMBER TO BITS 2-0. AND .7 ISOLATæ þúE THE UNIT NUMBER. STA SPACE SAVE UNIT NUMBER SZA,RSS SELECT UNIT 0? LDA SL0 YES, LOAD THE SELECT CODE. CPA DEC1 SELECT UNIT 1? LDA SL1 YES, LOAD THE SELECT CODE. CPA DEC2 SELECT UNIT 2? LDA SL2 YES, LOAD THE SELECT CODE. CPA .3 SELECT UNIT 3? LDA SL3 YES, LOAD THE SELECT CODE. CPA SPACE UNIT NUMBER > 3? JMP UNDEF YES, UNDEFINED UNIT. MT.1 OTA CMND OUTPUT THE UNIT SELECTION. LDA MTD,I LOAD THE OPERATION CODE. AND .7 USE THE LOWER 3 BITS ONLY. CPA .7 IS THE REQUEST FOR STATUS. JMP ERR.1 YES, RETURN; STATUS IS IN "B". STA ABS SAVE THE COMMAND REQUEST CODE. OK... CLE,SLB IS THE TAPE UNIT IN LOCAL MODE? JMP LOCAL YES, STOP 44B. ISZ MTD INCREMENT THE RETURN ADDRESS (P+2). ADA TBASE LOOK UP PROCESSOR IN TABLE JMP A,I CALL PROCESSOR SPC 1 TBASE DEF *+1,I COMMAND PROCESSOR ENTRY DEF READ POINT TABLE DEF WRITE DEF WEOF DEF REW DEF POS DEF RES DEF GAP SPC 1 RES LDA RWO LOAD THE REWIND/STANDBY COMMAND. CCE,RSS SKIP. REW LDA .101 REWIND ** CCE ENTER: E=1. JSB CMAND GO INITIATE COMMAND EXECUTION. JSB STIN GO LOAD THE MT UNIT STATUS. JMP EXIT1 SPC 1 UNDEF HLT 15B ILLEGAL UNIT NUMBER. JMP UNDEF IRRECOVERABLE ERROR. SPC 2 * TAPE POSITIONING ROUTINE SPC 1 * ENTER WITH COMMANDS STORED IN BUFL AND BUFA. SPC 1 POS LDB BUFL GET FILE COUNT LDA SFILE LOAD THE FILE CODE OFF-SET. JSB ABS SET FLAGS, COMMANDS AND COUNT JMP P.1 # FILES = 0, DO RECORDS P.5 CCA,SEZ,CCE,RSS ENTER: E=1; BACKWARDS MOTION? JSB P.2 YES, GO CHECK FOR "BOT". JSB SPACE FORWARD SPACE JMP P.5 REPE^,þúAT UNTIL FILE ISZ CNTR CHECK FOR FINISHED JMP P.5 NO, LOOP LDA BUFL RAL,CLE,SLA,ELA BACKFILE REQUEST? ISZ BUFA .31 SLA,ARS SKIP. JMP EXIT P.1 LDB BUFA PROCESS RECORDS CLA ENTER: A=0. JSB ABS SET FOR FWD/REV RECORD SPACING JMP EXIT NO RECORDS, EXIT P.0 CCA,SEZ,CLE,RSS ENTER: E=0; BACKWARDS MOTION? JSB P.2 YES, GO CHECK FOR "BOT". JSB SPACE FORWARD SPACE SL0 ALR SELECT UNIT 0 COMMAND. ISZ CNTR FINISHED? JMP P.0 NO, LOOP SPC 1 EXIT ISZ MTD JSB STIN GO LOAD THE MT STATUS. ERR.1 ISZ MTD EXIT1 LDA BUFL MT.4 CLC CMND CLEAR THE MT COMMAND CONTROL BIT. JMP MTD,I SPC 2 P.2 NOP ENTRY POINT. JSB STIN GET TAPE STATUS (BACKFILE) RAL SHIFT THE "SOT" BIT TO A15. SSA,RSS IS THE MT UNIT AT THE "SOT"? JMP P.2,I NO, RETURN. SEZ YES; FILE SKIPPING? ISZ CNTR CNT = -1? JMP EXIT1 NO, TRIED TO CROSS SOT, ERROR JMP P.1 YES, DO RECORD SPACING SPC 2 ABS NOP SET-UP ROUTINE SSB,RSS IS TAPE MOTION TO BE FORWARD? ADA .3 FORWARD SPACE COMMAND SSB IF # IS < 0 SET FOR ADA .41 BACKSPACE COMMAND STA WNEC CLE,SSB,RSS GET -ABS(#) FOR CNT CMB,CCE,INB,SZB IS THE MT TO BE MOVED? ISZ ABS YES, EXIT TO (P+2). STB CNTR JMP ABS,I SPC 2 SPACE NOP SPACE TAPE CLE,SSA IS TAPE MOTION BACKWARDS? JSB EOTC LDA WNEC JSB CMAND SPACE RAL,SLA END-OF-FILE (EOF) MARK? ISZ SPACE YES, SKIP EXIT. CCE,SSA IS THE MT UNIT AT "SOT"? JMP EXIT1 JMP SPACE,I SPC 2 STIN NOP GET TAPE STATUS S.1 LIA CMND LDB A LOAD THE MT UNIT STATUS. ALF,^ÐþúALF SHIFT THE MT UNIT STATUS 8 BITS. JMP STIN,I SPC 2 * WRITE 4" BLANK TAPE SPC 1 GAP JSB WNEC CHECK FOR WRITE RING IN JSB EOTC CHECK FOR END OF TAPE LDA .15 4 INCH TAPE GAP JSB CMAND JMP EXIT NORMAL EXIT SPC 2 * WRITE END OF FILE SPC 1 WEOFR LDA .41 LOAD: BACKSPACE RECORD COMMAND. JSB CMAND GO EXECUTE THE COMMAND. SPC 1 WEOF JSB WNEC CHECK FOR WRITE RING IN MT.12 CLF DATA CLEAR THE DATA CHANNEL FLAG. LDA GFM WRITE FILE MARK CODE JSB CMAND RBR,SLB,RBL DID A PARITY OR TIMING ERROR OCCUR? JMP WEOFR YES, GO BACKSPACE OVER THE RECORD. JSB EOTC JMP EXIT SPC 2 WRITE JSB WNEC GO CHECK FOR A WRITE ENABLE RING. JSB EOTC GO CHECK FOR END-OF-TAPE. JSB CNTR GET NEG # WORDS STA WNEC SAVE WORD COUNT LDA .31 LOAD THE WRITE RECORD COMMAND. JSB CMAND GO INITIATE WRITE SEQUENCE. LDA BUFA BUFFER ADDRESS JSB BUFM1 SAVE POINTER TO & CONTENTS BUFF-1 JSB INDMA EXECUTE DMA SEQUENCE * * 1. INITILIZE DMA CONTROL WORDS * 2. TURN ON DMA * 3. WAIT FOR DMA TO COMPLETE * LDA EOTC RESTORE WORD IN USERS PROGRAM STA P.2,I RBR,SLB DID A PARITY OR TIMING ERROR OCCUR? CLE,RSS YES, SKIP. JMP EXIT NORMAL EXIT LDA .41 BACKSPAC1 RECORD JSB CMAND LDA .15 4 INCH TAPE GAP JSB CMAND EXECUTE COMMAND JMP WRITE RETRY WRITE TILL TAPE END SPC 2 READ JSB EOTC READ *** LDA .M3 STA SPACE SET RETRY COUNTER TO -3. JSB CNTR GET NE,# OF WORDS STA WNEC NEG WORD XFER COUNT RERED LDA .23 READ CHARACTER CODE JSB CMAND INIT. READ RECORD SEQ. LDA BUFA USERS INPUT BUFFER ˜-þú JSB BUFM1 ADA BIT15 DIR BIT FOR DMA READ JSB INDMA EXECUTE DMA SEQUENCE * * 1. INITILIZE DMA CONTROL WORDS * 2. TURN ON DMA * 3. WAIT FOR DMA TO COMPLETE * LDA P.2,I RETREIVE RECORD LENGTH STA ABS LDB EOTC NOW RESTORE USERS PROGRAM STB P.2,I JSB STIN MT STATUS SSA WAS AN "EOF" READ? JMP EXIT1 YES, RETURN TO (P+2). RBR,SLB,RBL DID A PARITY OR TIMING ERROR OCCUR? RSS YES, SKIP. JMP ENDR NO, DONE. ISZ SPACE HAVE WE TRIED 3 TIMES ? CLE,RSS NO JMP ERR.1 YES, EXIT TO ERROR ROUTINE LDA .41 BACKSPACE JSB CMAND JMP RERED TRY AGAIN SPC 1 * RECORD < BUFFER LENGTH, GET TAPE LENGTH IN USER'S BUFFER SPC 1 ENDR LDA ABS GET TAPE RECORD LENGTH LDB BUFL GET USER BUFFER LENGTH CLE,SSA IS ACTUAL LENGTH IN WORDS? JMP ENDR2 YES, GO CHECK READ REQUEST. CMA,INA NO, CONVERT TO - # OF CHARACTERS. CCE,SSB NO; WAS READ REQUEST IN WORDS? ARS YES, CONVERT CHARACTERS TO WORDS. ENDR2 SEZ,SSB,RSS WAS READ REQUEST IN CHARACTERS? ALS CMA,INA STA BUFL SAVE TAPE LENGTH FOR USER SSB,RSS IS USER LENGTH IN CHARACTERS? CMB,INB YES, COMPLEMENT USER REQUEST. ADA B "SUBTRACT": RECORD LENGTH - USER REQ.. CMB,INB MAKE THE USER REQUEST POSITIVE. SSA,RSS IS RECORD LENGTH > USER REQUEST? STB BUFL YES, STORE USER REQUEST LENGTH. JMP EXIT CONTINUE READ PROCESSING SPC 2 * DO A TEMP SAVE OF WORD IN USERS PROGRAM THAT IS AT * BUFFER ADDRESS - 1. THIS DONE BEFORE BOTH READ AND WRITE * OPERATIONS AND THEN THIS WORD IS RESTORED AFTER THE DMA XFER. * BUFM1 NOP ADA .M1 BACK BUFF POINTER BY ONE LDB A,I RETRIVE FROM USERS PROGRAM@¨þú STA P.2 STB EOTC SAVE BOTH POINTER & CONTENTS JMP BUFM1,I EXIT SPC 2 CFLAG NOP ENTRY POINT. MT.8 SFS CMND IS THE FUNCTION COMPLETE? JMP MT.8 NO, CONTINUE. JSB STIN YES, GO LOAD THE UNIT STATUS. JMP CFLAG,I RETURN. SPC 2 CNTR NOP GET NEG # WORDS IN A LDA BUFL USER'S BUFFER LENGTH CCE,SSA WORDS OR CHARACTERS? JMP CNTR,I WORDS --- RETURN. CMA,INA,SZA,RSS COMPLEMENT; IS THE REQUEST = 0? JMP EXIT YES, GIVE A NORMAL COMPLETION RETURN. ARS JMP CNTR,I RETURN. SPC 2 WNEC NOP WRITE NOT ENABLED CHECK- JSB STIN GO LOAD THE MT UNIT STATUS. RAR,SLA IS THE MT UNIT READY? JMP S.1 NO, CONTINUE. RBR,CLE,RBR SHIFT THE WRITE ENABLE RING BIT TO B0. SLB,RSS DOES THE MT HAVE A WRITE ENABLE RING? JMP WNEC,I EXIT WITH WRITE ENABLED HLT11 HLT 11B AND HALT JMP HLT11 PROTECT HALT. SPC 2 * CONFIGURE DMA INDMA NOP CLC 2 SETUP FOR CW2(BUFFER ADDRESS) OTA 2 CW2 LDA CW1 =B200XX XX=HIGH MT PRIORITY SC OTA 6 STC 2 LDA WNEC NEG OF # WORDS TO XFER STA P.2,I RECORD LENGTH FOR WRITE ADA .M1 ADD 1 TO ACCOUNT FOR REC LEN OTA 2 * INITIATE DMA READ/WRITE MT.11 STC DATA,C STC 6,C JSB CFLAG WAIT FOR DMA TO COMPLETE MT.50 CLC DATA STF 6 ROLL OVER DMA WORD COUNT JMP INDMA,I RETURN SPC 1 CMAND NOP ISSUE THE COMMAND IN -A- TO MT.14 OTA CMND OUTPUT THE COMMAND. S.0 LIB CMND LOAD THE STATUS WORD. RBR,RBR SHIFT THE REJECT BIT TO 0. RBR,SLB WAS THE REQUEST REJECTED? JMP REJCT YES, ISSUE A CLEAR AND RETRY. MT.7 STC CMND,C INITIATE COMMAND EXECUTION. CCB,SEZ,CLE READ OR WRITE COMMAND? JMP CM0f<:6AND,I YES, RETURN. JSB CFLAG GO WAIT FOR FUNCTION COMPLETION. JMP CMAND,I SPC 1 LOCAL HLT 44B JSB STIN GO LOAD THE MT UNIT STATUS. RAR,SLA IS THE MT UNIT READY? JMP LOCAL NO, CONTINUE. LDA CLR LOAD THE CLEAR COMMAND. JSB CMAND GO EXECUTE THE CLEAR FUNCTION. LDA ABS LOAD THE COMMAND REQUEST CODE. JMP OK... SPC 1 REJCT LDB CLR LOAD THE CLEAR COMMAND CODE. O.B OTB CMND OUTPUT THE CLEAR COMMAND. MT.6 STC CMND,C INITIATE THE CLEAR COMMAND. MT.0 SFS CMND IS THE COMMAND COMPLETED? JMP MT.0 NO, WAIT. JMP MT.14 YES, GO RETRY THE REQUEST. SPC 2 EOTC NOP CHECK FOR EOT JSB STIN GET MT STATUS ALF,CLE,RAR SHIFT THE "EOT" BIT TO A0. SLA IS THE MT UNIT AT THE "EOT"? JMP EXIT1 JMP EOTC,I SKP * BEGIN "LOCAL STORAGE". SPC 1 A EQU 00000B B EQU 00001B SPC 1 DATA EQU 00B CMND EQU DATA+01B SPC 1 BUFL NOP BUFA NOP SPC 1 .7 OCT 000007 .3 OCT 000003 .15 OCT 15 CODE FOR 4 INCH TAPE GAPP .M3 DEC -3 .101 OCT 000101 .41 OCT 000041 .23 OCT 000023 DEC1 DEC 1 DEC2 DEC 2 .M1 OCT -1 SL1 OCT 002400 SELECT UNIT 1 SL2 OCT 004400 SELECT UNIT 2. SL3 OCT 010400 SELECT UNIT 3. CW1 OCT 20000 =B200XX XX=HIGH PRIORITY MT SC BIT15 OCT 100000 CLR OCT 000110 CLEAR COMMAND. RWO OCT 000105 REWIND/STANDBY COMMAND. GFM OCT 000215 GAP 4"; WRITE END-OF-FILE COMMAND. SFILE OCT 000200 SKIP-FILE COMMAND OFF-SET. SPC 1 * END OF "LOCAL STORAGE". SPC 2 * L.W.A. OF SIO MT DRIVER MUST BE < X7135B. SPC 1 END Ïã<ÿÿ ÿýßî ÿ12970-18004 1550 S 0146 SIO MAG TAPE DMA DRIVER 24K             H0101 bþúASMB,A,B,L,C HED *** 24K SIO HP7970B/7970E MT DRIVER(DMA DCPC REQUIRED) *** ORG 00106B DEF MTD-1 LAST WORD AVAILABLE MEMORY DEF MTD DRIVER ENTRY POINT SPC 2 ***** DRIVER INITIALIZATION SECTION ***** SPC 1 * PURPOSE OF THIS SECTION IS TO SET THE I/O * INSTRUCTIONS TO REFERENCE A DESIGNATED I/O * ADDRESS FOR THE 7970 MAG TAPE DRIVER. SPC 1 * EXECUTION OF THIS SECTION IS BEGUN AT LOCATION 2: SPC 1 * (2) JMP 3,I * (3) DEF I.MT SPC 1 * WITH SWITCHES 00-05 = I/O ADDRESS SPC 1 * THIS SECTION IS RELEASED AFTER THE INITIALIZATION * IS COMPLETED. SPC 1 ORG 00002B JMP 00003B,I SET STARTING DEF I.MT POINT IN 2 AND 3 SPC 2 KCORE EQU 50000B 24K MEMORY SIZE VERSION SPC 2 ORG KCORE+06000B SPC 1 * CONFIGURE I/0 INSTRUCTIONS SPC 1 CONFG HLT 00B SPC 1 SSW EQU 01B SENSE SWITCH REGISTER ADDRESS. I.MT LIA SSW GET DATA CHANNEL ADDRESS STA UNITS SAVE THE SWITCH OPTIONS. AND .77 STA B SAVE DATA CHANNEL ADDRESS IN B ADA M.10 "SUBTRACT": S.C. - 10B. SSA IS CHANNEL NUMBER < 10B? JMP CONFG YES, GO RESTART CONFIGURATION. ADA MAXCH "SUBTRACT": S.C. - 70B. SSA,RSS IS CHANNEL NUMBER > 67B? JMP CONFG YES, GO RESTART CONFIGURATION. SPC 1 LDA DMACW CONFIGURE DMA CW1 ADA B STA CW1 * LDA C4 CLC DATA INSTRUCTIONS ADA B STA MT.50 STA MT.13 SPC 1 LDA C12 STC DATA,C INSTRUCTIONS ADA B INCLUDE THE CHANNEL NUMBER. STA MT.11 STORE THE INSTRUCTION. SPC 1 LDA C13 CLF DATA INSTRUCTION. ADA B INCLUDE THE CHANNEL NUMBER. STA MT.12 STORE THE INSTRUCTION. SPC 1 LDA C6 LIA CMND INSTRUCTIONS ADA B STA S.1 SPC :ùþú1 LDA C7 LIB CMND INSTRUCTIONS ADA B STA S.0 SPC 1 LDA C9 SFS CMND INSTRUCTIONS ADA B STA MT.0 STA MT.8 SPC 1 LDA C10 OTA CMND INSTRUCTIONS ADA B STA MT.14 STA MT.1 SPC 1 LDA C11 STC CMND,C INSTRUCTIONS ADA B STA MT.7 STA MT.6 SPC 1 LDA C0 OTB CMND INSTRUCTION. ADA B STA O.B SPC 1 LDA C3 CLC CMND INSTRUCTION. ADA B STA MT.4 STA MT.16 SPC 1 LDA UNITS LOAD THE SWITCH OPTIONS. RAL,RAL SHIFT BIT 14 TO BIT 0. SLA,RAL IS MAXIMUM UNIT > 3? JMP CONFG YES, ERROR; RESTART. RAL SHIFT UNIT MAXIMUM TO 2-0. AND .3 ISOLATE THE MAXIMUM UNIT NUMBER. CPA .3 ARE THERE FOUR(4) MT UNITS? JMP STOP YES, TERMINATE CONFIGURATION. LDB SL0 NO, LOAD THE SL0 COMMAND. STB SL3 SET UNIT 3 TO BE UNIT 0. CPA DEC2 ARE THERE THREE(3) MT UNITS? JMP STOP YES, TERMINATE CONFIGURATION. STB SL2 NO, MAKE UNIT 2 EQU UNIT 0. CPA DEC1 ARE THERE TWO(2) MT UNITS? JMP STOP YES, TERMINATE CONFIGURATION. STB SL1 NO, MAKE UNIT 1 EQU UNIT 0. SPC 1 STOP HLT 77B END OF DRIVER CONFIGURATION. SPC 1 LDA .SL1 LOAD THE SELECT UNIT 1 COMMAND. STA SL1 RESTORE THE COMMAND. LDA .SL2 LOAD THE SELECT UNIT 2 COMMAND. STA SL2 RESTORE THE COMMAND. LDA .SL3 LOAD THE SELECT UNIT 3 COMMAND. STA SL3 RESTORE THE COMMAND. JMP I.MT SPC 2 .77 OCT 77 M.10 OCT -10 MAXCH OCT -60 UNITS NOP .SL1 OCT 002400 SELECT UNIT 1 COMMAND. .SL2 OCT 004400 SELECT UNIT 2 COMMAND. .SL3 OCT 010400 SELECT UNIT 3 COMMAND. DMACW OCT 20000 SPC 1 * I/O INSTRUCTIONS SPC 1 C0 OTB ÎOþúCMND C3 CLC CMND C4 CLC DATA C6 LIA CMND C7 LIB CMND C9 SFS CMND C10 OTA CMND C11 STC CMND,C C12 STC DATA,C C13 CLF DATA SPC 1 * END OF RELEASABLE INITIALIZATION SECTION SPC 1 I.P.L EQU 00445B DRIVER LENGTH. ORG KCORE+07135B-I.P.L SPC 1 * F.W.A. OF SIO MT DRIVER MUST BE > X6467B. SPC 1 * L.W.A. OF SIO MT DRIVER MUST BE < X7135B. SKP * CALLING SEQUENCE: (WRITE/READ) SPC 1 * LDA (>0=CHARS, <0=WORDS) * LDB * JSB 107B,I * OCT (0=READ, 1=WRITE) * * * (A)=RECORD LENGTH, (B)=STATUS SPC 1 * READ AND WRITE REQUESTS OF 0 LENGTH ARE RETURNED * BY THE DRIVER TO THE NORMAL RETURN LOCATION * WITHOUT ANY TAPE MOVEMENT. SPC 1 * THE FIRST WORD OF 2 BYTES WRITTEN ON TAPE IS THE * USER'S REQUEST LENGTH. THIS WORD IS NOT STORED * IN THE USER'S BUFFER BY A READ REQUEST, BUT IS * LEFT IN THE A REGISTER IN THE FORM WHICH THE * USER SPECIFIED (+CHARACTERS OR -WORDS) AS THE * TAPE RECORD LENGTH IF THE TAPE RECORD < THE * BUFFER REQUEST LENGTH. SPC 2 * CALLING SEQUENCE: (REWIND / REWIND AND STANDBY / STATUS) SPC 1 * P JSB 107B,I * P+1 OCT (3=REWIND, 7=STATUS, * P+2 5=REWIND & STANDBY) SPC 2 * CALLING SEQUENCE: (GAP/WRITE END OF FILE) SPC 1 * P JSB 107B,I * P+1 OCT (6=GAP, 2=END OF FILE) * P+2 * P+3 * P+4 (B)=STATUS SPC 2 * CALLING SEQUENCE: (POSITION) SPC 1 * LDA (+=FORWARD, -=REVERSE) * LDB " " * JSB 107B,I * OCT 4 * * * (A)=FILE COUNT, (B)=STATUS SPC 1 * A BACKFILE LEAVES THE TAPE POSITIONED ON T‹êþúHE SIDE OF * THE N-TH FILE MARK (-N IN A FOR BACKFILE) AWAY FROM * LOAD POINT. THUS (A) = -2 LEAVES THE TAPE AT THE * BEGINNING OF THE FILE PRECEEDING THE CURRENT FILE. SPC 1 * RECORD OPERATIONS WILL MOVE THE TAPE THE APPROPRIATE * # OF RECORDS. THE FILE MARK IS COUNTED AS 1 RECORD. SPC 1 * COMMANDS TRYING TO CROSS THE SOT OR EOT MARKERS WILL * CAUSE AN EXIT TO THE END OF TAPE RETURN POINT. SPC 1 * END OF TAPE ON READ, WRITE OR GAP WILL BE CHECKED * BEFORE THE OPERATION IS INITIATED. SPC 2 * TAPE COMMANDS - SPC 1 * OCT 0 - READ * 1 - WRITE * 2 - WRITE END OF FILE * 3 - REWIND * 4 - POSITION * 5 - REWIND AND STANDBY * 6 - GAP (4" BLANK TAPE) * 7 - STATUS (RETURNS STATUS IN -B- ) SPC 2 * THE STATUS WORD BIT ASSIGNMENTS ARE: SPC 1 * BIT MEANING SPC 1 * 0 TAPE UNIT NOT ON-LINE * 1 PARITY AND/OR TIMING ERROR * 2 FILE PROTECTED (NO WRITE ENABLE RING) * 3 REJECT: 1 MOTION REQ'D AND CONTROLLER BUSY * 2 BACKWARD MOTION REQ'D & AT LOAD POINT * 3 WRITE COMMAND GIVEN AND NO WRITE RING * 4 TIMING ERROR * 5 END OF TAPE * 6 START OF TAPE * 7 END OF FILE * 8 CONTROLLER BUSY * 9 TAPE UNIT NOT READY * 10 TAPE UNIT REWINDING * 11 ODD NUMBER OF BYTES READ SKP * F.W.A. OF SIO MT DRIVER MUST BE > X6467B. SPC 1 MTD NOP ENTRY POINT. STA BUFL SAVE LENGTH AND STB BUFA ADDRESS OF BUFFER JSB STIN GO LOAD THE MT STATUS. SLA IS THE MT CONTROLLER BUSY? JMP S.1 YES, CONTINUE. MT.13 CLC DATA NO, CLEAR DATA CHANNEL CONTROL. MT.16 CLC CMND CLEAR COMMAND CHANNEL CONTROL. LDA MTD,I LOAD THE COMMAND CODE WORD. ALF SHIFT UNIT NUMBER TO BITS 2-0. AND .7 ISOLATE THE UNIT NUMBER. STA >UþúSPACE SAVE UNIT NUMBER SZA,RSS SELECT UNIT 0? LDA SL0 YES, LOAD THE SELECT CODE. CPA DEC1 SELECT UNIT 1? LDA SL1 YES, LOAD THE SELECT CODE. CPA DEC2 SELECT UNIT 2? LDA SL2 YES, LOAD THE SELECT CODE. CPA .3 SELECT UNIT 3? LDA SL3 YES, LOAD THE SELECT CODE. CPA SPACE UNIT NUMBER > 3? JMP UNDEF YES, UNDEFINED UNIT. MT.1 OTA CMND OUTPUT THE UNIT SELECTION. LDA MTD,I LOAD THE OPERATION CODE. AND .7 USE THE LOWER 3 BITS ONLY. CPA .7 IS THE REQUEST FOR STATUS. JMP ERR.1 YES, RETURN; STATUS IS IN "B". STA ABS SAVE THE COMMAND REQUEST CODE. OK... CLE,SLB IS THE TAPE UNIT IN LOCAL MODE? JMP LOCAL YES, STOP 44B. ISZ MTD INCREMENT THE RETURN ADDRESS (P+2). ADA TBASE LOOK UP PROCESSOR IN TABLE JMP A,I CALL PROCESSOR SPC 1 TBASE DEF *+1,I COMMAND PROCESSOR ENTRY DEF READ POINT TABLE DEF WRITE DEF WEOF DEF REW DEF POS DEF RES DEF GAP SPC 1 RES LDA RWO LOAD THE REWIND/STANDBY COMMAND. CCE,RSS SKIP. REW LDA .101 REWIND ** CCE ENTER: E=1. JSB CMAND GO INITIATE COMMAND EXECUTION. JSB STIN GO LOAD THE MT UNIT STATUS. JMP EXIT1 SPC 1 UNDEF HLT 15B ILLEGAL UNIT NUMBER. JMP UNDEF IRRECOVERABLE ERROR. SPC 2 * TAPE POSITIONING ROUTINE SPC 1 * ENTER WITH COMMANDS STORED IN BUFL AND BUFA. SPC 1 POS LDB BUFL GET FILE COUNT LDA SFILE LOAD THE FILE CODE OFF-SET. JSB ABS SET FLAGS, COMMANDS AND COUNT JMP P.1 # FILES = 0, DO RECORDS P.5 CCA,SEZ,CCE,RSS ENTER: E=1; BACKWARDS MOTION? JSB P.2 YES, GO CHECK FOR "BOT". JSB SPACE FORWARD SPACE JMP P.5 REPEAT UNTIL FILE ISZ CNTR%Žþú CHECK FOR FINISHED JMP P.5 NO, LOOP LDA BUFL RAL,CLE,SLA,ELA BACKFILE REQUEST? ISZ BUFA .31 SLA,ARS SKIP. JMP EXIT P.1 LDB BUFA PROCESS RECORDS CLA ENTER: A=0. JSB ABS SET FOR FWD/REV RECORD SPACING JMP EXIT NO RECORDS, EXIT P.0 CCA,SEZ,CLE,RSS ENTER: E=0; BACKWARDS MOTION? JSB P.2 YES, GO CHECK FOR "BOT". JSB SPACE FORWARD SPACE SL0 ALR SELECT UNIT 0 COMMAND. ISZ CNTR FINISHED? JMP P.0 NO, LOOP SPC 1 EXIT ISZ MTD JSB STIN GO LOAD THE MT STATUS. ERR.1 ISZ MTD EXIT1 LDA BUFL MT.4 CLC CMND CLEAR THE MT COMMAND CONTROL BIT. JMP MTD,I SPC 2 P.2 NOP ENTRY POINT. JSB STIN GET TAPE STATUS (BACKFILE) RAL SHIFT THE "SOT" BIT TO A15. SSA,RSS IS THE MT UNIT AT THE "SOT"? JMP P.2,I NO, RETURN. SEZ YES; FILE SKIPPING? ISZ CNTR CNT = -1? JMP EXIT1 NO, TRIED TO CROSS SOT, ERROR JMP P.1 YES, DO RECORD SPACING SPC 2 ABS NOP SET-UP ROUTINE SSB,RSS IS TAPE MOTION TO BE FORWARD? ADA .3 FORWARD SPACE COMMAND SSB IF # IS < 0 SET FOR ADA .41 BACKSPACE COMMAND STA WNEC CLE,SSB,RSS GET -ABS(#) FOR CNT CMB,CCE,INB,SZB IS THE MT TO BE MOVED? ISZ ABS YES, EXIT TO (P+2). STB CNTR JMP ABS,I SPC 2 SPACE NOP SPACE TAPE CLE,SSA IS TAPE MOTION BACKWARDS? JSB EOTC LDA WNEC JSB CMAND SPACE RAL,SLA END-OF-FILE (EOF) MARK? ISZ SPACE YES, SKIP EXIT. CCE,SSA IS THE MT UNIT AT "SOT"? JMP EXIT1 JMP SPACE,I SPC 2 STIN NOP GET TAPE STATUS S.1 LIA CMND LDB A LOAD THE MT UNIT STATUS. ALF,ALF SHIFT THE MT UNIT STã þúATUS 8 BITS. JMP STIN,I SPC 2 * WRITE 4" BLANK TAPE SPC 1 GAP JSB WNEC CHECK FOR WRITE RING IN JSB EOTC CHECK FOR END OF TAPE LDA .15 4 INCH TAPE GAP JSB CMAND JMP EXIT NORMAL EXIT SPC 2 * WRITE END OF FILE SPC 1 WEOFR LDA .41 LOAD: BACKSPACE RECORD COMMAND. JSB CMAND GO EXECUTE THE COMMAND. SPC 1 WEOF JSB WNEC CHECK FOR WRITE RING IN MT.12 CLF DATA CLEAR THE DATA CHANNEL FLAG. LDA GFM WRITE FILE MARK CODE JSB CMAND RBR,SLB,RBL DID A PARITY OR TIMING ERROR OCCUR? JMP WEOFR YES, GO BACKSPACE OVER THE RECORD. JSB EOTC JMP EXIT SPC 2 WRITE JSB WNEC GO CHECK FOR A WRITE ENABLE RING. JSB EOTC GO CHECK FOR END-OF-TAPE. JSB CNTR GET NEG # WORDS STA WNEC SAVE WORD COUNT LDA .31 LOAD THE WRITE RECORD COMMAND. JSB CMAND GO INITIATE WRITE SEQUENCE. LDA BUFA BUFFER ADDRESS JSB BUFM1 SAVE POINTER TO & CONTENTS BUFF-1 JSB INDMA EXECUTE DMA SEQUENCE * * 1. INITILIZE DMA CONTROL WORDS * 2. TURN ON DMA * 3. WAIT FOR DMA TO COMPLETE * LDA EOTC RESTORE WORD IN USERS PROGRAM STA P.2,I RBR,SLB DID A PARITY OR TIMING ERROR OCCUR? CLE,RSS YES, SKIP. JMP EXIT NORMAL EXIT LDA .41 BACKSPAC1 RECORD JSB CMAND LDA .15 4 INCH TAPE GAP JSB CMAND EXECUTE COMMAND JMP WRITE RETRY WRITE TILL TAPE END SPC 2 READ JSB EOTC READ *** LDA .M3 STA SPACE SET RETRY COUNTER TO -3. JSB CNTR GET NE,# OF WORDS STA WNEC NEG WORD XFER COUNT RERED LDA .23 READ CHARACTER CODE JSB CMAND INIT. READ RECORD SEQ. LDA BUFA USERS INPUT BUFFER JSB BUFM1 ADA BIT1Ï¢þú5 DIR BIT FOR DMA READ JSB INDMA EXECUTE DMA SEQUENCE * * 1. INITILIZE DMA CONTROL WORDS * 2. TURN ON DMA * 3. WAIT FOR DMA TO COMPLETE * LDA P.2,I RETREIVE RECORD LENGTH STA ABS LDB EOTC NOW RESTORE USERS PROGRAM STB P.2,I JSB STIN MT STATUS SSA WAS AN "EOF" READ? JMP EXIT1 YES, RETURN TO (P+2). RBR,SLB,RBL DID A PARITY OR TIMING ERROR OCCUR? RSS YES, SKIP. JMP ENDR NO, DONE. ISZ SPACE HAVE WE TRIED 3 TIMES ? CLE,RSS NO JMP ERR.1 YES, EXIT TO ERROR ROUTINE LDA .41 BACKSPACE JSB CMAND JMP RERED TRY AGAIN SPC 1 * RECORD < BUFFER LENGTH, GET TAPE LENGTH IN USER'S BUFFER SPC 1 ENDR LDA ABS GET TAPE RECORD LENGTH LDB BUFL GET USER BUFFER LENGTH CLE,SSA IS ACTUAL LENGTH IN WORDS? JMP ENDR2 YES, GO CHECK READ REQUEST. CMA,INA NO, CONVERT TO - # OF CHARACTERS. CCE,SSB NO; WAS READ REQUEST IN WORDS? ARS YES, CONVERT CHARACTERS TO WORDS. ENDR2 SEZ,SSB,RSS WAS READ REQUEST IN CHARACTERS? ALS CMA,INA STA BUFL SAVE TAPE LENGTH FOR USER SSB,RSS IS USER LENGTH IN CHARACTERS? CMB,INB YES, COMPLEMENT USER REQUEST. ADA B "SUBTRACT": RECORD LENGTH - USER REQ.. CMB,INB MAKE THE USER REQUEST POSITIVE. SSA,RSS IS RECORD LENGTH > USER REQUEST? STB BUFL YES, STORE USER REQUEST LENGTH. JMP EXIT CONTINUE READ PROCESSING SPC 2 * DO A TEMP SAVE OF WORD IN USERS PROGRAM THAT IS AT * BUFFER ADDRESS - 1. THIS DONE BEFORE BOTH READ AND WRITE * OPERATIONS AND THEN THIS WORD IS RESTORED AFTER THE DMA XFER. * BUFM1 NOP ADA .M1 BACK BUFF POINTER BY ONE LDB A,I RETRIVE FROM USERS PROGRAM STA P.2 STB EODþúTC SAVE BOTH POINTER & CONTENTS JMP BUFM1,I EXIT SPC 2 CFLAG NOP ENTRY POINT. MT.8 SFS CMND IS THE FUNCTION COMPLETE? JMP MT.8 NO, CONTINUE. JSB STIN YES, GO LOAD THE UNIT STATUS. JMP CFLAG,I RETURN. SPC 2 CNTR NOP GET NEG # WORDS IN A LDA BUFL USER'S BUFFER LENGTH CCE,SSA WORDS OR CHARACTERS? JMP CNTR,I WORDS --- RETURN. CMA,INA,SZA,RSS COMPLEMENT; IS THE REQUEST = 0? JMP EXIT YES, GIVE A NORMAL COMPLETION RETURN. ARS JMP CNTR,I RETURN. SPC 2 WNEC NOP WRITE NOT ENABLED CHECK- JSB STIN GO LOAD THE MT UNIT STATUS. RAR,SLA IS THE MT UNIT READY? JMP S.1 NO, CONTINUE. RBR,CLE,RBR SHIFT THE WRITE ENABLE RING BIT TO B0. SLB,RSS DOES THE MT HAVE A WRITE ENABLE RING? JMP WNEC,I EXIT WITH WRITE ENABLED HLT11 HLT 11B AND HALT JMP HLT11 PROTECT HALT. SPC 2 * CONFIGURE DMA INDMA NOP CLC 2 SETUP FOR CW2(BUFFER ADDRESS) OTA 2 CW2 LDA CW1 =B200XX XX=HIGH MT PRIORITY SC OTA 6 STC 2 LDA WNEC NEG OF # WORDS TO XFER ADA .M1 ADD 1 TO ACCOUNT FOR REC LEN OTA 2 STA P.2,I RECORD LENGTH FOR WRITE * INITIATE DMA READ/WRITE MT.11 STC DATA,C STC 6,C JSB CFLAG WAIT FOR DMA TO COMPLETE MT.50 CLC DATA STF 6 ROLL OVER DMA WORD COUNT JMP INDMA,I RETURN SPC 1 CMAND NOP ISSUE THE COMMAND IN -A- TO MT.14 OTA CMND OUTPUT THE COMMAND. S.0 LIB CMND LOAD THE STATUS WORD. RBR,RBR SHIFT THE REJECT BIT TO 0. RBR,SLB WAS THE REQUEST REJECTED? JMP REJCT YES, ISSUE A CLEAR AND RETRY. MT.7 STC CMND,C INITIATE COMMAND EXECUTION. CCB,SEZ,CLE READ OR WRITE COMMAND? JMP CMAND,I YES, RETURN. JSÀ<:6B CFLAG GO WAIT FOR FUNCTION COMPLETION. JMP CMAND,I SPC 1 LOCAL HLT 44B JSB STIN GO LOAD THE MT UNIT STATUS. RAR,SLA IS THE MT UNIT READY? JMP LOCAL NO, CONTINUE. LDA CLR LOAD THE CLEAR COMMAND. JSB CMAND GO EXECUTE THE CLEAR FUNCTION. LDA ABS LOAD THE COMMAND REQUEST CODE. JMP OK... SPC 1 REJCT LDB CLR LOAD THE CLEAR COMMAND CODE. O.B OTB CMND OUTPUT THE CLEAR COMMAND. MT.6 STC CMND,C INITIATE THE CLEAR COMMAND. MT.0 SFS CMND IS THE COMMAND COMPLETED? JMP MT.0 NO, WAIT. JMP MT.14 YES, GO RETRY THE REQUEST. SPC 2 EOTC NOP CHECK FOR EOT JSB STIN GET MT STATUS ALF,CLE,RAR SHIFT THE "EOT" BIT TO A0. SLA IS THE MT UNIT AT THE "EOT"? JMP EXIT1 JMP EOTC,I SKP * BEGIN "LOCAL STORAGE". SPC 1 A EQU 00000B B EQU 00001B SPC 1 DATA EQU 00B CMND EQU DATA+01B SPC 1 BUFL NOP BUFA NOP SPC 1 .7 OCT 000007 .3 OCT 000003 .15 OCT 15 CODE FOR 4 INCH TAPE GAPP .M3 DEC -3 .101 OCT 000101 .41 OCT 000041 .23 OCT 000023 DEC1 DEC 1 DEC2 DEC 2 .M1 OCT -1 SL1 OCT 002400 SELECT UNIT 1 SL2 OCT 004400 SELECT UNIT 2. SL3 OCT 010400 SELECT UNIT 3. CW1 OCT 20000 =B200XX XX=HIGH PRIORITY MT SC BIT15 OCT 100000 CLR OCT 000110 CLEAR COMMAND. RWO OCT 000105 REWIND/STANDBY COMMAND. GFM OCT 000215 GAP 4"; WRITE END-OF-FILE COMMAND. SFILE OCT 000200 SKIP-FILE COMMAND OFF-SET. SPC 1 * END OF "LOCAL STORAGE". SPC 2 * L.W.A. OF SIO MT DRIVER MUST BE < X7135B. SPC 1 END sÕ<ÿÿ ÿýàï ÿ12977-18001 1451 S 0122 21MX DOS III FFP SUBR LIBRARY             H0101 Ÿ\þú ASMB¬Ò¬B¬Ì       HÅD ÆÆP ÌÉBÒAÒY ÆÏÒ ²±MØ DÏS ²9 ÏÃÔ ·´ ª  ª  ª  ÔHÉS ÌÉBÒAÒY ÃÏNÔAÉNS ÔHÅ ÆÏÌÌÏ×ÉNG ÒÏUÔÉNÅS: ª  ª    DDÉNÔ     ØADSB     .ÅNÔÒ ª    DBÌÅ      .ØPAK     P×Ò² ª    SNGÌ      .ØÃÏM     .ÆÌUN ª    ØMPY      ..DÃM     .PAÃK ª    ØDÉV      .GÏÔÏ     .SÅÔP ª    .ØÆÅÒ     ..MAP     .ÆÆP. ª    SÉÃÏS ª  ª  ª  ÔHÉS ÌÉBÒAÒY ÅNABÌÅS PÒÏGÒAMS¬ ÃAÌÌÉNG ÔHÅ SÏÆÔ×AÒÅ ª  VÅÒSÉÏN ÏÆ ÔHÅSÅ ÒÏUÔÉNÅS ÔÏ USÅ ÔHÅ ÆÉÒM×AÒÅ VÅÒSÉÏN ª  DUÒÉNG ÅØÅÃUÔÉÏN. ª  ÔHÅ "ÊSB" ÉNSÔÒUÃÔÉÏN ×ÉÌÌ BÅ ÃHANGÅD ÉNÔÏ A "ÒAM" ª  ÉNSÔÒUÃÔÉÏN ×ÉÔH ÔHÅ APPÒÏPÉAÔÅ ÏPÃÏDÅ. ª  ª        NAM ÆPM.A       ÅND ASMB¬Ò¬B¬Ì       NAM DDÉNÔ¬6       ÅNÔ DDÉNÔ       ÅØÔ $ÌÉBÒ¬$ÌÉBج.ZÒÌB¬.ÆÆP. ª  DDÉNÔ NÏP       ÊSB $ÌÉBÒ       NÏP       ÊSB .ZÒÌB       DÅÆ DDÉNØ       ÊSB .ÆÆP.     GÏ ÔÏ SÔUÆÆÅÒ       DÅÆ DDÉNÔ       ÒAM DDÉN DDÉNØ ÊSB $ÌÉBØ       DÅÆ DDÉNÔ       ÊMP DDÉNÔ¬É DDÉN  ÅÑU ²±·B       ÅND ASMB¬Ò¬B¬Ì       NAM ..MAP¬6       ÅNÔ ..MAP       ÅØÔ $ÌÉBÒ¬$ÌÉBج.ZÒÌB¬.ÆÆP. ..MAP NÏP       ÊSB $ÌÉBÒ       NÏP       ÊSB .ZÒÌB       DÅÆ MAPØ       ÊSB .ÆÆP.     GÏ ÔÏ SÔUÆÆÅÒ       DÅÆ ..MAP       ÒAM .MAP MAPØ  ÊSB $ÌÉBØ       DÅÆ ..MAP       ÊMP ..MAP¬É .MAP  ÅÑU ²²²B       ÅND ASMB¬Ò¬B¬Ì       NAM DBÌŬ6       ÅNÔ DBÌÅ       ÅØÔ $ÌÉBÒ¬$ÌÉBج.ZÒÌB¬.ÆÆP. ª  DBÌÅ  NÏP       ÊSB $ÌÉBÒ       NÏP       ÊSB .ZÒÌB       DÅÆ DBÌØ       ÊSB .ÆÆP.     GÏ ÔÏ SÔUÆÆÅÒ       DÅÆ DBÌÅ       ÒAM DBÌ DBÌØ  ÊSB $ÌÉBØ       DÅÆ DBÌÅ       ÊMP DBÌÅ¬É DBÌ   ÅÑU ²0±B       ÅND ASMB¬Ò¬B¬Ì       NAM SNG̬6       ÅNÔ SNGÌ       ÅØÔ $ÌÉBÒ¬$ÌÉBج.ZÒÌB¬.ÆÆP. SNGÌ  NÏP       ÊSB $ÌÉBÒ       NÏP       ÊSB .ZÒÌB       DÅÆ SNGØ       ÊSB .ÆÆP.     GÏ ÔÏ SÔUÆÆÅÒ       DÅÆ SNGÌ       ÒAM SÉNG SNGØ  ÊSB $ÌÉBØ       DÅÆ SNGÌ       ÊMP SNGÌ¬É SÉNG  ÅÑU ²0²B       ÅND ASMB¬Ò¬B¬Ì       NAM ØADSB¬6       ÅNÔ ØADD¬.ØADD¬ØSUB¬.ØSUB       ÅØÔ $ÌÉBÒ¬$ÌÉBج.ZÒÌB¬.ÆÆP. ØADD  NÏP       ÊSB $ÌÉBÒ       NÏP       ÊSB .ZÒÌB       DÅÆ ØADØ   –bþú    ÊSB .ÆÆP.     GÏ ÔÏ SÔUÆÆÅÒ       DÅÆ ØADD       ÒAM ADD ØADØ  ÊSB $ÌÉBØ       DÅÆ ØADD       ÊMP ØADD¬É ª  .ØADD NÏP       ÊSB $ÌÉBÒ       NÏP       ÊSB .ZÒÌB       DÅÆ .ØADØ       ÊSB .ÆÆP.     GÏ ÔÏ SÔUÆÆÅÒ       DÅÆ .ØADD       ÒAM ADDØ .ØADØ ÊSB $ÌÉBØ       DÅÆ .ØADD       ÊMP .ØADD¬É ª  ØSUB  NÏP       ÊSB $ÌÉBÒ       NÏP       ÊSB .ZÒÌB       DÅÆ ØSBØ       ÊSB .ÆÆP.     GÏ ÔÏ SÔUÆÆÅÒ       DÅÆ ØSUB       ÒAM SUB ØSBØ  ÊSB $ÌÉBØ       DÅÆ ØSUB       ÊMP ØSUB¬É ª  .ØSUB NÏP       ÊSB $ÌÉBÒ       NÏP       ÊSB .ZÒÌB       DÅÆ .ØSBØ       ÊSB .ÆÆP.     GÏ ÔÏ SÔUÆÆÅÒ       DÅÆ .ØSUB       ÒAM SUBØ .ØSBØ ÊSB $ÌÉBØ       DÅÆ .ØSUB       ÊMP .ØSUB¬É ª  ADD ÅÑU   ²0·B ADDØ  ÅÑU ²±3B SUB   ÅÑU ²±0B SUBØ  ÅÑU ²±´B       ÅND ASMB¬Ò¬B¬Ì       NAM ØMPY¬6       ÅNÔ ØMPY¬.ØMPY       ÅØÔ $ÌÉBÒ¬$ÌÉBج.ZÒÌB¬.ÆÆP. ª  ØMPY  NÏP       ÊSB $ÌÉBÒ       NÏP       ÊSB .ZÒÌB       DÅÆ ØMPØ       ÊSB .ÆÆP.     GÏ ÔÏ SÔUÆÆÅÒ       DÅÆ ØMPY       ÒAM ØMP ØMPØ  ÊSB $ÌÉBØ       DÅÆ ØMPY       ÊMP ØMPY¬É ª  .ØMPY NÏP       ÊSB $ÌÉBÒ       NÏP       ÊSB .ZÒÌB       DÅÆ .ØMPØ       ÊSB .ÆÆP.     GÏ ÔÏ SÔUÆÆÅÒ       DÅÆ .ØMPY       ÒAM ØMUÌ .ØMPØ ÊSB $ÌÉBØ       DÅÆ .ØMPY       ÊMP .ØMPY¬É ª  ØMP   ÅÑU ²±±B ØMUÌ  ÅÑU ²03B       ÅND ASMB¬Ò¬B¬Ì       NAM ØDÉV¬6       ÅNÔ ØDÉV¬.ØDÉV       ÅØÔ $ÌÉBÒ¬$ÌÉBج.ZÒÌB¬.ÆÆP. ØDÉV  NÏP       ÊSB $ÌÉBÒ       NÏP       ÊSB .ZÒÌB       DÅÆ ØDVØ       ÊSB .ÆÆP.     GÏ ÔÏ SÔUÆÆÅÒ       DÅÆ ØDÉV       ÒAM ØDV ØDVØ  ÊSB $ÌÉBØ       DÅÆ ØDÉV       ÊMP ØDÉV¬É ª  .ØDÉV NÏP       ÊSB $ÌÉBÒ       NÏP       ÊSB .ZÒÌB       DÅÆ .ØDVØ       ÊSB .ÆÆP.     GÏ ÔÏ SÔUÆÆÅÒ       DÅÆ .ØDÉV       ÒAM ØDÉVD .ØDVØ ÊSB $ÌÉBØ       DÅÆ .ØDÉV       ÊMP .ØDÉV¬É ª  ØDV   ÅÑU ²±²B ØDÉVD ÅÑU ²0´B       ÅND ASMB¬Ò¬B¬Ì       NAM ..DÃM¬6       ÅNÔ ..DÃM       ÅØÔ $ÌÉBÒ¬$ÌÉBج.ZÒÌB¬.ÆÆP. ..DÃM NÏP       ÊSB $ÌÉBÒ       NÏP       ÊSB .ZÒÌFþúB       DÅÆ .DÃMØ       ÊSB .ÆÆP.     GÏ ÔÏ SÔUÆÆÅÒ       DÅÆ ..DÃM       ÒAM DÃM .DÃMØ ÊSB $ÌÉBØ       DÅÆ ..DÃM       ÊMP ..DÃM¬É DÃM   ÅÑU ²±6B       ÅND ASMB¬Ò¬B¬Ì       NAM .ØPAK¬6       ÅNÔ .ØPAK       ÅØÔ $ÌÉBÒ¬$ÌÉBج.ZÒÌB¬.ÆÆP. .ØPAK NÏP       ÊSB $ÌÉBÒ       NÏP       ÊSB .ZÒÌB       DÅÆ .ØPKØ       ÊSB .ÆÆP.     GÏ ÔÏ SÔUÆÆÅÒ       DÅÆ .ØPAK       ÒAM ØPAK .ØPKØ ÊSB $ÌÉBØ       DÅÆ .ØPAK       ÊMP .ØPAK¬É ØPAK  ÅÑU ²06B       ÅND ASMB¬Ò¬B¬Ì       NAM .ØÃÏM¬6       ÅNÔ .ØÃÏM       ÅØÔ $ÌÉBÒ¬$ÌÉBج.ZÒÌB¬.ÆÆP. .ØÃÏM NÏP       ÊSB $ÌÉBÒ       NÏP       ÊSB .ZÒÌB       DÅÆ .ØÃMØ       ÊSB .ÆÆP.     GÏ ÔÏ SÔUÆÆÅÒ       DÅÆ .ØÃÏM       ÒAM ØÃÏM .ØÃMØ ÊSB $ÌÉBØ       DÅÆ .ØÃÏM       ÊMP .ØÃÏM¬É ØÃÏM ÅÑU  ²±5B       ÅND ASMB¬Ò¬B¬Ì       NAM .ØÆÅÒ¬6       ÅNÔ .ØÆÅÒ¬.DÆÅÒ       ÅØÔ $ÌÉBÒ¬$ÌÉBج.ZÒÌB¬.ÆÆP. .ØÆÅÒ NÏP       ÊSB $ÌÉBÒ       NÏP       ÊSB .ZÒÌB       DÅÆ ØÆÅÒØ       ÊSB .ÆÆP.     GÏ ÔÏ SÔUÆÆÅÒ       DÅÆ .ØÆÅÒ       ÒAM ØÆÅÒ ØÆÅÒØ ÊSB $ÌÉBØ       DÅÆ .ØÆÅÒ       ÊMP .ØÆÅÒ¬É ª  .DÆÅÒ NÏP       ÊSB $ÌÉBÒ       NÏP       ÊSB .ZÒÌB       DÅÆ DÆÅÒØ       ÊSB .ÆÆP.     GÏ ÔÏ SÔUÆÆÅÒ       DÅÆ .DÆÅÒ       ÒAM DÆÅÒ DÆÅÒØ ÊSB $ÌÉBØ       DÅÆ .DÆÅÒ       ÊMP .DÆÅÒ¬É ª  ØÆÅÒ  ÅÑU ²²0B DÆÅÒ  ÅÑU ²05B       ÅND ASMB¬Ò¬B¬Ì¬Æ       NAM SÉÃÏS¬6¬0¬0¬0¬0¬0¬0¬0       ÅNÔ SÉN       ÅNÔ ÃÏS       ÅØÔ ..ÆÃM       ÅØÔ .ÃHÅB¬.ÉÅNÔ¬.P×Ò²¬ÆÌÏAÔ       ÅØÔ $ÌÉBÒ¬$ÌÉBØ ª  ª  ª  ÔHÉS ÒÏUÔÉNÅ ÉS ÉMPÌÅMÅNÔÅD ÉN ÔHÅ ²±MØ ÆÆP SUBÒ ÌÉBÒ ª  BÅÃAUSÅ ÉÔS ÃÏUNÔÅÒ PAÒÔ ÉN ÔHÅ ÒÅÌÏàÌÉBÒAÒY ÃÏNÔAÉNS ª  AN ÉÌÌÅGAÌ ÃAÌÌ ÔÏ .P×Ò² ª  ÔHÉS ÃAUSÅS ÔHÅ GÅNÅÒAÔÉÏN ÏÆ AN ÉNÃÏÒÒÅÃÔ ÒÅSUÌÔ ÉÆ ª  ÔHÅ .P×Ò² MÉÃÒÏÃÏDÅ ÉS USÅD ª  ª  ª  ª  ª  ÒÅAÌ ÔÉMÅ ÅØÅÃUÔÉVÅ ÒÅ-ÅNÔÒANÔ ÌÉBÒAÒY ÒÏUÔÉNÅ ª  ª  ª  ÃAÌÌ.. ª  ª  DÌD Ø   (ÆÌÏAÔÉNG¬ÒADÉANS© ª  ÊSB ÃÏS (ÒÅSUÌÔ ÆÌÏAÔÉNG© ª   (ÅÒÒÏÒ ÒÅÔUÒN© ª   (NÏÒMAÌ ÒÅÔUÒN© ª  ª   ÃAÌÃUÌAÔÅS ÃÏSÉNÅ(Ø© ½ -SÉNÅ(Ø-Pɯ²©. ª  ÃÏS   NÏP       ÊSB $ÌÉB[þúÒ       DÅÆ ÔDB       SÔA ÔÅMP       ÃÌA¬ÉNA       SÔA ÆÌAG      SÅÔ ÃÏS ÆÌAG       ÌDA ÔÅMP      ÒÅSÔÏÒÅ A-ÒÅG       ÆAD MP²       ÊMP SÉN±0 MP²   DÅà-±.5·0·9633  -Pɯ² ª  ª  ª  ª  ÃAÌÌ.. ª  ª  DÌD Ø  (ÆÌÏAÔÉNG¬ÒADÉANS© ª  (ÅÒÒÏÒ ÒÅÔUÒN© ª  (NÏÒMAÌ ÒÅÔUÒN© ª  ª  ÃAÌÃUÌAÔÅ SÉNÅ(Ø©. ª  SÉN   NÏP       ÊSB $ÌÉBÒ       DÅÆ ÔDB       SÔA ÔÅMP      SAVÅ A-ÒÅG       ÃÌA       SÔA ÆÌAG      SÅÔ SÉN ÆÌAG       ÌDA ÔÅMP      ÒÅSÔÏÒÅ A ÒÅGÉSÔÅÒ SÉN±0 ÆMP ÔÏPÉ       SÔA Ø       SÔB Ø+±       Ø½²ªØ¯PÉ       ÆAD K±       ÊSB .P×Ò²       DÅÆ DM²       ÊSB .ÉÅNÔ       ÊMP ÆAÉÌ      ÅÒÒÏÒ ÉÆ ÅØPÏ(Ø© ¾½±5       ÊSB ÆÌÏAÔ       ÆMP M´       ÆAD Ø       SÔA Ø       SÔB Ø+±       Ø½Ø½´ªÅNÔÉÅÒ((Ø+±©¯´©¬       ÆSB K±       SSA           Ø<± ?       ÊMP PASÔ      YÅS       ÌDA K²       ÌDB K²+±       ÆSB Ø       SÔA Ø       SÔB Ø+±       Ø½²-Ø PASÔ  ÌDA Ø       ÌDB Ø+±       ÆMP Ø       ÊSB .P×Ò²       DÅÆ DÅñ       ÆSB K±       ÊSB .ÃHÅB       DÅÆ ÃÏÅÆÆ       ÆMP Ø ÅØÉÔ  SÔB ÔÅMP      SAVÅ B ÒÅGÉSÔÅÒ       ÌDB ÆÌAG      ÃHÅÃK ÉÆ SÉN ÏÒ ÃÏS ÃÏMPUÔAÔÉÏN       SZB¬ÒSS       ÃÏS ÃAÌ̬ SÏ ÃAÌÌ ¬¬ÆÃM       ÊMP ª+´       SÉN ÃAÌÌ ¬ SÏ ÅØÉÔ       ÌDB ÔÅMP      ÒÅSÔÏÒÅ B ÒÅG ÆÏÒ ¬¬ÆÃM       ÊSB ..ÆÃM       ÒSS       ÌDB ÔÅMP      ÒÅSÔÏÒÅ B ÆÏÒ SÉN ÅØÉÔ       ÊSB $ÌÉBØ       DÅÆ ÔDB DÅñ  DÅà± ÆAÉÌ  ÌDA ASÃÉÉ       ÌDB ASÃÉÉ+±       ÊSB $ÌÉBØ       DÅÆ ÔDB       DÅà0 ASÃÉÉ ASಬ05ÏÒ DM²   DÅà-² ÔÏPÉ  DÅà.6366±9··²  ²¯PÉ K±    DÅà±. K²    DÅà². M´    DÅà-´. ÃÏÅÆÆ DÅà±.±¸´96Å-6       DÅà-±.365¸·5Å-´       DÅà9.±±¸0±6Å-3       DÅà-.²¸5²6±569²       DÅà².55²55·9²´¸       ÏÃÔ 0 ÔDB   NÏP       DÅà·       NÏP Ø     BSS ² ÆÌAG  NÏP           SÉN¯ÃÏS ÆÌAG ÔÅMP  NÏP           ÔÅMPÏÒAÒY ÒÅGÉSÔÅÒ SAVÉNG       ÅND ASMB¬Ò¬B¬Ì       NAM P×Ò²¬6       ÅNÔ .P×Ò²       ÅØÔ $ÌÉBÒ¬$ÌÉBج.ZÒÌB¬.ÆÆP. .P×Ò² NÏP       ÊSB $ÌÉBÒ       NÏP       ÊSB .ZÒÌB       DÅÆ P×Ò²Ø       ÊSB .ÆÆP. ôäþú    GÏ ÔÏ SÔUÆÆÅÒ       DÅÆ .P×Ò²       ÒAM P×Ò² P×ҲؠÊSB $ÌÉBØ       DÅÆ .P×Ò²       ÊMP .P×Ò²¬É P×Ò²  ÅÑU ²²5B       ÅND ASMB¬Ò¬B¬Ì       NAM .ÅNÔÒ¬6       ÅNÔ .ÅNÔÒ¬.ÅNÔP       ÅØÔ $ÌÉBÒ¬$ÌÉBج.ZÒÌB¬.ÆÆP. .ÅNÔÒ NÏP       ÊSB $ÌÉBÒ       NÏP       ÊSB .ZÒÌB       DÅÆ ÅNÔÒØ       ÊSB .ÆÆP.     GÏ ÔÏ SÔUÆÆÅÒ       DÅÆ .ÅNÔÒ       ÒAM ÅNÔÒ ÅNÔÒØ ÊSB $ÌÉBØ       DÅÆ .ÅNÔÒ       ÊMP .ÅNÔÒ¬É ª  .ÅNÔP NÏP       ÊSB $ÌÉBÒ       NÏP       ÊSB .ZÒÌB       DÅÆ ÅNÔPØ       ÊSB .ÆÆP.     GÏ ÔÏ SÔUÆÆÅÒ       DÅÆ .ÅNÔP       ÒAM ÅNÔP ÅNÔPØ ÊSB $ÌÉBØ       DÅÆ .ÅNÔP       ÊMP .ÅNÔP¬É ª  ÅNÔÒ  ÅÑU ²²3B ÅNÔP  ÅÑU ²²´B       ÅND ASMB¬Ò¬B¬Ì       NAM .ÆÌUN¬6       ÅNÔ .ÆÌUN       ÅØÔ $ÌÉBÒ¬$ÌÉBج.ZÒÌB¬.ÆÆP. .ÆÌUN NÏP       ÊSB $ÌÉBÒ       NÏP       ÊSB .ZÒÌB       DÅÆ ÆÌUNØ       ÊSB .ÆÆP.     GÏ ÔÏ SÔUÆÆÅÒ       DÅÆ .ÆÌUN       ÒAM ÆÌUN ÆÌUNØ ÊSB $ÌÉBØ       DÅÆ .ÆÌUN       ÊMP .ÆÌUN¬É ÆÌUN  ÅÑU ²²6B       ÅND ASMB¬Ò¬B¬Ì       NAM .PAÃK¬6       ÅNÔ .PAÃK       ÅØÔ $ÌÉBÒ¬$ÌÉBج.ZÒÌB¬.ÆÆP. .PAÃK NÏP       ÊSB $ÌÉBÒ       NÏP       ÊSB .ZÒÌB       DÅÆ PAÃKØ       ÊSB .ÆÆP.     GÏ ÔÏ SÔUÆÆÅÒ       DÅÆ .PAÃK       ÒAM PAÃK PAÃKØ ÊSB $ÌÉBØ       DÅÆ .PAÃK       ÊMP .PAÃK¬É PAÃK  ÅÑU ²30B       ÅND ASMB¬Ò¬B¬Ì       NAM .GÏÔϬ6       ÅNÔ .GÏÔÏ       ÅØÔ $ÌÉBÒ¬$ÌÉBج.ZÒÌB¬.ÆÆP. .GÏÔÏ NÏP       ÊSB $ÌÉBÒ       NÏP       ÊSB .ZÒÌB       DÅÆ GÏÔØ       ÊSB .ÆÆP.     GÏ ÔÏ SÔUÆÆÅÒ       DÅÆ .GÏÔÏ       ÒAM GÏÔÏ GÏÔØ  ÊSB $ÌÉBØ       DÅÆ .GÏÔÏ       ÊMP .GÏÔÏ¬É GÏÔÏ  ÅÑU ²²±B       ÅND ASMB¬Ò¬B¬Ì       NAM .SÅÔP¬6       ÅNÔ .SÅÔP       ÅØÔ $ÌÉBÒ¬$ÌÉBج.ZÒÌB¬.ÆÆP. .SÅÔP NÏP       ÊSB $ÌÉBÒ       NÏP       ÊSB .ZÒÌB       DÅÆ SÅÔPØ       ÊSB .ÆÆP.     GÏ ÔÏ SÔUÆÆÅÒ       DÅÆ .SÅÔP       ÒAM SÅÔP SÅÔPØ ÊSB $ÌÉBØ       DÅÆ .SÅÔP       ÊMP .SÅÔP¬É SÅÔP  ÅÑU ²²·B       ÅND ASMB¬Ò¬B¬Ì¬Ã       NAM .ÆÆP.¬6       ÅNÔ .ÆÆP.       ÅØÔ $ÌÉBÒ¬$ÌÉBج.ZÒÌB Ó°þúª  ª  .ÆÆP. ÉS A ÒÏUÔÉNÅ USÅD ÔÏ ÒÅPÌAÃÅ A "ÊSB" ÔÏ A SUBÒÏUÔÉNÅ ª  ×ÉÔH ÔHÅ PÒÏPÅÒ MAÃÒÏÃÏDÅ AND ÔÏ SÔÏÒÅ ÔHÅ ÒÅÔUÒN ª  ADDÒÅSS ÔÏ ÔHÅ MAÉN PÒÏGÒAM ÉN ÔHÅ ÅNÔÒY PÏÉNÔ ÏÆ ª  ÔHÅ ÃAÌÌÉNG SUBÒÏUÔÉNÅ ª  ª  ÃAÌÌÉNG SÅÑUÅNÃÅ: ª  ª    MAÉN PÒÏGÒAM: ª  ª               . ª               . ª        SÔAÒÔ ÊSB SUBÒ      ÃAÌÌ ÔÏ ÅØÔÅÒNAÌ SUBÒÏUÔÉNÅ ª               . ª               . ª  ª  ª    SUBÒÏUÔÉNÅ ÃAÌÌÅD: ª  ª        SUBÒ NÏP            ÅNÔÒY PÏÉNÔ. ÒÅÔUÒN ÔÏ MAÉN PÒÏGÒAM ª               .              ×ÉÌÌ BÅ SÔÏÒÅD HÅÒÅ ª               . ª               . ª              ÊSB .ÆÆP.     ÃAÌÌ SÔUÆÆÅÒ ª              DÅÆ SUBÒ      PÏÉNÔÅÒ ÔÏ ÅNÔÒY PÏÉNÔ ÏÆ ÃAÌÌÅÒ ª              ÒAM ÃÏDÅ      ÏPÃÏDÅ ÔÏ ÒÅPÌAÃÅ ÊSB ª        ÅØÉÔ   .            .ÆÆP. ÒÅÔUÒNS HÅÒÅ ª  ª    ÒÅÔUÒN: ª        ÒÅGÉSÔÅÒS UNÃHANGÅD ª  .ÆÆP. NÏP       ÊSB $ÌÉBÒ     PÒÉVÉÌÅGÅD ÃAÌÌ ÆÏÒ ÔÒÅ       NÏP       ÊSB .ZÒÌB     ÒÅMÏVÅ $ÌÉBÒ¯$ÌÉBØ ÃAÌÌS ÉN DÏS       DÅÆ .ÆÆPØ ª        SÔA ASAVÅ     SAVÅ A-ÒÅGÉSÔÅÒ       ÅÒA¬AÌS       SAVÅ Å AND Ï       SÏà       ÉNA       SÔA ÅÏSAV       ÌDA .ÆÆP.¬É   GÅÔ AND SAVÅ ADDÒÅSS ÏÆ ÅNÔÒY       SÔA ÔÅMP        PÏÉNÔ ÏÆ ÃAÌÌÉNG SUBÒÏUÔÉNÅ       ÌDA A¬É       ÃÏMPUÔÅÒ ÒÅÔUÒN ADDÒ ÏÆ MAÉN       ADA DM±         PÒÏGÒAM AND SÔÏÒÅ ÉN ÅNÔÒY       SÔA ÔÅMP¬É        PÏÉNÔ ÏÆ ÃAÌÌÉNG SUBÒÏUÔÉNÅ       SÔA ÔÅMP      SAVÅ ÉÔ       ÉSZ .ÆÆP.     BUMP ÔÏ NÅØÔ ÌÏÃAÔÉÏN       ÌDA .ÆÆP.¬É   GÅÔ MAÃÒÏÃÏDÅ AND SÔÏÒÅ ÉN PÒÏ-       SÔA ÔÅMP¬É      PÅÒ ÌÏÃAÔÉÏN ÉN MAÉN PÒÏGÒAM       ÉSZ .ÆÆP.     BUMP ÔÏ ÅØÉÔ ADDÒÅSS       ÌDA ÅÏSAV     ÒÅSÔÏÒÅ Å AND Ï       ÃÌÏ       SÌA¬ÅÌA       SÔÏ       ÌDA ASAVÅ     ÒÅSÔÏÒÅ A .ÆÆPØ ÊSB $ÌÉBØ     ÅØÉÔ ÆÏÒ ÒÔÅ       DÅÆ .ÆÆP.       ÊMP .ÆÆP.¬É   ÅØÉÔ ÆÏÒ DÏS ª  ASAVÅ BSS ± ÅÏSAV BSS ± ÔÅMP  BSS ± DM±   DÅà-± A     ÅÑU 0       ÅND ”(*($$*ÿÿ ÿýá í ÿ12977-18002 1451 S 0122 21MX DOS III FFP $SETP ROUTINE             H0101 ÌE ASMB¬Ò¬Ì¬B¬Ã       HÅD ²±MØ ÆÆP SYS SUBÒ ±0 ÏÃÔ ·´       NAM $SÅÔP       ÅNÔ $SÅÔP ª  ª  ÔHÉS ÌÉBÒAÒY ÒÏUÔÉNÅ ÉS USÅD ÔÏ ÒÅPÌAÃÅ ÔHÅ ª  SÏÆÔ×AÒÅ $SÅÔP ÒÏUÔÉNÅ ÉN DÏS-ÉÉÉ. ª  ÉÔ ÃAN ÏNÌY BÅ ÉNÃÏÒPÏÒAÔÅD DUÒÉNG SYS GÅN ÔÉMÅ. ª  ª  USÅ ÔHÉS ÒÏUÔÉNÅ ×ÉÔH ²±MØ ÆÆP ª  ª  $SÅÔP NÏP       SÔA ASAVÅ     SAVÅ A-ÒÅG       ÅÒA¬AÌS       SÏà       ÉNA       SÔA ÅÏSAV     SAVÅ Å- AND Ï-ÒÅG       ÃÃA           ÃÏMPUÔÅ ADDÒÅSS       ADA $SÅÔP       ÔÏ BÅ       SÔA $SÅÔP         SÔUÆÆÅD       ÌDA ÏPÃDÅ     ÌÏAD ÏPÃÏDÅ ÏÆ .SÅÔP ÉNSÔÒ       SÔA $SÅÔP¬É   ÒÅPÌAÃÅ ÊSB       ÌDA ÅÏSAV     ÒÅSÔÏÒÅ Å- AND Ï-ÒÅG       ÃÌÏ       SÌA¬ÅÌA       SÔÏ       ÌDA ASAVÅ     ÒÅSÔÏÒÅ A-ÒÅG       ÊMP $SÅÔP¬É ª  ASAVÅ BSS ± ÅÏSAV BSS ± ÏPÃDÅ ÒAM SÅÔP SÅÔP  ÅÑU ²²·B       ÅND Ê#ÿÿ ÿýâè ÿ12977-18003 1502 S 0122 0112977A 2100 SERIES FFP DIAGNOSTIC             H0101 þú ASMB¬A¬B¬Ã¬Ì       HÅD GÅNÅÒAÌ ÏPÅÒAÔÉNG PÒÏÃÅDUÒÅ       ÏÒG 0       SUP ª     GÅNÅÒAÌ ÏPÅÒAÔÉNG PÒÏÃÅDUÒÅ ª  ª         A. ÌÏAD DÉAGNÏSÔÉàÃÏNÆÉGUÒAÔÏÒ AND SÅÔ ÉÔ UP. ª         B. ÌÏAD DÉAGNÏSÔÉàMAÉN PÒÏGÒAM ª         Ã. ÌÏAD ADDÒÅSS ±00B. ª         D. ÌÏAD S×ÉÔÃH ÒÅG. ×ÉÔH SÅÌÅÃÔ ÃÏDÅ AND ÏPÔÉÏNS ª         Å. PÒÅSS ÒUN AND ×AÉÔ ÆÏÒ HAÌÔ ±0·0·´. ª         Æ. ÌÏAD S×ÉÔÃH ÒÅGÉSÔÅÒ ª                   ÉÆ SÅÔ ½: ª                   ±5 ½ HAÌÔ AÔ ÅND ÏÆ ÅAÃH ÔÅSÔ ª                   ±´ ½ SUPÒÅSS ÅÒÒÏÒ HAÌÔS ª                   ±3 ½ ÌÏÏP ÏN ÌASÔ ÔÅSÔ ª                   ±² ½ ÌÏÏP ÏN DÉAGNÏSÔÉà ª                        (SUPPÒÅSS AÌÌ ÏPÅÒAÔÏÒ ÉNÔÅÒVÅNÔÉÏN© ª                   ±± ½ SUPÒÅSS ÅÒÒÏÒ MÅSSAGÅS ª                   ±0 ½ SUPÒÅSS NÏN-ÅÒÒÏÒ MÅSSAGÅS ª                    9 ½ GÏ ÔÏ USÅÒ ÃÏNÔÒÏÌ SÅÃÔÉÏN ª                        AÔ ÅND ÏÆ PÒÅSÅNÔ ÔÅSÔ ª                    ¸½ SUPPÒÅSS ÏPÅÒAÔÏÒ ÉNÔÅÒVÅNÔÉÏN ÔÅSÔS ª                    · ª                      ½ DÉAGNÏSÔÉàÏPÔÉÏNS ª                    0 ª         NÏÔÅ: SÔANDAÒD ÒUN SHÏUÌD BÅ ×ÉÔH S×. ÒÅG. ½ 0 ª               USÅÒ ÃÏNÔÒÏÌ ×ÉÌÌ ASK ÆÏÒ A 3² BÉÔ ×ÏÒD. ª               ÅAÃH BÉÔ ×ÉÌÌ ½ ± ÔÅSÔ ª  ª         G. PÒÅSS ÒUN. ª         H. ÒÅSÔAÒÔ - ÌÏAD ADDÒÅSS ²000B ª         É. ÒÅÃÏNÆÉGUÒÅ ÉÆ ÔÅSÔÉNG É¯Ï ÉNÔÅÒÆAÃÅ - ÌÏAD ADDÒÅSS ±00B ª  ª         GÅNÅÒAÌ ÃÏMPUÔÅÒ HAÌÔS ª  ª         ±0²0ØØ    Å ÏÒ H  000 ÔÏ 06· ª         ±060ØØ    Å ÏÒ H  ±00 ÔÏ ±6· ª         ±030ØØ    Å ÏÒ H  ²00 ÔÏ ²6· ª         ±0·0ØØ    Å ÏÒ H  300 ÔÏ 36· ª  ª         ÃÏNÔÒÏÌ PÒÏGÒAM HAÌÔ MÅSSAGÅS ª  ª         ±0²0··    ÅND ÏÆ DÉAG (A ½ PASS ÃÏUNÔ© ª         ±0²0·6    ÅND ÏÆ ÔÅSÔ (A ½ ÔÅSÔ £© ª         ±0²0·5    USÅÒ SÅÌÅÃÔÉÏN ÒÅÑUÅSÔ ª         ±0²0·´    SÅÌÅÃÔ ÃÏDÅ ÉNPUÔ ÃÏMPÌÅÔÅ ª         ±0²0·3    USÅÒ SÅÌÅÃÔ ÃÏDÅ ÅÒÒÏÒ ª         ±0²0·²    ÒÅSÅÒVÅD ª         ±0²0·±    ÒÅSÅÒVÅD ª         ±0²0·0    ÒÅSÅÒVÅD ª  ª         ±060··    ÔÒAP ÃÅÌÌ HAÌÔ ª  ª  ª        HÅD PÒÏGÒAM ÏÒGANÉZAÔÉÏN ÃHAÒÔ ª         ªªªªªªªªªªªªªªŽ£þúªªªªªªªªªªªªªªªªªªªªªªªªªªªªª ª         ª         ÃÏNÆÉGUÒAÔÏÒ            ±00B    ª ª         ª            ÌÉNKAGÅ ÔABÌÅ                ª ª         ªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªª ª         ª         ÅØÅÃUÔÉVÅ               ±30B    ª ª         ª         ÌÉNKAGÅ                         ª ª         ªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªª ª         ª         ÃÏNSÔANÔS               ±50B    ª ª         ª            AND                          ª ª         ª         SÔÏÒAGÅ                         ª ª         ªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªª ª         ª                                ²000B    ª ª         ª         ÅØÅÃUÔÉVÅ ÃÏNÔÒÏÌ               ª ª         ª                                         ª ª         ªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªª ª         ª         ÉÆ USÅD                         ª ª         ª         BASÉàɯϠÔÅSÔS (ÔÅSÔ 00©       ª ª         ª                                ZÃÅND    ª ª         ªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªª ª         ª         ÔABÌÅ ÏÆ ÔÅSÔ PÏÉNÔÅÒS          ª ª         ª         ÔABÌÅ ÏÆ É¯Ï ÉNSÔÒ PÏÉNÔÅÒS     ª ª         ªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªª ª         ª                                         ª ª         ª                                         ª ª         ª                                         ª ª         ª                                         ª ª         ª                                         ª ª         ª         MAÉN DÉAGNÏSÔÉÃS (±-3±©         ª ª         ª                                         ª ª         ª                                         ª ª         ª                                         ª ª         ª                                         ª ª         ª                                         ª ª         ªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªª ª  ª  ª  ª  ª  ª  ª  ª  ª  ª  ª  ª  ª  ª  ª  ª  ª  ª  ª  ª        HÅD ÃÏNÆÉGUÒAÔÏÒ ÌÉNKAGÅ ÔABÌÅ A     ÅÑU 0         A ÒÅGÉSÔÅÒ ÒÅÆÅÒÅNÃÅ B 4%þú    ÅÑU ±         B ÒÅGÉSÔÅÒ ÒÅÆÅÒÅNÃÅ S×    ÅÑU ±         S×ÉÔÃH ÒÅGÉSÔÅÒ ÒÅÆÅÒÅNÃÅ ÉNÔP  ÅÑU 0         ÉNÔÅÒÒUPÔ ÃHANNÅÌ ÒÅÆÅÒÅNÃÅ ª  ª        ÏÒG ±00B ª        ÊMP ÃÆÉG¬É    GÏ ÔÏ ÃÏNÆÉGUÒAÔÉÏN SÅÃÔÉÏN ÆAÉN  BSS ±         ÆASÔ ÉNPUÔ (PHÏÔÏ ÒÅADÅÒ© SÌÏP  BSS ±         SÌÏ× ÏUÔPUÔ (ÌÉSÔ© ÆAÏP  BSS ±         ÆASÔ ÏUÔPUÔ (DUMP ÏÒ PUNÃH© SÌÉN  BSS ±         SÌÏ× ÉNPUÔ (KÅYBÏAÒD© Æ×AM  DÅÆ Æ×AA      ÆÉÒSÔ ×ÏÒD ÏÆ AVBÌ. MÅMÏÒY Ì×AM  BSS ±         ÌASÔ ×ÏÒD ÏÆ AVBÌ. MÅMÏÒY       BSS ±         NÏÔ USÅD (MAG ÔAPÅ© ÏÔMà BSS ±         ± MÉÌÌ SÅàÔÉMÅ ÏUÔ ÃÏUNÔ       BSS ´         SÅÌÅÃÔ ÃÏDÅS ÆÏÒ É¯Ï ÃPÔÏ  BSS ±         ÃÏMPUÔÅÒ ÔYPůÏPÔÉÏNS USSà BSS ±         USÅÒ ÃAÒD ÔYPÅ AND SÅÌÅÃÔ ÃÏDÅ MÅMÏ  BSS ±         MÅMÏÒY SÉZÅ AND ÔYPÅ ÉS×Ò  BSS ±         ÉNÔÅÒNAÌ S×ÉÔÃH ÒÅGÉSÔÅÒ ÔMÒÒ  BSS ±         ± MÉÌÌ SÅàÔÉMÅÒ S×Òà BSS ±         ÃÏNÆÉGUÒAÔÏÒ S×ÉÔÃH ÃK PÔÒ É²AS  BSS ±         ÉNÔÅGÅÒ ÔÏ ASÃÉÉ ÃÏNVÅÒSÉÏN ϲAS  BSS ±         ÏÃÔAÌ ÔÏ ASÃÉÉ ÃÏNVÅÒSÉÏN AS²N  BSS ±         ASÃÉÉ ÃÏNVÅÒSÉÏN DSNÌ  BSS ±         DÉAGNÏSÔÉàSÅÒÉAÌ NUMBÅÒ ÆMÔÒ  BSS ±         ÆÏÒMAÔÔÅÒ ª  ª  ª         ÃÏNÔÒÏÌ ÌÉNKAGÅ AND DAÔA ÒÅÆÅÒÅNÃÅS ª  ÃÆÉG  DÅÆ ZÃÏNÆ     ÃÏNÆÉGUÒAÔÉÏN SÅÃÔÉÏN MSGà DÅÆ ZMSGà    MÅSSAGÅ ×ÉÔH NÏ HAÌÔ MSGH  DÅÆ ZMSGH     MÅSSAGÅ ×ÉÔH HAÌÔ ÅÒMS  DÅÆ ZÅÒMS     ÅÒÒÏÒ MÅSSAGÅ S×ÒÔ  DÅÆ ZS×ÒÔ     S×ÉÔÃH ÒÅGÉSÔÅÒ ÃHÅÃK ÒÏUÔÉNÅ ÔSÔN  ÏÃÔ 0         ÃUÒÒÅNÔ ÔÅSÔ NUMBÅÒ ÅØÒÔ  DÅÆ ZÅØÒÔ     ÒÅÔUÒN ÔÏ ÃÏNÔÒÏÌ PÒÏGÒAM       NÏP           ÒÅSÅÒVÅD ª  ª  ª  ª  ª  ª  ª  ª  ª  ª  ª  ª  ª        HÅD ÅØÅÃUÔÉVÅ ÃÏNÔÒÏÌ       ÏÒG ²000B ZSÔÅØ ÃÌàÉNÔP¬Ã    ÔUÒN É¯Ï SYSÔÅM ÏÆÆ       ÊSB MSGìɠ   DÏ ÃÒÌÆ       DÅÆ ZÒÔÌÆ       ÌDA HDMP      GÅÔ ÉNÔÒÏDUÃÔÏÒY MÅSSAGÅ       SÔA ª+²       ÊSB MSGìɠ   ÏUÔ PUÔ ÉÔ       NÏP       ÃÌA           ÃÌÅAÒ PASS       SÔA ZÅÏÌà      ÃÏUNÔ       ÌDB ZS×9      ÃHÅÃK ÆÏÒ USÅÒ SÅÌÅÃÔÉÏN ÒÅÑ       ÊSB S×ÒÔ¬É       ÊMP ZUSÒ      ÉÔ'S USÅÒS ÃHÏÉÃÅ ZNUSÒ ÌDA SÔDA      GÅÔ SÔANDAÒD ÔÅSÔ ÒUN       ÌDB SÔDB      ª     ›‚þú  ÊMP ZÅØÃ ª  ZUSÒ  ÌDA ZSÉNA     ÒÅÔÒÉÅVÅ PÒÅVÉÏUS ÒUN       ÌDB ZSÉNB       HÌÔ ·5B       ×AÉÔ ÆÏÒ USÅÒ ÉNPUÔ       NÏP       NÏP       NÏP ZÅØÃ  SÔA ZUÉNA     SAVÅ       SÔB ZUÉNB       USÅÒ       SÔA ZSÉNA         ÉNPUÔ       SÔB ZSÉNB           PÒÏGÒAM       ÌDB ZS×9      ÃHÅÃK ÉÆ S×9 ÉS DÏ×N       ÊSB S×ÒÔ¬É       ÊMP ZUSÒ      NÏ GÏ AND ×AÉÔ       ÃÃA           SÅÔ ÔÅSÔ NUMBÅÒ       SÔA ÔSÔN      ½-±       ÃÌA       SÔA ZÔSÔA     ÃÌÅAÒ ÔÅSÔ ÒUN ÆÌAG ª  ª  ª  ª  ª  ª  ª  ª  ª  ª  ª  ª  ª  ª  ª  ª        SKP ZÅØÃÌ ÌDA ZUÉNA     ÒÅSÔÏÒÅ A ÒÅG.       ÌDB ZUÉNB     ÒÅSÔÏÒÅ B ÒÅG.       ÅÒA¬ÒAÌ       ÒÏÔAÔÅ       ÅÒB             ÆÉÒSÔ       ÅÒA               ÔÅSÔ BÉÔ       SÔA ZUÉNA     SAVÅ PÏSÉÔÉÏNS       SÔB ZUÉNB       ÉSZ ÔSÔN      MÏVÅ ÔÅSÔ UP ÏNÅ       NÏP ZØÃ̱ ÌDA ÔSÔN       ADA ÔSÔP      GÅÔ ÉÔ'S       ÌDA A¬É         ADDÒÅSS       ÃPA Z.M±      ÉS ÉÔ ÅND ÏÆ ÌÉSÔ       ÊMP ZÅÏÌ      YÅS       ÌDB ZUÉNB       SSB¬ÒSS       SHÏUÌD ÉÔ BÅ ÒUN?       ÊMP ZÅØÃÌ     NÏ       SÔA ZÔSÔA     YÅS - SAVÅ ÔÅSÔ ADDÒÅSS       ÊSB ZÉÔÃH     ÉNÉÔÉAÌÉZÅ ÔÒAP ÃÅÌÌ HAÌÔS       ÊSB ZÔSÔA¬É   GÏ DÏ ÔÅSÔ ZÅØÒÔ ÌDA ÔSÔN      DÉSPÌAY ÔÅSÔ NUMBÅÒ ÉÆ HAÌÔÅD       ÌDB ZS×±5     ÃHÅÃK ÆÏÒ HAÌÔ AÔ ÅND ÏÆ ÔÅSÔ       ÊSB S×ÒÔ¬É       HÌÔ ·6B       YÅS ×AÉÔ ÆÏÒ ÏPÅÒAÔÏÒ       ÌDB ZS×9      ÃHÅÃK ÆÏÒ ABÏÒÔ       ÊSB S×ÒÔ¬É       ÊMP ZUSÒ      YÅS       ÌDB ZS×±3     ÃHÅÃK ÆÏÒ ÌÏÏP ÏN ÒÏUÔÉNÅ       ÊSB S×ÒÔ¬É       ÊMP ZØÃ̱     YÅS - ÌÏÏP       ÊMP ZÅØÃÌ     ÃÏNÔÉNUÅ ª  ZÅÏÌ  ÌDA ZÔSÔA     ÃHÅÃK ÉÆ ANY ÔÅSÔS ×ÅÒÅ ÒUN       SZA¬ÒSS       ?       ÊMP ZNUSÒ     NÏ  SÏ PÉÃK UP SÔANDAÒD ÒUN       ÌDA ZÅÏÌà    UP DAÔÅ PASS ÃÏUNÔ       ÉNA       SÔA ZÅÏÌà       ÃÃÅ       ÌDB ZPSÃA     GÅÔ PASS ÃÏUNÔ       ADB Z.²         ADDÒÅSS       ÊSB Ï²AS¬É    ÃÏNVÅÒÔ ÉÔ       ÊSB MSGìɠ   ÃAÌÌ PÒÉNÔ ÒÏUÔÉNÅ ZPSÃA DÅÆ ZPSà       ÌDB ZS×±²     ÃHÅÃK ÆÏÒ ÌÏÏP ÏN DÉAG.       ÊSB S×ÒÔ¬É       ÊMP ª+3       YÅS       ÌDA ZÅÏÌà     Ìpþú  HÌÔ ··B       NÏ ×AÉÔ AND DÉSPÌAY PASS ÃÏUNÔ       ÌDA ZSÉNA     ÒÅSÔÏÒÅ ÏÒÉGÉNAÌ       ÌDB ZSÉNB       PÒÏGÒAM       ÊMP ZÅØÃ      DÏ ÉÔ AÌÌ AGAÉN ª        SKP ª         MÅSSAGÅ ÏUÔPUÔ ×ÉÔH ÏUÔ HAÌÔ ª  ZMSGàNÏP           ÅNÔÒY       ÊSB ZMSG      ÏUÔPUÔ MÅSSAGÅ       ÏÃÔ ²000      S×ÉÔÃH ±0 ÃHÅÃK       ÊMP ZMSGìɠ  ÒÅÔUÒN ÔÏ ÃAÌÌÅÒ ª  ª         MÅSSAGÅ ÏUÔPUÔ ×ÉÔH HAÌÔ ª  ZMSGH NÏP           ÅNÔÒY       ÊSB ZMSG      ÏUÔPUÔ MÅSSAGÅ       ÏÃÔ ²000      S×ÉÔÃH ±0 ÃHÅÃK       ÌDA ZHÌÔ      GÅÔ HAÌÔ ÃÏDÅ       SÔA ª+²       PUÔ ÉÔ ÉN PÌAÃÅ       ÌDA ZSAVA     ÒÅSÔÏÒÅ A ÒÅGÉSÔÅÒ       NÏP           HAÌÔ ÆÏÒ DÉSPÌAY       ÊMP ZMSGH¬É   ÒÅÔUÒN ÔÏ ÃAÌÌÅÒ ª  ª         ÅÒÒÏÒ MÅSSAGÅ ×ÉÔH HAÌÔ ª  ZÅÒMS NÏP           ÅNÔÒY       ÊSB ZMSG      ÏUÔPUÔ MÅSSAGÅ       ÏÃÔ ´000      S×ÉÔÃH ±± ÃHÅÃK       ÃÌA       ÌDB ZS×±´     ÃHÅÃK S×Ò BÉÔ ±´ ÔÏ SUPPÒÅSS       ÊSB S×ÒԬɠ   HAÌÔ       SÔA ª+3       PUÔ  HAÌÔ ÉN PÌAÃÅ       ÌDA ZSAVA     ÒÅSÔÏÒÅ A ¦ B       ÌDB ZSAVB ZHÌÔ  NÏP           ×AÉÔ ÆÏÒ ÏPÅÒAÔÏÒ       ÊMP ZÅÒMS¬É   ÒÅÔUÒN ÔÏ ÃAÌÌÅÒ ª  ª  ª  ª  ª  ª  ª  ª  ª  ª  ª  ª  ª        SKP ª         ÏUÔPUÔ MÅSSAGÅ ª  ZMSG  NÏP       SÔA ZSAVA     SAVÅ A AND B ÒÅGÉSÔÅÒS       SÔB ZSAVB       ÌDB ZMSG¬É    GÅÔ S×ÉÔÃH ÒÅGÉSÔÅÒ BÉÔ       ÌDA ZMSG       ADA Z.M²      DÅÃÒÅMÅNÔ ÒÅÔUÒN ADDÒÅSS       SÔA ZMSG       ÊSB S×ÒԬɠ   ÃHÅÃK ÔÏ SUPPÒÅSS MÅSSAGÅ       ÊMP ZMSG0     YÅS       ÌDA ZMSG¬É    ÃHÅÃK ÉÆ ÅÒÒÏÒ       ÌDA A¬É       ÌDA A¬É       ÉÆ SÏ       AÌÆ¬AÌÆ       AND Z.±··       ÃPA ZA.Å       ÊSB ZÃÆÔN     ÃHÅÃK ÔÏ ÏUÔPUÔ ÔÅSÔ NUMBÅÒ       ÌDA ZMSG¬É    NÏ ÒÅÔÒÉÅVÅ ÆÏÒMAÔ       ÌDB A¬É         ADDÒÅSS       ÃÌA¬ÃÌÅ       ÊSB ÆMÔÒ¬É ZMSG0 ÌDA ZMSG¬É    ÃÏNVÅÒÔ HAÌÔ ÃÏDÅ       ÌDB A¬É         ÆÒÏM ASÃÉÉ SÔÒÉNG       ÃÃA¬ÃÃÅ       ÊSB AS²N¬É       SÔA ZN²AÏ     SAVÅ ÒÅSUÌÔ       AND Z.300     DÅÃÏDÅ       ÌDB ZH²         HAÌÔ ÃÏDÅ       ÃPA Z.±00       ÌDB ZH6       ÃPA Z.²00       ÌDB ZH3       ÃPA Z.3Zþú300       ÌDB ZH·       ÌDA ZN²AÏ     GÅÔ HAÌÔ NUMBÅÒ       AND Z.··       ÉÏÒ B       SÔA ZHÌÔ      SAVÅ ÉÔ       ÉSZ ZMSG¬É    ADÊUSÔ ÒÅÔUÒN PÏÉNÔÅÒS       ÉSZ ZMSG       ÉSZ ZMSG       ÉSZ ZMSG       ÌDA ZSAVA     ÒÅSÔÏÒÅ A AND B ÒÅGÉSÔÅÒS       ÌDB ZSAVB       ÊMP ZMSG¬É ª  ª  ª  ª  ª  ª        SKP ZÃÆÔN NÏP       ÌDA ÔSÔN      GÅÔ ÔÅSÔ NUMBÅÒ       ÃPA ZÃÆÔÔ     ÉS ÉÔ ÔHÅ SAMÅ ÏNÅ?       ÊMP ZÃÆÔN¬É   YÅS SKÉP ÏUÔPUÔ       SÔA ZÃÆÔÔ     NÏ - ÔHÅN UPDAÔÅ ÉÔ       ÊSB ZN²AÏ     ÃÏNVÅÒÔ ÉÔ       SÔA ZÔSÔN     PUÔ ÉÔ ÉN SÔÒÉNG       ÃÌA           DÏ A ÃÒÌÆ       ÊSB SÌÏP¬É       ÃÌA¬ÃÌÅ       ÉNDÉÃAÔÅ SÔAÒÔ ÏÆ ÆÏÒMAÔ       ÌDB ZÔSÔÆ       ÊSB ÆMÔÒ¬É       ÊMP ZÃÆÔN¬É   ÒÅÔUÒN ª  ª  ª  ª  ZSAVA NÏP ZSAVB NÏP ZÅÏÌàNÏP ZÔSÔA NÏP ZSÉNA NÏP ZSÉNB NÏP ZUÉNA NÏP ZUÉNB NÏP ZBÔMP NÏP Z.²   ÏÃÔ ² Z.·   ÏÃÔ · Z.±0  ÏÃÔ ±0 Z.60  ÏÃÔ 60 Z.··  ÏÃÔ ·· Z.±·· ÏÃÔ ±·· Z.M±  DÅà-± Z.M²  DÅà-² ZD±00 DÅà-±00 ZÉÏM  ÏÃÔ ±···00 ZS×±5 ÏÃÔ ±00000 ZS×±´ ÏÃÔ ´0000 ZS×±3 ÏÃÔ ²0000 ZS×±² ÏÃÔ ±0000 ZS¸±² ÏÃÔ 0±0´00 ZS×9  ÏÃÔ ±000 Z.±00 ÏÃÔ ±00 Z.²00 ÏÃÔ ²00 Z.300 ÏÃÔ 300 ZH²   ÏÃÔ ±0²000 ZH6   ÏÃÔ ±06000 ZH3   ÏÃÔ ±03000 ZH·   ÏÃÔ ±0·000 ZÃÆÔÔ DÅà-± ZÔSÔÆ DÅÆ ª+±       ASà3¬ÔÅSÔ ZÔSÔN ASà²¬ØØ¯¯ ZÒÔÌÆ AS౬¯¯ ZPSà ASà6¬PASS ØØØØØØ¯ ZA.Å  ÏÃÔ ±05       HÅD GÅNÅÒAÌ ÒÏUÔÉNÅS ª  ª  ZN²AÏ NÏP       SÔA ZÉÏAD     SAVÅ NUMBÅÒ       AND Z.·       ÃÏNVÅÒÔ ÆÉÒSÔ       ÉÏÒ Z.60        NUMBÅÒ       SÔA B         SAVÅ ÉÔ       ÌDA ZÉÏAD     GÅÔ       ÒAÒ¬ÒAÒ         SÅÃÏND       ÒAÒ               NUMBÅÒ       AND Z.·       ÃÏNVÅÒÔ       ÉÏÒ Z.60        ÉÔ       AÌÆ¬AÌÆ       MÏVÅ ÔÏ UPPÅÒ HAÌÆ       ÉÏÒ B         ADD ÌÏ×ÅÒ       ÊMP ZN²AϬɠ  AND ÒÅÔUÒN ª  ª  ª  ª         S×ÉÔÃH ÒÅGÉSÔÅÒ ÃHÅÃK ª  ZS×ÒÔ NÏP       SÔA ZN²AÏ     SAVÅ A ÒÅGÉSÔÅÒ       ÌÉA S×        GÅÔ S×ÉÔÃH ÒÅG.       AND B         MASK ÏUÔ BÉÔ       SZA¬ÒSS       ÉS ÉÔ UP?       ÉSZ ZS×ÒÔ     NÏ       ÌDA ZN²AÏ     ÒÅSÔÏÒÅ A ÒÅQáþúGÉSÔÅÒ       ÌÉB S×        ÌÅÔ B ½ S×ÉÔÃH ÒÅGÉSÔÅÒ       ÊMP ZS×ÒԬɠ  ÒÅÔUÒN ÔÏ ÃAÌÌÅÒ ª  ª  ª  ª         ÉNÉÔÉAÌÉZÅ ÔÒAP ÃÅÌÌ HAÌÔS ª  ZÉÔÃH NÏP       ÌDA ZÔSH      GÅÔ SÔAÒÔÉNG ÔÒAP ÃÅÌÌ HAÌÔ       ÌDB Z.²       GÅÔ ÆÉÒSÔ ÔÒAP ÃÅÌÌ ÌÏÃAÔÉÏN ZÔSHÌ SÔA B¬É       PUÔ ÉÔ ÉN PÌAÃÅ       ÃPB Z.··      AM É ÆÉNÉSHÅD       ÊMP ZÉÔÃH¬É   YÅS       ÉNB             NÅØÔ ADDÒÅSS       ÊMP ZÔSHÌ ª  ZÔSH  ÏÃÔ ±060·· ª  ª  ª        SKP ª         PUÔ ÊSB ÉNSÔÒUÃÔÉÏN ÉN ÔÒAP ÃÅÌÌ ª  ZÔÃÊÉ NÏP       ÌDB ZÊSBÉ     GÅÔ ÉNSÔÒUÃÔÉÏN       SÔB ZÉÏSìɠ  PUÔ ÉÔ ÉN ÔÒAP ÃÅÌÌ       ÌDA ZÔÃÊɬɠ  GÅÔ ÌÏÃAÔÉÏN       SÔA 3B        SAVÅ ÉÔ ÆÏÒ ÊSB ÉNSÔÒUÃÔÉÏN       ÉSZ ZÔÃÊÉ     ADÊUSÔ ÒÅÔUÒN       ÊMP ZÔÃÊɬɠ  ÒÅÔUÒN ÔÏ ÃAÌÌÅÒ ª  ZÊSBÉ ÊSB 3B¬É      ÊSB ÉNSÔÒUÃÔÉÏN ª  ª  ª         ÉNÉÔÉAÌÉZÅ SÅÌÅÃÔ ÃÏDŠɯϠÉNSÔÒUÃÔÉÏNS ª  ZÉSà NÏP       SÔA ZÉÏSà    SAVÅ SÅÌÅÃÔ ÃÏDÅ       SÔB ZÉÏAD     SAVÅ ÔABÌÅ ADDÒÅSS ZÉÏÌ  ÌDB ZÉÏAD¬É   GÅÔ ADDÒÅSS ÏÆ ÌÏÃAÔÉÏN       ÃPB Z.M±      ÉS ÉÔ ÔHÅ ÔÅÒMÉNAÔÏÒ       ÊMP ZÉSìɠ   YÅS ÒÅÔUÒN ÔÏ ÃAÌÌÅÒ       ÌDA B¬É       NÏ - GÅÔ ÃÏNÔÅNÔS       AND ZÉÏM      MASK ÏÆÆ ÏÌD SÅÌÅÃÔ ÃÏDÅ       ÉÏÒ ZÉÏSà    ADD ÉN NÅ× SÅÌÅÃÔ ÃÏDÅ       SÔA B¬É       ÒÅSÔÏÒÅ  ÉÔ       ÉSZ ZÉÏAD     MÏVÅ ÔÏ NÅØÔ ADDÒÅSS       ÊMP ZÉÏÌ      DÏ ÉÔ ª  ZÉÏSàNÏP ZÉÏAD NÏP ª  ª  ª  ª        SKP ª         ÃÏNÆÉGUÒAÔÉÏN SÅÃÔÉÏN ª  ZÃÏNÆ ÃÌàÉNÔP¬Ã    ÔUÒN É¯Ï SYSÔÅM ÏÆÆ       ÌÉA S×        GÅÔ SÅÌÅÃÔ ÃÏDÅ AND ÏPÔÉÏNS       SÔA USSà     SAVÅ ÔHÅM       AND Z.··      ÅÌÉMÉNAÔÅ ÏPÔÉÏNS       ÌDB A       ÃMB¬ÉNB       ÃHÅÃK ÔHAÔ Sྠ·       ADB Z.·       SSB           ?       ÊMP ª+3       ÏK GÏ ÏN       HÌÔ ·3B       NÏ       ÊMP ZÃÏNÆ     ÔÒY AGAÉN       ÌDB ÉÏÉP      ÉNÉÔÉAÌÉZÅ ÔÅSÔ É¯Ï       ÊSB ZÉSà       ÉNSÔÒUÃÔÉÏNS       HÌÔ ·´B       AÌÌÏ× ÏPÅÒAÔÏÒ ÔÏ ÃHANGÅ S×ÉÔ       ÊMP ZSÔÅØ     GÏ ÔÏ ÅØÅàÃÏNÔÒÏÌ SÅÃÔÉÏN ª  ª  ªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªÔAB  0±0 ª                   þú                                                    ÔAB  0²0 ª    HP  ²±MØ ÆASÔ ÆÏÒÔÒAN PÒÏÃÅSSÏÒ DÉAGNÏSÔÉàPÒÏGÒAM £± ª                                                                       ÔAB  0´0 ªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªÔAB  050 ª                                                                       ÔAB  060       HÅD HP ²±MØ ÆÆP DÉAGNÏSÔÉàBÒANÃH ÔABÌÅ. ªªªªª                                  ªªªªª                            ÔAB  350 ª     HP  ²±MØ ÆÆP DÉAGNÏSÔÉàBÒANÃH ÔABÌÅ.  ª                          ÔAB  350 ªªªªª                                  ªªªªª                            ÔAB  360 ÔSÔD  ÅÑU ª                                                             ÔAB  3·0       DÅÆ ÔSÔ±²     ..MAP (SÅÔ BÉÔ 0©       DÅÆ ÔSÔ±3     SNGÌ (SÅÔ BÉÔ ±©       DÅÆ ÔSÔ±´      DBÌÅ (SÅÔ BÉÔ ²©       DÅÆ ÔSÔ±5     .DÆÅÒ (SÅÔ BÉÔ 3©       DÅÆ ÔSÔ±6     .ØÆÅÒ (SÅÔ BÉÔ ´©       DÅÆ ÔSÔ±·     P×Ò² (SÅÔ BÉÔ 5©       DÅÆ ÔSÔ±¸     .PAÃK (SÅÔ BÉÔ 6©       DÅÆ ÔSÔ±9     ÆÌUN (SÅÔ BÉÔ ·©       DÅÆ ÔSÔ²0     .ØPAK (SÅÔ BÉÔ ¸©       DÅÆ ÔSÔ²±     .ØÃÏM (SÅÔ BÉÔ 9©       DÅÆ ÔSÔ²²     ..DÃM (SÅÔ BÉÔ ±0©       DÅÆ ÔSÔ²3     DDÉNÔ (SÅÔ BÉÔ ±±©       ÏÃÔ ±·····    ÅND ÏÆ ÔSÔD MAÒKÅÒ ª  HDMS  ASà±5¬SÔAÒÔ ²±MØ ÆÆP DÉAGNÏSÔÉ౯ ª        HÅD ÔÅSÔ ÔABÌÅ ÆÏÒ P×Ò² ÔÅSÔS. ªªªªª                       ªªªªªª                                      ÔAB  0·0 ª   ÔÅSÔ ÔABÌÅ ÆÏÒ P×Ò² ÔÅSÔS.   ª                                      ÔAB  0¸0 ªªªªª                       ªªªªªª                                      ÔAB  090 ÔSÔ±  DÅà-3        NUMBÅÒ ÏÆ ÔÅSÔ VAÌUÅS ÉN ÔHÅ ÔABÌÅ                  ÔAB  ±00 ÔSÔ±0 ÅÑU ª         ÔABÌÅ ÅNÔÒY ADDÒÅSS                                 ÔAB  ±±0       ÏÃÔ ±         PÏ×ÅÒ ÏÆ ² ½ N                                      ÔAB  ±²0       ÏÃÔ ±····6    ªÔÅSÔ VAÌUÅ £± - ÌÏ MANÔÉSSA+ÅØPÏNÅNÔ               ÔAB  ±30       ÏÃÔ ±··´00    ÒÅSUÌÔ £± - ÅØPÏNÅNÔ ÏVÅÒÆÌÏ×ÅD                     ÔAB  ±´0       DÅà-±        PÏ×ÅÒ ÏÆ ² ½ N    œ þú                                  ÔAB  ±50       ÏÃÔ ±··´03    ªÔÅSÔ VAÌUÅ £² - ÌÏ MANÔÉSSA+ÅØPÏNÅNÔ               ÔAB  ±60       ÏÃÔ ±··´0±    ÒÅSUÌÔ £ ² - ÅØPÏNÅNÔ UNDÅÒÆÌÏ×ÅD                   ÔAB  ±·0       ÏÃÔ 5         PÏ×ÅÒ ÏÆ ² ½ N                                      ÔAB  ±¸0       ÏÃÔ ±··´·6    ªÔÅSÔ VAÌUÅ £ 3 - ÌÏ MANÔÉSSA+ÅØPÏNÅNÔ              ÔAB  ±90       ÏÃÔ ±··5±0    ÒÅSUÌÔ £3 - NÏÒMAÌ                                  ÔAB  ²00       HÅD ÔÅSÔ £ ±· - P×Ò² ÔÅSÔS. ªªªªª                    ªªªªª                                          P×Ò² 0±0 ª   ÔÅSÔ £ ±· - P×Ò² ÔÅSÔS.   ª ªªªªª                    ªªªªª                                          P×Ò² 030 ÔSÔ±· ÅÑU ª       NÏP                                                               P×Ò² 050       ÊSB MSGìɠ  ÏUÔPUÔ HÅADÅÒ MÅSSAGÅ       DÅÆ MMS±´       ÌDA ÔSÔ±     ÏBÔAÉN ÌÏÏP ÃÏUNÔ                                    P×Ò² 060       SÔA ÃNÔÒ      SÅÔ UP ÔÅSÔ ÌÏÏP ÃÏUNÔÅÒ                            P×Ò² 0·0       ÌDA ÔSÔA±    ÌÏAD ÔÅSÔ ÔABÌÅ PÏÉNÔÅÒ                              P×Ò² 0¸0       SÔA N         ÉNÉÔÉAÌÉZÅ N                                        P×Ò² 090       ÉNA                                                               P×Ò² ±00       SÔA ÌMű                                                          P×Ò² ±±0 ÒPÔ±  ÌDB N                                                             P×Ò² ±²0       SÔB PAÒM±     ÅSÔABÌÉSH PAÒAMÅÔÅÒ ADDÒÅSS       ÌDA ÌMű      ÔÅSÔ VAÌUÅ ÔABÌÅ PÏÉNÔÅÒ                            P×Ò² ±´0       ÌDB 0¬É       ÏBÔAÉN ÌÏ MANÔÉSSA+ÅØP                              P×Ò² ±50       ÉNA           ADVANÃÅ ÔÅSÔ VAÌUÅ ÔABÌÅ PÏÉNÔÅÒ                    P×Ò² ±¸0       SÔA ÌMű                                                          P×Ò² ±90       ÒAM P×Ò²      ÃAÌÌ ÔÏ P×Ò² MÉÃÒÏ-ÒÏUÔÉNÅ                          P×Ò² ±60 PAÒM± NÏP           PAÒAMÅÔÅÒ ADDÒÅSS ÏÆ N       SÔA ØBUÆ     SAVÅ AÃÔUAÌ VAÌUÅ PAÒÔ ±       SÔB ØBUÆ+±   SAVÅ AÃÔUAÌ VAÌUÅ PAÒÔ ²       ÃPB ÌMű¬É    VÅÒÉÆY Ò?Ó<:6ÅÔUÒNÅD ÒÅSUÌÔS                             P×Ò² ²00       ÊMP AÒD±      VÅÒÉÆÉÅD ÃÏÒÒÅÃÔÌY                                  P×Ò² ²±0       ÌDA ±        ÏBÔAÉN AÃÔUAÌ ÒÅSUÌÔ       ÊSB ASÃÉɬɠ ÃÏNVÅÒÔ VAÌUÅ ÔÏ ASÃÉÉ       DÅÆ AÃÔUÌ+5       ÌDB AÃÔ5       SÔB ª-²  ÒÅSÔÏÒÅS VAÌUÅ BUÆÆÅÒ PÏÉNÔÅÒ       ÌDA ÌMű¬É  ÏBÔAÉN ÅØPÅÃÔÅD VAÌUÅ       ÊSB ASÃÉÉ¬É       DÅÆ ÅØPÃÔ+5       ÌDB ÅØP5       SÔB ª-²       ÃÌA         ÌÏAD AÃÔUAÌ VAÌUÅ       ÌDB ØBUÆ+±   ×ÏÒDS ± AND ²       ÊSB ÅÒMS¬É       DÅÆ ÅÒM±´    ÅÒÒÏÒ MÅSSAGÅ BUÆÆÅÒ PÏÉNÔÅÒ       ÃÌA       ÌDB ÌMű¬É    ÅØPÅÃÔÅD VAÌUÅS       ÊSB ØÉNV²¬É   DÉSPÌAY ÅØPÅÃÔÅD VAÌUÅS ÉN ÒÅG. A ¦ B       ÊSB DSPÌY¬É   ÏUÔPUÔ AÃÔUAÌ ¦ ÅØPÅÃÔÅD VAÌUÅS AÒD±  ÉSZ ÃNÔÒ      ÃHÅÃK ÆÏÒ ÅØÉÔ ÃÏNDÉÔÉÏN                            P×Ò² 300       ÊMP ª+²       NÏÔ ÅÑUAÌ ÔÏ ZÅÒÏ YÅÔ - SKÉP AÒÏUND                 P×Ò² 3±0       ÊMP ÅØÔ±3       ÌDA ÌMű  ÏBÔAÉN ÅØPÅÃÔÅD VAÌUÅ PÏÉNÔÅÒ       ÉNA           PÏÉNÔ ÔÏ NÅØÔ N                                     P×Ò² 330       SÔA N       N                                                     P×Ò² 3´0       ÉNA           ADÊUSÔ ÔABÌÅ PÏÉNÔÅÒ                                P×Ò² 350       SÔA ÌMű      PÏÉNÔ ÔÏ NÅØÔ ÔÅSÔ VAÌUÅ                            P×Ò² 360       ÊMP ÒPÔ±      ÌÏÏP BAÃK                                           P×Ò² 3·0 ÅØÔ±3 ÊMP ÔSÔ±·¬É     ÒÅÔUÒN ÅÒM±´ ASà±±¬Å²30 P×Ò² DAÔA ÅÒÒÏÒ¯ MMS±´ ASฬH²30 P×Ò² ÔÅSÔ¯ ÔSÔA± DÅÆ ÔSÔ±0  ÔABÌÅ PÏÉNÔÅÒ N     BSS ±  PÏ×ÅÒ ÏÆ ²'S ÔÅMPÏÒAÒY SÔÏÒAGÅ ÌMű  BSS ±  ÒÅSUÌÔ PÏÉNÔÅÒ ›<ÿÿ ÿýãò ÿ12977-18006 1451 S 0122 21MX-BCS FFP SUBROUTINE LIB             H0101 ©1þú ASMB¬Ò¬B¬Ì       HÅD ÆÆP ÌÉBÒAÒY ÆÏÒ ²±MØ BÃS ²9 ÏÃÔ ·´ ª  ª  ÔHÉS ÌÉBÒAÒY ÃÏNÔAÉNS ÔHÅ ÆÏÌÌÏ×ÉNG ÒÏUÔÉNÅS: ª  ª    DDÉNÔ     ØDÉV      .PAÃK     .SÅÔP ª    ..MAP     ..DÃM     .ÅNÔÒ     .ÆÆPB ª    DBÌÅ      .ØPAK     P×Ò² ª    SNGÌ      .ØÃÏM     .GÏÔÏ ª    ØADSB     .ØÆÅÒ     .ÆÌUN ª    ØMPY ª  ª  ÔHÉS ÌÉBÒAÒY ÅNABÌÅS BÃS PÒÏGÒAMS¬ ÃAÌÌÉNG ÔHÅ ª  SÏÆÔ×AÒÅ VÅÒSÉÏN ÏÆ ÔHÅ ÒÏUÔÉNÅS¬ ÔÏ USÅ ÔHÅ ª  ÆÉÒM×AÒÅ VÅÒSÉÏN DUÒÉNG ÅØÅÃUÔÉÏN. ª  ÔHÅ "ÊSB" ÉNSÔÒUÃÔÉÏN ×ÉÌÌ BÅ ÃHANGÅD ÉNÔÏ A ª  "ÒAM" ÉNSÔÒUÃÔÉÏN ×ÉÔH ÔHÅ APPÒÏPÉAÔÅ ÏPÃÏDÅ. ª  ª        NAM ÆPMBA       ÅND ASMB¬Ò¬B¬Ì       NAM DDÉNÔ       ÅNÔ DDÉNÔ       ÅØÔ .ÆÆPB ª  DDÉNÔ NÏP       ÊSB .ÆÆPB     GÏ ÔÏ SÔUÆÆÅÒ       ÒAM DDÉN DDÉN  ÅÑU ²±·B       ÅND ASMB¬Ò¬B¬Ì       NAM ..MAP       ÅNÔ ..MAP       ÅØÔ .ÆÆPB ª  ..MAP NÏP       ÊSB .ÆÆPB     GÏ ÔÏ SÔUÆÆÅÒ       ÒAM MAP MAP   ÅÑU ²²²B       ÅND ASMB¬Ò¬B¬Ì       NAM DBÌÅ       ÅNÔ DBÌÅ       ÅØÔ .ÆÆPB ª  DBÌÅ  NÏP       ÊSB .ÆÆPB     GÏ ÔÏ SÔUÆÆÅÒ       ÒAM DBÌ DBÌ   ÅÑU ²0±B       ÅND ASMB¬Ò¬B¬Ì       NAM SNGÌ       ÅNÔ SNGÌ       ÅØÔ .ÆÆPB ª  SNGÌ  NÏP       ÊSB .ÆÆPB     GÏ ÔÏ SÔUÆÆÅÒ       ÒAM SNG SNG   ÅÑU ²0²B       ÅND ASMB¬Ò¬B¬Ì       NAM ØADSB       ÅNÔ .ØADD¬.ØSUB       ÅNÔ ØADD¬ØSUB       ÅØÔ .ÆÆPB ª  ØADD  NÏP       ÊSB .ÆÆPB     GÏ ÔÏ SÔUÆÆÅÒ       ÒAM ØADà ØADà ÅÑU ²0·B ª  ª  .ØADD NÏP       ÊSB .ÆÆPB     GÏ ÔÏ SÔUÆÆÅÒ       ÒAM ØADDà ØADDàÅÑU ²±3B ª  ª  ØSUB  NÏP       ÊSB .ÆÆPB     GÏ ÔÏ SÔUÆÆÅÒ       ÒAM ØSBà ØSBà ÅÑU ²±0B ª  ª  .ØSUB NÏP       ÊSB .ÆÆPB     GÏ ÔÏ SÔUÆÆÅÒ       ÒAM ØSUBà ØSUBàÅÑU ²±´B       ÅND ASMB¬Ò¬B¬Ì       NAM ØMPY       ÅNÔ ØMPY¬.ØMPY       ÅØÔ .ÆÆPB ª  ØMPY  NÏP       ÊSB .ÆÆPB     GÏ ÔÏ SÔUÆÆÅÒ       ÒAM ØMPà ØMPà ÅÑU ²±±B ª  ª  .ØMPY NÏP       ÊSB .ÆÆPB     GÏ ÔÏ SÔUÆÆÅÒ       ÒAM ØMPYà ØMPYàÅÑU ²03B       ÅND ASMB¬Ò¬B¬Ì       NAM ØDÉV       ÅNÔ .ØDÉV¬ØDÉV       ÅØÔ .ÆÆPB ª  ØDÉV  NÏP       ÊSB .Æ{!þúÆPB     GÏ ÔÏ SÔUÆÆÅÒ       ÒAM ØDVà ØDVà ÅÑU ²±²B ª  ª  .ØDÉV NÏP       ÊSB .ÆÆPB     GÏ ÔÏ SÔUÆÆÅÒ       ÒAM ØDÉVà ØDÉVàÅÑU ²0´B       ÅND ASMB¬Ò¬B¬Ì       NAM ..DÃM       ÅNÔ ..DÃM       ÅØÔ .ÆÆPB ª  ..DÃM NÏP       ÊSB .ÆÆPB     GÏ ÔÏ SÔUÆÆÅÒ       ÒAM DÃM DÃM   ÅÑU ²±6B       ÅND ASMB¬Ò¬B¬Ì       NAM .ØPAK       ÅNÔ .ØPAK       ÅØÔ .ÆÆPB ª  .ØPAK NÏP       ÊSB .ÆÆPB     GÏ ÔÏ SÔUÆÆÅÒ       ÒAM ØPAK ØPAK  ÅÑU ²06B       ÅND ASMB¬Ò¬B¬Ì       NAM .ØÃÏM       ÅNÔ .ØÃÏM       ÅØÔ .ÆÆPB ª  .ØÃÏM NÏP       ÊSB .ÆÆPB     GÏ ÔÏ SÔUÆÆÅÒ       ÒAM ØÃÏM ØÃÏM  ÅÑU ²±5B       ÅND ASMB¬Ò¬B¬Ì       NAM .ØÆÅÒ       ÅNÔ .ØÆÅÒ¬.DÆÅÒ       ÅØÔ .ÆÆPB ª  .DÆÅÒ NÏP       ÊSB .ÆÆPB     GÏ ÔÏ SÔUÆÆÅÒ       ÒAM DÆÅÒ DÆÅÒ  ÅÑU ²05B ª  ª  .ØÆÅÒ NÏP       ÊSB .ÆÆPB     GÏ ÔÏ SÔUÆÆÅÒ       ÒAM ØÆÅÒ ØÆÅÒ  ÅÑU ²²0B       ÅND ASMB¬Ò¬B¬Ì       NAM .PAÃK       ÅNÔ .PAÃK       ÅØÔ .ÆÆPB ª  .PAÃK NÏP       ÊSB .ÆÆPB     GÏ ÔÏ SÔUÆÆÅÒ       ÒAM PAÃK PAÃK  ÅÑU ²30B       ÅND ASMB¬Ò¬B¬Ì       NAM .ÅNÔÒ       ÅNÔ .ÅNÔÒ       ÅØÔ .ÆÆPB ª  .ÅNÔÒ NÏP       ÊSB .ÆÆPB     GÏ ÔÏ SÔUÆÆÅÒ       ÒAM ÅNÔÒ ÅNÔÒ  ÅÑU ²²3B       ÅND ASMB¬Ò¬B¬Ì       NAM P×Ò²       ÅNÔ .P×Ò² ª  ª    ÃAÌÌÉNG SÅÑUÅNÃÅ: ª  ª    DÌD Ø         (ÆÌÏAÔÉNG PÏÉNÔ© ª    ÊSB .P×Ò² ª    DÅàN         (ÉNÔÅGÅÒ© ª  ª  .P×Ò² NÏP       SÔA ASAV      SAVÅ A-ÒÅG       ÌDA .P×Ò²     SÔÏÒÅ ADDÒ ÏÆ ÉNÔÅGÅÒ       SÔA P×Ò±       ÉNÔÏ ÃAÌÌÉNG SÅÑUÅNÃÅ       ÌDA ASAV      ÒÅSÔÏÒÅ A-ÒÅG ª        ÒAM P×Ҳà    MÉÃÒÏ ÃAÌÌ P×Ò±  BSS ±         ADDÒÅSS ÏÆ ÉNÔÅGÅÒ ª        ÉSZ .P×Ò²     GÅÔ ÒÅÔUÒN ADDÒÅSS       ÊMP .P×Ò²¬É   ÒÅÔUÒN ª  ASAV  BSS ± P×ҲàÅÑU ²²5B       ÅND ASMB¬Ò¬B¬Ì       NAM .GÏÔÏ       ÅNÔ .GÏÔÏ       ÅØÔ .ÆÆPB ª  .GÏÔÏ NÏP       ÊSB .ÆÆPB     ÃAÌÌ SÔUÆÆÅÒ       ÒAM GÏÔÏ GÏÔÏ  ÅÑU ²²±B       ÅND ASMB¬Ò¬B¬Ì       NAM .ÆÌUN       ÅNÔ .ÆÌUN       ÅØÔ .ÆÆPB ª  .ÆÌUN NÏP       ÊSB .ÆÆPB     ÃAÌÌ SÔUÆÆÅÒ       ÒAM Ù— ÆÌUN ÆÌUN  ÅÑU ²²6B       ÅND ASMB¬Ò¬B¬Ì       NAM .SÅÔP       ÅNÔ .SÅÔP       ÅØÔ .ÆÆPB ª  .SÅÔP NÏP       ÊSB .ÆÆPB     ÃAÌÌ SÔUÆÆÅÒ       ÒAM SÅÔP SÅÔP  ÅÑU ²²·B       ÅND ASMB¬Ò¬B¬Ì¬Ã       NAM .ÆÆPB       ÅNÔ .ÆÆPB ª  ª  .ÆÆPB ÉS A ÒÏUÔÉNÅ USÅD ÔÏ ÒÅPÌAÃÅ A "ÊSB" ÔÏ A ª  SUBÒÏUÔÉNÅ ×ÉÔH ÔHÅ APPÒÏPÉAÔÅ MAÃÒÏÃÏDÅ. .ÆÆPB NÏP       SÔA ASAVÅ     SAVÅ A-ÒÅG       ÅÒA¬AÌS       SAVÅ Å- AND Ï-ÒÅG       SÏà       ÉNA       SÔA ÅÏSAV       ÌDA .ÆÆPB     ÃÏMPUÔÅ ADDÒÅSS ÏÆ       ADA DM²        ÅØÔÅÒNAÌ ÅNÔÒY PÏÉNÔ       ÌDA A¬É       ÃÏMPUÔÅ ADDÒÅSS ÏÆ       ADA DM±        ÊSB ÔÏ BÅ ÒÅPÌAÃÅD       SÔA ÔÅMP      SAVÅ ÉÔ       ÌDA .ÆÆPB¬É   ÌÏAD ÒAM ÏPÃÏDÅ AND ÒÅPÌAÃÅ       SÔA ÔÅMP¬É     ÔHÅ ÊSB ×ÉÔH ÉÔ       ÌDA ÅÏSAV     ÒÅSÔÏÒÅ Å-ÒÅG AND Ï-ÒÅG       ÃÌÏ       SÌA¬ÅÌA       SÔÏ       ÌDA ASAVÅ     ÒÅSÔÏÒÅ A-ÒÅG       ÊMP ÔÅMP¬É    ÅØÉÔ ÔÏ ÒAM ÃAÌÌ ª  ASAVÅ BSS ± ÅÏSAV BSS ± ÔÅMP  BSS ± DM±   DÅà-± DM²   DÅà-² A     ÅÑU 0       ÅND ±}ÿÿ ÿýäì ÿ12977-18007 1822 S C0122 FFP DIAG 21MX #1              H0101 ÐþúASMB,A,B,C,L HED 21MX FFP DIAGNOSTIC # 1 ORG 0 DSN 101213 30 MAY 1978 REV 1822 * * LAST CODE CHANGE 780501 * * EDITED 780530 * * * 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 107074. * 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 * (SUPPRESS ALL OPERATOR INTERVENTION) * 11 = SUPRESS ERROR MESSAGES * 10 = SUPRESS NON-ERROR MESSAGES * 9 = GO TO USER CONTROL SECTION * AT END OF PRESENT TEST * 8= SUPPRESS OPERATOR INTERVENTION TESTS * 7 * = DIAGNOSTIC OPTIONS * 0 * NOTE: STANDARD RUN SHOULD BE WITH SW. REG. = 0 * USER CONTROL WILL ASK FOR A 32 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 * * 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 * * CONTROL PROGRAM HALT MESSAGES * * 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 RESERVED * 102071 RESERVED * 102070 RESERVED * * þú 106077 TRAP CELL HALT * * * HED PROGRAM ORGANIZATION CHART * ******************************************* * * CONFIGURATOR 100B * * * LINKAGE TABLE * * ******************************************* * * EXECUTIVE 130B * * * LINKAGE * * ******************************************* * * CONSTANTS 150B * * * AND * * * STORAGE * * ******************************************* * * 2000B * * * EXECUTIVE CONTROL * * * * * ******************************************* * * IF USED * * * BASIC I/O TESTS (TEST 00) * * * ZCEND * * ******************************************* * * TABLE OF TEST POINTERS * * * TABLE OF I/O INSTR POINTERS * * ******************************************* * * * * * * * * * * * * * * * * * MAIN DIAGNOSTICS (1-31) * * * * * * * * * * * * * * * * * ******************************************* * * * * * * * * * * * * * * * uIþú* * * * * HED 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 CH EQU 10B I-O CHANNEL SELECT CODE * * 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 101213 DIAGNOSTIC SERIAL NUMBER FMTR BSS 1 FORMATTER * * * CONTROL LINKAGE AND DATA REFERENCES * CFIG DEF ZCONF CONFIGURATION SECTION MSGC DEF ZMSGC MESSAGE WITH NO HALT MSGH DEF ZMSGH MESSAGE WITH HALT ERMS DEF ZERMS ERROR MESSAGE SWRT DEF ZSWRT SWITCH REGISTER CHECK ROUTINE TSTN OCT 0 CURRENT TEST NUMBER EXRT DEF ZEXRT RETURN TO CONTROL PROGRAM NOP RESERVED * * * * * * * * * * * * * HED EXECUTIVE CONTROL ORG 2000B ZSTEX CLC INTP,C TURN I/O SYSTEM OFF JSB MSGC,I DO CRLF DEF ZRTLF LDA HDMP GET INTRODUCTORY MESSAGE STA *+2 JSB MSGC,I OUT PUT IT NOP CLA CLEAR PASS STA ZEOLC COUNT LDB ZSW9 CHECK FOR USÓ—þúER SELECTION REQ JSB SWRT,I JMP ZUSR IT'S USERS CHOICE ZNUSR LDA STDA GET STANDARD TEST RUN LDB STDB * JMP ZEXC * ZUSR LDA ZSINA RETRIEVE PREVIOUS RUN LDB ZSINB HLT 75B WAIT FOR USER INPUT NOP NOP NOP ZEXC STA ZUINA SAVE STB ZUINB USER STA ZSINA INPUT STB ZSINB PROGRAM LDB ZSW9 CHECK IF SW9 IS DOWN JSB SWRT,I JMP ZUSR NO GO AND WAIT CCA SET TEST NUMBER STA TSTN =-1 CLA STA ZTSTA CLEAR TEST RUN FLAG * * * * * * * * * * * * * * * * SKP ZEXCL LDA ZUINA RESTORE A REG. LDB ZUINB RESTORE B REG. ERA,RAL ROTATE ERB FIRST ERA TEST BIT STA ZUINA SAVE POSITIONS STB ZUINB ISZ TSTN MOVE TEST UP ONE NOP ZXCL1 LDA TSTN ADA TSTP GET IT'S LDA A,I ADDRESS CPA Z.M1 IS IT END OF LIST JMP ZEOL YES LDB ZUINB SSB,RSS SHOULD IT BE RUN? JMP ZEXCL NO STA ZTSTA YES - SAVE TEST ADDRESS JSB ZITCH INITIALIZE TRAP CELL HALTS JSB ZTSTA,I GO DO TEST ZEXRT LDA TSTN DISPLAY TEST NUMBER IF HALTED LDB ZSW15 CHECK FOR HALT AT END OF TEST JSB SWRT,I HLT 76B YES WAIT FOR OPERATOR LDB ZSW9 CHECK FOR ABORT JSB SWRT,I JMP ZUSR YES LDB ZSW13 CHECK FOR LOOP ON ROUTINE JSB SWRT,I JMP ZXCL1 YES - LOOP JMP ZEXCL CONTINUE * ZEOL LDA ZTSTA CHECK IF ANY TESTS WERE RUN SZA,RSS ? JMP ZNUSR NO SO PICK UP STANDARD RUN LDA ZEOLC UP DATE PASS COUNT INA STA ZEOLC CCE LDB ZPSCA GET PASS COUNT ADB Z.2 ADDRESS JSB O2AS,I CONVERT IT JSB MSGC,I ÇÁþúCALL PRINT ROUTINE ZPSCA DEF ZPSC LDB ZSW12 CHECK FOR LOOP ON DIAG. JSB SWRT,I JMP *+3 YES LDA ZEOLC HLT 77B NO WAIT AND DISPLAY PASS COUNT LDA ZSINA RESTORE ORIGINAL LDB ZSINB PROGRAM JMP ZEXC DO IT ALL AGAIN * SKP * MESSAGE OUTPUT WITH OUT HALT * ZMSGC NOP ENTRY JSB ZMSG OUTPUT MESSAGE OCT 2000 SWITCH 10 CHECK JMP ZMSGC,I RETURN TO CALLER * * MESSAGE OUTPUT WITH HALT * ZMSGH NOP ENTRY JSB ZMSG OUTPUT MESSAGE OCT 2000 SWITCH 10 CHECK LDA ZHLT GET HALT CODE STA *+2 PUT IT IN PLACE LDA ZSAVA RESTORE A REGISTER NOP HALT FOR DISPLAY JMP ZMSGH,I RETURN TO CALLER * * ERROR MESSAGE WITH HALT * ZERMS NOP ENTRY JSB ZMSG OUTPUT MESSAGE OCT 4000 SWITCH 11 CHECK CLA LDB ZSW14 CHECK SWR BIT 14 TO SUPPRESS JSB SWRT,I HALT STA *+3 PUT HALT IN PLACE LDA ZSAVA RESTORE A & B LDB ZSAVB ZHLT NOP WAIT FOR OPERATOR JMP ZERMS,I RETURN TO CALLER * * * * * * * * * * * * * SKP * OUTPUT MESSAGE * ZMSG NOP STA ZSAVA SAVE A AND B REGISTERS STB ZSAVB LDB ZMSG,I GET SWITCH REGISTER BIT LDA ZMSG ADA Z.M2 DECREMENT RETURN ADDRESS STA ZMSG JSB SWRT,I CHECK TO SUPPRESS MESSAGE JMP ZMSG0 YES LDA ZMSG,I CHECK IF ERROR LDA A,I LDA A,I IF SO ALF,ALF AND Z.177 CPA ZA.E JSB ZCFTN CHECK TO OUTPUT TEST NUMBER LDA ZMSG,I NO RETRIEVE FORMAT LDB A,I ADDRESS CLA,CLE JSB FMTR,I ZMSG0 LDA ZMSG,I CONVERT HALT CODE LDB A,I FROM ASCII STRING CCA,CCE JSB AS2N,I STA ZN2AO SAVE RESJXþúULT AND Z.300 DECODE LDB ZH2 HALT CODE CPA Z.100 LDB ZH6 CPA Z.200 LDB ZH3 CPA Z.300 LDB ZH7 LDA ZN2AO GET HALT NUMBER AND Z.77 IOR B STA ZHLT SAVE IT ISZ ZMSG,I ADJUST RETURN POINTERS ISZ ZMSG ISZ ZMSG ISZ ZMSG LDA ZSAVA RESTORE A AND B REGISTERS LDB ZSAVB JMP ZMSG,I * * * * * * SKP ZCFTN NOP LDA TSTN GET TEST NUMBER CPA ZCFTT IS IT THE SAME ONE? JMP ZCFTN,I YES SKIP OUTPUT STA ZCFTT NO - THEN UPDATE IT JSB ZN2AO CONVERT IT STA ZTSTN PUT IT IN STRING CLA DO A CRLF JSB SLOP,I CLA,CLE INDICATE START OF FORMAT LDB ZTSTF JSB FMTR,I JMP ZCFTN,I RETURN * * * * ZSAVA NOP ZSAVB NOP ZEOLC NOP ZTSTA NOP ZSINA NOP ZSINB NOP ZUINA NOP ZUINB NOP ZBTMP NOP Z.2 OCT 2 Z.7 OCT 7 Z.10 OCT 10 Z.60 OCT 60 Z.77 OCT 77 Z.177 OCT 177 Z.M1 DEC -1 Z.M2 DEC -2 ZD100 DEC -100 ZIOM OCT 177700 ZSW15 OCT 100000 ZSW14 OCT 40000 ZSW13 OCT 20000 ZSW12 OCT 10000 ZS812 OCT 010400 ZSW9 OCT 1000 Z.100 OCT 100 Z.200 OCT 200 Z.300 OCT 300 ZH2 OCT 102000 ZH6 OCT 106000 ZH3 OCT 103000 ZH7 OCT 107000 ZCFTT DEC -1 ZTSTF DEF *+1 ASC 3,TEST ZTSTN ASC 2,XX// ZRTLF ASC 1,// ZPSC ASC 6,PASS XXXXXX/ ZA.E OCT 105 HED GENERAL ROUTINES * * ZN2AO NOP STA ZIOAD SAVE NUMBER AND Z.7 CONVERT FIRST IOR Z.60 NUMBER STA B SAVE IT LDA ZIOAD GET RAR,RAR SECOND RAR NUMBER AND Z.7 CONVERT IOR Z.60 IT ALF,ALF MOVE TO UPPER HALF IOR B ADD LOWER JMP ZN2AO,I AND RETURN * * * * SWITCH REGISTER CHECK * ZSWRT NOP STA ZN2AO SAVE A REGISTER LIA SWÜ·þú GET SWITCH REG. AND B MASK OUT BIT SZA,RSS IS IT UP? ISZ ZSWRT NO LDA ZN2AO RESTORE A REGISTER LIB SW LET B = SWITCH REGISTER JMP ZSWRT,I RETURN TO CALLER * * * * INITIALIZE TRAP CELL HALTS * ZITCH NOP LDA ZTSH GET STARTING TRAP CELL HALT LDB Z.2 GET FIRST TRAP CELL LOCATION ZTSHL STA B,I PUT IT IN PLACE CPB Z.77 AM I FINISHED JMP ZITCH,I YES INB NEXT ADDRESS JMP ZTSHL * ZTSH OCT 106077 * * * SKP * PUT JSB INSTRUCTION IN TRAP CELL * ZTCJI NOP LDB ZJSBI GET INSTRUCTION STB ZIOSC,I PUT IT IN TRAP CELL LDA ZTCJI,I GET LOCATION STA 3B SAVE IT FOR JSB INSTRUCTION ISZ ZTCJI ADJUST RETURN JMP ZTCJI,I RETURN TO CALLER * ZJSBI JSB 3B,I JSB INSTRUCTION * * * INITIALIZE SELECT CODE I/O INSTRUCTIONS * ZISC NOP STA ZIOSC SAVE SELECT CODE STB ZIOAD SAVE TABLE ADDRESS ZIOL LDB ZIOAD,I GET ADDRESS OF LOCATION CPB Z.M1 IS IT THE TERMINATOR JMP ZISC,I YES RETURN TO CALLER LDA B,I NO - GET CONTENTS AND ZIOM MASK OFF OLD SELECT CODE IOR ZIOSC ADD IN NEW SELECT CODE STA B,I RESTORE IT ISZ ZIOAD MOVE TO NEXT ADDRESS JMP ZIOL DO IT * ZIOSC NOP ZIOAD NOP * * * * SKP * CONFIGURATION SECTION * ZCONF CLC INTP,C TURN I/O SYSTEM OFF LIA SW GET SELECT CODE AND OPTIONS STA USSC SAVE THEM AND Z.77 ELIMINATE OPTIONS LDB A CMB,INB CHECK THAT SC > 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 * ZCONA JSB PNTST,I TEST FOR CFER -- CONFIGURE STDA * luþú HLT 74B ALLOW OPERATOR TO CHANGE SWIT JMP ZSTEX GO TO EXEC CONTROL SECTION * PNTST DEF CNTST * ************************************************************************TAB 010 * TAB 020 * HP 21MX FAST FORTRAN PROCESSOR DIAGNOSTIC PROGRAM #1 * TAB 040 ************************************************************************TAB 050 * TAB 060 HED HP 21MX FFP DIAGNOSTIC BRANCH TABLE. ***** ***** TAB 350 * HP 21MX FFP DIAGNOSTIC BRANCH TABLE. * TAB 350 ***** ***** TAB 360 TSTD EQU * TAB 370 DEF TST12 ..MAP (SET BIT 0) DEF TST13 SNGL (SET BIT 1) DEF TST14 DBLE (SET BIT 2) DEF TST15 .DFER (SET BIT 3) DEF TST16 .XFER (SET BIT 4) DEF TST17 PWR2 (SET BIT 5) DEF TST18 .PACK (SET BIT 6) DEF TST19 FLUN (SET BIT 7) DEF TST20 .XPAK (SET BIT 8) DEF TST21 .XCOM (SET BIT 9) DEF TST22 ..DCM (SET BIT 10) DEF TST23 DDINT (SET BIT 11) DEF TST24 .CFER (SET BIT 12) OCT 177777 END OF TSTD MARKER * HDMS ASC 15,START 21MX FFP DIAGNOSTIC 1/ * IOID EQU * DEF STCSC DEF STFSC DEF CLCSC DEF INTSC DEC -1 HED TEST TABLE FOR PWR2 TESTS. ***** ****** TAB 070 * TEST TABLE FOR PWR2 TESTS. * TAB 080 ***** ****** TAB 090 TST1 DEC -3 NUMBER OF TEST VALUES IN THE TABLE TAB 100¾àþú TST10 EQU * TABLE ENTRY ADDRESS TAB 110 OCT 1 POWER OF 2 = N TAB 120 OCT 177776 *TEST VALUE #1 - LO MANTISSA+EXPONENT TAB 130 OCT 177400 RESULT #1 - EXPONENT OVERFLOWED TAB 140 DEC -1 POWER OF 2 = N TAB 150 OCT 177403 *TEST VALUE #2 - LO MANTISSA+EXPONENT TAB 160 OCT 177401 RESULT # 2 - EXPONENT UNDERFLOWED TAB 170 OCT 5 POWER OF 2 = N TAB 180 OCT 177476 *TEST VALUE # 3 - LO MANTISSA+EXPONENT TAB 190 OCT 177510 RESULT #3 - NORMAL TAB 200 HED TEST # 17 - PWR2 TESTS. ***** ***** PWR2 010 * TEST # 17 - PWR2 TESTS. * ***** ***** PWR2 030 TST17 EQU * NOP PWR2 050 JSB MSGC,I OUTPUT HEADER MESSAGE DEF MMS14 LDA TST1 OBTAIN LOOP COUNT PWR2 060 STA CNTR SET UP TEST LOOP COUNTER PWR2 070 LDA TSTA1 LOAD TEST TABLE POINTER PWR2 080 STA N INITIALIZE N PWR2 090 INA PWR2 100 STA LME1 PWR2 110 RPT1 LDB N PWR2 120 STB PARM1 ESTABLISH PARAMETER ADDRESS LDA LME1 TEST VALUE TABLE POINTER PWR2 140 LDB 0,I OBTAIN LO MANTISSA+EXP PWR2 150 INA ADVANCE TEST VALUE TAB@þúLE POINTER PWR2 180 STA LME1 PWR2 190 RAM PWR2 CALL TO PWR2 MICRO-ROUTINE PWR2 160 PARM1 NOP PARAMETER ADDRESS OF N STA XBUF SAVE ACTUAL VALUE PART 1 STB XBUF+1 SAVE ACTUAL VALUE PART 2 CPB LME1,I VERIFY RETURNED RESULTS PWR2 200 JMP ARD1 VERIFIED CORRECTLY PWR2 210 LDA 1 OBTAIN ACTUAL RESULT JSB ASCII,I CONVERT VALUE TO ASCII DEF ACTUL+5 LDB ACT5 STB *-2 RESTORES VALUE BUFFER POINTER LDA LME1,I OBTAIN EXPECTED VALUE JSB ASCII,I DEF EXPCT+5 LDB EXP5 STB *-2 CLA LOAD ACTUAL VALUE LDB XBUF+1 WORDS 1 AND 2 JSB ERMS,I DEF ERM14 ERROR MESSAGE BUFFER POINTER CLA LDB LME1,I EXPECTED VALUES JSB XINV2,I DISPLAY EXPECTED VALUES IN REG. A & B JSB DSPLY,I OUTPUT ACTUAL & EXPECTED VALUES ARD1 ISZ CNTR CHECK FOR EXIT CONDITION PWR2 300 JMP *+2 NOT EQUAL TO ZERO YET - SKIP AROUND PWR2 310 JMP EXT13 LDA LME1 OBTAIN EXPECTED VALUE POINTER INA POINT TO NEXT N PWR2 330 STA N N PWR2 340 INA ADJUST TABLE POINTER PWR2 350 STA LME1 POINT TO NEXT TEST VALUE PWR2 360 JMP RPT1 LOOP BACK PWR2 370 EXT13 JMP TST17,I RETURN ERM14 ASC 11,E230 PWR2 DATA ERROR/ MMS14 ASC 8,H230 PWR2 TEST/ TSTA1 DEF TST10 TABLE POINTER N BSS 1 POWER OF 2'S TEMPORARY STORAGE LME1 BSS 1 RESULT POINTER HED TEST TABLE FOR .PACK TESTS. ***** ***** #ÐB@< TAB 320 * TEST TABLE FOR .PACK TESTS. * TAB 330 ***** ***** TAB 340 TST3 DEC -2 NUMBER OF TEST VALUES IN TABLE TST30 EQU * TABLE ENTRY ADDRESS TAB 360 OCT 077777 *TEST VALUE #1 - HI MANTISSA TAB 370 OCT 177777 - LO MANTISSA TAB 380 OCT 177777 - EXPONENT (NEG) TAB 390 OCT 040000 RESULT #1 - HI MANTISSA OCT 0 - LO MANTISSA+EXP OCT 077777 *TEST VALUE #2 - HI MANTISSA TAB 420 OCT 177252 - LO MANTISSA TAB 430 OCT 000125 - EXPONENT(POS) TAB 440 OCT 077777 RESULT #2 - HI MANTISSA TAB 450 imBÿÿ ÿýåõ ÿ12977-18008 1822 S C0122 FFP DIAG 21MX #1              H0101 Ðþú OCT 177652 LO MANTISSA+EXP OCT 077777 *TEST VALUE #3 - HI MANTISSA TAB 470 OCT 177400 - LO MANTISSA TAB 480 OCT 033333 - EXPONENT TAB 490 OCT 077777 RESULT #3 - HI MANTISSA TAB 500 OCT 177733 - LO MANTISSA+RES. EXP TAB 510 HED TEST # 18 - .PACK TESTS. ***** ***** .PACK010 * TEST # 18 - .PACK TESTS. * ***** ***** .PACK030 TST18 EQU * NOP RETURN ADDRESS .PACK050 JSB MSGC,I OUTPUT TEST HEADER MESSAGE DEF MMS15 LDA TST3 OBTAIN LOOP COUNT .PACK060 STA CNTR SET UP LOOP COUNTER .PACK070 LDA TSTA2 OBTAIN TABLE POINTER .PACK080 RPT2 STA TST31 RUNNING TABLE POINTER .PACK090 ADA .+2 LDB 0,I OBTAIN THE EXPONENT .PACK110 STB PACK1 SET UP THE PARAMETER(EXP) ADA .+2 STA TST32 .PACK140 DLD TST31,I LOAD THE TEST VALUE(NO EXPONENT) .PACK150 RAM .PACK CALL TO .PACK MICRO-ROUTINE PACK1 BSS 1 EXPONENT PARAMETER STA XBUF SAVE ACTUAL VALUE PART 1 STB XBUF+1 SAVE ACTUAL VALUE PART 2 LDA TST32 ADA .-1 LDA A,I GET EXPECTED HI MANTISSA CPA XBUF VERIFY HI MANTISSA JMP PACK3 OK! LDA XBUF ERROR. RESTORE (A) JMP PACK2 GO TO ERROR ROUTINE. * PACK3 CPB TST32,I VERIFY ACT. LO MANT.+EXP. JMP ARD2 EQUAL CONDITION- RESULT VERIFIED EÑþú.PACK190 * * OUTPUT ACTUAL AND EXPECTED RESULTS * * CONVERT ACTUAL VALUE TO ASCII. PACK2 JSB ASCII,I CONVERT HI MANTISSA TO ASCII DEF ACTUL+5 CPB 0 SWITCHING POINT JMP *+3 LDA XBUF+1 JMP *-5 EXPONENT TO ASCII LDB ACT5 STB *-6 * CONVERT EXPECTED VALUE TO ASCII. LDB TST32,I ACTUAL LO MANTISSA + EXP LDA TST32 POINTER TO LO MANTISSA+EXP ADA .-1 PTR POINTS TO HI MANT. LDA 0,I OBTAIN HI MANTISSA JSB ASCII,I CONVERT HI MANTISSA TO ASCII DEF EXPCT+5 CPB 0 SWITCHING POINT JMP *+3 LDA 1 PREPARE LO MANTISSA + EXP JMP *-5 FOR ASCII CONVERSION LDB EXP5 STB *-6 DLD XBUF LOAD ACTUAL VALUES JSB ERMS,I OUTPUT ERROR MESSAGE DEF ERM15 ERROR MESSAGE BUFFER POINTER LDA TST32 ADA .-1 DLD 0,I LOAD EXPECTED VALUES JSB XINV2,I DISPLAY EXPECTED VALUES IN REG. A & B JSB DSPLY,I OUTPUT ACTUAL & EXPECTED VALUES ARD2 ISZ CNTR CHECK EXIT CONDITION .PACK JMP ARD20 JUMP AROUND EXT14 JMP TST18,I RETURN ARD20 LDA TST32 OBTAIN RESULT POINTER INA UPDATE THE POINTER .PACK320 JMP RPT2 LOOP BACK .PACK330 MMS15 ASC 8,H240 .PACK TEST/ ERM15 ASC 12,E240 .PACK DATA ERROR/ TST31 BSS 1 TST32 BSS 1 TSTA2 DEF TST30 HED TEST TABLE FOR FLUN TESTS. ***** ***** TAB 210 * TEST TABLE FOR FLUN TESTS. * TAB 220 ***** ***** TAB 230 TST2 DEC -2 NUMBER OF TEST VALUES IN THE TABLE TAB 240 TST2A EQU * TABLE ENTRY ADDRESS OCT 177777 *TEST VALUE #1 - LO MANTISSA+EXPONENT TAB 260 G?þú OCT 177400 UNPACKED LO MANTISSA TAB 270 OCT 177777 UNPACKED EXPONENT(NEGATIVE) TAB 280 OCT 177776 *TEST VALUE #2 - LO MANTISSA+EXPONENT TAB 290 OCT 177400 UNPACKED MANTISSA TAB 300 OCT 000177 UNPACKED EXPONENT(POSITIVE) TAB 310 HED TEST # 19 - FLUN TESTS. ***** ***** FLUN 010 * TEST # 19 - FLUN TESTS. * ***** ***** FLUN 030 TST19 EQU * NOP RETURN ADDRESS FLUN 050 JSB MSGC,I OUTPUT TEST HEARDER MESSAGE DEF MMS16 LDA TSTA3 ACCESS TABLE POINTER FLUN 060 LDB TST2 OBTAIN TEST VALUE LOOP COUNT FLUN 070 STB CNTR SET UP LOOP COUNTER FLUN 080 RPT3 LDB 0,I LO MANTISSA+EXPONENT IN REGISTER B FLUN 100 INA ADJUST POINTER - POINT TO UNPACKED RESULT FLUN 110 STA TST2B SAVE ADJUSTED POINTER RAM FLUN CALL TO FLUN MICRO-ROUTINE FLUN 130 STA XBUF SAVE ACTUAL VALUE PART 1 STB XBUF+1 SAVE ACTUAL VALUE PART 2 CPB TST2B,I VERIFY UNPACKED LO MANTISSA JMP *+2 VERIFIED CORRECTLY(EQUAL) FLUN 150 JMP ERR15 JUMP TO ERROR ROUTINE(NOT EQUAL) FLUN 160 LDB TST2B OBTAIN TABLE POINTER-RESULT PTR. INB ADJUST POINTER - POINT TO UNPACKED EXPONENT FLUN 180 CPA 1,I VERIFY UNPACKED EXPONENT FLUN 190 JMP ARD3 VERIFIED CORRECTLY(EQUAL) LDB XBUF+1 RELOAD ACTUAL LO MANT. ERR15 STA TEMP LDA B LDB TEMP JSB ASCII,I CONVERT TO ASCII yþú DEF ACTUL+5 ASCII CPB 0 SWITCH POINT JMP *+3 LDA 1 CONVERT ACTUAL LO MANTISSA +EXP JMP *-5 TO ASCII LDB ACT5 STB *-6 LDB TST2B LDA B,I INB LDB B,I CONVERT EXPECTED LO MANT. JSB ASCII,I MANTISSA TO ASCII DEF EXPCT+5 CPB 0 SWITCH POINT JMP *+3 LDA 1 JMP *-5 LDB EXP5 STB *-6 DLD XBUF LOAD ACTUAL VAL.- WORDS 1 & 2 JSB ERMS,I OUTPUT ERROR MESSAGE DEF ERM16 LDA TST2B ADA .-1 DLD 0,I LOAD EXPECTED VALUES JSB XINV2,I DISPLAY EXPECTED VALUES IN REG. A & B JSB DSPLY,I OUTPUT ACTUAL & EXPECTED VALUES ARD3 ISZ CNTR CHECK EXIT CONDITION JMP ARD30 SKIP AROUND EXT15 JMP TST19,I RETURN ARD30 LDA TST2B OBTAIN CURRENT TABLE POINTER ADA .+2 JMP RPT3 FLUN 330 ERM16 ASC 11,E250 FLUN DATA ERROR/ MMS16 ASC 8,H250 FLUN TEST/ TSTA3 DEF TST2A TST2B BSS 1 HED TEST TABLE FOR .XPAK TESTS. ***** ***** TAB 520 * TEST TABLE FOR .XPAK TESTS. * TAB 530 ***** ***** TAB 540 TST4 DEC -4 NUMBER OF TEST VALUES IN THE TABLE TAB 550 TST40 EQU * TABLE ENTRY ADDRESS TAB 560 OCT 000376 *TEST VALUE #1 - EXPONENT(POS) TAB 570 OCT 070707 - HI MANTISSA TAB 580 OCT 107070 - MID MANTISSA TAB 590 OCT 070400 - LO MANTISSA TAB 600 OCT 077777 RESULT #1 - HI MANTISSA OCT 177777 - MID MANTISSA OCT 177776 - LOW MANTISSA + EXP OCT 1776ºpþú53 *TEST VALUE #2 - EXPONENT(NEG) TAB 640 OCT 070707 - HI MANTISSA TAB 650 OCT 107070 - MID MANTISSA TAB 660 OCT 070400 - LO MANTISSA+EXP TAB 670 OCT 070707 RESULT #2 - HI MANTISSA TAB 680 OCT 107070 MID MANTISSA TAB 690 OCT 070527 - LO MANTISSA+EXP TAB 700 OCT 000146 *TEST VALUE #3 - EXPONENT TAB 710 OCT 070707 - HI MANTISSA TAB 720 OCT 107070 - MID MANTISSA TAB 730 OCT 070400 - LO MANTISSA TAB 740 OCT 070707 RESULT #3 - HI MANTISSA TAB 750 OCT 107070 MID MANTISSA TAB 760 OCT 070714 - LO MANTISSA+EXP TAB 770 OCT 000777 *TEST VALUE #4 - EXPONENT TAB 780 OCT 070707 - HI MANTISSA TAB 790 OCT 107070 - MID MANTISSA TAB 800 OCT 070400 - LO MANTISSA TAB 810 OCT 077777 RESULT #4 - HI MANTISSA OCT 177777 - MID MANTISSA OCT 177776 LOW MANTISSA + EXP HED TEST # 20 - .XPAK TESTS. ***** ***** .XPAK 10 * TEST # 20 - .XPAK TESTS. * ***** ***** .XPAK 40 TST20 EQU * NOP RETURN ADDRESS .XPAK 50 JSB MSGC,I OUTPUT TEST HEADER MESSAGE DEF MMS17 LDA TSTA4 LVþú .XPAK 60 STA TST41 ESTABLISH A RUNNING POINTER .XPAK 70 LDB TST4 OBTAIN LOOP COUNT .XPAK 80 STB CNTR ESTABLISH A LOOP COUNTER .XPAK 90 RPT4 INA BUMP POINTER .XPAK100 STA TEMP JSB XCOPY,I JUMP TO MOVE DATA WORD ROUTINE DEF TEMP DEF XBUF DESTINATION COPY ADDRESS OCT 3 WORD COUNT ADA .+3 STA TST42 SET UP ADDRESS OF RESULT IN TST4 LDA TST41,I OBTAIN EXPONENT OF TEST VALUE .XPAK150 RAM .XPAK CALL .XPAK MICRO-ROUTINE .XPAK160 DEF XBUF ADDRESS PARAMETER OF TEST VALUE JSB COMP,I JUMP TO VALUE COMPARISON ROUTINE DEF ERR16 ERROR RETURN ADDRESS DEF TST42 SOURCE COMPARE POINTER DEF XBUF DESTINATION COMPARE ADDRESS OCT 3 WORD COUNT JMP ARD4 OK - SKIP AROUND ERR16 LDA .-3 STA XBUF+3 SET UP A LOOP COUNTER LDB XBUFR OBTAIN ACTUAL RESULT AREA ADDRESS LDA 1,I OBTAIN ACTUAL VALUE JSB ASCII,I CONVERT ACTUAL VALUE TO ASCII DEF ACTUL+5 INB ISZ XBUF+3 DECREMENT LOOP COUNT & CHECK FOR JMP *-5 EXIT CONDITION LDB ACT5 STB *-5 LDA .-3 STA XBUF+3 LDB TST42 ADDRESS OF EXPECTED VALUE AREA LDA 1,I EXPECTED VALUE JSB ASCII,I CONVERT EXPECTED VALUE TO ASCII DEF EXPCT+5 INB ISZ XBUF+3 DECREMENT LOOP COUNT & CHECK FOR JMP *-5 EXIT CONDITION LDB EXP5 STB *-5 DLD XBUF LOAD ACTUAL VALUE- WORDS 1 & 2 JSB ERMS,I OUTPUT ERROR MESSAGE DEF ERM17 JSB SHLTC,I SET HALT CODE LDA XBUF+2 LOAD ACTUAL VAL. - WORD 3 CLB JSB XINV2,I DISPLAY ACTUAL VAL-WORD 3 JSB RHLTC,I REÇ€þúSTORE HALT CODE JSB XINV3,I REGISTER DISPLAY OF EXPECTED VALUES DEF TST42,I JSB DSPLY,I OUTPUT ACTUAL & EXPECTED VALUES ARD4 ISZ CNTR CHECK FOR EXIT CONDITION JMP *+2 SKIP AROUND EXT16 JMP TST20,I RETURN LDA TST42 .XPAK480 ADA .+3 MOVE TST42 TO NEXT SET OF TEST VALUE STA TST41 UPDATE THE VALUE POINTER .XPAK500 JMP RPT4 LOOP BACK .XPAK510 ERM17 ASC 12,E260 .XPAK DATA ERROR/ MMS17 ASC 8,H260 .XPAK TEST/ TSTA4 DEF TST40 TST41 BSS 1 TST42 BSS 1 LABLC EQU * ORG 170B ADJ BSS 1 XBUF BSS 4 XBUFR DEF XBUF ORG LABLC HED TEST TABLE FOR .XCOM TESTS. ***** ***** TAB 080 * TEST TABLE FOR .XCOM TESTS. * TAB 090 ***** ***** TAB 100 TST6 DEC -3 NUMBER OF TEST VALUES IN THE TABLE TAB 110 TST60 EQU * TABLE ENTRY ADDRESS TAB 120 OCT 052525 *TEST VALUE #1 - HI MANTISSA TAB 130 OCT 052525 - MID MANTISSA TAB 140 OCT 052400 - LO MANTISSA(NO EXPONENT) TAB 150 OCT 000000 RESULT #1 - ADJUSTMENT TO EXPONENT TAB 160 OCT 125252 - HI MANTISSA TAB 170 OCT 125252 - MID MANTISSA TAB 180 OCT 125400 - LO MANTISSA TAB 190 OCT 177777 *TEST VALUE #2 - HI MANTISSA TAB 200 OCT 177777 - MID MANTISSA TAB 210 OCT 177400 - LO MANTISSA(NO EXOPNENT) TAB 220 OCT 00k>þú0000 RESULT #2 - ADJUSTMENT TO EXPONENT TAB 230 OCT 000000 - HI MANTISSA TAB 240 OCT 000000 - MID MANTISSA TAB 250 OCT 000400 LO MANTISSS TAB 260 OCT 000000 *TEST VALUE #3 - HI MANTISSA TAB 270 OCT 000000 - MID MANTISSA TAB 280 OCT 000000 - LO MANTISSA TAB 290 OCT 000000 RESULT #3 - ADJUSTMENT TO EXP OCT 000000 - HI MANTISSA TAB 310 OCT 000000 - MID MANTISSA TAB 320 OCT 000000 - LO MANTISSA TAB 330 HED TEST #21 - .XCOM TESTS. ***** ***** .XCOM 10 * TEST # 21 - .XCOM TESTS. ***** ***** .XCOM 30 TST21 NOP JSB MSGC,I OUTPUT TEST HEADER MESSAGE DEF MMS18 LDA TST6 OBTAIN LOOP COUNT .XCOM 50 STA CNTR SET UP THE LOOP COUNTER LDA TSTA5 OBTAIN ADDRESS OF TABLE ENTRY RPT5 STA TST61 SET UP ADDRESS PARAMETER ADA .+3 STA TST62 POINTER TO RESULT .XCOM110 JSB XCOPY,I JUMP TO MOVE DATA ROUTINE DEF TST61 SOURCE COPY ADDRESS DEF XBUF DESTINATION COPY ADDRESS OCT 3 RAM .XCOM CALL TO .XCOM MICRO-ROUTINE .XCOM120 DEF XBUF ADDRESS PARAMETER STA ADJ SAVE RETURNED ADJUSTMENT TO EXP JSB COMP,I JUMP TO COMPARISON ROUTINE DEF ERR17 ERROR RETURN ADDRESS DEF TST62 SOURCE COMPARE POINTER DEF ADJ DESTINATION COMPARE ADDRESS OCT 4 WORD COUNT JMP ARD5 ERþúR17 JSB CNVRT,I DEF ADJ DEF TST62 OCT 4 LDA ADJ EXPONENT ADJUSTMENT LDB XBUF ACTUAL VAL. - WORD 1 JSB ERMS,I JUMP TO ERROR MESSAGE HANDLER .XCOM370 DEF ERM18 JSB SHLTC,I SET HALT CODE DLD XBUF+1 JSB XINV2,I OUTPUT WORDS 2 & 3 JSB RHLTC,I RESTORE HALT CODE LDA TST62,I LDB TST62 INB STB TST61 JSB XINV4,I REG. DISPLAY OF EXPECTED VALUES DEF TST61,I JSB DSPLY,I OUTPUT ACTUAL & EXPECTED VALUES ARD5 ISZ CNTR CHECK FOR EXIT CONDITION .XCOM420 JMP *+2 JUMP AROUND EXT17 JMP TST21,I RETURN LDA TST62 ADA .+4 ADJUST TEST TABLE POINTER JMP RPT5 LOOP BACK .XCOM470 ERM18 ASC 12,E300 .XCOM DATA ERROR/ MMS18 ASC 8,H300 .XCOM TEST/ TSTA5 DEF TST60 TST61 BSS 1 TST62 BSS 1 HED TEST TABLE FOR ..DCM TESTS. ***** ***** TAB 850 * TEST TABLE FOR ..DCM TESTS. * TAB 860 ***** ***** TAB 870 TST5 DEC -3 NUMBER OF TEST VALUSS IN THE TABLE TAB 880 TST50 EQU * TABLE ENTRY ADDRESS TAB 890 OCT 000000 *TEST VALUE #1 - HI MANTISSA TAB 900 OCT 000000 - MID MANTISSA TAB 910 OCT 000377 - LO MANTISSA+EXPONENT(NEGATIVE) TAB 920 OCT 000000 RESULT #1 - HI MANTISSA OCT 000000 - MID MANTISSA OCT 000000 - LO MANTISSA + EXP OCT 177777 *TEST VALUE #2 - HI MANTISSA TAB 960 OCT 177777 - MID MANTISSA TAB 970 OCT 177777 - LO MANTISSA+EXOONENT ÷8þú TAB 980 OCT 040000 RESULT #2 - HI MANTISSA OCT 000000 - MID MANTISSA TAB 000 OCT 000263 - LO MANTISSA + EXP OCT 000000 *TEST VALUE #3 - HI MANTISSA(NEGATIVE) TAB 020 OCT 000000 - MID MANTISSA TAB 030 OCT 000376 - LO MANTISSA+EXPONENT(POSITIVE) TAB 040 OCT 000000 RESULT #3 - HI MANTISSA OCT 000000 - MID MANTISSA O.K. TAB 060 OCT 000000 - EXPONENT OVERFLOWED TAB 070 HED TEST # 22 - ..DCM TESTS. ***** ***** ..DCM 10 * TEST # 22 - ..DCM TESTS. * ***** ***** ..DCM 30 TST22 NOP JSB MSGC,I OUTPUT TEST HEADER MESSAGE DEF MMS19 LDA TST5 OBTAIN LOOP COUNT ..DCM 60 STA CNTR SET UP A LOOP COUNTER ..DCM 70 LDA TSTA6 RPT6 STA TST51 TEST VALUE ADDRESS PARAMETER ..DCM100 ADA .+3 STA TST52 SET UP RESULT POINTER ..DCM130 JSB XCOPY,I MOVE TEST VALUES INTO BUFFER DEF TST51 SOURCE COPY ADDRESS DEF XBUF DESTINATION COPY ADDRESS OCT 3 WORD COUNT RAM ..DCM CALL TO ..DCM MICRO-ROUTINE ..DCM140 DEF XBUF ADDRESS PARAMETER OF TEST VALUE JSB COMP,I VALUE COMPARISONS DEF ERR18 ERROR RETURN ADDRESS DEF TST52 SOURCE COMPARE POINTER DEF XBUF DESTINATION COMPARE ADDRESS OCT 3 WORD COUNT JMP ARD6 ERR18 JSB CNVRT,I DEF XBUF ACTUAL VALUE BUFFER ADDRESS DEF TST52 OCT 3 WORD COUNT DLD XBUF LOAD ACTUAL VAL. - WORDS 1 & 2 JSB ERMS,I JU²ºB@ * DEF * DEF * OCT ***** ********************************************** ORG 4000B CMPAR NOP STA SAVEA STB SAVEB LDA CMPAR OBTAIN P+1 LDB 0,I OBTAIN ERROR RETURN ADDRESS STB ERRCP SET UP ERROR RETURN POINTER INA BUMP POINTER LDB 0,I OBTAIN SOURCE COMPARE ADDRESS LDB B,I STB CSRCE INA LDB 0,I OBTAIN DESTINATION COMPARE ADDRE STB CDEST INA LDB 0,I OBTAIN WORD COUNT CMB,INB NEGATE THE WORD COUNT STB CPCNT SET UP A WORD COUNTER INA STA CMPAR ADJUST RETURN ADDRESS LDA CSRCE CMPLP LDB 0,I OBTAIN SOURCE COMPARE DATA CPB CDEST,I COMPARE SOURCE DATA TO DEST. DAT JMP *+2 COMPARE EQUAL, SKIP AROUND JMP ERRCP,I COMPARE NOT EQUAL, ERROR RETURN ISZ CPCNT UPDATE & EXAMINE COUNTER JMP *+2 COUNTER NOT ZERO YET JMP CPRTN COUNTER = T¸þú0, NORMAL RETURN INA BUMP SOURCE DATA ADDRESS LDB CDEST UPDATE DESTINATION ADDRESS INB STB CDEST JMP CMPLP LOOP BACK CPRTN LDA SAVEA LDB SAVEB JMP CMPAR,I CPCNT BSS 1 CSRCE BSS 1 CDEST BSS 1 ERRCP BSS 1 HED SUBROUTINE COPY ***** ********************************************** * SUBROUTINE COPY PERFORMS DATA WORD MOVES * CALLING SEQUENCE : * JSB COPY * DEF * DEF * OCT ***** ********************************************** COPY NOP STA SAVEA STB SAVEB LDB COPY ADDRESS OF PARAMETER LIST LDA 1,I OBTAIN SOURCE COPY ADDRESS LDA A,I STA SRCE SAVE SOURCE COPY ADDRESS INB LDA 1,I OBTAIN AND SET UP STA DEST DESTINATION COPY ADDRESS INB LDA 1,I OBTAIN AND SET UP CMA,INA NEGATE WORD COUNT STA WDCNT WORD COUNT INB UPDATE RETURN ADDRESS STB COPY CPYLP LDB SRCE UPDATE SOURCE COPY POINTER INB LDA SRCE,I OBTAIN SOURCE DATA STB SRCE SAVE UPDATED SOURCE COPY ADDR LDB DEST STA 1,I MOVE SRCE DATA INTO DEST. DATA W INB UPDATE DEST. COPY POINTER STB DEST SAVE UPDATED DEST. POINTER ISZ WDCNT UPDATE & EXAMINE WORD COUNT JMP CPYLP LOOP BACK LDA SAVEA LDB SAVEB JMP COPY,I NORMAL RETURN WDCNT BSS 1 SRCE BSS 1 DEST BSS 1 HED SUBROUTINE CVRT **************************************************** * CVRT CONVERTS A NUMBER OF OCTAL WORDS TO ASCII * CALLING SEQUENCE: * JSB CVRT * DEF * DEF * OCT ***** ********************************************** CVRT NOP STA SAVEA STB SAVEB LDA CVRT ÷Tþú ACCESS P+1 LDB 0,I ADDRESS OF ACTUAL VALUE BUFFER STB ACT INA LDB 0,I ADDRESS OF EXPECTED VALUE BUFFER LDB B,I STB EXP INA LDB 0,I WORD COUNT CMB,INB NEGATE THE WORD COUNT STB WRDCT INA ADJUSTED RETURN ADDRESS STA CVRT LDA .-2 STA VCOM LDB ACT ACTUAL VALUE BUFFER POINTER CVRT1 LDA WRDCT SET UP A WORD COUNTER STA LPCNT CVRT2 LDA 1,I OBTAIN AN OCTAL WORD JSB ASCII,I CONVERT TO ASCII CVRTP DEF ACTUL+5 ISZ LPCNT UPDATE & EXAMINE LOOP COUNTER JMP *+2 JMP *+3 INB UPDATE BUFFER POINTER JMP CVRT2 LDB EXP EXPECTED VALUE BUFFER POINTER LDA EXP5 STA CVRTP ISZ VCOM UPDATE & EXAMINE PASS COUNTER JMP CVRT1 LDA ACT5 STA CVRTP LDA SAVEA LDB SAVEB JMP CVRT,I EXIT VCOM BSS 1 ACT BSS 1 EXP BSS 1 LPCNT BSS 1 WRDCT BSS 1 HED O2ASC - OCTAL TO ASCII CONVERSION ***** * O2ASC - OCTAL TO ASCII CONVERSION ROUTINE * REG. A MUST CONTAIN THE OCTAL WORD * ASCII BUFFER POINTER MUST FOLLOW JSB IMM. ***** O2ASC NOP STB SAVEB SAVE C(REG. B) CLB REG. B = 0 STA SAVEA SAVE C(REG. A) = OCTAL WORD * EXTRACT OCTAL DIGIT 6(BIT 15 OF OCTAL WORD) AND MASKF MASK OUT BITS 14-0 SSA,RSS OCTAL DIGIT = 0 ? JMP TASC1 YES ALF,ALF NO, ROTATE LEFT 9 BITS RAL ADB 0 SET UP THE OCTAL DIGIT TASC1 ADB MASK1 MAKE IT ASCII * EXTRACT OCTAL DIGIT 5(BITS 14-12) LDA SAVEA RELOAD REG. A WITH THE OCTAL WORD AND MASKE MASK OUT OTHER BITS SZA,RSS OCTAL DIGIT = 0 ? JMP TASC2 YES ALF NO, ROTATE LEFT 4 BITS ADB 0 SET UP THE OCTAL DIGIT TASC2 ADB MASK2 MAKE IT ASCII JSB FILL FILLBUFFER WORD DEF O2ASC * isþú EXTRACT OCTAL DIGIT 4(BITS 11-9) LDA SAVEA RELOAD THE OCTAL WORD AND MASKD MASK OUT OTHER BITS SZA,RSS OCTAL DIGIT = 0 ? JMP TASC3 YES RAR NO,ROTATE RIGHT 1 BIT ADB 0 SET UP THE OCTAL DIGIT TASC3 ADB MASK1 MAKE IT ASCII * EXTRACT OCTAL DIGIT 3(BITS 8-6) LDA SAVEA RELOAD THE OCTAL WORD AND MASKC MASK OUT OTHER BITS SZA,RSS JMP TASC4 YES ALF,ALF NO, ROTATE LEFT 10 BITS RAL,RAL ADB 0 SET UP THE OCTAL DIGIT TASC4 ADB MASK2 MAKE IT ASCII JSB FILL DEF O2ASC * EXTRACT OCTAL DIGIT 2(BITS 5-3) LDA SAVEA RELOAD THE OCTAL WORD AND MASKB MASK OUT OTHER BITS SZA,RSS OCTAL DIGIT = 0 ? JMP TASC5 YES ALF NO, ROTATE LEFT 5 BITS RAL ADB 0 SET UP THE OCTAL DIGIT TASC5 ADB MASK1 MAKE IT ASCII * EXTRACT OCTAL DIGIT 1(BITS 2-0) LDA SAVEA RELOAD THE OCTAL WORD AND MASKA MASK OUT OTHER BITS ADB 0 SET UP THE OCTAL DIGIT ADB MASK2 MAKE IT ASCII JSB FILL DEF O2ASC LDA O2ASC,I INSERT A BLANK INA AFTER EACH ASCII STA O2ASC,I OCTAL VALUE LDB SB INSERT STB 0,I "/ " LDA O2ASC ADJUST RETURN ADDRESS INA TO BYPASS PARAMETER STA O2ASC ADDRESS LOCATION LDA SAVEA LDB SAVEB JMP O2ASC,I RETURN MASK1 OCT 030000 MASK2 OCT 000060 MASKA OCT 000007 MASKB OCT 000070 MASKC OCT 000700 MASKD OCT 007000 MASKE OCT 070000 MASKF OCT 100000 SB OCT 027440 "/ " SAVEA BSS 1 SAVEB BSS 1 HED SUBROUTINES ***** * FILL - STUFFS C(REG. B) INTO A BUFFER WORD. ***** FILL NOP LDA FILL,I ASCII BUFFER POINTER LOCATION LDA 0,I ASCII BUFFER ADDRESS POINTER LDA 0,I ASCII BUFFER ADDRESS STB 0,I FILL 1 BUFFER WORD INA BYKþúUMP ASCII BUFFER ADDRESS LDB FILL,I ADDR(O2ASC) LDB 1,I BUFFER POINTER LOCATION STA 1,I SAVE UPDATED BUFFER ADDRESS LDB FILL ADJUST RETURN ADDRESS INB TO BYPASS PARAMETER WORD STB FILL CLB REG. B = 0 JMP FILL,I RETURN * * TWO WORD VALUES OUTPUT VIA REGISTERS A & B * CALLING SEQUENCE : * LDA PARM1 * LDB PARM2 * JSB INVL2 * INVL2 NOP STB ITEMP 1ST WORD IN REG. A LDB SW14 JSB SWRT,I SUPPRESS ERROR HALTS ? JMP INVL2,I NO ERROR HALT LDB ITEMP RESTORE 2ND WORD OCT 107000 HALT CODE JMP *-3 RETURN TO CALLER SW14 OCT 040000 MASK ITEMP BSS 1 * * THREE WORD OUTPUT VIA REGISTERS A & B * CALLING SEQUENCE : * JSB INVL3 * DEF X * INVL3 NOP JSB PARMR LDB SW14 JSB SWRT,I SUPPRESS ERROR HALTS ? JMP PRPTR,I NO ERROR HALT LDA PARMZ,I ONTAIN 1ST PARAMETER LDB PARMZ INB STB ITEMP LDB ITEMP,I OBTAIN 2ND WORD OCT 107001 HLT CODE # 2 LDB ITEMP INB LDA 1,I OBTAIN 3RD WORD CLB OCT 107000 HLT CODE # 1 JMP PRPTR,I RETURN TO CALLER * * FOUR WORD VALUES OUTPUT VIA REGS. A & B * CALLING SEQUENCE : * LDA PARM1 * JSB INVL4 * DEF PARM2 * INVL4 NOP JSB PARMR LDB SW14 JSB SWRT,I SUPPRESS ERROR HALTS ? JMP PRPTR,I NO ERROR HALT LDB PARMZ,I OBTAIN PARAMETER ADDRESS OCT 107001 HLT CODE # 2 LDB PARMZ INB LDA 1,I OBTAIN 3RD WORD INB LDB 1,I OBTAIN 4TH WORD OCT 107000 HLT CODE # 1 JMP PRPTR,I RETURN TO CALLER PARMZ BSS 1 * * PARMR SAVES PARAMETER POINTER IN PARMZ AND ADJ ** RETURN ADDRESS OF THE CALLING PROGRAM * TO BYPASS PARAMETE úþúR POINTER * PARMR NOP LDB *-1 ADB .-2 LDB 1,I LOAD RETURN ADDRESS STB PARMZ SAVE PARAMETER POINTER INB STB PRPTR SAVE ADJUSTED RETURN ADDRESS JMP PARMR,I PRPTR BSS 1 * * DISPL NOP JSB MSGC,I OUTPUT VALUES IN QUESTION DEF ACTUL JSB MSGC,I OUTPUT VALUES IN QUESTION DEF EXPCT JMP DISPL,I LABL EQU * HED MAPPING CODES FOR MACRO **************************************************** * MAPPING CODES FOR MACRO * **************************************************** .DFER EQU 205B .XFER EQU 220B ..MAP EQU 222B DBLE EQU 201B SNGL EQU 202B .PACK EQU 230B FLUN EQU 226B PWR2 EQU 225B .XPAK EQU 206B .XCOM EQU 215B ..DCM EQU 216B DDINT EQU 217B ORG 150B CNTR BSS 1 LOOP COUNTER CNVRT DEF CVRT XCOPY DEF COPY COMP DEF CMPAR ASCII DEF O2ASC DSPLY DEF DISPL XINV2 DEF INVL2 XINV3 DEF INVL3 XINV4 DEF INVL4 ORG 140B IOIP DEF IOID TSTP DEF TSTD TEST TABLE POINTER HDMP DEF HDMS STDA OCT 7777 STDB OCT 0 HED TEST DATA TABLES ******************************************************************** * SPECIAL TEST TABLE FOR SNGL TESTS * * OVERFLOW SHOULD BE SET ******************************************************************** ORG LABL SGHD1 DEC 2 SGBS1 EQU * OCT 137777 -0.146936793854E-38 OCT 177600 LOWER BOUNDARY-INNER RANGE OCT 000401 * OCT 0 0.0000000E+00 OCT 0 * * OCT 077777 +0.170141163178E+39 OCT 177600 UPPER BOUNDARY-OUTER RANGE OCT 000376 * OCT 077777 +0.1701412E+39 OCT 177776 * * ******************************************************************** * * ******************************************************************** * SPECIAL TEST TABLE FOR SNGL TEST * * OVERFLOW SHOULD NOT BE SET ******************************************************************€þú** * SGHD2 DEC 2 SGBS2 EQU * OCT 137777 LOWER BOUNDARY-INNER RANGE OCT 177600 OCT 000001 * OCT 137777 OCT 177401 * * OCT 077777 UPPER BOUNDARY-OUTER RANGE OCT 177577 OCT 177776 * OCT 077777 OCT 177776 * * ******************************************************************** * TABLES FOR DBLE TESTS ******************************************************************** * DBHED DEC 9 NR. OF TABLE ENTRIES. EACH ENTRY * CONSISTS OF 5 WORDS. * WORD 1 - 1ST WORD OF INPUT * WORD 2 - 2ND WORD OF INPUT * WORD 3 - 1ST WORD OF EXPECTED OUTPUT * WORD 4 - 2ND WORD OF EXPECTED OUTPUT * WORD 5 - 3RD WORD OF EXPECTED OUTPUT * * DBBAS EQU * OCT 077777 0.1701412E+39 OCT 177776 UPPER BOUNDARY-OUTER RANGE * OCT 077777 0.170141163178E+39 OCT 177400 OCT 000376 * * OCT 100000 -0.1701412E+39 OCT 000376 LOWER BOUNDARY-OUTER RANGE * OCT 100000 -0.170141183460E+39 OCT 0 OCT 000376 * * OCT 040000 0.1469368E-38 OCT 1 UPPER BOUNDARY-INNER RANGE * OCT 040000 0.146936793853E-38 OCT 0 OCT 1 * * OCT 137777 -0.1469369E-38 OCT 176401 LOWER BOUNDARY-INNER RANGE * OCT 137777 -0.146936898950E-38 OCT 176400 OCT 1 * * OCT 076612 0.9046138E+19 OCT 053576 * OCT 076612 0.904613845903E+19 OCT 053400 OCT 000176 * * OCT 057302 0.7403148E+00 OCT 121400 * OCT 057302 0.740314841270E+00 OCT 121400 OCT 0 * * OCT 040762 0.1117218E-18 OCT 166205 * OCT 040762 0.111721805266E-18 OCT 166000 OCT 000205 * * OCT 115330 -0.2091832E-22 OCT 060153 * OCT 115330 -0.209183192871E-22 OCT 060000 OCT 000153 * * ‘¬þú OCT 131524 -0.2209911E+20 OCT 006202 * OCT 131524 -0.220991105949E+20 OCT 006000 OCT 000202 * * * ******************************************************************** * * * ******************************************************************** * TABLE FOR SNGL TESTS ******************************************************************** * * SGHED DEC 18 NR. OF ENTRIES. * EACH ENTRY CONSISTS OF 5 WORDS. * * FIRST 3 WORDS - INPUT * SECOND 2 WORDS - OUTPUT * SGBAS EQU * OCT 054173 +0.287135603715E+35 OCT 000526 OCT 106346 * OCT 054173 +0.2871356E+35 OCT 000746 * * OCT 056172 +0.447201649260E+27 OCT 124176 OCT 170262 * OCT 056172 +0.4472016E+27 OCT 124262 * * OCT 060557 +0.214263410162E+15 OCT 105471 OCT 136540 * OCT 060557 +0.2142634E+15 OCT 105540 * * OCT 046047 +0.998174653012E+07 OCT 114503 OCT 155460 * OCT 046047 +0.9981746E+07 OCT 114460 * * OCT 041443 +0.209814274109E+01 OCT 176076 OCT 165004 * OCT 041443 +0.2008143E+01 OCT 176004 * * OCT 061147 +0.187692645130E-03 OCT 127056 OCT 023351 * OCT 061147 +0.1876926E-03 OCT 127351 * * OCT 053416 +0.791765024518E-10 OCT 032105 OCT 060677 * OCT 053416 +0.7917650E-10 OCT 032277 * * OCT 073326 +0.100659253781E-18 OCT 062211 OCT 043603 * OCT 073326 +0.1006593E-18 OCT 062603 * * OCT 047131 +0.791117549280E-26 OCT 033165 OCT 011525 * OCT 047131 +0.7911175E-26 OCT 033125 * * OCT 076101 +0.912876403313E-37 OCT 014640 OCT 110413 * OCT 076101 +0.9128764E-37 OCT 015013 * * OCT ¢XB@<123006 -0.222764026459E+30 OCT 136521 OCT 001304 * OCT 123006 -0.2227640E+30 OCT 136704 * * OCT 135273 -0.623901549812E+18 OCT 123304 OCT 122570 * OCT 135273 -0.6239015E+18 OCT 123570 * * OCT 116745 -0.200918547392E+06 OCT 027173 OCT 142044 * OCT 116745 -0.2009186E+06 OCT 027044 * * OCT 103050 -0.111893657122E-37 OCT 114715 OCT 057405 * OCT 103050 -0.1118937E-37 OCT 115005 * * OCT 125123 -0.211198476202E-29 OCT 162564 OCT 107075 * OCT 125123 -0.2111985E-29 OCT 162475 * * OCT 137263 -0.432109685454E-21 OCT 110363 OCT 136565 * OCT 137263 -0.4321097E-21 OCT 110565 * * OCT 123016 -0.998563210089E-14 OCT 131465 OCT 001245 * OCT 123016 -0.9985632E-14 OCT 131645 * * OCT 115506 -0.600354780987E-05 OCT 172540 OCT 004737 * OCT 115506 -0.6003548E-05 OCT 172737 * * * ******************************************************************** * HED SUBROUTINES Ý×Bÿÿ ÿýç÷ ÿ12977-18010 1822 S C0122 FFP DIAG 21MX #1              H0101 Ñþú* * SUBROUTINE TO TURN ON MEMORY PROTECT LOGIC. * * ENTER WITH (B)=FENCE ADDRESS. * MEMTN NOP STA MPCKX STORE EXIT ADDRESS LDA PMMTN SET INTERRUPT ADDRESS. STA MPPAR CLA STA MPIND RESET INDICATOR. INA ANNOUNCE THAT WE ARE DOING STA MPTES A MEM. PROTECT TEST. OTB MPPAR LOAD FENCE REGISTER. STF INTP STC MPPAR TURN ON MEM. PROTECT LOGIC. JMP MEMTN,I * * * * MEMORY PROTECT VIOLATION ROUTINE. * * MPCHK NOP CLF INTP LIA MPPAR GET VIOLATION REGISTER. SSA JMP MPCK1 PARITY ERROR! CLF MPPAR TURN OFF PARITY LOGIC LDA TRHLT MEMORY PROTECT VIOLATION! STA MPPAR RESTORE TRAP CELL HALT. CLA,INA SET INDICATOR. STA MPIND STF MPPAR TURN ON PARITY LOGIC. JMP MPCKX,I RETURN * MPCK1 EQU * OCT 106077 HALT ON PARITY ERROR. JMP *-1 MPCKX BSS 1 * * ********************************************************************** * SUBROUTINE TO CHECK IF DIAGNOSTIC IS CONFIGURED FOR INTERRUPT * TEST. IF NOT THEN EXIT TO (P+1) ELSE EXIT TO (P+2). * * INTCK NOP LDA INTSC IF NOT CONFIGURED FOR INTERRUPTS SZA THEN EXIT TO (P+1) ISZ INTCK JMP INTCK,I ELSE EXIT TO (P+2) * * * *********************************************************************** * SUBROUTINE TO CHECK IF INTERRUPT OCCURRED IN MICROCODE. IF NOT * THEN EXIT TO (P+1) ELSE EXIT TO (P+2). * * CHECK NOP LDA INTID CHECK INDICATOR SZA IF = 0 THEN EXIT TO (P+1) ISZ CHECK ELSE EXIT TO (P+2) JMP CHECK,I * * * * SUBROUTINE TO PRINT " NOT INTERRUPTIBLE" MESSAGE. * ENTER WITH (B) = POINTER TO ERROR NUMBER STRING. * * PRNIN NOP LDA B,I MOVE STA RMS25 ERROR INB NUMBER LDA B,I INTO STA RMS25+1 MESSAGE BUFFERçmþú. JSB ERMS,I PRINT ERROR MESSAGE DEF RMS25 JMP PRNIN,I EXIT RMS25 ASC 12,XXXX NOT INTERRUPTIBLE/ * * * * SUBROUTINE TO PRINT "A-REG NOT RESTORED ON INTERP". * ENTER WITH (B) = POINTER TO ERROR NUMBER STRING. * * ANRES NOP LDA B,I MOVE STA RMS26 ERROR NUMBER INB INTO LDA B,I MESSAGE STA RMS26+1 BUFFER. JSB ERMS,I PRINT ERROR MESSAGE. DEF RMS26 JMP ANRES,I EXIT RMS26 ASC 16,XXXX A-REG NOT REST. ON INTERR/ * * * SUBROUTINE TO PRINT "B-REG NOT RESTORED ON INTERRUPT". * * ENTER WITH (B) = POINTER TO ERROR NUMBER STRING. * * BNRES NOP LDA B,I MOVE STA RMS27 ERROR INB NUMBER LDA B,I INTO STA RMS27+1 MESSAGE BUFFER JSB ERMS,I PRINT ERROR MESSAGE DEF RMS27 JMP BNRES,I EXIT RMS27 ASC 16,XXXX B-REG NOT REST. ON INTERR/ * * * SUBROUTINE TO PRINT "P-REG NOT RESTORED ON INTERP". * ENTER WITH (B) = POINTER TO ERROR NUMBER STRING. * * PNRES NOP LDA B,I MOVE STA RMS28 ERROR INB NUMBER LDA B,I INTO STA RMS28+1 MESSAGE BUFFER JSB ERMS,I PRINT ERROR MESSAGE. DEF RMS28 JMP PNRES,I EXIT RMS28 ASC 16,XXXX P-REG NOT REST. ON INTERR/ * * ******************************************************************** * HED CONSTANTS AND STORAGE ORG 300B MTRY BSS 1 TO CHECK IF FENCE IS RESTORED PMTRY DEF * * * * OUTPUT STORED HERE * POUTP DEF OUTPT OUTPT BSS 1 OUTP1 BSS 1 BSS 1 POUT1 DEF OUTP1 PINV2 DEF INVL2+6 SHLTC DEF SINV2 RHLTC DEF RINV2 * * MPPAR EQU 5 ZPSTX DEF ZSTEX CONTROL SECTION POINTER * DEC -1 TEMP BSS 9 DEC -6,-5,-4,-3,-2,-1 . DEC 0,1,2,3,4,5,6,7,8,9 BIT5 OCT 40 BIT14 OCT 40000 INTID BSS 1 INTSC NOP ITRAP JSB *+1,I INSERT IN TRAP CELL FOR DéªþúEF INTSB INTERRUPT TEST AREG BSS 1 BREG BSS 1 INTAD BSS 1 INTN1 BSS 1 INDIC BSS 1 OTTB0 OTA 0 PPROV DEF PROVN * PMMTN JSB *+1,I INSERT FOR TRAP CELL DEF MPCHK OF MEMORY PROTECT, IF MEM. * PROTECT IS USED. TRHLT OCT 106077 INSERT FOR TRAP CELL OF MEM. * PROTECT, IF IT IS NOT USED. MPTES BSS 1 MPIND BSS 1 TBTIM BSS 1 PSGHD DEF SGHED PSGBS DEF SGBAS PSGH1 DEF SGHD1 PSGB1 DEF SGBS1 PSGH2 DEF SGHD2 PSGB2 DEF SGBS2 PMPH2 DEF MPHD2 PMPB2 DEF MPBS2 PDBHD DEF DBHED PDBBS DEF DBBAS PMPH3 DEF MPHD3 PMPB3 DEF MPBS3 PMP2D DEF MAP2D PMP3D DEF MAP3D PERMS DEF ERMES PRMSN DEF RMSSN PMPER DEF MPERR PDATC DEF DATCK PMEMT DEF MEMTN B60 OCT 60 B77 OCT 77 * * ERROR AND NON-ERROR MESSAGES * MMS05 ASC 8,H110 ..MAP TEST/ MMS06 ASC 8,H120 SNGL TEST/ MMS07 ASC 8,H130 DBLE TEST/ MMS12 ASC 8,H210 .DFER TEST/ MMS13 ASC 8,H220 .XFER TEST/ * * * BUFFER FOR DATA ERROR MESSAGES FOR * DBLE XADD XSUB * XMPY XDIV * TESTS. * RMS00 ASC 8,XXXX DATA ERROR OCT 6412 CR-LF ASC 2,ACT RMAC1 ASC 11,XXXXXX XXXXXX XXXXXX OCT 6412 ASC 2,EXP RMEX1 ASC 12,XXXXXX XXXXXX XXXXXX/ PRAC1 DEF RMAC1 PREX1 DEF RMEX1 PERN1 DEF ERNR1 ERNR1 ASC 2,E130 * * BUFFER TO OUTPUT ERROR MESSAGE "NO CHECK ON MEM PROT VIOLATION" * * RMS09 ASC 18,XXXX NO CHECK ON MEM PROT VIOLATION/ E131 ASC 2,E131 PR131 DEF E131 E211 ASC 2,E211 PR211 DEF E211 RMS15 ASC 6,E210 FAILED/ RMS16 ASC 6,E220 FAILED/ * * BUFFER TO OUTPUT "OVERFLOW NOT SET". * RMS18 ASC 11,XXXX OVERFLOW NOT SET/ E121 ASC 2,E121 PR121 DEF E121 * * * BUFFER FOR DATA ERROR MESSAGES FOR SNGL * RMS19 ASC 8,E120 DATA ERROR OCT 6412 CR-LF ASC 2,ACT R19AC ASC 7,XXXXXX XXXXXX OCT 6412 ASC 2,EXP R19EX ASC 8,XXXXXX XXXXXX/ P19AC DEF R19AC P19EX DEF R19EX * * * BUFFER TO OUTPUT m8þú"OVERFLOW SET" * RMS22 ASC 9,XXXX OVERFLOW SET/ E123 ASC 2,E123 E143 ASC 2,E143 PR123 DEF E123 * ****************RMS23 MESSAGE ON OTHER PAGE * * BUFFER FOR ERROR MESSAGES FOR ..MAP TESTS * RMS24 ASC 8,E110 DATA ERROR OCT 6412 CR-LF ASC 2,ACT R24AC ASC 3,XXXXXX OCT 6412 CR-LF ASC 2,EXP R24EX ASC 4,XXXXXX/ P24AC DEF R24AC P24EX DEF R24EX * PTTB1 DEF TTB1 PTTB2 DEF TTB2 PTTB4 DEF TTB4 ******************************************************************** ******************************************************************** ****************** *** TEST TABLE *** ****************** * TTB1 BSS 1 TTB2 BSS 1 TTB3 BSS 1 TTB4 BSS 1 TTB5 BSS 1 TTB6 BSS 1 TTB7 BSS 1 TTB8 BSS 1 TTB9 BSS 1 TTB10 BSS 1 TTB11 BSS 1 TTB12 BSS 1 TTB13 BSS 1 TTB14 BSS 1 TTB15 BSS 1 TTB16 BSS 1 ********* HED TEST # 12 - ..MAP TESTS. * ..MAP * ********* TST12 EQU * XMAP NOP * JSB MSGC,I OUTPUT MESSAGE. DEF MMS05 * * * TEST 2 DIMENSIONAL ARRAY * * * INITIATE * LDA PMPH2,I SET CMA,INA STA INDIC COUNTER. LDA PMPB2 SET STA TEMP POINTER. * * SET UP FOR SUBTEST * XMAP1 EQU * STA TEMP+1 SET LDA PMP2D POINTERS STA TEMP+2 LDB .-4 TO XMAP2 EQU * LDA TEMP+1 PARAMETERS STA TEMP+2,I ISZ TEMP+2 INTO ISZ TEMP+1 INB,SZB CALLING JMP XMAP2 SEQUENCE. * LDB TEMP+1,I (B)=NR. OF WORDS. ISZ TEMP+1 SAVE POINTER TO EXPECTED OUTPUT. CLA (A)=0 * * CALL MICRO * RAM ..MAP CALLING SEQUENCE FOR 2 DIM. MAP2D EQU * BSS 1 POINTER TO BASE ADDRESS BSS 1 POINTER TO 1ST SUBSCRIPT BSS 1 POINTER TO 2ND SUBSCRIPT BSS 1 POINTER TO 1ST DIMENSION * * * EXIT FROM MICRO. CHECK RESULTS. ³@þú* CPA TEMP+1,I RESULT AS EXPECTED? JMP XMAP3 YES. STA POUTP,I NO. ERROR! JSB PMPER,I GO TO ERROR ROUTINE. XMAP3 EQU * ISZ INDIC BUMP COUNTER. RSS JMP XMAP4 2 DIM. TESTS DONE. LDA TEMP NOT DONE. MOVE POINTER ADA .+6 TO NEXT ENTRY. STA TEMP JMP XMAP1 * * * TEST 3 DIMENSIONAL ARRAY * * * INITIATE * XMAP4 EQU * LDA PMPH3,I SET CMA,INA STA INDIC COUNTER. LDA PMPB3 SET STA TEMP POINTER. * * SET UP FOR SUBTEST * XMAP5 EQU * STA TEMP+1 SET LDA PMP3D POINTERS STA TEMP+2 LDB .-6 TO XMAP6 EQU * LDA TEMP+1 PARAMETERS STA TEMP+2,I ISZ TEMP+2 INTO ISZ TEMP+1 INB,SZB CALLING JMP XMAP6 SEQUENCE. * LDB TEMP+1,I (B)=NR. OF WORDS. ISZ TEMP+1 SAVE POINTER TO EXPECTED OUTPUT. CCA (A)=-1 * * CALL MICRO * RAM ..MAP CALLING SEQUENCE FOR 3 DIM. MAP3D EQU * BSS 1 POINTER TO BASE ADDRESS BSS 1 POINTER TO 1ST SUBSCRIPT BSS 1 POINTER TO 2ND SUBSCRIPT BSS 1 POINTER TO 3RD SUBSCRIPT BSS 1 POINTER TO 1ST DIMENSION BSS 1 POINTER TO 2ND DIMENSION * * * EXIT FROM MICRO. CHECK RESULTS. * CPA TEMP+1,I RESULT AS EXPECTED? JMP XMAP7 YES. STA POUTP,I NO. ERROR! JSB PMPER,I GO TO ERROR ROUTINE. XMAP7 EQU * ISZ INDIC BUMP COUNTER. RSS JMP XMAP8 ALL TESTS DONE. LDA TEMP NOT DONE. MOVE POINTER TO ADA .+8 NEXT ENTRY. STA TEMP JMP XMAP5 * XMAP8 EQU * JMP XMAP,I HED SUBROUTINE PROVS * SUBROUTINE TO PRINT "OVERFLOW SET" MESSAGE * ENTER WITH (B) = POINTER TO ERROR NUMBER STRING * PROVS NOP LDA B,I MOVE STuþúA RMS22 ERROR INB NUMBER LDA B,I INTO STA RMS22+1 MESSAGE BUFFER. JSB ERMS,I PRINT ERROR MESSAGE. DEF RMS22 JMP PROVS,I EXIT. HED TEST # 13 - SNGL TESTS. * ********* * SNGL * ********* TST13 EQU * XSNGL NOP JSB MSGC,I OUTPUT MESSAGE. DEF MMS06 * * * DO STANDARD TEST TABLE * LDA PSGHD,I CMA,INA SET STA INDIC COUNTER. LDA PSGBS SET STA TEMP POINTER. * XSNG1 EQU * JSB SNSUB DO SUBTEST. * * EXIT FROM MICRO. CHECK RESULTS. * STA OUTPT SAVE OBTAINED VALUE. STB OUTPT+1 JSB SNPRC JMP XSNG1 DO NEXT SUBTEST. * * DO SPECIAL TEST TABLE * LDA PSGH1,I CMA,INA SET STA INDIC COUNTER. LDA PSGB1 SET STA TEMP POINTER. * XSNG5 EQU * CLO CLEAR OVERFLOW. JSB SNSUB DO SUBTEST. STA OUTPT SAVE OBTAINED VALUE. STB OUTPT+1 SOC CHECK OVERFLOW. JMP XSNG6 IF SET, CONTINUE. LDB PR121 IF NOT SET, OUTPUT JSB PPROV,I ERROR MESSAGE. LDA OUTPT RESTORE REGISTERS. LDB OUTPT+1 XSNG6 EQU * JSB SNPRC JMP XSNG5 DO NEXT SUBTEST. * * DO SECOND SPECIAL TEST TABLE * LDA PSGH2,I SET CMA,INA STA INDIC COUNTER. LDA PSGB2 SET STA TEMP POINTER. * XSNG7 EQU * STO SET OVERFLOW. JSB SNSUB DO SUBTEST. STA OUTPT SAVE OBTAINED VALUE. STB OUTPT+1 SOS CHECK OVERFLOW. JMP XSNG8 IF CLEAR, CONTINUE. LDB PR123 IF SET, OUTPUT JSB PROVS ERROR MESSAGE. LDA OUTPT RESTORE REGISTERS. LDB OUTPT+1 XSNG8 EQU * JSB SNPRC JMP XSNG7 DO NEXT SUBTEST. JMP XSNGL,I EXIT. HED SUBROUTINE SNSUB * 8þú* * SUBROUTINE TO SET UP SUBTEST AND CALL MICRO. * ENTER WITH (A)=POINTER TO INPUT * SNSUB NOP * SET UP FOR SUBTEST * STA SGINP INTO MICRO CALL. ADA .+3 STORE POINTER TO EXPECTED STA TEMP+1 OUTPUT. STA TEMP+2 * * CALL MICRO * RAM SNGL CALLING SEQUENCE. DEF *+2 SGINP BSS 1 POINTER TO INPUT LOCATION. * JMP SNSUB,I EXIT. HED SUBROUTINE SNPRC * * * SUBROUTINE TO CHECK RESULTS * IF MORE SUBTESTS ARE TO BE MADE, EXIT TO (P+1) * OTHERWISE EXIT TO (P+2) * SNPRC NOP CPA TEMP+2,I 1ST WORDS COMPARE? RSS JMP SNPR2 NO. ERROR. ISZ TEMP+2 YES. 2ND WORDS COMPARE? CPB TEMP+2,I RSS JMP SNPR2 NO. ERROR. SNPR1 EQU * ISZ INDIC YES. BUMP COUNTER. JMP *+3 ISZ SNPRC DONE. EXIT TO (P+2). JMP SNPRC,I LDA TEMP NOT DONE. MOVE POINTER ADA .+5 TO NEXT ENTRY. STA TEMP JMP SNPRC,I EXIT TO (P+1). * SNPR2 EQU * JSB PRMSN,I OUTPUT ERROR MESSAGE. JMP SNPR1 * * HED TEST # 14 - DBLE TESTS. * ********* * DBLE * ********* TST14 EQU * XDBL NOP * JSB MSGC,I OUTPUT MESSAGE. DEF MMS07 * * INITIATE * LDA PDBHD,I CMA,INA SET STA INDIC COUNTER. LDA PDBBS SET STA TEMP POINTER. XDBL1 EQU * JSB DBSUB DO SUBTEST. * * EXIT FROM MICRO. CHECK RESULTS. * LDA TEMP+1 SET POINTER TO EXPECTED OUTPUT. JSB PDATC,I CHECK RESULTS. JMP XDBL3 ERROR. XDBL2 EQU * ISZ INDIC BUMP COUNTER. RSS JMP XDBL5 ALL REGULAR TESTS DONE. LDA TEMP NOT DONE. MOVE POINTER ADA .+5 TO NEXT ENTRY. STA TEMP JMP XDBL1 DO NEXT SUBTEST. * XDBL3 EQU * LDB PERN1 JSB PERMS,I OUTPUT ERROR MESSAGE. JMP XDBL2 DO NEXT SUBTEST. XDBL5 EQåýþúU * JMP XDBL,I EXIT. HED SUBROUTINE DBSUB * * * SUBROUTINE TO SET UP A SUBTEST AND CALL MICRO. * ENTER WITH (A)=POINTER TO INPUT DATA. * DBSUB NOP * * SET UP FOR SUBTEST * STA DBINP INTO MICRO CALL. ADA .+2 STORE POINTER TO EXPECTED STA TEMP+1 OUTPUT. * * CALL MICRO * RAM DBLE CALLING SEQUENCE. DEF *+3 DEF OUTPT POINTER TO OUTPUT LOCATION DBINP BSS 1 POINTER TO INPUT LOCATION JMP DBSUB,I HED TEST # 15 - .DFER TESTS. * ********* * .DFER * ********* TST15 EQU * XDFER NOP JSB MSGC,I OUTPUT MESSAGE. DEF MMS12 * JSB XDSET SET UP TEST. * * NOW EXECUTE .DFER TEST. * RAM .DFER DEF TTB1 DESTINATION. DEF TTB4 SOURCE. * JSB XDCHK CHECK RESULTS. JMP XDFR3 NO ERROR. * JSB ERMS,I OUTPUT ERROR MESSAGE. DEF RMS15 * * * CHECK MEMORY PROTECT * XDFR3 EQU * JSB PMMPR,I CHECK IF MEM. PROT.PRESENT JMP XDFER,I NO. EXIT. * LDA PXDF5 LDB PTTB2 SET FENCE ADDRESS AND TURN ON JSB PMEMT,I MEM. PROTECT LOGIC. * RAM .DFER DEF TTB1 DESTINATION. DEF TTB4 SOURCE. * * RETURN FROM MICRO. * XDFR5 EQU * LDA MPIND DID MEMORY PROTECT INTERRUPT SZA OCCUR? JMP XDFR4 YES. GO TO EXIT. JSB MTNOF NO. TURN OFF MEM. PROTECT. LDB PR211 PRINT ERROR MESSAGE. JSB PRNMP XDFR4 EQU * JMP XDFER,I EXIT TEST. PXDF5 DEF XDFR5 PMMPR DEF MEMPR * * HED SUBROUTINES * * * * SUBROUTINE TO PREPARE TEST * XDSET NOP CCA STORE -1 IN SOURCE LOCATIONS. STA TTB4 STA TTB5 STA TTB6 CLA STORE 0 IN DESTINATION LOCATIONS STA TTB1 STA TTB2 STA TTB3 STA TTB7 JMP XDSET,I RETURN. * * * SUBROUTINE TO CHECK RES.oþúULTS * IF AN ERROR EXISTS, EXIT TO (P+2) * OTHERWISE EXIT TO (P+1) * XDCHK NOP LDA .-3 SET COUNTER. STA TEMP LDB PTTB1 GET POINTER. XDCK1 EQU * LDA B,I GET CONTENTS. CPA .-1 =-1? RSS JMP XDCK2 NO. ERROR. INB YES. BUMP POINTER. ISZ TEMP DONE? JMP XDCK1 NO. CPA TTB4 YES. IS (TTB4) STILL=-1? JMP XDCHK,I YES. EXIT TO (P+1). XDCK2 EQU * ISZ XDCHK NO. ERROR. EXIT TO (P+2). JMP XDCHK,I * * HED TEST # 16 - .XFER TESTS. * ********* * .XFER * ********* TST16 EQU * XXFER NOP JSB MSGC,I OUTPUT MESSAGE. DEF MMS13 * JSB XDSET SET UP TEST. * * EXECUTE * LDA PTTB4 (A)=SOURCE ADDRESS. LDB PTTB1 (B)=DESTINATION ADDRESS. RAM .XFER * JSB XDCHK CHECK RESULTS. JMP XXFER,I NO ERROR. EXIT. * JSB ERMS,I OUTPUT ERROR MESSAGE. DEF RMS16 * XXFR1 EQU * JMP XXFER,I EXIT TEST. HED SUBROUTINES * * SUBROUTINE TO DISABLE MEMORY PROTECT LOGIC AND * TO RESTORE TRAP CELL HALT. * MTNOF NOP CLC MPPAR DISABLE MEM. PROTECT LOGIC. LDA TRHLT RESTORE TRAP CELL HALT. STA MPPAR CLA RESET MEM. PROTECT TEST STA MPTES INDICATOR. CLF INTP TURN OFF INTERRUPT SYSTEM. JMP MTNOF,I EXIT. * * * * SUBROUTINE TO PRINT "NO CHECK ON MEM PROT VIOLATION". * ALSO TO TURN OFF MEM PROTECT LOGIC. * ENTER WITH (B)= POINTER TO ERROR NUMBER STRING * PRNMP NOP JSB MTNOF TURN OFF MEM PROTECT LOGIC. LDA B,I MOVE STA RMS09 ERROR INB NUMBER LDA B,I INTO STA RMS09+1 MESSAGE BUFFER. * JSB ERMS,I PRINT ERROR MESSAGE. DEF RMS09 JMP PRNMP,I EXIT. * * SKP * ORG 6000B * * * SUBROUTINE TO PROCESS DATœÛþúA ERROR MESSAGES FOR * DBLE XADD XSUB * XMPY XDIV * TESTS. * * ENTER WITH (B)= POINTER TO ERROR NUMBER STRING. * PRIOR TO ENTERING THE FOLLOWING SHOULD BE SET UP: * (TEMP+1)=POINTER TO EXPECTED OUTPUT * (POUTP)= POINTER TO OBTAINED OUTPUT * ERMES NOP LDA B,I MOVE STA RMS00 ERROR NUMBER INB LDA B,I I INTO STA RMS00+1 MESSAGE BUFFER. * * MOVE ACTUAL DATA INTO BUFFER * LDA POUTP SET POINTER STA TEMP+5 TO OBTAINED OUTPUT. LDB .-3 LDA PRAC1 JSB CBNOC MOVE DATA. * * MOVE EXPECTED DATA INTO BUFFER * LDA TEMP+1 SET POINTER STA TEMP+5 TO EXPECTED OUTPUT. LDB .-3 LDA PREX1 JSB CBNOC MOVE DATA. * * OUTPUT MESSAGE * LDB POUTP INB STB TEMP+6 LDA POUTP,I (A)=1ST WORD OF OBTAINED OUTPUT. LDB B,I (B)=2ND WORD OF OBTAINED OUTPUT. JSB ERMS,I GO TO ERROR PRINTING ROUTINE. DEF RMS00 LDB BIT14 IF BIT#14 IS NOT SET, JSB SWRT,I JMP ERMES,I EXIT. ISZ TEMP+6 OTHERWISE SET (A)=3RD WORD LDB TEMP+6,I OF OBTAINED OUTPUT, CLB SET (B)=0 AND OCT 107000 HALT. * LDA TEMP+1,I SET (A)=1ST WORD OF EXPECTED ISZ TEMP+1 OUTPUT. LDB TEMP+1,I SET (B)=2ND WORD OF EXPECTED OCT 107001 OUTPUT AND HALT. * ISZ TEMP+1 SET (A)=3RD WORD OF EXPECTED LDA TEMP+1,I OUTPUT. CLB SET (B)=0 OCT 107002 AND HALT. JMP ERMES,I EXIT. HED SUBROUTINE MTNOF * * * * * SUBROUTINE TO PRINT "OVERFLOW NOT SET". * ENTER WITH (B)= POINTER TO ERROR NUMBER STRING * PROVN NOP LDA B,I MOVE STA RMS18 ERROR INB NUMBER LDA B,I INTO STA RMS18+1 MESSAGE BUFFER. * JSB ERE B@fBÿÿ ÿýèø ÿ12977-18011 1822 S C0122 FFP DIAG 21MX #1              H0101 Ñþú LDB .-2 (B)=-2 LDA P19EX (A)=POINTER TO DESTINATION BUFR. JSB CBNOC MOVE DATA. * * OUTPUT MESSAGE * LDB POUTP LDA B,I (A)=1ST WORD OF OBTAINED OUTPUT. INB LDB B,I (B)=2ND WORD OF OBTAINED OUTPUT. JSB ERMS,I PRINT ERROR MESSAGE. DEF RMS19 LDB BIT14 IF BUT#14 IS NOT SET, JSB SWRT,I JMP RMSSN,I EXIT. LDB TEMP+1 OTHERWISE SET (A)=1ST WORD LDA B,I OF EXPECT OUTPUT. INB SET (B)=2ND WORD OF EXPECTED LDB B,I OUTPUT AND OCT 107000 HALT. JMP RMSSN,I EXIT. HED SUBROUTINE MPERR * * * * SUBROUTINE TO PROCESS DATA ERROR MESSAGES * FOR ..MAP TESTS * * PRIOR TO ENTERING THE FOLLOWING SHOULD BE SET UP. * (TEMP+1)= POINTER TO EXPECTED OUTPUT * (POUTP) = POINTER TO OBTAINED OUTPUT * MPERR NOP * * MOVE ACTUAL DATA INTO BUFFER * LDA POUTP SAVE POINTER STA TEMP+5 TO OBTAINED OUTPUT. CCB (B)=-1 LDA P24AC (A)=POINTER TO DESTINATION BUFR. JSB CBNOC MOVE DATA. * * MOVE EXPECTED DATA INTO BUFFER * LDA TEMP+1 SAVE POINTER STA TEMP+5 TO EXPECTED OUTPUT. CCB (B)=-1 LDA P24EX (A)=POINTER TO DEST. BUFFER JSB CBNOC MOVE DATA. * * OUTPUT MESSAGE * LDA POUTP,I (A)=OBTAINED OUTPUT. LDB TEMP+1,I (B)=EXPECTED OUTPUT. JSB ERMS,I PRINT ERROR MESSAGE. DEF RMS24 JMP MPERR,I EXIT. HED SUBROUTINE CBNOC * * * SUBROUTINE TO CONVERT A SET OF BINARY NUMBERS (STORED IN A * BUFFER) INTO OCTAL & INSERT THEM IN ASCII FORM INTO A * MESSAGE BUFFER. * ENTER WITH (A) = POINTER TO DESTINATION STRING * (B) = -NR OF DATA ITEMS TO BE PROCESSED * PRIOR TO ENTERING THE SUBROUTINE, LOCATION (TEMP+5) * MUST CONTAIN THE POINTER TO THE SOURCE STRING(ACTUAL OR * EXPECTED OUTPUT). òÕþú* THE NUMBER TO BE PRINTED ARE ASSUMED TO BE SEPARATED BY 2 * BLANKS. * CBNOC NOP STA TEMP+7 SAVE POINTER STB TEMP+6 SET COUNTER CBNC1 EQU * LDB TEMP+5,I (B) = BINARY NUMBER STA TEMP+3 SET POINTER LDA .-3 SET COUNTER STA TEMP+4 CLA (A) = 0 RBL,SLB IF BIT #15 IS SET, INA ADD 1. ADA B60 MAKE ASCII ALF,ALF ROTATE INTO UPPER WORD & STORE STA TEMP+3,I CLE (E) = 0 CBNC2 EQU * CLA (A) = 0, ROTATE RBL,SLB IF BIT IS SET, ADA .+4 ADD 4 RBL,SLB ROTATE IF BIT IS SET ADA .+2 ELSE ADD 2 RBL,SLB ROTATE IF BIT IS SET, INA ELSE ADD 1 ADA B60 MAKE ASCII ALF,ALF ROTATE 8 BITS IF LOWER CHAR. SEZ JMP CBNC3 ALF,ALF AND, IOR TEMP+3,I "OR IN" DATA. CBNC3 EQU * STA TEMP+3,I CME SEZ,RSS JMP CBNC2 ISZ TEMP+3 ISZ TEMP+4 JMP CBNC2 ISZ TEMP+6 RSS JMP CBNOC,I ISZ TEMP+5 LDA TEMP+7 ADA .+4 STA TEMP+7 JMP CBNC1 * HED TEST DATA TABLES * * ******************************************************************** * TABLES FOR ..MAP TESTS ******************************************************************** * USED FOR 2 DIMENSIONAL ARRAY TESTS. ******************************************************************** * MPHD2 EQU * DEC 4 NR. OF TABLE ENTRIES. EACH ENTRY * CONSISTS OF 6 WORDS. * * WORD 1 - BASE ADDRESS * WORD 2 - 1ST SUBSCRIPT * WORD 3 - 2ND SUBSCRIPT * WORD 4 - LENGTH OF 1ST DIMENSION * WORD 5 - NR. OF WORDS/VARIABLE * WORD 6 - EXPECTED OUTPUT * MPBS2 EQU * OCT 4000 DEC 1 DEC 1 DEC 10 DEC 2 OCT 4000 * OCT 6000 DEC 1 DEC 10 ü„þú DEC 10 DEC 2 OCT 6264 * OCT 7777 DEC 10 DEC 1 DEC 10 DEC 3 OCT 10032 * OCT 6500 DEC 10 DEC 10 DEC 10 DEC 1 OCT 6643 * * * * * ******************************************************************** * USED FOR 3 DIMENSIONAL ARRAY TEST. ******************************************************************** * MPHD3 EQU * DEC 8 NR. OF TABLE ENTRIES. EACH ENTRY * CONSISTS OF 8 WORDS. * * WORD 1 - BASE ADDRESS * WORD 2 - 1ST SUBSCRIPT * WORD 3 - 2ND SUBSCRIPT * WORD 4 - 3RD SUBSCRIPT * WORD 5 - LENGTH OF 1ST DIMENSION * WORD 6 - LENGTH OF 2ND DIMENSION * WORD 7 - NR. OF WORDS/VARIABLE * WORD 8 - EXPECTED OUTPUT * MPBS3 EQU * OCT 4000 DEC 1 DEC 1 DEC 1 DEC 10 DEC 10 DEC 3 OCT 4000 * OCT 4000 DEC 10 DEC 1 DEC 1 DEC 10 DEC 10 DEC 3 OCT 4033 * OCT 4000 DEC 1 DEC 10 DEC 1 DEC 10 DEC 10 DEC 3 OCT 4416 * OCT 4000 DEC 10 DEC 10 DEC 1 DEC 10 DEC 10 DEC 3 OCT 4451 * OCT 4000 DEC 1 DEC 1 DEC 10 DEC 10 DEC 10 DEC 3 OCT 11214 * OCT 4000 DEC 1 DEC 10 DEC 10 DEC 10 DEC 10 DEC 3 OCT 11632 * OCT 4000 DEC 10 DEC 1 DEC 10 DEC 10 DEC 10 DEC 3 OCT 11247 * OCT 4000 DEC 10 DEC 10 DEC 10 DEC 10 DEC 10 DEC 3 OCT 11665 HED SUBROUTINE INTON * * * ******************************************************************** * * SUBROUTINE TO TURN ON THE INTERRUPT INTERFACE. * ENTER WITH (A) = EXIT ADDRESS * INTON NOP STA INTN1 SAVE 7þúEXIT ADDRESS LDA ITRAP SET TRAP CELL STA INTSC,I CLA CLEAR INDICATOR STA INTID CLC INTP STCSC STC CH EXECUTE "STC SC" INSTRUCTION STFSC STF CH EXECUTE "STF SC" INSTRUCTION JMP INTON,I * * * SUBROUTINE TO TURN OFF THE INTERRUPT INTERFACE. * INTOF NOP CLCSC CLC CH EXECUTE "CLC SC" INSTRUCTION LDA TRHLT SET HALT IN STA INTSC,I TRAP CELL JMP INTOF,I EXIT * * * SUBROUTINE TO CHECK IF MEMORY PROTECT HARDWARE * IS PRESENT. IF PRESENT EXIT TO (P+2) ELSE EXIT TO * (P+1). * MEMPR NOP LDA BIT5 AND CPTO SZA MEMORY PROTECT PRESENT, THEN ISZ MEMPR EXIT TO (P+1) JMP MEMPR,I ELSE EXIT TO (P+2) * * * INTERRUPT SUBROUTINE * INTSB NOP CLF INTP STOP INTERRUPT STA AREG SAVE (A) STB BREG SAVE (B) JSB INTOF TURN OFF INTERRUPT INTERFACE ISZ INTID SET INDICATOR TO 1 LDA INTSB SAVE (P) STA INTAD JMP INTN1,I EXIT * * * * SET HALT CODE IN INVL2 ROUTINE. * * SINV2 NOP LDA PINV2,I ADA .+2 CHANGE HLT CODE TO 002B STA PINV2,I JMP SINV2,I EXIT * * * * RESTORE HALT CODE IN INVL2 ROUTINE. * * RINV2 NOP LDA PINV2,I ADA .-2 CHANGE HALT CODE BACK TO 000B STA PINV2,I JMP RINV2,I EXIT * * * HED TEST # 15 - .CFER TESTS. * ********* * .CFER * ********* * .CFER EQU 231B * TST24 EQU * XCFER NOP JSB MSGC,I OUTPUT MESSAGE. DEF MMS21 * JSB CFRCK CHECK FOR CFER ROUTINE JMP CFERT ITS THERE, OK JSB ERMS,I NO SUCH LUCK DEF RMS30 JMP XCFER,I * CFERT EQU * JSB XCSET SET UP TEST. * * NOW EXECUTE .CFER TEST. * RAM .CFER DEF TTB1 DESTINATION. DEF TTB5 SOURCE. * JSB XCCHK CHECK RESULTS. JMP XCFR3 NO¾@þú ERROR. * JSB ERMS,I OUTPUT ERROR MESSAGE. DEF RMS29 * * * CHECK MEMORY PROTECT * XCFR3 EQU * JSB QMMPR,I CHECK IF MEM. PROT.PRESENT JMP XCFER,I NO. EXIT. * LDA PXCF5 LDB PTTB2 SET FENCE ADDRESS AND TURN ON JSB PMEMT,I MEM. PROTECT LOGIC. * RAM .CFER DEF TTB1 DESTINATION. DEF TTB5 SOURCE. * * RETURN FROM MICRO. * XCFR5 EQU * LDA MPIND DID MEMORY PROTECT INTERRUPT SZA OCCUR? JMP XCFR4 YES. GO TO EXIT. JSB MTNOF NO. TURN OFF MEM. PROTECT. LDB PR311 PRINT ERROR MESSAGE. JSB PRNMP XCFR4 EQU * JMP XCFER,I EXIT TEST. PXCF5 DEF XCFR5 QMMPR DEF MEMPR * * HED SUBROUTINES * * * * SUBROUTINE TO PREPARE TEST * XCSET NOP CCA STORE -1 IN SOURCE LOCATIONS. STA TTB5 STA TTB6 STA TTB7 STA TTB8 CLA STORE 0 IN DESTINATION LOCATIONS STA TTB1 STA TTB2 STA TTB3 STA TTB4 STA TTB9 JMP XCSET,I RETURN. * * * SUBROUTINE TO CHECK RESULTS * IF AN ERROR EXISTS, EXIT TO (P+2) * OTHERWISE EXIT TO (P+1) * XCCHK NOP LDA .-4 SET COUNTER. STA TEMP LDB PTTB1 GET POINTER. XCCK1 EQU * LDA B,I GET CONTENTS. CPA .-1 =-1? RSS JMP XCCK2 NO. ERROR. INB YES. BUMP POINTER. ISZ TEMP DONE? JMP XCCK1 NO. CPA TTB4 YES. IS (TTB4) STILL=-1? JMP XCCHK,I YES. EXIT TO (P+1). XCCK2 EQU * ISZ XCCHK NO. ERROR. EXIT TO (P+2). JMP XCCHK,I * * * ROUTINE TO CHECK IF .CFER IS PRESENT * SKIPS IF NO .CFER * CFRCK NOP LDA CPTO CHECK CPU TYPE SSA,RSS IF SIGN BIT=0, 2100 OR OLDER, NOGO JMP NOCFR ALF IF BITS 14-12=0, BUT 15 SET, =>MX, NO GO AND .+7 SZA,RSS JMP NOCFR * * THæ3$"E ASSUMPTION IS NOW MADE THAT WE HAVE AN E OR F SERIES CPU * THIS IMPLIES THAT IF .CFER IS NOT PRESENT, A NOP WILL * BE EXECUTED. * RAM .CFER TRY IT, YOU'LL LIKE IT, MAYBE NOP NOP, IT AINT THERE JMP NOCFR JMP CFRCK,I ITS THERE!, JUST RETURN * NOCFR ISZ CFRCK WE'RE SO SORRY, JMP CFRCK,I UNCLE ALBERT * * * * ROUTINE TO CONFIGURE STDA BASED ON PRESENCE OF .CFER * CNTST NOP JSB CFRCK TEST FOR CFER ROUTINE CCE,RSS IF SO, SET E CLE LDA STDA SET BIT 12 OF STDA IF ,CFER ALF,RAR ELA,ALF ALF,ALF STA STDA JMP CNTST,I DONE * * * PR311 DEF E311 E311 ASC 2,E311 MMS21 ASC 8,H330 .CFER TEST/ RMS29 ASC 8,E330 DATA ERROR/ RMS30 ASC 20,E331 .CFER NOT PRESENT, TEST TERMINATED/ * * * FWAA EQU * END Ö$ÿÿ ÿýé ô ÿ12977-18012 1632 S 0122 FFP DIAG 21MX #2              H0101 äÐþúASMB,A,B,L,C HED 21MX FFP DIAGNOSTIC # 2 ORG 0 DSN 101114 10 AUGUST 1976 REV 1632 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 107074. * 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 * (SUPPRESS ALL OPERATOR INTERVENTION) * 11 = SUPRESS ERROR MESSAGES * 10 = SUPRESS NON-ERROR MESSAGES * 9 = GO TO USER CONTROL SECTION * AT END OF PRESENT TEST * 8= SUPPRESS OPERATOR INTERVENTION TESTS * 7 * = DIAGNOSTIC OPTIONS * 0 * NOTE: STANDARD RUN SHOULD BE WITH SW. REG. = 0 * USER CONTROL WILL ASK FOR A 32 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 * * 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 * * CONTROL PROGRAM HALT MESSAGES * * 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 RESERVED * 102071 RESERVED * 102070 RESERVED * * 106077 TRAP CELL HALT * * * HED PROGRAM ORGANIsœþúZATION CHART * ******************************************* * * CONFIGURATOR 100B * * * LINKAGE TABLE * * ******************************************* * * EXECUTIVE 130B * * * LINKAGE * * ******************************************* * * CONSTANTS 150B * * * AND * * * STORAGE * * ******************************************* * * 2000B * * * EXECUTIVE CONTROL * * * * * ******************************************* * * IF USED * * * BASIC I/O TESTS (TEST 00) * * * ZCEND * * ******************************************* * * TABLE OF TEST POINTERS * * * TABLE OF I/O INSTR POINTERS * * ******************************************* * * * * * * * * * * * * * * * * * MAIN DIAGNOSTICS (1-31) * * * * * * * * * * * * * * * * * ******************************************* * * * * * * * * * * * * * * * * * * * * HED 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 CH EQU 10B I-O CHANNEL SELECT CODE * 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 101114 DIAGNOSTIC SERIAL NUMBER FMTR BSS 1 FORMATTER * * * CONTROL LINKAGE AND DATA REFERENCES * CFIG DEF ZCONF CONFIGURATION SECTION MSGC DEF ZMSGC MESSAGE WITH NO HALT MSGH DEF ZMSGH MESSAGE WITH HALT ERMS DEF ZERMS ERROR MESSAGE SWRT DEF ZSWRT SWITCH REGISTER CHECK ROUTINE TSTN OCT 0 CURRENT TEST NUMBER EXRT DEF ZEXRT RETURN TO CONTROL PROGRAM NOP RESERVED * * * * * * * * * * * * * HED EXECUTIVE CONTROL ORG 2000B ZSTEX CLC INTP,C TURN I/O SYSTEM OFF JSB MSGC,I DO CRLF DEF ZRTLF LDA HDMP GET INTRODUCTORY MESSAGE STA *+2 JSB MSGC,I OUT PUT IT NOP CLA CLEAR PASS STA ZEOLC COUNT LDB ZSW9 CHECK FOR USER SELECTION REQ JSB SWRT,I JMP ZUSR IT'S USERS CÔ‘þúHOICE ZNUSR LDA STDA GET STANDARD TEST RUN LDB STDB * JMP ZEXC * ZUSR LDA ZSINA RETRIEVE PREVIOUS RUN LDB ZSINB HLT 75B WAIT FOR USER INPUT NOP NOP NOP ZEXC STA ZUINA SAVE STB ZUINB USER STA ZSINA INPUT STB ZSINB PROGRAM LDB ZSW9 CHECK IF SW9 IS DOWN JSB SWRT,I JMP ZUSR NO GO AND WAIT CCA SET TEST NUMBER STA TSTN =-1 CLA STA ZTSTA CLEAR TEST RUN FLAG * * * * * * * * * * * * * * * * SKP ZEXCL LDA ZUINA RESTORE A REG. LDB ZUINB RESTORE B REG. ERA,RAL ROTATE ERB FIRST ERA TEST BIT STA ZUINA SAVE POSITIONS STB ZUINB ISZ TSTN MOVE TEST UP ONE NOP ZXCL1 LDA TSTN ADA TSTP GET IT'S LDA A,I ADDRESS CPA Z.M1 IS IT END OF LIST JMP ZEOL YES LDB ZUINB SSB,RSS SHOULD IT BE RUN? JMP ZEXCL NO STA ZTSTA YES - SAVE TEST ADDRESS JSB ZITCH INITIALIZE TRAP CELL HALTS JSB ZTSTA,I GO DO TEST ZEXRT LDA TSTN DISPLAY TEST NUMBER IF HALTED LDB ZSW15 CHECK FOR HALT AT END OF TEST JSB SWRT,I HLT 76B YES WAIT FOR OPERATOR LDB ZSW9 CHECK FOR ABORT JSB SWRT,I JMP ZUSR YES LDB ZSW13 CHECK FOR LOOP ON ROUTINE JSB SWRT,I JMP ZXCL1 YES - LOOP JMP ZEXCL CONTINUE * ZEOL LDA ZTSTA CHECK IF ANY TESTS WERE RUN SZA,RSS ? JMP ZNUSR NO SO PICK UP STANDARD RUN LDA ZEOLC UP DATE PASS COUNT INA STA ZEOLC CCE LDB ZPSCA GET PASS COUNT ADB Z.2 ADDRESS JSB O2AS,I CONVERT IT JSB MSGC,I CALL PRINT ROUTINE ZPSCA DEF ZPSC LDB ZSW12 CHECK FOR LOLþúOP ON DIAG. JSB SWRT,I JMP *+3 YES LDA ZEOLC HLT 77B NO WAIT AND DISPLAY PASS COUNT LDA ZSINA RESTORE ORIGINAL LDB ZSINB PROGRAM JMP ZEXC DO IT ALL AGAIN * SKP * MESSAGE OUTPUT WITH OUT HALT * ZMSGC NOP ENTRY JSB ZMSG OUTPUT MESSAGE OCT 2000 SWITCH 10 CHECK JMP ZMSGC,I RETURN TO CALLER * * MESSAGE OUTPUT WITH HALT * ZMSGH NOP ENTRY JSB ZMSG OUTPUT MESSAGE OCT 2000 SWITCH 10 CHECK LDA ZHLT GET HALT CODE STA *+2 PUT IT IN PLACE LDA ZSAVA RESTORE A REGISTER NOP HALT FOR DISPLAY JMP ZMSGH,I RETURN TO CALLER * * ERROR MESSAGE WITH HALT * ZERMS NOP ENTRY JSB ZMSG OUTPUT MESSAGE OCT 4000 SWITCH 11 CHECK CLA LDB ZSW14 CHECK SWR BIT 14 TO SUPPRESS JSB SWRT,I HALT STA *+3 PUT HALT IN PLACE LDA ZSAVA RESTORE A & B LDB ZSAVB ZHLT NOP WAIT FOR OPERATOR JMP ZERMS,I RETURN TO CALLER * * * * * * * * * * * * * SKP * OUTPUT MESSAGE * ZMSG NOP STA ZSAVA SAVE A AND B REGISTERS STB ZSAVB LDB ZMSG,I GET SWITCH REGISTER BIT LDA ZMSG ADA Z.M2 DECREMENT RETURN ADDRESS STA ZMSG JSB SWRT,I CHECK TO SUPPRESS MESSAGE JMP ZMSG0 YES LDA ZMSG,I CHECK IF ERROR LDA A,I LDA A,I IF SO ALF,ALF AND Z.177 CPA ZA.E JSB ZCFTN CHECK TO OUTPUT TEST NUMBER LDA ZMSG,I NO RETRIEVE FORMAT LDB A,I ADDRESS CLA,CLE JSB FMTR,I ZMSG0 LDA ZMSG,I CONVERT HALT CODE LDB A,I FROM ASCII STRING CCA,CCE JSB AS2N,I STA ZN2AO SAVE RESULT AND Z.300 DECODE LDB ZH2 HALT CODE  °þú CPA Z.100 LDB ZH6 CPA Z.200 LDB ZH3 CPA Z.300 LDB ZH7 LDA ZN2AO GET HALT NUMBER AND Z.77 IOR B STA ZHLT SAVE IT ISZ ZMSG,I ADJUST RETURN POINTERS ISZ ZMSG ISZ ZMSG ISZ ZMSG LDA ZSAVA RESTORE A AND B REGISTERS LDB ZSAVB JMP ZMSG,I * * * * * * SKP ZCFTN NOP LDA TSTN GET TEST NUMBER CPA ZCFTT IS IT THE SAME ONE? JMP ZCFTN,I YES SKIP OUTPUT STA ZCFTT NO - THEN UPDATE IT JSB ZN2AO CONVERT IT STA ZTSTN PUT IT IN STRING CLA DO A CRLF JSB SLOP,I CLA,CLE INDICATE START OF FORMAT LDB ZTSTF JSB FMTR,I JMP ZCFTN,I RETURN * * * * ZSAVA NOP ZSAVB NOP ZEOLC NOP ZTSTA NOP ZSINA NOP ZSINB NOP ZUINA NOP ZUINB NOP ZBTMP NOP Z.2 OCT 2 Z.7 OCT 7 Z.10 OCT 10 Z.60 OCT 60 Z.77 OCT 77 Z.177 OCT 177 Z.M1 DEC -1 Z.M2 DEC -2 ZD100 DEC -100 ZIOM OCT 177700 ZSW15 OCT 100000 ZSW14 OCT 40000 ZSW13 OCT 20000 ZSW12 OCT 10000 ZS812 OCT 010400 ZSW9 OCT 1000 Z.100 OCT 100 Z.200 OCT 200 Z.300 OCT 300 ZH2 OCT 102000 ZH6 OCT 106000 ZH3 OCT 103000 ZH7 OCT 107000 ZCFTT DEC -1 ZTSTF DEF *+1 ASC 3,TEST ZTSTN ASC 2,XX// ZRTLF ASC 1,// ZPSC ASC 6,PASS XXXXXX/ ZA.E OCT 105 HED GENERAL ROUTINES * * ZN2AO NOP STA ZIOAD SAVE NUMBER AND Z.7 CONVERT FIRST IOR Z.60 NUMBER STA B SAVE IT LDA ZIOAD GET RAR,RAR SECOND RAR NUMBER AND Z.7 CONVERT IOR Z.60 IT ALF,ALF MOVE TO UPPER HALF IOR B ADD LOWER JMP ZN2AO,I AND RETURN * * * * SWITCH REGISTER CHECK * ZSWRT NOP STA ZN2AO SAVE A REGISTER LIA SW GET SWITCH REG. AND B MASK OUT BIT SZrþúA,RSS IS IT UP? ISZ ZSWRT NO LDA ZN2AO RESTORE A REGISTER LIB SW LET B = SWITCH REGISTER JMP ZSWRT,I RETURN TO CALLER * * * * INITIALIZE TRAP CELL HALTS * ZITCH NOP LDA ZTSH GET STARTING TRAP CELL HALT LDB Z.2 GET FIRST TRAP CELL LOCATION ZTSHL STA B,I PUT IT IN PLACE CPB Z.77 AM I FINISHED JMP ZITCH,I YES INB NEXT ADDRESS JMP ZTSHL * ZTSH OCT 106077 * * * SKP * PUT JSB INSTRUCTION IN TRAP CELL * ZTCJI NOP LDB ZJSBI GET INSTRUCTION STB ZIOSC,I PUT IT IN TRAP CELL LDA ZTCJI,I GET LOCATION STA 3B SAVE IT FOR JSB INSTRUCTION ISZ ZTCJI ADJUST RETURN JMP ZTCJI,I RETURN TO CALLER * ZJSBI JSB 3B,I JSB INSTRUCTION * * * INITIALIZE SELECT CODE I/O INSTRUCTIONS * ZISC NOP STA ZIOSC SAVE SELECT CODE STB ZIOAD SAVE TABLE ADDRESS ZIOL LDB ZIOAD,I GET ADDRESS OF LOCATION CPB Z.M1 IS IT THE TERMINATOR JMP ZISC,I YES RETURN TO CALLER LDA B,I NO - GET CONTENTS AND ZIOM MASK OFF OLD SELECT CODE IOR ZIOSC ADD IN NEW SELECT CODE STA B,I RESTORE IT ISZ ZIOAD MOVE TO NEXT ADDRESS JMP ZIOL DO IT * ZIOSC NOP ZIOAD NOP * * * * SKP * CONFIGURATION SECTION * ZCONF CLC INTP,C TURN I/O SYSTEM OFF LIA SW GET SELECT CODE AND OPTIONS STA USSC SAVE THEM AND Z.77 ELIMINATE OPTIONS LDB A CMB,INB CHECK THAT SC > 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 * * * * * * * * ÝŠþú * * * * * * * * * * * * * * * HED TEST DATA TABLES * * ******************************************************************** * SPECIAL TEST TABLE XADD TEST * * OVERFLOW SHOULD BE SET ******************************************************************** * ADHD1 EQU * DEC 4 * ADBS1 EQU * OCT 045526 +0.100141183461E+39 OCT 076612 UPPER BOUNDARY-OUTER RANGE OCT 024776 * * DO NOT CHANGE THE FOLLOWING 3 WORDS TO 0!!!! * THE INTERRUPT TEST FOR "XADD" USES THIS ENTRY; A "0" IN * THESE WORDS WILL EXIT THE MICRO WITHOUT TESTING FOR * INTERRUPT. THEREFOR THE INTERRUPT TEST WILL FAIL. * OCT 064523 +0.699999999999E+38 OCT 002353 OCT 126774 * OCT 077777 +0.170141183460E+39 OCT 177777 OCT 177776 * * OCT 132251 -0.100141183461E+39 OCT 101165 LOWER BOUNDARY-OUTER RANGE OCT 153776 * OCT 113254 -0.699999999999E+38 OCT 175424 OCT 050374 * OCT 100000 -0.170141183460E+39 OCT 0 OCT 000376 * * OCT 077777 +0.293873587705E-38 OCT 177777 UPPER BOUNDARY-INNER RANGE OCT 177401 * OCT 137777 -0.146936793854E-38 OCT 177777 OCT 177401 * OCT 0 0.00E00 OCT 0 OCT 0 * * OCT 137777 -0.293873587707E-38 OCT 177777 LOWER BOUNDARY-INNER RANGE OCT 177403 * OCT 040000 +0.146936793854E-38 OCT 0 OCT 001001 * OCT 0 0.00E00 OCT 0 OCT 0 * * ******************************************************************** * * ******************************************************************** * SPECIAL TEST TABLE FOR XADD TEST * * OVERFLOW SHOULD NOT BE SET ******************************************************************** * ADHD2 EQU * DEC 4 ADBS2 EQU * OCT 045526 UPPER BOUNDARY-OUTER RANGErò640 OCT 076612 OCT 024776 * OCT 064523 OCT 002353 OCT 125774 * OCT 077777 OCT 177777 OCT 177776 * * OCT 132251 LOWER BOUNDARY-OUTER RANGE OCT 101165 OCT 153776 * OCT 113254 OCT 175424 OCT 050774 * OCT 100000 OCT 0 OCT 000376 * * OCT 040000 UPPER BOUNDARY-INNER RANGE OCT 0 OCT 000001 * OCT 0 OCT 0 OCT 0 * OCT 040000 OCT 0 OCT 000001 * * OCT 137777 LOWER BOUNDARY-INNER RANGE OCT 177777 OCT 177403 * OCT 040000 OCT 0 OCT 000401 * OCT 137777 OCT 177777 OCT 177401 * * ******************************************************************** * * X®6ÿÿ ÿýê ø ÿ12977-18013 1632 S 0122 FFP DIAG 21MX #2              H0101 åÐþú* * ******************************************************************** * SPECIAL TEST TABLE XMPY TEST ******************************************************************** * MLHD1 EQU * DEC 4 * MLBS1 EQU * OCT 073017 +0.170141183461E+20 OCT 022476 UPPER BOUNDARY-OUTER RANGE OCT 156600 * OCT 042543 +0.999999999999E+19 OCT 110602 OCT 042600 * OCT 077777 +0.170141183460E+39 OCT 177777 OCT 177776 * * OCT 104760 -0.170141183461E+20 OCT 155301 LOWER BOUNDARY-OUTER RANGE OCT 021600 * OCT 042543 +0.999999999999E+19 OCT 110602 OCT 042600 * OCT 100000 -0.170141183460E+39 OCT 0 OCT 000376 * * OCT 067405 +0.146936793852E-20 OCT 132635 UPPER BOUNDARY-INNER RANGE OCT 034167 * OCT 044711 +0.100000000000E-17 OCT 073507 OCT 044613 * OCT 0 0.00E00 OCT 0 OCT 0 * * OCT 067405 +0.146936793853E-20 OCT 132635 LOWER BOUNDARY-INNER RANGE OCT 035567 * OCT 133066 -0.100000000000E-17 OCT 104270 OCT 133613 * OCT 0 0.00E00 OCT 0 OCT 0 * * ******************************************************************** * * * * * ******************************************************************** * SPECIAL TEST TABLE XDIV TEST ******************************************************************** * * DVHD1 EQU * DEC 6 * DVBS1 EQU * OCT 073017 +0.170141183461E+20 OCT 022476 UPPER BOUNDARY-OUTER RANGE OCT 156600 * OCT 045616 +0.999999999999E-21 OCT 150050 OCT 035167 * OCT 077777 +0.170141183460E+39 OCT 177777 OCT 177776 * * OCT 104760 -0.170141183461E+20 OCT 155301 LOWER BOUNDARY-OUTER RANGE OCT 021600 * OCT 04¬êþú5616 +0.999999999999E-21 OCT 150050 OCT 035167 * OCT 100000 -0.170141183460E+39 OCT 0 OCT 000376 * * OCT 067405 +0.146936793852E-20 OCT 132635 UPPER BOUNDARY-INNER RANGE OCT 034167 * OCT 067405 +0.999999999999E+18 OCT 132635 OCT 035570 * OCT 0 +0.00E+00 OCT 0 OCT 0 * * OCT 110372 -0.146936793852E-20 OCT 045142 LOWER BOUNDARY-INNER RANGE OCT 144167 * OCT 067405 +0.999999999999E+18 OCT 132635 OCT 035570 * OCT 0 +0.00E+00 OCT 0 OCT 0 * * OCT 073017 +0.170141183466E+20 OCT 022476 DIVIDE BY 0 OCT 166200 * OCT 0 +0.00E+00 OCT 0 OCT 0 * OCT 077777 +0.170141183460E+39 OCT 177777 OCT 177776 * * OCT 104760 -0.170141183466E+20 OCT 155301 DIVIDE BY 0 OCT 012200 * OCT 0 +0.00E+00 OCT 0 OCT 0 * OCT 100000 -0.170141183460E+39 OCT 0 OCT 000376 * * * * ******************************************************************** * TABLE FOR XADD TEST ******************************************************************** * ADHED DEC 18 NR. OF ENTRIES. EACH ENTRY * CONSISTS OF 9 WORDS. * * 1ST WORD - 1ST WORD OF 1ST OPERAND * 2ND WORD - 2ND WORD OF 1ST OPERAND * 3RD WORD - 3RD WORD OF 1ST OPERAND * * 4TH WORD - 1ST WORD OF 2ND OPERAND * 5TH WORD - 2ND WORD OF 2ND OPERAND * 6TH WORD - 3RD WORD OF 2ND OPERAND * * 7TH WORD - 1ST WORD OF RESULT * 8TH WORD - 2ND WORD OF RESULT * 9TH WORD - 3RD WORD OF RESULT * ADBAS EQU * OCT 072423 0.389056288128E+38 OCT 147144 OCT 010772 * OCT 0 0.00E+00 OCT 0 OCT 0 * OCT 072423 0.380056288128E+38 OCT 147144 OCT 01â½þú0772 * * OCT 045526 0.100141183460E+39 OCT 076612 OCT 022776 * OCT 132251 -0.100141183460E+39 OCT 101165 OCT 155776 * OCT 0 0.00E+00 OCT 0 OCT 0 * * OCT 074151 0.298123765034E+30 OCT 043132 OCT 137704 * OCT 046764 0.772036481090E+30 OCT 126337 OCT 167710 * OCT 066016 0.107016024612E+31 OCT 177166 OCT 117710 * * OCT 066352 0.200912867305E+22 OCT 041353 OCT 051216 * OCT 066217 0.100128749347E+22 OCT 047614 OCT 103214 * OCT 050630 0.301041616652E+22 OCT 172530 OCT 145620 * * OCT 046602 0.213054823012E+14 OCT 043321 OCT 036132 * OCT 043116 0.773023549017E+14 OCT 055547 OCT 075536 * OCT 054656 0.986078372029E+14 OCT 166433 OCT 145136 * * OCT 065712 0.220756933711E+06 OCT 116740 OCT 173044 * OCT 057141 0.386579030127E+06 OCT 030173 OCT 063446 * OCT 045043 0.607335963838E+06 OCT 037665 OCT 170450 * * OCT 044776 0.289045238812E+00 OCT 157147 OCT 141777 * OCT 052642 0.669023651899E+00 OCT 110450 OCT 112000 * OCT 075242 0.958068890712E+00 OCT 000134 OCT 073000 * * OCT 113621 -0.330954612881E+32 OCT 131403 OCT 143322 * OCT 135020 -0.443266128566E+32 OCT 117647 OCT 031324 * OCT 102731 -0.774220741446E+32 OCT 074451 OCT 012724 * * OCT 104621 -0.559274621027E+24 OCT 124573 OCT 125636 * OCT 134546 -0.333392230092E+24 OCT 142537 OCT 137636 * OCT 120574 -0.892666851119E+24 OCT 033555 OCT 132640 * * OCT 130355 -0.556432098326E+16 OCT 017101 OCT 100552 * E—þú OCT 125166 -0.300954281811E+16 OCT 130653 OCT 017550 * OCT 103050 -0.857386380138E+16 OCT 073427 OCT 010152 * * OCT 132014 -0.398201765439E+08 OCT 106756 OCT 114064 * OCT 125400 -0.222815023671E+08 OCT 134150 OCT 101062 * OCT 104614 -0.621016789110E+08 OCT 165042 OCT 154464 * * OCT 040030 +0.530193762998E-22 OCT 131703 OCT 005557 * OCT 051064 +0.339991276308E-22 OCT 070321 OCT 106555 * OCT 064462 +0.870185039307E-22 OCT 166053 OCT 151157 * * OCT 043026 +0.778120659375E-14 OCT 036646 OCT 157245 * OCT 050071 +0.111332091996E-14 OCT 022545 OCT 124237 * OCT 050035 +0.889452751371E-14 OCT 061123 OCT 111645 * * OCT 075774 +0.923761080010E-06 OCT 030143 OCT 155731 * OCT 042047 +0.991776928998E-09 OCT 103065 OCT 033707 * OCT 076036 +0.924752856939E-06 OCT 042046 OCT 173331 * * OCT 131214 -0.391022576801E-26 OCT 146301 OCT 152523 * OCT 123204 -0.225889001134E-26 OCT 021076 OCT 142121 * OCT 102716 -0.616911577934E-26 OCT 156741 OCT 033523 * * OCT 123541 -0.600519744432E-18 OCT 000547 OCT 174611 * OCT 113413 -0.711198003215E-18 OCT 131367 OCT 166211 * OCT 117466 -0.131171774765E-17 OCT 055057 OCT 171213 * * OCT 111035 -0.499701254438E-10 OCT 050771 OCT 033675 * OCT 134377 -0.322876411235E-10 OCT 126206 OCT 163675 * OCT 122616 -0.822577665673E-10 OCT 077500 OCT 007677 * * OCT 100734 -0.769881020151E-02 OCT 154575 OCT 155363 * OCT 133440 -0.111198022357E-02 šåþú OCT 010516 OCT 052357 * OCT 133722 -0.881079042509E-02 OCT 067350 OCT 133765 * * ******************************************************************** * * * ******************************************************************** * TEST TABLE FOR XSUB TEST ******************************************************************** * SBHED DEC 7 NR. OF ENTRIES. EACH ENTRY * CONSISTS OF 9 WORDS * SBBAS EQU * OCT 077777 +0.170141183460E+39 OCT 177777 OCT 177776 * OCT 077777 +0.170141183460E+39 OCT 177777 OCT 177776 * OCT 0 +0.00E+00 OCT 0 OCT 0 * * OCT 040000 +0.146936793854E-38 OCT 0 OCT 001001 * OCT 040000 +0.146936793854E-38 OCT 0 OCT 001001 * OCT 0 +0.00E+00 OCT 0 OCT 0 * * OCT 051245 +0.999127650234E+26 OCT 054730 OCT 045256 * OCT 044756 +0.111723012883E+26 OCT 116524 OCT 152650 * OCT 044547 +0.887404637351E+26 OCT 103055 OCT 127656 * * OCT 054207 +0.398701183404E+18 OCT 104722 OCT 102566 * OCT 107115 -0.512054382698E+18 OCT 012007 OCT 154566 * OCT 062435 +0.910755566102E+18 OCT 035345 OCT 053170 * * OCT 043026 +0.778120659375E-14 OCT 036646 OCT 157245 * OCT 050071 +0.111332091996E-14 OCT 022545 OCT 124237 * OCT 074036 +0.666788567379E-14 OCT 030764 OCT 051243 * * OCT 042047 +0.991776928998E-09 OCT 103065 OCT 033707 * OCT 100412 -0.923761080009E-09 OCT 005743 OCT 075305 * OCT 040721 +0.191553800901E-08 OCT 040041 OCT 136711 * * OCT 107005 -0.351227790163E-30 OCT 021403 OCT 141067 ¬–þú* OCT 132331 -0.231579889015E-30 OCT 014163 OCT 140467 * OCT 131130 -0.119647901148E-30 OCT 012440 OCT 001065 * * ******************************************************************** * * * * * ******************************************************************** * TABLE FOR XMPY TESTS ******************************************************************** MLHED DEC 18 NR. OF ENTRIES. EACH ENTRY * * CONSISTS OF 9 WORDS. * * FIRST 3 WORDS - 1ST OPEAND * SECOND 3 WORDS - 2ND OPEAND * LAST 3 WORDS - EXPECTED OUTPUT * MLBAS EQU * OCT 070130 +0.259048713216E+21 OCT 027501 OCT 057210 * OCT 0 +0.00E+00 OCT 0 OCT 0 * OCT 0 +0.00E+00 OCT 0 OCT 0 * * OCT 104305 -0.671190053874E+17 OCT 147543 OCT 015160 * OCT 0 +0.00E+00 OCT 0 OCT 0 * OCT 0 +0.00E+00 OCT 0 OCT 0 * * OCT 123061 -0.444697001151E+30 OCT 132061 OCT 165706 * OCT 132376 -0.300015997644E+03 OCT 174745 OCT 002422 * OCT 064477 +0.133416214449E+33 OCT 030237 OCT 161726 * * OCT 051200 +0.510669117427E+29 OCT 143630 OCT 053700 * OCT 047776 +0.199987005543E+02 OCT 125533 OCT 126412 * OCT 063437 +0.102127187617E+31 OCT 041136 OCT 071710 * * OCT 054441 +0.980022398709E+14 OCT 166261 OCT 154136 * OCT 055553 +0.599117266542E+07 OCT 002252 OCT 054456 * OCT 077521 +0.587148340664E+21 OCT 043703 OCT 172612 * * OCT 041726 +0.444590012834E+07 OCT 146040 OCT 155456 * OCT 043316 +0.290016541196E+06 OCT 004250 OCT 136446 * OCT 045415 +0.128938457772E+1¹Ë*($3 OCT 051722 OCT 127522 * * OCT 077600 +0.510008296672E+03 OCT 103756 OCT 142022 * OCT 075775 +0.154988760012E+02 OCT 131263 OCT 067410 * OCT 075602 +0.790455534971E+04 OCT 034255 OCT 114032 * * OCT 060463 +0.221008901154E-10 OCT 061737 OCT 005273 * OCT 053346 +0.434501999876E+02 OCT 100234 OCT 157414 * OCT 040775 +0.960288095417E-09 OCT 110433 OCT 151707 * * OCT 061000 +0.340011987202E-15 OCT 072331 OCT 035233 * OCT 050777 +0.200192506734E-01 OCT 132256 OCT 166367 * OCT 076620 +0.680678520374E-17 OCT 021141 OCT 121217 * * OCT 064022 +0.550960071891E-20 OCT 145524 OCT 113173 * OCT 072360 +0.697011278004E-05 OCT 064014 OCT 067737 * OCT 057424 +0.384025383838E-25 OCT 100033 OCT 044131 * rb*ÿÿ ÿýë ÷ ÿ12977-18014 1632 S 0122 FFP DIAG 21MX #2              H0101 æÐþú* OCT 052700 +0.113490887012E-20 OCT 052206 OCT 064567 * OCT 046617 +0.551103480763E-12 OCT 114157 OCT 011661 * OCT 063753 +0.625452228671E-33 OCT 145654 OCT 027045 * * OCT 122556 -0.522100769010E+20 OCT 010565 OCT 136604 * OCT 064733 +0.433599800126E+06 OCT 176315 OCT 050446 * OCT 132430 -0.226382789088E+26 OCT 120703 OCT 160252 * * OCT 063353 +0.622105439987E+26 OCT 030262 OCT 006254 * OCT 106603 -0.166601987643E-08 OCT 010601 OCT 056707 * OCT 121762 -0.103644002825E+18 OCT 012407 OCT 020162 * * OCT 136736 -0.346709115603E+08 OCT 154016 OCT 011064 * OCT 065256 +0.266700199801E+02 OCT 014667 OCT 134412 * OCT 110705 -0.924673904043E+09 OCT 030437 OCT 165074 * * OCT 103464 -0.900006521306E-06 OCT 001353 OCT 001331 * OCT 057561 +0.111111600077E-07 OCT 131402 OCT 040315 * OCT 122755 -0.100001164662E-13 OCT 046445 OCT 115645 * * OCT 135233 -0.300947600112E-16 OCT 030162 OCT 146225 * OCT 042374 +0.411197650034E-05 OCT 146771 OCT 125737 * OCT 132462 -0.123748945949E-21 OCT 143463 OCT 017161 * * OCT 103660 -0.199034120660E-21 OCT 173053 OCT 153561 * OCT 075724 +0.900994750110E-09 OCT 167475 OCT 160705 * OCT 105633 -0.179328697807E-30 OCT 164310 OCT 016065 * * OCT 047711 +0.600237011542E-34 OCT 000721 OCT 050037 * OCT 105475 -0.222697990123E-03 OCT 175523 OCT 002751 * OCT 133470 -0.133671576068E-37 OCT 163311 OCT 072007 * * * **********************************|Sþú********************************** * HED SUBROUTINES * * SUBROUTINE TO TURN ON MEMORY PROTECT LOGIC. * * ENTER WITH (A)=EXIT ADDRESS AND * (B)=FENCE ADDRESS * MEMTN NOP STA MPCKX STORE EXIT ADDRESS LDA PMMTN SET INTERRUPT ADDRESS. STA MPPAR CLA STA MPIND RESET INDICATOR. INA ANNOUNCE THAT WE ARE DOING STA MPTES A MEM. PROTECT TEST. OTB MPPAR LOAD FENCE REGISTER. STF INTP STC MPPAR TURN ON MEM. PROTECT LOGIC. JMP MEMTN,I * * * * MEMORY PROTECT VIOLATION ROUTINE. * * MPCHK NOP CLF INTP LIA MPPAR GET VIOLATION REGISTER. SSA JMP MPCK1 PARITY ERROR! CLF MPPAR TURN OFF PARITY LOGIC LDA TRHLT MEMORY PROTECT VIOLATION! STA MPPAR RESTORE TRAP CELL HALT. CLA,INA SET INDICATOR. STA MPIND STF MPPAR TURN ON PARITY LOGIC. JMP MPCKX,I RETURN * MPCK1 EQU * OCT 106077 HALT ON PARITY ERROR. JMP *-1 * MPCKX BSS 1 EXIT ADDRESS * * HED CONSTANTS AND STORAGE RM111 ASC 18,E111 NOT INTERRUPTIBLE DURING PARAM. ASC 3,FETCH/ RM112 ASC 18,E112 P-REG NOT RESTORED ON INTERR. D ASC 10,URING PARAM. FETCH/ RM113 ASC 18,E113 A-REG NOT RESTORED ON INTERR. D ASC 10,URING PARAM. FETCH/ RM114 ASC 18,E114 B-REG NOT RESTORED ON INTERR. D ASC 10,URING PARAM. FETCH/ HED CONSTANTS AND STORAGE ORG 140B IOIP DEF IOID TSTP DEF TSTD POINTER TO TEST TABLE HDMP DEF HDMS POINTER TO HEADER MESSAGE STDA OCT 007777 STDB OCT 0 * * * * ORG 150B ******************************************************************** * * MAPPING CODES FOR MACRO * .GOTO EQU 221B .ENTR EQU 223B .ENTP EQU 224B .SETP EQU 227B .XMPY EQU 203B .XDIV EQU 204B .XADD EQU 213B .XSUB EQU 214B XADD EQU 207B XSUB EQU 210B XMPY EQU 211B XDIV EQU 212B ************2þú******************************************************** * * * * OUTPUT STORED HERE * POUTP DEF OUTPT OUTPT BSS 1 BSS 1 BSS 1 * * MPPAR EQU 5 HDMS ASC 14,START 21MX FFP DIAGNOSTIC 2/ * IOID EQU * DEF STCSC DEF STFSC DEF CLCSC DEF INTSC DEC -1 TEMP BSS 9 DEC -6,-5,-4,-3,-2,-1 . DEC 0,1,2,3,4,5,6,7,8,9 BIT5 OCT 40 BIT14 OCT 40000 BIT15 OCT 100000 INDIC BSS 1 PADHD DEF ADHED PADBS DEF ADBAS PADB1 DEF ADBS1 PADH1 DEF ADHD1 PADH2 DEF ADHD2 PADB2 DEF ADBS2 INTSC NOP ITRAP JSB *+1,I INSERT IN TRAP CELL DEF INTSB FOR INTERRUPT TEST B77 OCT 77 P40 DEC 40 P8 DEC 8 P15 DEC 15 J BSS 1 M16 DEC -16 M17 DEC -17 M15 DEC -15 PINTR DEF INNTR PINTP DEF INNTP PPROV DEF PROVN PRNTY DEF RNTY1 INNTR RAM .ENTR INSERTS DEF TTB1 FOR RSS .ENTR TEST * INNTP NOP INSERTS NOP FOR RAM .ENTP .ENTP DEF TTB1 TEST * PMMTN JSB *+1,I INSERT FOR TRAP CELL DEF MPCHK OF MEMORY PROTECT, IF MEM. * PROTECT IS USED. TRHLT OCT 106077 INSERT FOR TRAP CELL OF MEM. * PROTECT, IF IT IS NOT USED. MPTES BSS 1 MPIND BSS 1 INTAD BSS 1 INTN1 BSS 1 PSBHD DEF SBHED PSBBS DEF SBBAS B10 OCT 10 AREG BSS 1 BREG BSS 1 INTID BSS 1 PDVH1 DEF DVHD1 PDVB1 DEF DVBS1 PMLHD DEF MLHED PMLBS DEF MLBAS PDVHD DEF DVHED PDVBS DEF DVBAS PMLH1 DEF MLHD1 PMLB1 DEF MLBS1 PNTRP BSS 1 PNTRY DEF ENTRY PERMS DEF ERMES PDATC DEF DATCK PCHEK DEF CHECK PXAD2 DEF XADD2 PMEMT DEF MEMTN PR142 DEF E142 PR162 DEF E162 PR163 DEF E163 PPNRS DEF PNRES PANRS DEF ANRES PBNRS DEF BNRES PINTK DEF INTCK PPRNN DEF PRNIN B60 OCT 60 * * ERROR AND NON-ERROR MESSAGES * MMS01 ASC 8,H030 .GOTO TEST/ MMS02 ASC 8,H050 .ENTR TEST/ MMS03 ASC 8,H060 .ENTP TEST/ kþúMMS04 ASC 8,H100 .SETP TEST/ MMS08 ASC 8,H140 .XADD TEST/ MMS09 ASC 8,H150 .XSUB TEST/ MMS10 ASC 8,H160 .XMPY TEST/ MMS11 ASC 8,H200 .XDIV TEST/ MMS05 ASC 8,H115 XADD TEST/ PERN6 DEF ERNR6 ERNR6 ASC 2,E115 MMS06 ASC 8,H125 XSUB TEST/ PERN7 DEF ERNR7 ERNR7 ASC 2,E125 MMS07 ASC 8,H135 XMPY TEST/ PERN8 DEF ERNR8 ERNR8 ASC 2,E135 MMS12 ASC 8,H215 XDIV TEST/ PER12 DEF ERN12 ERN12 ASC 2,E215 * * * BUFFER FOR DATA ERROR MESSAGES FOR * DBLE XADD XSUB * XMPY XDIV * TESTS. * RMS00 ASC 8,XXXX DATA ERROR OCT 6412 CR-LF ASC 2,ACT RMAC1 ASC 11,XXXXXX XXXXXX XXXXXX OCT 6412 ASC 2,EXP RMEX1 ASC 12,XXXXXX XXXXXX XXXXXX/ PRAC1 DEF RMAC1 PREX1 DEF RMEX1 PERN2 DEF ERNR2 PERN3 DEF ERNR3 PERN4 DEF ERNR4 PERN5 DEF ERNR5 ERNR2 ASC 2,E140 ERNR3 ASC 2,E150 ERNR4 ASC 2,E160 ERNR5 ASC 2,E200 E144 ASC 2,E144 RMS01 ASC 18,E030 FAILED FOR INDIRECT ADDRESSING/ RMS02 ASC 10,E031 FAILED FOR J=0/ RMS03 ASC 11,E032 FAILED FOR J=NEG/ RMS04 ASC 11,E033 FAILED FOR J>16/ RMS05 ASC 10,E034 FAILED FOR J=8/ RMS06 ASC 18,E050 FAILED FOR ACTUAL NR OF PARAM. ASC 7, ALLOWED NR/ * * BUFFER TO OUTPUT ERROR MESSAGE "NO CHECK ON MEM PROT VIOLATION" * * RMS09 ASC 18,XXXX NO CHECK ON MEM PROT VIOLATION/ E053 ASC 2,E053 E104 ASC 2,E104 E145 ASC 2,E145 PR145 DEF E145 PR053 DEF E053 PR104 DEF E104 * RMS10 ASC 18,E060 FAILED FOR ACTUAL NR OF PARAM. ASC 7,< ALLOWED NR/ RMS11 ASC 15,E100 A-REG. NOT=0 UPON RETURN/ RMS12 ASC 17,E101 B-REG. DOES NOT CONTAIN LAST ASC 11,ADDRESS+1 UPON RETURN/ RMS13 ASC 14,E102 INCORRECT VALUE STORED/ RMS14 ASC 16,E103 MORE LOCATIONS FILLED THAN ASC 5,REQUESTED/ RMS17 ASC 17,E054 RETURN ADDRESS NOT STORED IN ASC 9,CORRECT LOCATION/ * * BUFFER TO OUTPUT "OVERFLOW NOT SET". \Ýþú* RMS18 ASC 11,XXXX OVERFLOW NOT SET/ E141 ASC 2,E141 E161 ASC 2,E161 E201 ASC 2,E201 PR141 DEF E141 PR161 DEF E161 PR201 DEF E201 * * * RMS20 ASC 16,E055 RETURN ADDR. NOT IN A-REG/ RMS21 ASC 15,E056 INCORRECT ADDR. IN B-REG/ * * BUFFER TO OUTPUT "OVERFLOW SET" * RMS22 ASC 9,XXXX OVERFLOW SET/ E143 ASC 2,E143 PR143 DEF E143 * * ****************RMS25 MESSAGE ON OTHER PAGE * PT18 DEF TB18 PXST6 DEF XSTP6 PXST4 DEF XSTP4 PR105 DEF E105 PR106 DEF E106 PR107 DEF E107 PR110 DEF E110 * * USED FOR INTERRUPT TEST OF .SETP * CNT1 DEF CNT2,I CNT2 DEF CNT3,I CNT3 DEF CNT CNT DEC 31 * * PXS10 DEF XST10 PXS11 DEF XST11 PXS15 DEF XST15 PNTR4 DEF NNTR4 HED SUBROUTINES * * SUBROUTINE TO PRINT "OVERFLOW SET" * ENTER WITH (B)=POINTER TO ERROR NUMBER STRING * PROVS NOP LDA B,I MOVE STA RMS22 ERROR INB NUMBER LDA B,I INTO STA RMS22+1 MESSAGE BUFFER. * JSB ERMS,I PRINT ERROR MESSAGE. DEF RMS22 JMP PROVS,I EXIT. * * * * * HED TEST DATA TABLES * * ******************************************************************** * TABLE FOR XDIV TESTS ******************************************************************** * DVHED EQU * DEC 17 NR. OF TABLE ENTRIES. EACH ENTRY * CONSISTS OF 9 WORDS. * * * FIRST 3 WORDS - 1ST OPERAND * SECOND 3 WORDS - 2ND OPERAND * LAST 3 WORDS - EXPECTED OUTPUT * DVBAS EQU * OCT 062646 +0.412336000120E+34 OCT 007535 OCT 145340 * OCT 042272 +0.900813201144E+07 OCT 001001 OCT 073460 * OCT 057250 +0.457737519385E+27 OCT 066051 OCT 066662 * * OCT 072235 +0.881109231566E+25 OCT 022130 OCT 030646 * OCT 071116 +0.234100876999E+06 OCT 116020 OCT 060044 * OCT 040512 +0.376380149815E+20 W‰þú OCT 121346 OCT 140204 * * OCT 056370 +0.511110388901E+14 OCT 067242 OCT 060534 * OCT 076377 +0.399994678903E+04 OCT 111406 OCT 020030 * OCT 057463 +0.127779297041E+11 OCT 173575 OCT 001104 * * OCT 070262 +0.721269304566E+04 OCT 142655 OCT 141432 * OCT 057544 +0.119238671105E+02 OCT 012160 OCT 105410 * OCT 045634 +0.604895457055E+03 OCT 123625 OCT 107024 * * OCT 045015 +0.666998765432E+18 OCT 037276 OCT 175170 * OCT 047362 +0.222213812456E+17 OCT 035177 OCT 110156 * OCT 074020 +0.300160803715E+02 OCT 073537 OCT 073012 * * OCT 052443 +0.991134896977E-08 OCT 044560 OCT 156715 * OCT 076717 +0.239967811234E-03 OCT 167465 OCT 171751 * OCT 053236 +0.413028269033E-04 OCT 044516 OCT 013345 * * OCT 054147 +0.221007761103E+02 OCT 030732 OCT 044012 * OCT 064254 +0.113489002136E-16 OCT 152477 OCT 004221 * OCT 066032 +0.194739364118E+19 OCT 020313 OCT 130572 * * OCT 074025 +0.388012009141E-24 OCT 075200 OCT 021537 * OCT 042534 +0.211678009126E-02 OCT 153241 OCT 162361 * OCT 067314 +0.183302937676E-21 OCT 140567 OCT 137561 * * OCT 064401 +0.336015800197E+04 OCT 041626 OCT 104430 * OCT 070140 +0.911697334097E+04 OCT 014152 OCT 032742 * OCT 073632 +0.368560691832E-30 OCT 151411 OCT 020467 * * OCT 045430 +0.216450126987E+20 OCT 121027 OCT 121202 * OCT 131634 -0.111161366901E-08 OCT 044430 OCT 027707 * OCT 101052 -0.194717043359E+29 OCT 142161 OCT 132274 * Ó8*($* OCT 104244 -0.880691123011E+22 OCT 161600 OCT 047222 * OCT 041315 +0.334011980776E+02 OCT 064725 OCT 116414 * OCT 106646 -0.263670518933E+21 OCT 130440 OCT 020610 * * OCT 065170 +0.665431209112E+01 OCT 007764 OCT 106006 * OCT 102772 -0.346801235431E-11 OCT 165764 OCT 175665 * OCT 110120 -0.191876827741E+13 OCT 017746 OCT 013522 * * OCT 040240 +0.200012067011E+29 OCT 116103 OCT 161676 * OCT 136726 -0.999803245095E+25 OCT 126231 OCT 031650 * OCT 101367 -0.200051428111E+04 OCT 142601 OCT 025426 * * OCT 120520 -0.666301256707E+16 OCT 014773 OCT 034552 * OCT 055365 +0.200019760222E+15 OCT 056540 OCT 144140 * OCT 136540 -0.333117715953E+02 OCT 057571 OCT 032414 * * OCT 060543 +0.345990123677E-12 OCT 033503 OCT 072657 * OCT 121570 -0.110302660799E-04 OCT 127430 OCT 003341 * OCT 136243 -0.313673415647E-07 OCT 117441 OCT 137321 * * OCT 131643 -0.555610345980E-09 OCT 031347 OCT 160305 * OCT 045777 +0.996110388604E+07 OCT 043761 OCT 065060 * OCT 137661 -0.557779893008E-16 OCT 037111 OCT 013627 * Ž%*ÿÿ ÿýì ø ÿ12977-18015 1632 S 0122 FFP DIAG 21MX #2              H0101 çÐþú* OCT 116412 -0.900016501999E-10 OCT 144640 OCT 106677 * OCT 074541 +0.333650123667E+14 OCT 113327 OCT 013132 * OCT 113645 -0.269748589362E-23 OCT 062306 OCT 111545 * * * ******************************************************************** * * HED SUBROUTINES * * SUBROUTINE TO TURN ON THE INTERR. INTERFACE * ENTER WITH (A)=EXIT ADDRESS * INTON NOP STA INTN1 SAVE EXIT ADDRESS LDA ITRAP SET TRAP CELL STA INTSC,I CLA CLEAR INDICATOR STA INTID CLC INTP STCSC STC CH EXECUTE "STC SC" INSTRUCTION STFSC STF CH EXECUTE "STF SC" INSTRUCTION JMP INTON,I EXIT * * * * * SUBROUTINE TO TURN OFF THE INTERR. INTERFACE * INTOF NOP CLCSC CLC CH EXECUTE "CLC SC" INSTRUCTION LDA TRHLT SET HALT IN STA INTSC,I TRAP CELL JMP INTOF,I EXIT * * * * * SUBROUTINE TO CHECK IF MEM. PROTECT HARDWARE * IS PRESENT * * IF NOT PRESENT EXIT TO (P+1) * OTHERWISE EXIT TO (P+2) * MEMPR NOP LDA BIT5 IF MEM. PROTECT NOT AND CPTO PRESENT, SZA EXIT TO ISZ MEMPR (P+1) JMP MEMPR,I ELSE EXIT TO (P+2) ORG 4000B HED FFP DIAGNOSTIC - TEST TABLE * TSTD EQU * DEF TST00 .GOTO TEST DEF TST01 .ENTR TEST DEF TST02 .ENTP TEST DEF TST03 .SETP TEST DEF TST04 XADD TEST DEF TST05 XSUB TEST DEF TST06 XMPY TEST DEF TST07 .XADD TEST DEF TST08 .XSUB TEST DEF TST09 .XMPY TEST DEF TST10 .XDIV TEST DEF TST11 XDIV TEST DEC -1 * HED FFP DIAGNOSTIC - TEST 1 * ********* * .GOTO * ********* TST00 EQU * XGOTO NOP JSB MSGC,I OUTPUT MESSAGE. DEF MMS01 CLA RESET INDICATOR. STA INDIC * * CHECK 16 INDIRECT1þúS (CHECKS SUBR. "GETQ1") * LDA M16 FILL LOCATIONS 1-16 OF STA TEMP LDB PTTB1 TEST TABLE WITH LDA PTTB2 STA TEMP+1 "DEF NEXT LOCATION,I". XGOT3 EQU * LDA TEMP+1 IOR BIT15 STA B,I INB ISZ TEMP+1 ISZ TEMP JMP XGOT3 LDA JNGOT STORE "JMP RETURN" IN LOC. 17 STA TTB17 CLA,INA SET SELECTION NR. STA J JMP XGOT1 GO TO MICRO-CODE. * * ******************************************************************** XGOT1 EQU * RAM .GOTO CALLING SEQUENCE FOR DEF *+18 ".GOTO" FIRMWARE. DEF J PTTB1 DEF TTB1 PTTB2 DEF TTB2 PTTB3 DEF TTB3 PTTB4 DEF TTB4 PTTB5 DEF TTB5 PTTB6 DEF TTB6 PTTB7 DEF TTB7 PTTB8 DEF TTB8 PTTB9 DEF TTB9 PTB10 DEF TTB10 PTB11 DEF TTB11 PTB12 DEF TTB12 PTB13 DEF TTB13 PTB14 DEF TTB14 PTB15 DEF TTB15 PTB16 DEF TTB16 ******************************************************************** ******************************************************************** PTB17 DEF TTB17 PTB18 DEF TTB18 TTB18 EQU * * * AFTER COMPLETION OF A SUBTEST, CONTROL WILL COME HERE TO * DETERMINE WHICH SUBTEST HRS TO BE EXECUTED NEXT. * NGOT EQU * LDA INDIC ADA DNGOT LDA A,I JMP A,I * DNGOT DEF *+1 DEF NGOT1 DEF NGOT2 DEF NGOT3 DEF NGOT4 DEF NGOT5 * * NGOT1 EQU * TEST FOR 16 INDIRECTS IS OK. CLA,INA SET INDIC=1. STA INDIC * * NOW CHECK FOR J=0 * LDA JRGOT FILL LDB M16 STB TEMP LOCATIONS OF LDB PTTB1 NGT11 EQU * TEST TABLE WITH STA B,I INB "JMP TO ERROR". ISZ TEMP JMP NGT11 * LDA JNGOT STORE "JMP TO RETURN" STA TTB1 IN LOC. 1. CLA SET SEL. NR AND STA J GO TO MIRCO-CODE. JMP XGOT1 * NGOT2 EQU * TEST FOR J=0‘nþú IS O.K. LDA .+2 SET INDIC=2. STA INDIC * * NOW CHECK FOR J<0 * CCA SET SEL. NR. AND STA J GO TO MICRO-CODE. JMP XGOT1 * NGOT3 EQU * TEST FOR J<0 IS O.K. LDA .+3 SET INDIC=3. STA INDIC * * NOW CHECK FOR J>16 * LDA JRGOT STORE "JMP ERROR" IN LOC. 1. STA TTB1 LDA JNGOT STORE "JMP RETURN" IN LOC. 16. STA TTB16 LDA P40 SET LOC. OF SEL. NR. AND STA J GO TO MIRCO-PROGRAM. JMP XGOT1 * NGOT4 EQU * TEST FOR J>16 IS OK. LDA .+4 SET INDIC=4. STA INDIC * * NOW CHECK FOR J=8 * LDA JRGOT STORE "JMP ERROR" IN LOC. 16. STA TTB16 LDA JNGOT STORE "JMP RETURN" IN LOC. 8 STA TTB8 LDA P8 GET SEL. NR. AND STA J GO TO MICRO. JMP XGOT1 * * NGOT5 EQU * JMP XGOTO,I RETURN. * * * * UPON DETECTING AN ERROR(IF FIRMWARE RETURNS TO * A TEST TABLE LOCATION!!!), CONTROL WILL COME HERE * TO DETERMINE WHICH ERROR MESSAGE HAS TO BE PRINTED. * RGOT EQU * LDA INDIC ADA DRGOT LDA A,I JMP A,I * DRGOT DEF *+1 DEF RGOT1 DEF RGOT2 DEF RGOT3 DEF RGOT4 DEF RGOT5 * RGOT1 EQU * * * TEST FAILED FOR 16 INDIRECTS * JSB ERMS,I PRINT ERROR MESSAGE. DEF RMS01 JMP NGOT1 GO DO NEXT SUBTEST. * RGOT2 EQU * * * TEST FAILED FOR J=0 * JSB ERMS,I PRINT ERROR MESSAGE. DEF RMS02 JMP NGOT2 DO NEXT SUBTEST. * RGOT3 EQU * * * TEST FAILED FOR J<0 * JSB ERMS,I PRINT ERROR MESSAGE. DEF RMS03 JMP NGOT3 DO NEXT SUBTEST. * RGOT4 EQU * * * TEST FAILED FOR J>16 * JSB ERMS,I PRINT ERROR MESSAGE. DEF RMS04 JMP NGOT4 DO NEXT SUBTEST. * RGOT5 EQU * * * TEST FAILED FOR J=8 * JSB ERMS,I PRINT ERROR MESSAGE. ¿þú DEF RMS05 JMP XGOTO,I TEST.DONE. EXIT. * JRGOT JMP RGOT USED TO JUMP TO "ERROR ROUTINE" JNGOT JMP NGOT USED TO JUMP AFTER NON-ERROR EXIT * * * HED TEST TABLE * * * * ****************** *** TEST TABLE *** ****************** * TB18 BSS 1 BSS 1 BSS 1 BSS 1 BSS 1 BSS 1 BSS 1 BSS 1 BSS 1 BSS 1 BSS 1 BSS 1 BSS 1 BSS 1 * * TTB1 BSS 1 TTB2 BSS 1 TTB3 BSS 1 TTB4 BSS 1 TTB5 BSS 1 TTB6 BSS 1 TTB7 BSS 1 TTB8 BSS 1 TTB9 BSS 1 TTB10 BSS 1 TTB11 BSS 1 TTB12 BSS 1 TTB13 BSS 1 TTB14 BSS 1 TTB15 BSS 1 TTB16 BSS 1 TTB17 BSS 1 * ******************************************************************** ****************** ****************** ENTRY NOP THE TEST TABLE + THE FOLLOWING * 4 LOCATIONS FORM THE CALLING * SEQUENCE FOR .ENTR AND .ENTP RNTY1 BSS 1 "RAM .ENTR" INSERTED BSS 1 "DEF TTB1" INSERTED FOR .ENTR * NOP'S FOR .ENTP BSS 1 "RSS" FOR .ENTR * "RAM .ENTP" INSERTED BSS 1 "DEF TTB1" INSERTED FOR .ENTP * ******************************************************************** ******************************************************************** ******************************************************************** STA TEMP+2 SAVE (A). STB TEMP+3 SAVE (B). LDA MPTES MEM. PROTECT TEST? SZA JMP NNTR4 YES. LDA ENTRY GET CONTENTS OF "ENTRY". CPA PNTRP CORRECT RETURN ADDRESS? JMP ENTRY,I YES. GO ON. JSB ERMS,I NO. OUTPUT ERROR MESSAGE. DEF RMS17 JMP PNTRP,I EXIT TO CORRECT RETURN ADDRESS * * HED SUBROUTINES USED BY .ENTR AND .ENTP TESTS * * THIS SUBROUTINE IS USED BY .ENTR & .ENTP TESTS  þú* ENTRP NOP LDA RENTR SAVE RETURN ADDRESS. STA PNTRP JSB ENTRY RENTR DEF *+17 PPTB1 DEF PTTB1 DEF PTTB2 DEF PTTB3 DEF PTTB4 DEF PTTB5 DEF PTTB6 DEF PTTB7 DEF PTTB8 DEF PTTB9 DEF PTB10 DEF PTB11 DEF PTB12 DEF PTB13 DEF PTB14 DEF PTB15 DEF PTB16 JMP ENTRP,I * * ENTF1 NOP LDA RNTF1 SAVE RETURN ADDRESS. STA PNTRP JSB ENTRY RNTF1 DEF *+18 PPB1 DEF PTTB1 DEF PTTB2 DEF PTTB3 DEF PTTB4 DEF PTTB5 DEF PTTB6 DEF PTTB7 DEF PTTB8 DEF PTTB9 DEF PTB10 DEF PTB11 DEF PTB12 DEF PTB13 DEF PTB14 DEF PTB15 DEF PTB16 DEF PTB17 JMP ENTF1,I * * ENTF2 NOP LDA RNTF2 SAVE RETURN ADDRESS. STA PNTRP JSB ENTRY RNTF2 DEF *+19 PPPT1 DEF PTTB1 DEF PTTB2 DEF PTTB3 DEF PTTB4 DEF PTTB5 DEF PTTB6 DEF PTTB7 DEF PTTB8 DEF PTTB9 DEF PTB10 DEF PTB11 DEF PTB12 DEF PTB13 DEF PTB14 DEF PTB15 DEF PTB16 DEF PTB17 DEF PTB18 JMP ENTF2,I * * HED FFP DIAGNOSTIC - TEST 2 * ********* * .ENTR * ********* TST01 EQU * XENTR NOP JSB MSGC,I OUTPUT MESSAGE. DEF MMS02 * CLA RESET INDICATORS. STA MPTES STA INDIC * LDA .-3 SET UP CALLING SEQUENCE. LDB PINTR JSB SETUP * * TEST FOR ACTUAL NR. OF PARAMETERS < ALLOWED NR. * OF PARAMETERS. * TEST ALSO IF RETURN ADDRESS IS PROPERLY STORED * IN CORRECT LOCATION. MICRO PROGRAM SHOULD PROPERLY * PROCESS B-REG. ON ENTRY. * CLB RESET ENTRY LOCATION. STB TTB17 RESET LPST LOCATION OF TEST TABL STB ENTRY GO TO MICRO CODE WITH (B)=0. JSB ENTRP EXECUTE B›þúTEST. LDB PTB17 CHECK REGISTERS. JSB NTRCK LDA M16 LDB PPTB1 JSB ERPCK CHECK RESULTS. JMP RNTR1 ERROR. * LDB TTB17 NO ERROR. SZB,RSS LAST LOCATION CHANGED? JMP NNTR1 NO. RNTR1 EQU * JSB ERMS,I YES. ERROR. DEF RMS06 * * TEST FOR ACTUAL NR. OF PARAMETERS = ALLOWED NR. * OF PARAMETERS. * NNTR1 EQU * JSB ENTF1 EXECUTE TEST. LDB PNTRY CHECK REGISTERS. JSB NTRCK LDA M17 LDB PPB1 JSB ERPCK CHECK RESULTS. RSS JMP NNTR2 NO ERROR. JSB ERMS,I ERROR. DEF RMS07 * * TEST FOR ACTUAL NR. OF PARAMETERS > ALLOWED NR. * OF PARAMETERS. * NNTR2 EQU * JSB ENTF2 EXECUTE TEST. LDB PNTRY CHECK REGISTERS. JSB NTRCK LDA M17 LDB PPPT1 JSB ERPCK CHECK RESULT. RSS JMP NNTR3 NO ERROR. JSB ERMS,I ERROR. DEF RMS08 * * TEST WITH MEMORY PROTECT VIOLATION. * SET FENCE ADDRESS ABOVE "ENTRY". NNTR3 EQU * JSB MEMPR IF NO MEM. PROT. PRESENT, JMP XENTR,I EXIT. ELSE LDB PRNTY SET UP FOR MEMORY PROTECT TEST, LDA PNTR4 JSB PMEMT,I CLA,INA SAY THAT WE ARE DOING MEM. PROT. STA INDIC TEST #1. JSB ENTRP EXECUTE TEST. * * * RETURN CODE FROM MEMORY PROTECT TESTS. * NNTR4 EQU * LDA MPIND SZA DID MEM. PROT. INTERRUPT OCCUR? JMP NNTR5 YES. JSB MTNOF NO. TURN OFF MEM. PROTECT. LDB PR053 PRINT ERROR MESSAGE. JSB PRNMP JMP XENTR,I EXIT. * * NNTR5 EQU * LDA INDIC SLA,RSS WHICH TEST? JMP XENTR,I TEST #2. EXIT. * * TEST #1 JUST DONE. NOW DO TEST #2. * SET FENCE ADDRESS ABOVE TTB1. * LDB PTTB2 SET UP MEM. PROTECT. JSB PMEMT,I LDA .+2 SAY THAT WE'RE DOING TEST #2. STA £UþúINDIC JSB ENTRP EXECUTE TEST. * * JMP XENTR,I EXIT. * * * * * SUBROUTINE TO CHECK CONTENTS OF A- AND B-REGISTERS * ON EXIT FROM MICRO. * ENTER WITH (B)=EXPECTED CONTENTS. * NTRCK NOP STB TEMP+4 SAVE EXPECTED CONTENTS OF B. LDA TEMP+2 GET ORIGINAL CONTENTS OF A. CPA PNTRP =RETURN ADDRESS? JMP NTCK1 YES. JSB ERMS,I NO. OUTPUT ERROR MESSAGE. DEF RMS20 NTCK1 EQU * LDB TEMP+3 GET ORIGINAL CONTENTS OF B. CPB TEMP+4 CORRECT? JMP NTRCK,I YES. EXIT. JSB ERMS,I NO. OUTPUT ERROR MESSAGE. DEF RMS21 JMP NTRCK,I EXIT. * * * * * SUBROUTINE TO CHECK RESULTS OF EXECUTION * OF .ENTR & .ENTP TESTS. * ENTER WITH (A)=-NR. OF LOCATIONS TO BE CHECKED. * (B)=ADDRESS OF PTTB1 * ERPCK NOP STA TEMP SET COUNTER. LDA PTTB1 (A) POINTS TO TTB1. ERPK1 EQU * CPB A,I EQUAL? RSS JMP ERPCK,I NO. ERROR. INB YES. BUMP ADDRESS. INA BUMP POINTER. ISZ TEMP DONE? JMP ERPK1 NO. ISZ ERPCK YES. BUMP RETURN ADDRESS AND JMP ERPCK,I EXIT. * * * * * SUBROUTINE TO SET UP CALLING SEQUENCE FOR * .ENTR & .ENTP TEST * * ENTER WITH (A)=-NR. OF WORDS TO BE INSERTED * AND (B)=STARTING ADDRESS OF INSERTIONS. * SETUP NOP STA TEMP SET COUNTER. LDA PRNTY SET DESTINATION POINTER. STA TEMP+1 STUP1 EQU * LDA B,I STORE FROM SOURCE INTO STA TEMP+1,I DESTINATION. INB BUMP POINTERS. ISZ TEMP+1 ISZ TEMP DONE? JMP STUP1 NO. JMP SETUP,I YES. * * * HED FFP DIAGNOSTIC - TEST 3 * ********* * .ENTP * ********* TST02 EQU * XENTP NOP JSB MSGC,I OUTPUT MESSAGE. DEF MMS03 CLA CLEAR INDICATOR STA MPTES * * * * .ENTP SUBROUTINE IS THE SAME SU0.*BROUTINE AS .ENTR * BUT WITH A DIFFERENT ENTRY POINT. * SO DO JUST ONE TEST. * TEST FOR ACTUAL NR. OF PARAMETERS < ALLOWED NR. * OF PARAMETERS. * LDA .-4 SET UP CALLING SEQUENCE. LDB PINTP JSB SETUP CLB RESET RETURN ADDRESS LOCATION. STB TTB17 RESET LAST TEST TABLE LOCATION. STB ENTRY GO TO MICRO WITH (B)=0 JSB ENTRP EXECUTE TEST. * LDA M16 LDB PPTB1 JSB ERPCK CHECK RESULTS. JMP RNTP1 ERROR. * LDB TTB17 NO ERROR. SZB,RSS LAST LOCATION CHANGED? JMP RNTP2 NO. O.K. GO TO EXIT. RNTP1 EQU * JSB ERMS,I YES. OUTPUT ERROR MESSAGE. DEF RMS10 RNTP2 EQU * JMP XENTP,I EXIT. * u0ÿÿ ÿýí ú ÿ12977-18016 1632 S 0122 FFP DIAG 21MX #2              H0101 èÐþú* HED FFP DIAGNOSTIC - TEST 4 * * TST03 EQU * ********* * .SETP * ********* XSETP NOP JSB MSGC,I OUTPUT MESSAGE. DEF MMS04 * * DO REGULAR TEST * JSB STPPR PREPARE TEST TABLE. JSB STPGO GO TO MICRO. JSB STPCK CHECK RESULTS. * JSB MEMPR IF NO MEM. PROT. PRESENT, JMP XSTP3 SKIP. ELSE * * DO MEMORY PROTECT TEST. * LDB PTTB2 SET FENCE ADDRESS ABOVE "TTB1". LDA PXS15 JSB PMEMT,I JSB STPGO GO TO MICRO. * * RETURN FROM MICRO. * XST15 LDA MPIND SZA DID MEM. PROT. INTERRUPT OCCUR? JMP XSTP3 YES. EXIT. JSB MTNOF NO. TURN OFF MEM. PROTECT. LDB PR104 PRINT ERROR MESSAGE. JSB PRNMP * XSTP3 EQU * JSB PINTK,I IF NOT CONF. FOR INTERR. JMP XSETP,I EXIT. * * * * DO INTERRUPT TEST FOR COUNT > 30 * LDA PXST4 (A)=EXIT ADDRESS JSB INTON TURN ON INTERR. INTERF. CLA,INA (A)=INITIAL VALUE=1 LDB PT18 (B)=INITIAL ADDR STF INTP ENABLE INTERRUPTS * XSTP6 RAM .SETP CALL MICRO DEF CNT * CLF INTP DISABLE INTERRUPTS JSB INTOF TURN OFF INTERR. INTERF. XSTP4 EQU * JSB PCHEK,I CHECK INTERRUPT RSS JMP XSTP5 INTERRUPTED LDB PR105 NOT INTERRUPTED. PRINT JSB PPRNN,I ERROR MESSAGE JMP XSTP9 DO NEXT INTERR. TEST * XSTP5 EQU * LDA INTAD WAS P-REG RESTORED? CPA PXST6 JMP XSTP7 YES. LDB PR106 NO. PRINT ERROR MESSAGE JSB PPNRS,I XSTP7 EQU * LDA AREG WAS A-REG RESTORED? CPA .+1 JMP XSTP8 YES. LDB PR107 NO. PRINT ERROR MESSAGE JSB PANRS,I XSTP8 EQU * LDB BREG WAS B-REG RESTORED? CPB PT18 JMP XSTP9 YES. DO NEXT INTERR. TEST LDB PR110 NO. PRINT ERROR MESSAGE JSB PBNRS,I * * * ¡ÞþúTEST FOR INTERRUPTIBILITY DURING PARAM. FETCHING * XSTP9 EQU * LDA PXS11 (A)=EXIT ADDRESS JSB INTON TURN ON INTERR. INTERF. CLA,INA (A)=INITIAL VALUE LDB PT18 (B)=INITIAL ADDR. STF INTP TURN ON INTERRUPTS * XST10 EQU * RAM .SETP CALL MICRO DEF CNT1,I * CLF INTP TURN OFF INTERRUPTS JSB INTOF TURN OFF INTERR. INTERF. XST11 EQU * JSB PCHEK,I CHECK INTERRUPT RSS JMP XST12 INTERRUPTED JSB ERMS,I NOT INTERRUPTED. PRINT DEF RM111 ERROR MESSAGE. JMP XSETP,I EXIT * XST12 EQU * LDA INTAD WAS P-REG RESTORED? CPA PXS10 JMP XST13 YES. JSB ERMS,I NO. PRINT ERROR MESSAGE DEF RM112 * XST13 EQU * LDA AREG WAS A-REG RESTORED? CPA .+1 JMP XST14 YES. JSB ERMS,I NO. PRINT ERROR MESSAGE DEF RM113 * XST14 EQU * LDB BREG WAS B-REG RESTORED? CPB PT18 JMP XSETP,I YES. EXIT JSB ERMS,I NO. PRINT ERROR MESSAGE DEF RM114 JMP XSETP,I EXIT. * * * * * * * * SUBROUTINE TO SET UP THE PARAMETERS, EXECUTE THE * CALLING SEQUENCE FOR SETP MICRO. * STPGO NOP LDB P15 SET COUNT. STB K LDB PTTB1 SET POINTER. CLA SET (A)=0. * RAM .SETP CALLING SEQUENCE. DEF K * JMP STPGO,I EXIT. * K BSS 1 * * * SUBROUTINE TO PREPARE TEST TABLE LOCATIONS * A "0" WILL BE STORED IN EACH LOCATION * STPPR NOP LDB M16 SET COUNTER. STB TEMP CLA (A)=0. LDB PTTB1 SET POINTER. STPP1 EQU * STA B,I STORE. INB BUMP POINTER. ISZ TEMP DONE? JMP STPP1 NO. JMP STPPR,I YES. EXIT. * * * * SUBROUTINE TO CHECK RESULTS * STPCK NOP STB TEMP SAVE (B). SZA,RSS (A)=0? /”þú JMP STPC1 YES. JSB ERMS,I OUTPUT ERROR MESSAGE. DEF RMS11 STPC1 EQU * LDB TEMP RESTORE (B). CPB PTB16 (B)=LAST ADDRESS+1? JMP STPC2 YES. JSB ERMS,I OUTPUT ERROR MESSAGE. DEF RMS12 * * CHECK RESULTS * STPC2 EQU * CLA SET FOR INITIAL VALUE. STA TEMP LDA M15 SET COUNTER. STA TEMP+1 LDB PTTB1 SET POINTER. STPC3 EQU * LDA B,I GET CELL CONTENTS. CPA TEMP OK? JMP STPC4 YES. JSB ERMS,I OUTPUT ERROR MESSAGE. DEF RMS13 JMP STPCK,I EXIT. STPC4 EQU * ISZ TEMP BUMP VALUE. INB BUMP POINTER. ISZ TEMP+1 DONE? JMP STPC3 NO. LDA TTB16 YES. CHECK FOR "OVERRUN". SZA,RSS JMP STPCK,I OK! EXIT. JSB ERMS,I OUTPUT ERROR MESSAGE. DEF RMS14 JMP STPCK,I EXIT. * * * HED FFP DIAGNOSTIC - TEST 5 * ********* * XADD * ********* TST04 EQU * XXAD NOP JSB MSGC,I OUTPUT MESSAGE DEF MMS05 * * DO JUST ONE TEST, SINCE XADD SUBROUTINE USES THE * SAME CODE AS .XADD SUBROUTINE * * LDA PADBS SET POINTER TO INPUT STA TEMP STA XAD1 SET POINTER TO 1ST OPERAND ADA .+3 IN STA XAD2 CALLING SEQUENCE ADA .+3 SET POINTER TO 2ND OPERAND STA TEMP+1 IN CALLING SEQUENCE * * CALL MICRO * RAM XADD DEF *+4 DEF OUTPT POINTER TO OUTPUT XAD1 BSS 1 POINTER TO 1ST OPERAND XAD2 BSS 1 POINTER TO 2ND OPERAND * * EXIT FROM MICRO * LDA TEMP+1 CHECK JSB PDATC,I RESULT RSS JMP XXAD,I OK. * LDB PERN6 ERROR. OUTPUT ERROR JSB PERMS,I MESSAGE JMP XXAD,I EXIT * * HED FFP DIAGNOSTIC - TEST 6 * ********* * XSUB * ********* TST05 EQU * XXSB NOP JSB MSGC,I bjþú OUTPUT MESSAGE DEF MMS06 * * DO JUST ONE TEST, SINCE XSUB SUBROUTINE USES THE * SAME CODE AS .XSUB SUBROUTINE * * LDA PSBBS SET POINTER TO INPUT STA TEMP STA XSB1 SET POINTER TO 1ST OPERAND ADA .+3 IN CALLING SEQUENCE STA XSB2 ADA .+3 SET POINTER TO 2ND OPERAND STA TEMP+1 IN CALLING SEQUENCE * * CALL MICRO * RAM XSUB DEF *+4 DEF OUTPT POINTER TO OUTPUT XSB1 BSS 1 POINTER TO 1ST OPERAND XSB2 BSS 1 POINTER TO 2ND OPERAND * * EXIT FROM MICRO * LDA TEMP+1 CHECK RESULT JSB PDATC,I RSS JMP XXSB,I OK. * LDB PERN7 ERROR. OUTPUT ERROR JSB PERMS,I MESSAGE JMP XXSB,I EXIT * * HED FFP DIAGNOSTIC - TEST 7 * ********* * XMPY * ********* * TST06 EQU * XXMP NOP JSB MSGC,I OUTPUT MESSAGE DEF MMS07 * * DO JUST ONE TEST, SINCE XMPY SUBROUTINE USES THE * SAME CODE AS .XMPY SUBROUTINE * * LDA PMLBS SET POINTER TO INPUT STA TEMP STA XMP1 SET POINTER TO 1ST OPERAND ADA .+3 SET POINTER TO 2ND OPERAND STA XMP2 IN CALLING SEQUENCE ADA .+3 STA TEMP+1 * * CALL MICRO * RAM XMPY DEF *+4 DEF OUTPT POINTER TO OUTPUT XMP1 BSS 1 POINTER TO 1ST OPERAND XMP2 BSS 1 POINTER TO 2ND OPERAND * * EXIT FROM MICRO * LDA TEMP+1 CHECK RESULT JSB PDATC,I RSS JMP XXMP,I OK. * LDB PERN8 ERROR. OUTPUT ERROR JSB PERMS,I MESSAGE JMP XXMP,I EXIT * * HED FFP DIAGNOSTIC - TEST 8 * ********* * .XADD * ********* TST07 EQU * * * XXADD NOP JSB MSGC,I OUTPUT MESSAGE. DEF MMS08 * * DO STANDARD TEST TABLE * LDA PADHD,I SET CMA,INA STA INDIC COUNTER. LDA PADBS SET STA TEMP Í'þúPOINTER. * XADD1 EQU * JSB ADSUB DO SUBTEST. * JSB ADPRC JMP XADD1 DO NEXT SUBTEST. * * NOW DO SPECIAL TEST TABLE. * LDA PADH1,I SET CMA,INA STA INDIC COUNTER. LDA PADB1 SET STA TEMP POINTER. * XADD5 EQU * CLO CLEAR OVERFLOW. JSB ADSUB DO SUBTEST. SOC CHECK OVERFLOW. JMP XADD6 SET! CONTINUE. LDB PR141 NOT SET! OUTPUT JSB PPROV,I MESSAGE. XADD6 EQU * JSB ADPRC JMP XADD5 DO NEXT SUBTEST. * * DO SECOND SPECIAL TEST TABLE * LDA PADH2,I SET CMA,INA STA INDIC COUNTER. LDA PADB2 SET STA TEMP POINTER. * XADD7 EQU * STO SET OVERFLOW. JSB ADSUB DO SUBTEST. SOS CHECK OVERFLOW. JMP XADD8 IF CLEAR, CONTINUE. LDB PR143 IF SET, OUTPUT JSB PROVS ERROR MESSAGE. XADD8 EQU * JSB ADPRC JMP XADD7 DO NEXT SUBTEST. * DO MEMORY PROTECT TEST * JSB MEMPR SKIP IF NO MEM. PROTECT JMP XAD11 PRESENT * LDA PADB1 SET STA XADP5 POINTERS ADA .+3 IN STA XADP6 MICRO CALL LDA PXD12 (A)=EXIT ADDRESS LDB POUTP (B)=FENCE ADDRESS JSB PMEMT,I TURN ON MEM. PROTECT * RAM .XADD CALL MICRO DEF OUTPT XADP5 BSS 1 XADP6 BSS 1 * XAD12 EQU * LDA MPIND DID MEM. PROTECT OCCUR? SZA JMP XAD11 YES. JSB MTNOF NO. TURN OFF MEM. PROTECT LDB PR145 PRINT ERROR JSB PRNMP MESSAGE * * DO INTERRUPT TEST. * XAD11 EQU * JSB PINTK,I IF NOT CONF. FOR INTERR., EXIT JMP XXADD,I * LDA PADB1 SET STA XADP3 POINTERS ADA .+3 IN STA XADP4 MICRO CALL. LDA PXAD9 (A)=EXIT ADDRESS JSB INTON *þú TURN ON INTERR. INTERFACE JSB ADDSB CALL MICRO JSB PCHEK,I CHECK INTERRUPT RSS JMP XAD10 INTERRUPTED LDB PR142 NOT INTERRUPTED. OUTPUT JSB PPRNN,I ERROR MESSAGE JMP XXADD,I EXIT * XAD10 EQU * LDA INTAD WAS P RESTORED? CPA PXAD2 JMP XXADD,I YES. EXIT. LDB PR144 NO. OUTPUT ERROR JSB PPNRS,I MESSAGE JMP XXADD,I EXIT * * * SUBROUTINE TO SET UP SUBTEST AND CALL MICRO. * ENTER WITH (A)=POINTER TO INPUT. * ADSUB NOP STA XADP1 IN MICRO CALL. ADA .+3 SET POINTER TO 2ND OPERAND STA XADP2 IN MICRO CALL. ADA .+3 STORE POINTER TO EXPECTED STA TEMP+1 OUTPUT. * * * CALL MICRO * RAM .XADD CALLING SEQUENCE. DEF OUTPT POINTER TO OUTPUT LOCATION XADP1 BSS 1 POINTER TO 1ST OPERAND XADP2 BSS 1 POINTER TO 2ND OPERAND * JMP ADSUB,I EXIT * * * * SUBROUTINE TO DO SOME PROCESSING * IF MORE SUBTESTS ARE TO BE MADE, EXIT TO (P+1) * OTHERWISE EXIT TO (P+2) * ADPRC NOP LDA TEMP+1 CHECK JSB PDATC,I RESULTS. JMP ADPR2 ERROR. ADPR1 EQU * ISZ INDIC BUMP COUNTER. JMP *+3 ISZ ADPRC DONE. EXIT TO (P+2). JMP ADPRC,I LDA TEMP NOT DONE. MOVE POINTER ADA .+9 TO NEXT ENTRY. STA TEMP JMP ADPRC,I EXIT TO (P+1). * ADPR2 EQU * LDB PERN2 JSB PERMS,I OUTPUT ERROR MESSAGE. JMP ADPR1 * * * * SUBROUTINE USED FOR INTERRUPT TEST * ADDSB NOP STF INTP ENABLE INTERRUPTS XADD2 EQU * RAM .XADD CALL MICRO DEF OUTPT XADP3 BSS 1 XADP4 BSS 1 * CLF INTP DISABLE INTERRUPTS JSB INTOF TURN OFF INTERR. INTERFACE XADD9 EQU * JMP ADDSB,I EXIT * * * PXAD9 DEF XADD9 PR144 DEF E144 PXD12 DEF XAD12 * * * HED FFP DIAGNOSTIC - TEST +þú9 * ********* * .XSUB * ********* * TST08 EQU * XXSUB NOP * JSB MSGC,I OUTPUT MESSAGE. DEF MMS09 * * INITIATE * LDA PSBHD,I SET CMA,INA STA INDIC COUNTER. LDA PSBBS SET STA TEMP POINTER. * * * SET UP FOR SUBTEST * XSUB1 EQU * STA XSBP1 IN MICRO CALL. ADA .+3 SET POINTER TO 2ND OPERAND STA XSBP2 IN MICRO CALL. ADA .+3 SET POINTER TO EXPECTED STA TEMP+1 OUTPUT. * * * * CALL MICRO * RAM .XSUB CALLING SEQUENCE. DEF OUTPT POINTER TO OUTPUT LOCATION XSBP1 BSS 1 POINTER TO 1ST OPERAND XSBP2 BSS 1 POINTER TO 2ND OPERAND * * * EXIT TO MICRO. CHECK RESULTS. * LDA TEMP+1 CHECK JSB PDATC,I RESULTS. JMP XSUB3 ERROR. XSUB2 EQU * ISZ INDIC BUMP COUNTER. RSS JMP XSUB4 ALL TESTS DONE. LDA TEMP NOT DONE. MOVE POINTER ADA .+9 TO NEXT ENTRY. STA TEMP JMP XSUB1 DO NEXT SUBTEST. * XSUB3 EQU * LDB PERN3 JSB PERMS,I OUTPUT ERROR MESSAGE. JMP XSUB2 * * END OF TESTS. EXIT. * XSUB4 EQU * JMP XXSUB,I EXIT. HED FFP DIAGNOSTIC - TEST 10 * ********* * .XMPY * ********* TST09 EQU * XXMPY NOP * JSB MSGC,I OUTPUT MESSAGE. DEF MMS10 * * DO STANDARD TEST TABLE * LDA PMLHD,I SET CMA,INA STA INDIC COUNTER. LDA PMLBS SET STA TEMP POINTER. * XMPY1 EQU * JSB MPSUB DO SUBTEST. * JSB MPPRC JMP XMPY1 DO NEXT SUBTEST. * * DO SPECIAL TEST TABLE * LDA PMLH1,I SET CMA,INA STA INDIC COUNTER. LDA PMLB1 SET STA TEMP POINTER. * XMPY3 EQU * CLO CLEAR OVERFLOW. JSB MPSUB DO SUBTEST. * SOC CHECK OVERFLOW. JMP XMÖ'0.*PY2 SET! CONTINUE. LDB PR161 NOT SET! OUTPUT JSB PPROV,I MESSAGE. XMPY2 EQU * JSB MPPRC JMP XMPY3 DO NEXT SUBTEST * * DO INTERRUPT TEST * JSB PINTK,I IF NOT CONF. FOR INTERRUPT, JMP XXMPY,I EXIT * CLA CLEAR INDICATOR STA INTID LDA PMLB1 SET STA XMLP3 POINTERS ADA .+3 IN STA XMLP4 MICRO CALL. LDA PXMP5 SET EXIT ADDRESS STA INTN1 JSB INTON TURN ON INTERR. INTERF. STF INTP ENABLE INTERRUPTS XMPY4 EQU * RAM .XMPY CALL MICRO. DEF OUTPT XMLP3 BSS 1 XMLP4 BSS 1 * CLF INTP DISABLE INTERRUPTS JSB INTOF TURN OFF INTERR. INTERF. XMPY5 EQU * JSB PCHEK,I CHECK INTERRUPT RSS JMP XMPY6 INTERRUPTED LDB PR162 NOT INTERRUPTED. OUTPUT JSB PPRNN,I ERROR MESSAGE JMP XXMPY,I EXIT * XMPY6 EQU * LDA INTAD WAS P RESTORED? CPA PXMP4 JMP XXMPY,I YES. EXIT LDB PR163 NO.OUTPUT ERROR MESSAGE JSB PPNRS,I AND JMP XXMPY,I EXIT * * ÄÐ0ÿÿ ÿýî û ÿ12977-18017 1632 S 0122 FFP DIAG 21MX #2              H0101 éÐþú* * SUBROUTINE TO SET UP SUBTEST AND CALL MICRO. * ENTER WITH (A)=POINTER TO INPUT * MPSUB NOP STA XMLP1 IN MICRO CALL. ADA .+3 SET POINTER TO 2ND OPERAND STA XMLP2 IN MICRO CALL. ADA .+3 SET POINTER TO EXPECTED STA TEMP+1 OUTPUT. * * CALL MICRO * RAM .XMPY CALLING SEQUENCE. DEF OUTPT POINTER TO OUTPUT LOCATION XMLP1 BSS 1 POINTER TO 1ST OPERAND XMLP2 BSS 1 POINTER TO 2ND OPERAND * JMP MPSUB,I EXIT. * * * * SUBROUTINE TO DO SOME PROCESSING * IF MORE SUBTESTS ARE TO BE MADE, EXIT TO (P+1) * OTHERWISE EXIT TO (P+2) * MPPRC NOP LDA TEMP+1 CHECK JSB PDATC,I RESULTS. JMP MPPR2 ERROR. MPPR1 EQU * ISZ INDIC BUMP COUNTER. JMP *+3 ISZ MPPRC DONE. EXIT TO (P+2). JMP MPPRC,I LDA TEMP NOT DONE. MOVE POINTER ADA .+9 TO NEXT ENTRY. STA TEMP JMP MPPRC,I EXIT TO (P+1). * MPPR2 EQU * LDB PERN4 JSB PERMS,I OUTPUT ERROR MESSAGE. JMP MPPR1 * * * PXMP5 DEF XMPY5 PXMP4 DEF XMPY4 * * * HED FFP DIAGNOSTIC - TEST 11 * ********* * .XDIV * ********* TST10 EQU * XXDIV NOP * JSB MSGC,I OUTPUT MESSAGE. DEF MMS11 * * DO STANDARD TEST TABLE * LDA PDVHD,I SET CMA,INA STA INDIC COUNTER. LDA PDVBS SET STA TEMP POINTER. * XDIV1 EQU * JSB DVSUB DO SUBTEST. * JSB DVPRC JMP XDIV1 DO NEXT SUBTEST. * * DO SPECIAL TEST TABLE * LDA PDVH1,I SET CMA,INA STA INDIC COUNTER. LDA PDVB1 SET STA TEMP POINTER. * XDIV5 EQU * CLO CLEAR OVERFLOW. JSB DVSUB DO SUBTEST. SOC CHECK OVERFLOW. JMP XDIV2 SET! CONTINUE. LDB PR201 NOT SET! OUTPUT JSB PPROV,I MESSAGE. XDIV2 ~ýþúEQU * JSB DVPRC JMP XDIV5 DO NEXT SUBTEST. * * * * DO INTERRUPT TEST * JSB PINTK,I IF NOT CONF. FOR INTERR., JMP XXDIV,I EXIT * CLA CLEAR INDICATOR STA INTID LDA PDVBS SET POINTERS IN STA XDVP3 MICRO ADA .+3 CALL STA XDVP4 LDA PXDV6 SET EXIT ADDRESS STA INTN1 JSB INTON TURN ON INTERR. INTERF. STF INTP ENABLE INTERRUPTS XDIV4 EQU * RAM .XDIV MICRO CALL DEF OUTPT POINTER TO OUTPUT LOCATION XDVP3 BSS 1 POINTER TO 1ST OPERAND XDVP4 BSS 1 POINTER TO 2ND OPERAND * CLF INTP DISABLE INTERRUPTS JSB INTOF TURN OFF INTERR. INTERF. XDIV6 EQU * JSB PCHEK,I CHECK INTERRUPT RSS JMP XDIV3 INTERRUPTED LDB PR202 NOT INTERRUPTED. OUTPUT JSB PPRNN,I ERROR MESSAGE JMP XXDIV,I AND EXIT * XDIV3 EQU * LDA INTAD WAS P RESTORED? CPA PXDV4 JMP XXDIV,I YES. EXIT. LDB PR203 NO. OUTPUT ERROR JSB PPNRS,I MESSAGE JMP XXDIV,I EXIT * * * * * * SUBROUTINE TO SET UP SUBTEST AND CALL MICRO * ENTER WITH (A)=POINTER TO INPUT * DVSUB NOP STA XDVP1 SET POINTER TO 1ST OPERAND IN ADA .+3 MICRO CALL. SET POINTER TO STA XDVP2 2ND OPERAND IN MICRO CALL. ADA .+3 SET POINTER TO EXPECTED STA TEMP+1 OUTPUT. * * CALL MICRO * RAM .XDIV CALLING SEQUENCE. DEF OUTPT POINTER TO OUTPUT LOCATION XDVP1 BSS 1 POINTER TO 1ST OPERAND XDVP2 BSS 1 POINTER TO 2ND OPERAND * JMP DVSUB,I EXIT. * * * * SUBROUTINE TO DO SOME PROCESSING * IF MORE SUBTESTS ARE TO BE MADE, EXIT TO (P+1). * OTHERWISE EXIT TO (P+2) * DVPRC NOP LDA TEMP+1 CHECK JSB PDATC,I RESULTS. JMP DVPR2 ERROR. DVPR1 EQU * ISZ INDIC BUMP COUÏáþúNTER. JMP *+3 ISZ DVPRC DONE. EXIT TO (P+2). JMP DVPRC,I LDA TEMP NOT DONE. MOVE POINTER ADA .+9 TO NEXT ENTRY. STA TEMP JMP DVPRC,I EXIT TO (P+1). * DVPR2 EQU * LDB PERN5 JSB PERMS,I OUTPUT ERROR MESSAGE. JMP DVPR1 * * * PR202 DEF E202 PXDV4 DEF XDIV4 PR203 DEF E203 PXDV6 DEF XDIV6 * * * HED FFP DIAGNOSTIC - TEST 12 * ********* * XDV * ********* * TST11 EQU * XXDV NOP JSB MSGC,I OUTPUT MESSAGE DEF MMS12 * * DO JUST ONE TEST, SINCE XDIV SUBROUTINE USES THE * SAME CODE AS .XDV SUBROUTINE * * LDA PDVBS SET POINTER TO INPUT STA TEMP STA XDV1 SET POINTER TO 1ST OPERAND ADA .+3 STA XDV2 SET POINTER TO 2ND OPERAND ADA .+3 STA TEMP+1 * * CALL MICRO * RAM XDIV DEF *+4 DEF OUTPT POINTER TO OUTPUT XDV1 BSS 1 POINTER TO 1ST OPERAND XDV2 BSS 1 POINTER TO 2ND OPERAND * * EXIT FROM MICRO * LDA TEMP+1 CHECK RESULT JSB PDATC,I RSS JMP XXDV,I OK. * LDB PER12 ERROR. OUTPUT ERROR JSB PERMS,I MESSAGE JMP XXDV,I EXIT * * HED SUBROUTINES * * SUBROUTINE TO DISABLE MEMORY PROTECT LOGIC AND * TO RESTORE TRAP CELL HALT. * MTNOF NOP CLC MPPAR DISABLE MEM. PROTECT LOGIC. LDA TRHLT RESTORE TRAP CELL HALT. STA MPPAR CLA RESET MEM. PROTECT TEST STA MPTES INDICATOR. CLF INTP TURN OFF INTERRUPT SYSTEM. JMP MTNOF,I EXIT. * * * * SUBROUTINE TO PRINT "NO CHECK ON MEM PROT VIOLATION". * ALSO TO TURN OFF MEM PROTECT LOGIC. * ENTER WITH (B)= POINTER TO ERROR NUMBER STRING * PRNMP NOP JSB MTNOF TURN OFF MEM PROTECT LOGIC. LDA B,I MOVE STA RMS09 ERROR INB NUMBER LDA B,I INTO ST®¦þúA RMS09+1 MESSAGE BUFFER. * JSB ERMS,I PRINT ERROR MESSAGE. DEF RMS09 JMP PRNMP,I EXIT. * * SKP * ORG 6000B * * * SUBROUTINE TO PROCESS DATA ERROR MESSAGES FOR * .XADD .XSUB XADD XSUB * .XMPY .XDIV XMPY XDIV * TESTS. * * ENTER WITH (B)= POINTER TO ERROR NUMBER STRING. * PRIOR TO ENTERING THE FOLLOWING SHOULD BE SET UP: * (TEMP+1)=POINTER TO EXPECTED OUTPUT * (POUTP)= POINTER TO OBTAINED OUTPUT * ERMES NOP LDA B,I MOVE STA RMS00 ERROR NUMBER INB LDA B,I I INTO STA RMS00+1 MESSAGE BUFFER. * * MOVE ACTUAL DATA INTO BUFFER * LDA POUTP SET POINTER STA TEMP+5 TO OBTAINED OUTPUT. LDB .-3 LDA PRAC1 JSB CBNOC MOVE DATA. * * MOVE EXPECTED DATA INTO BUFFER * LDA TEMP+1 SET POINTER STA TEMP+5 TO EXPECTED OUTPUT. LDB .-3 LDA PREX1 JSB CBNOC MOVE DATA. * * OUTPUT MESSAGE * LDB POUTP INB STB TEMP+6 LDA POUTP,I (A)=1ST WORD OF OBTAINED OUTPUT. LDB B,I (B)=2ND WORD OF OBTAINED OUTPUT. JSB ERMS,I GO TO ERROR PRINTING ROUTINE. DEF RMS00 LDB BIT14 IF BIT#14 IS NOT SET, JSB SWRT,I JMP ERMES,I EXIT. ISZ TEMP+6 OTHERWISE SET (A)=3RD WORD LDB TEMP+6,I OF OBTAINED OUTPUT, CLB SET (B)=0 AND OCT 107002 HALT. * LDA TEMP+1,I SET (A)=1ST WORD OF EXPECTED ISZ TEMP+1 OUTPUT. LDB TEMP+1,I SET (B)=2ND WORD OF EXPECTED OCT 107001 OUTPUT AND HALT. * ISZ TEMP+1 SET (A)=3RD WORD OF EXPECTED LDA TEMP+1,I OUTPUT. CLB SET (B)=0 OCT 107000 AND HALT. JMP ERMES,I EXIT. * * * * SUBROUTINE TO CONVERT A SET OF BINARY NUMBERS * (STORED IN A BUFFER) INTO OCTAL –½þúAND INSERT THEM * IN ASCII FORMAT INTO A MESSAGE BUFFER. * * ENTER WITH (A)= POINTER TO DESTINATION STRING * ENT (B)= -NR OF DATA ITEMS TO BE PROCESSED * * PRIOR TO ENTERING THE SUBROUTINE,LOCATION * (TEMP+5)MUST CONTAIN THE POINTER TO THE SOURCE STRING * (OBTAINED OR EXPECTED OUTPUT). * THE NUMBERS TO BE PRINTED ARE ASSUMED TO BE * SEPERATED BY TWO BLANKS. * CBNOC NOP STA TEMP+7 SAVE POINTER. STB TEMP+6 SET COUNTER. CBNC1 EQU * LDB TEMP+5,I (B)=BINARY NUMBER * * CONVERT AND INSERT. * STA TEMP+3 SET POINTER. LDA .-3 SET COUNTER. STA TEMP+4 * * FIRST PROCESS BIT#15. * CLA (A)=0. RBL,SLB IF BIT#15 IS SET, INA ADD 1. ADA B60 MAKE ASCII. ALF,ALF ROTATE INTO UPPER AND STORE. STA TEMP+3,I * * NOW PROCESS THE OTHER BITS. * CLE (E)=0. CBNC2 EQU * CLA (A)=0. ROTATE. RBL,SLB IF BIT IS SET, ADA .+4 ADD 4. RBL,SLB ROTATE. IF BIT IS SET, ADA .+2 ADD 2. RBL,SLB ROTATE. IF BIT IS SET, INA ADD 1. ADA B60 MAKE ASCII. ALF,ALF ROTATE 8 BITS. SEZ IF LOWER CHAR., JMP CBNC3 ROTATE 8 BITS ALF,ALF AND IOR TEMP+3,I "OR IN" DATA. CBNC3 EQU * STA TEMP+3,I * CME COMPLEMENT (E). SEZ,RSS IF UPPER CHAR. JUST DONE, JMP CBNC2 GO BACK. ISZ TEMP+3 IF LOWER CHAR. JUST DONE, ISZ TEMP+4 BUMP POINTER AND GO BACK. JMP CBNC2 NOT ALL BITS PROCESSED YET. * * ISZ TEMP+6 ALL DATA ITEMS PROCESSED? RSS JMP CBNOC,I YES. EXIT. ISZ TEMP+5 NO. BUMP LDA TEMP+7 POINTERS ADA .+4 AND STA TEMP+7 GO JMP CBNC1 BACK. * * * SUBROUTINE TO PRINT "OVERFLOW NOT Së;þúET". * ENTER WITH (B)= POINTER TO ERROR NUMBER STRING * PROVN NOP LDA B,I MOVE STA RMS18 ERROR INB NUMBER LDA B,I INTO STA RMS18+1 MESSAGE BUFFER. * JSB ERMS,I PRINT ERROR MESSAGE. DEF RMS18 JMP PROVN,I EXIT. * * * * * * * * SUBROUTINE TO CHECK RESULTS OBTAINED BY * .XADD .XSUB XADD XSUB * .XMPY .XDIV XMPY XDIV * * MICRO CODE. * * ENTER WITH (A)=POINTER TO EXPECTED OUTPUT. * IF NO COMPARISON, EXIT TO (P+1). * OTHERWISE EXIT TO (P+2). DATCK NOP STA TEMP+2 SAVE POINTER EXPECTED OUTPUT. LDA POUTP STA TEMP+3 SET POINTER TO OBTAINED OUTPUT. LDB .-3 (B)=COUNTER DTCK1 EQU * LDA TEMP+2,I CPA TEMP+3,I COMPARE? RSS JMP DATCK,I NO. ERROR. EXIT TO (P+1). ISZ TEMP+2 YES. BUMP POINTERS. ISZ TEMP+3 INB,SZB DONE? JMP DTCK1 NO. ISZ DATCK YES. EXIT TO (P+2). JMP DATCK,I * * * * * SUBROUTINE TO CHECK IF DIAGNOSTIC IS CONFIGURED * FOR INTERRUPT TEST * IF NOT, EXIT TO (P+1). OTHERWISE EXIT TO (P+2) * * INTCK NOP LDA INTSC IF NOT CONF. FOR INTERRUPTS, SZA EXIT TO (P+1) ISZ INTCK JMP INTCK,I OTHERWISE EXIT TO (P+2) * * * * * * * INTERRUPT SUBROUTINE * INTSB NOP CLF INTP STOP INTERRUPTS STA AREG SAVE (A) STB BREG SAVE (B) JSB INTOF TURN OFF INTERR. INTERF. ISZ INTID SET INDICATOR=1 LDA INTSB SAVE (P) STA INTAD JMP INTN1,I EXIT. * * * * * SUBROUTINE TO CHECK IF INTERRUPT OCCURRED * IN MICROCODE * IF NOT, EXIT TO (P+1). OTHERWISE EXIT TO (P+2) * * CHECK NOP LDA INTID CHECK INDICATOR SZA IF=0, EXIT TO (P+1) ISZ CHECK OTHERWISE EXIT TO (P+2) JMP CHª¸þúECK,I * * * * * * * * * SUBROUTINE TO PRINT "NOT INTERRUPTABLE". * ENTER WITH (B)= POINTER TO ERROR NUMBER STRING. * PRNIN NOP LDA B,I MOVE STA RMS25 ERROR INB NUMBER LDA B,I INTO STA RMS25+1 MESSAGE BUFFER. * JSB ERMS,I PRINT ERROR MESSAGE. DEF RMS25 JMP PRNIN,I EXIT. * * * BUFFER TO OUTPUT "NOT INTERRUPTIBLE" * RMS25 ASC 12,XXXX NOT INTERRUPTIBLE/ E105 ASC 2,E105 E142 ASC 2,E142 E162 ASC 2,E162 E202 ASC 2,E202 * * * * * SUBROUTINE TO PRINT "A-REG NOT RESTORED ON INTERR" * ENTER WITH (B)=POINTER TO ERROR NUMBER STRING * ANRES NOP LDA B,I MOVE STA RMS26 ERROR NUMBER INB INTO LDA B,I MESSAGE STA RMS26+1 BUFFER JSB ERMS,I PRINT ERROR MESSAGE DEF RMS26 JMP ANRES,I EXIT * RMS26 ASC 16,XXXX A-REG NOT REST. ON INTERR/ E107 ASC 2,E107 * * * * * * * SUBROUTINE TO PRINT "B-REG NOT RESTORED ON INTERR" * ENTER WITH (B)=POINTER TO ERROR NUMBER STRING * BNRES NOP LDA B,I MOVE STA RMS27 ERROR INB NUMBER LDA B,I INTO STA RMS27+1 MESSAGE BUFFER JSB ERMS,I PRINT ERROR MESSAGE DEF RMS27 JMP BNRES,I EXIT * RMS27 ASC 16,XXXX B-REG NOT REST. ON INTERR/ E110 ASC 2,E110 * * * * SUBROUTINE TO PRINT "P-REG NOT RESTORED ON INTERR" * ENTER WITH (B)=POINTER TO ERROR NUMBER STRING * PNRES NOP LDA B,I MOVE STA RMS28 ERROR INB NUMBER LDA B,I INTO STA RMS28+1 MESSAGE BUFFER JSB ERMS,I PRINT ERROR MESSAGE DEF RMS28 JMP PNRES,I EXIT * RMS28 ASC 16,XXXX P-REG NOT REST. ON INTERR/ E163 ASC 2,E163 E203 ASC 2,E203 E106 ASC 2,E106 * * * * * * * FWAA EQU * END ®`0.**0ÿÿ ÿýï ü ÿ12978-18001 1437 S 0122 0121MX DOS-III MICRO- ASSEMBLER (WCS)             H0101 .–þú ASMB¬Ò¬B¬Ì¬Ô¬Ã       HÅD  ABÏUÔ ÔHÉS PÒÏGÒAM ªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªª ª  ª            ²±0Ø MÉÃÒÏASSÅMBÌÅÒ ª  ªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªª       NAM MÉÃÒϬ3¬0       ÅØÔ ÅØÅì¥×ÒÉN¬¥×ÅÏÆ       ÅØÔ ¥ÒÅAD¬¥×ÒÉS¬.ÏPSY       SUP ª        HÅD  PASS ± ª  ª   PASS ± SÔAÒÔS HÅÒÅ. ª  ª  ª   PÒÉNÔ ÒÅÑUÅSÔ ÆÏÒ ÉNPUÔ Ì.U. £. ª  MÉÃÒÏ NÏP ª  ª   HÅÒÅ ×Å GÅÔ ÔHÅ PAÒAMÅÔÅÒS¬ ÉÆ ANY¬ ÆÒÏM ÔHÅ ª   USÅÒ'S 'PÒÏG...' ÃAÌÌ. ª        ÌDA ±¬É     ÉS ±SÔ       ÃPA .99     ½99?       ÊMP D±       YÅS USÅ DÅÆAUÌÔS.       SZA         NϬ DÅÆAUÌÔ ÉNPUÔ?       SÔA ÒDÒ     NÏ SÅÔ VAÌUÅ.       ÉNB       ÌDA ±¬É     ÉS ²ND       ÃPA .99     ½99?       ÊMP D±      YÅS       SZA         NϬ DÅÆAUÌÔ ÌÉSÔ?       SÔA ÌÉSÔ       ÉNB         PÏÉNÔ ÔÏ NÅØÔ.       ÌDA ±¬É     ÉS 3ÒD       ÃPA .99     ½99?       ÊMP D±       YÅS       SZA         NϬ DÅÆAUÌÔ PUNÃH?       SÔA PÃH       ÉNB       ÌDA ±¬É       ÃPA .99    ½99?       ÊMP D±       SZA       SÔA ÌPP D±    ÌDA ±´·B       ÉNA       SÔA SYMB       SÔA HDÔAB       ADA .+´       SÔA VAÌU       ÉNA       SÔA ÔAG       ÊSB ¥×ÒÉN     ÉNÉÔÉAÌÉZÅ SÏUÒÃÅ ×ÒÉÔÅ.       ÃÌA           YÅS ÉNPUÔ DÉSàÏÒ ÃANÔ SAVÅ SÏUÒÃÅ       SÔA ÔÒAK      SÅÔ       AND HÉMSK     DÉSà       AÌÆ¬AÌÆ       SÔA ÌUN       Ì.U.       SÔA ÉÌUN       ÌDA ÔÒAK      £ ¦       AND ÌÏMSK     ÔÒAÃK       SÔA ÔÒAK      £       ÃÌA       SÔA SPÒÅS       SÔA PÃNÔÒ       SÔA BÅ×ÆÌ       SÔA DBUG       SÔA ÏÒÆÌG       SÔA NMÅÒÒ       SÔA SYÆÌG       SÔA ÒÃÆÌG       ÃMA       SÔA BASÅ       ÌDA .+±       SÔA PASSN       ÌDA ÏÌY²       SÔA ÏÌAY²       ÌDA .+5       SÔA PNBUÆ       ÌDA .±0²´     ÃÌÅAN       ÌDB SYMB      SYMBÏÌ       ÊSB ÃÌÅAN     ÔABÌÅ.       DÅÆ .       ÌDA ÏÌY´      PUÔ 'ÊMP .BAD.'       SÔA ÏÌAY3     ÉNÔÏ ÃÅÒÔAÉN ÌÏÃAÔÉÏNS       SÔA ÏÌAY´     ÉN 'ÏÒÉGÉN' ÃAÒD PÒÏÃÅSSÏÒ       SÔA ÏÌAY5     ÆÏÒ USÅ ÉN PASS ±.       SÔA ÏÌAY'qþú6       SÔA ÏÌAY· ª   NÏ× SÅÔ SÔAÒÔÉNG BYÔÅ ADDÒÅSSÅS ÏÆ ÉNPUÔ ÆÉÅÌDS.       ÌDB AÃAÒD       ÒBÌ       SÔB Æ±ADÒ       ADB .+9       SÔB Æ²ADÒ       ADB .+5       SÔB Æ3ADÒ       ADB .+5       SÔB Æ´ADÒ       ADB .+5       SÔB Æ5ADÒ       ADB .+5       SÔB Æ6ADÒ ª   ÅND ÏÆ ADDÒÅSS SÅÔÔÉNG       ÌDA ÒDÒ       SHÏUÌD SÏUÒÃÅ BÅ       ÃPA .+²       ÉNPUÔ ÆÒÏM DÉSÃ?       ÒSS           YÅS.       ÊMP ÉNPUÔ     NÏ.       ÌDA ±²´B      ÉS ÔHÅÒÅ A SÏUÒÃÅ ÆÉÌÅ SÔAÒÔ-       SZA           ÉNG ÔÒAÃK £ AND SÅÃÔÏÒ £?       ÊMP ÉNPUÔ     YÅS¬ SÏ ÏK.       ÌDA .+²       NϬ SÏ ÅÒÒÏÒ.       ÃÌB       ÊSB ÉÏSUB       DÅÆ .+±       DÅÆ NSÏUÒ       DÅÆ .+5       ÊSB ÅØÅà     ÅØÉÔ ÔHÉS PÒÏGÒAM.       DÅÆ ª+²       DÅÆ .+6 ª  NSÏUÒ ASà5¬NÏ SÏUÒÃÅ ª  ª  ª   ÉNPUÔ AND ÅØAMÉNÅ A ÒÅÃÏÒD. ª  ÉNPUÔ ÊSB ÒDÃÒD     ÒÅAD ÃAÒD       ÌDB ÃÒÌÅN     ×AS ÃAÒD A BÌANK?       SZB¬ÒSS       ÊMP ÉNPUÔ     YÅS. ÉGNÏÒÅ.  ÒÅAD NÅØÔ ÃAÒD.       ÌDB AÃAÒD     NÏ.  ÅØAMÉNÅ       ÒBÌ           ±SÔ       SÔB BYÔAD     BYÔÅ       ÊSB ÌÏADB       ÃPA ASÔÅÒ     ½ª?       ÊMP ÉNPUÔ     YÅS¬ ÉGNÏÒÅ.       ÃPA BUÃK      ½$?       ÊMP ÃNÔÒÌ     ÃÏNÔÒÏÌ SÔAÔÅ.       ÌDB ÏÒÆÌG     HAS ÏÒÉGÉN BÅÅN ÅSÔABÌÉSHÅD?       SZB¬ÒSS       ÊMP ÉNP3      NϬ SÏ ÅÒÒÏÒ.       ÃPA SPAà     YÅS.  ÌABÅÌ PÒÅSÅNÔ?       ÊMP ÉNP±      NÏ.       ÌDB Æ²ADÒ     YÅS.  ÔHÉS AN ÅÑU SÔAÔÅMÅNÔ?       ÊSB ÅÑU       SZA¬ÒSS       ÊMP ÉNPUÔ     YÅS.  DÏNŬ GÏ ÒÅAD NÅØÔ SÔAÔMÔ.       ÃÌÅ           NÏ.  ADD ÌABÅÌ ÔÏ       ÌDA PÃNÔÒ       ÌDB BYÔAD       ÊSB SYMAD     SYMBÏÌ ÔABÌÅ ÉNP±  ÊSB SKP       'SKP' PSÅUDÏ ÏP?       SZA       ÊMP ÉNPUÔ     YÅS. GÅÔ NÅØÔ ÒÅÃÏÒD.       ÉSZ PÃNÔÒ     NÏ.  ÉNÃÒÅMÅNÔ PÒÏGÒAM ÃÏUNÔÅÒ.       ÃÌB¬ÉNB       ÌDA PÃNÔÒ       AND ½B3··     DÏÅS ÔHAÔ MAKÅ ÒÅÌ ADDÒÅSS       ÃPA ½B3··     ½ 3·· ÏÃÔ?       SÔB BÅ×ÆÌ     YÅS.  SÅÔ BÅ×AÒÅ ÆÌAG.       ÌDA PÃNÔÒ     NÏ.  DÏÅS ÉÔ MAKÅ NÅØÔ ÒÅÌ       AND ½B···     ADDÒÅSS ½ ´0± ÏÃÔ?       ÃPA ½B´0±   ü…þú    ÒSS           YÅS.       ÊMP ÉNPUÔ     NϬ SÏ ÏK.       ÌDA BÅ×ÆÌ     ÉS 'BÅ×AÒŬ×Å PASSÅD ÔHÒU ÒÅÌ       ÃPA ½B±       ADDÒ 3··' ÆÌAG SÅÔ?       ÒSS           YÅS.       ÊMP ÉNPUÔ     NϬ SÏ ÏK.       ÌDA .-9       PÒÏGÒAM ÉS ÏUÔ ÏÆ BÏUNDS. ÉNP²  ÊSB ÅÒÒÏÒ     YÅS.  PÒÉNÔ ÅÒÒÏÒ MÅSSAGÅ.       ÊMP ABÏÒÔ     ÑUÉÔ. ÉNP3  ÌDA .-±0       ÊMP ÉNP² ª  ª ÃÏNÔÒÏÌ ÃAÒD PÒÏÃÅSSÏÒ ª  ÃNÔÒÌ ÉNB           ÃHÅÃK NÅØÔ       ÊSB ÌÏADB     BYÔÅ.       ÃPA .Ï        ½Ï?       ÊMP ÃÔÒ̱     YÅS.  'ÏÒÉGÉN' ÏÒ 'ÏUÔPUÔ'.       ÃPA .S        ½S?       ÊMP ÃÔÒ̲     YÅS.  ÃÏUÌD BÅ SYMÔAB ÏÒ SUPPÒ.       ÃPA .N        ½N?       ÊMP ÃÔÒÌ3     YÅS ÃÏUÌD BÅ NÏÌÉSÔ ÏÒ NÏPUNÃH.       ÃPA .Å        ½Å?       ÊMP ÃÔÒÌ´     YÅS ÅØÔÅÒNAÌ ÏÒ ÅND       ÃPA .É        ½É?       ÊMP ÃÔÒÌ·     YÅS.  ÉNPUÔ Ì.U. £.       ÃPA .Æ        ½Æ?       ÊMP ÃÔÒÌ6     YÅS.   ÆÉÌÅ.       ÃPA .Ì        ½Ì?       ÊMP ÃÔÒÌ9     YÅS. ÌÉSÔ Ì.U. £.       ÃPA .Ò        ½Ò?       ÊMP ÃÔÒ±0     YÅS. SUÉÔÃASÅ ÒÏM ÔAPÅ ÏPÔÉÏN. ª  ª   BAD ÃÏNÔÒÏÌ SÔAÔÅMÅNÔ ª  .BAD. ÌDA .-²       PÒÉNÔ BAD       ÊSB ÅÒÒÏÒ     ÃÏNÔÒÏÌ SÔAÔÅMÅNÔ MÅSSAGÅ.       ÌDA .-²       ÌÉSÔ ÔHÅ SÔAÔÅMÅNÔ¬ ADÊUSÔÉNG       ADA ÃÒÌÅN     £ ÏÆ ÃHAÒS ÔÏ ÉNÃÌUDÅ ÌÉSÔ       SÔA ÃÒÌÅN     DÅVÉÃÅ ÃÏNÔÒÏÌ ÃHAÒS.       ÌDA .+²       ÃÌB       ÊSB ÉÏSUB       DÅÆ ÌÉSÔ       DÅÆ ÃAÒD-±       DÅÆ ÃÒÌÅN       ÊMP ÉNPUÔ     ÒÅAD NÅØÔ ÃAÒD. ª  ª   ÏUÔPUÔ AND ÏÒÉGÉN ÃÏNÔÒÏÌ SÔAÔÅMÅNÔS ª  ÏÒÉG  NÏP ÃÔÒ̱ ÉNB       ÊSB ÌÏADB       ÃPA .Ò        ÏÒÉGÉN ÃAÒD?       ÊMP ÃÔÒ±5     YÅS.       ÃPA .U        ÏUÔPUÔ ÃAÒD?       ÒSS           YÅS.       ÊMP .BAD.     NϬ ÔHÅN ÅÒÒÏÒ. ª   ÏUÔPUÔ SÔAÔÅMÅNÔ       SÔB SAVB      ÆÉÒSÔ¬ SÅÅ ÉÆ USÅÒ ÔÏÌD US       ÌDB PÃH       "NÏ PUNÃH" PÒÅVÉÏUSÌY.       SZB¬ÒSS       ÊMP .BAD.     YÅS¬ HÅ DÉD¬ SÏ ÅÒÒÏÒ.       ÌDB SAVB      NϬ HÅ DÉDN'Ô.       ÊSB ÌÏGUN     GÅÔ Ì.U. £.       SÏà          £ ÏK?       ÊMP .BAD.     NϬ ÅÒÒÏÒ.       SÔA PÃH ÏÌAY¸ ÊMP ÉNPUÔ     GÏ ÒÅAD NÅØÔ ÃAÒD. ª øþú  ÏÒÉGÉN SÔAÔÅMÅNÔ ÃÔÒ±5 ÌDA .ÅÑ.      SKÉP ÔÏ       ÊSB SKPÔÏ     ÅÑUAÌ SÉGN.       SÏà          ÅND ÏÆ ÌÉNÅ? ÏÌAY3 ÊMP .BAD.     YÅS.  ÅÒÒÏÒ.       ÉNB       ÌDA SPAà     SKÉP ÏVÅÒ       ÊSB SKÉP      BÌANKS       SÏà          ÅND ÏÆ ÌÉNÅ? ÏÌAY´ ÊMP .BAD.     YÅS.  ÅÒÒÏÒ.       ÃÌA           ÃÏNVÅÒ ÔÏ       ÊSB ÃNVÒÔ     ÏÃÔAÌ       SÏà          ANY ÅÒÒÏÒS? ÏÌAY5 ÊMP .BAD.     YÅS.       ÌDB 0         NÏ       AND ÌÏMSK     SÅPAÒAÔÅ       SÔA Ô.00±     ÌÏ×ÅÒ       ÌDA ±         ¦       AND HÉMSK     UPPÅÒ       SÔA Ô.00²       ÌDB BASÅ      HAS BASÅ       SSB¬ÒSS       BÅÅN ÉNÉÔÉAÌÉZÅD?       ÊMP ÃÔÒ±¸     YÅS.       ÃMA¬ÉNA       NÏ.  ÉS SPÅÃÉÆÉÅD ADDÒÅSS       ADA B·´00     GÒÅAÔÅÒ ÔHAN MAØ AÌÌÏ×ÅD?       SSA ÏÌAY6 ÊMP .BAD.     YÅS.  ÅÒÒÏÒ.       ÌDA Ô.00²     NÏ.  SÅÔ       SÔA BASÅ      BASÅ. ÃÔÒ±¸ ÌDB Ô.00±     ÉS NÅ× ÏÒÉGÉN VAÌUÅ  ÌÅSS ÔHAN       ÃMB           ÏÌD 'PÃNÔÒ' VAÌUÅ?       ÌDA PÃNÔÒ       AND ½B3··       ADA ±       SSA¬ÒSS ÏÌAY· ÊMP .BAD.     YÅS.  ÅÒÒÏÒ.       ÌDA Ô.00±     SÅÔ       ÉÏÒ Ô.00²       SÔA PÃNÔÒ     PÃNÔÒ       ÃÌA           ÃÌÅAÒ 'BÅ×AÒŬ×Å PASSÅD ÔHÒU       SÔA BÅ×ÆÌ     ÒÅÌ ADDÒ 3··' ÆÌAG.       ÌDA .+±       SÅÔ 'ÏÒÉGÉN ÅSÔABÌÉSHÅD' ÆÌAG.       SÔA ÏÒÆÌG ÏÌAY² ÊMP ÉNPUÔ       ÊMP ÏÒÉG¬É ª  ª   SUPPÒÅSS AND SYMÔAB ÃÏNÔÒÏÌ SÔAÔÅMÅNÔS ª  ÃÔÒ̲ ÉNB       ÊSB ÌÏADB       ÃPA .U        SÅÃÏND ÃHAÒ A "U"?       ÊMP ÃÔÒ²5     YÅS.       ÃPA .Y        NÏ. SÅÃÏND ÃHAÒ A "Y"?       ÒSS           YÅS.       ÊMP .BAD.     NÏ.  ÔHÅN ÅÒÒÏÒ. ª   SYMÔAB SÔAÔÅMÅNÔ       ÃÌA¬ÉNA       SÅÔ SYMBÏÌ ÔABÌÅ ÆÌAG.       SÔA SYÆÌG       ÊMP ÉNPUÔ     GÏ ÒÅAD NÅØÔ ÒÅÃÏÒD. ª   SUPPÒÅSS SÔAÔÅMÅNÔ ÃÔÒ²5 ÃÃA       SÔA SPÒÅS     SÅÔ SUPPÒÅSS ÆÌAG.       ÊMP ÉNPUÔ     GÏ ÒÅAD NÅØÔ ÒÅÃÏÒD. ª  ª NÏÌÉSÔ ÏÒ NÏPUNÃH ª  ÃÔÒÌ3 ÉNB           ÃHÅÃK       ÉNB           3ÒD BYÔÅ       ÊSB ÌÏADB       ÃÌB       ÃPA .Ì        ½Ì?       ÊMP ª+6       ÃPA .P        ½P?       ÒSS       ÊMP .BAD.     NÏ>øþú ÅÒÒÏÒ       SÔB PÃH       SUPPÒÅSS PUNÃHÉNG       ÊMP ÉNPUÔ       SÔB ÌÉSÔ      ÉÔS  Ì ÔHUS NÏÌÉSÔ.       ÊMP ÉNPUÔ     ÅØÉÔ. ª  ª   SUÉÔÃASÅ ÒÏM ÏBÊÅÃÔ ÔAPÅ ÏPÔÉÏN. ª  ÃÔÒ±0 ÃÌA¬ÉNA       SÔA ÒÃÆÌG       ÊMP ÉNPUÔ ª  ª  ÅND  ÏÒ  ÅØÔÅÒNAÌ ª  ÃÔÒÌ´ ÉNB           ÃHÅÃK NÅØÔ       ÊSB ÌÏADB     BYÔÅ.       ÃPA .Ø        ½Ø?       ÒSS       ÊMP ÃÔÒ´²       ÌDA .ÅÑ.      YÅS  ÅØÔÅÒNAÌS SKÉP ÔÏ       ÊSB SKPÔÏ     ½ SÉGN.       SÏà          ÅND ÏÆ ÃAÒD?       ÊMP .BAD.     YÅS ÅÒÒÏÒ ÃÔÒ´± ÉNB           NÏ       ÌDA SPAà     SKÉP       ÊSB SKÉP      BÌANKS.       SÏà          ÅND ÏÆ ÃAÒD?       ÊMP .BAD.     YÅS ÅÒÒÏÒ.       SÔB SAVM      NÏ.  SAVÅ ADDÒÅSS ÏÆ SYMBÏÌ.       ÌDA SPAà     SKÉP ÔÏ       ÊSB SKPÔÏ     ÅND ÏÆ SYMBÏÌ.       SÏà          ÅND ÏÆ ÃAÒD?       ÊMP .BAD.     YÅS ÅÒÒÏÒ       ÌDA SPAà     NÏ.  SKÉP AÃÒÏSS       ÊSB SKÉP      BÌANKS.       SÏà          ÅND ÏÆ ÃAÒD?       ÊMP .BAD.     YÅS ÅÒÒÏÒ.       SÔB SAVN      SAVÅ ADDÒ ÏÆ SYMBÏÌ VAÌUÅ.       ÃÌA           ÃÏNVÅÒÔ       ÊSB ÃNVÒÔ     ÏÃÔAÌ VAÌUÅ.       SÏà          ÅND ÏÆ ÃAÒD.ÏÒ ÅÒÒÏÒ.       ÊMP .BAD.     YÅS ÅÒÒÏÒ.       ÌDB SAVM      PÉÃK UP SYMBÏÌ ADDÒÅSS.       ÃÃÅ           SÅÔ Å-ÒÅG ÔÏ ÉNDÉÃAÔÅ ÅØÔ       ÊSB SYMAD     ADD ÔÏ SYMBÏÌ ÔABÌÅ       ÌDB SAVN      GÅÔ ADDÒ ÏÆ SYMBÏÌ VAÌUÅ.       ÌDA ÃÏMMA     SKÉP       ÊSB SKPÔÏ     ÔÏ ÃÏMA       SÏà          ÅND ÏÆ ÃAÒD?       ÊMP ÉNPUÔ     ÅØÉÔ       ÊMP ÃÔÒ´±     GÏ BAÃK. ÃÔÒ´² ÃPA .N        "N"       ÒSS       ÊMP .BAD.     NϬ BAD ÃÏNÔÒÏÌ SÔAÔÅ       ÌDA ÌUN       YÅS¬ '$ÅND'.  ÉÆ ×ÒÉÔÉNG       SZA           SÏUÒÃÅ ÏN DÉSì ×ÒÉÔÅ       ÊSB ¥×ÅÏÆ     ÅND-ÏÆ-ÆÉÌÅ.       ÌDA SYÆÌG     SYMBÏÌ ÔABÌÅ       SZA¬ÒSS       ×ANÔÅD?       ÊMP PASS²     NϬ SÏ GÏ ÔÏ PASS ².       ÌDA HDÔAB     YÅS.  GÅÔ       SÔA PNÔÒ      SÔAÒÔ ÏÆ ÔABÌÅ       ÃPA SYMB      ÅND?       ÊMP PASS²     YÅS.  GÏ ÔÏ PASS².       ÊSB ÅÊÅÃÔ     ÅÊÅÃÔ A PAGÅ.       ÌDA .+²       PÒÉNÔ SYMBÏÌ ÔABÌÅ HÅADÉNG.       ÃÌB ¡þú       ÊSB ÉÏSUB       DÅÆ ÌÉSÔ       DÅÆ HÅD±       DÅÆ .-±´       ÌDA ÌÉSÔ       ÌDB .+²       ÊSB SPAÃÅ PÒ±   ÌDA .+±0      ÆÉÌÌ ÔHÅ PÅÒÔÉNÅNÔ PAÒÔ ÏÆ       ÌDB AÃAÒD     ASÃÉÉ ÏUÔPUÔ BUÆÆÅÒ ×ÉÔH       ÊSB ÃÌÅAN     SPAÃÅS.       DÅÆ BÌNK²       NÏP ª   NÏ× ×Å SÔÏÒÅ ÔHÅ SYMBÏÌ (ÌABÅÌ© ÉN ÔHÅ ª   ÉNPUÔ BUÆÆÅÒ¬ ×HÉÃH ×Å AÒÅ USÉNG AS PAÒÔ ÏÆ ÏUÒ ª   ASÃÉÉ ÏUÔPUÔ BUÆÆÅÒ.       ÌDA PNÔÒ¬É       SÔA ÃAÒD       ÉSZ PNÔÒ       ÌDA PNÔÒ¬É       SÔA ÃAÒD+±       ÉSZ PNÔÒ       ÌDA PNÔÒ¬É       SÔA ÃAÒD+²       ÉSZ PNÔÒ       ÌDA PNÔÒ¬É       SÔA ÃAÒD+3 ª   NÏ× PÉÃK UP ÏÃÔAÌ ÌÏÃAÔÉÏN (É.Å. VAÌUÅ© ÏÆ SYMBÏÌ.       ÉSZ PNÔÒ       ÌDA PNÔÒ¬É       ÉSZ PNÔÒ       SSA           ÉS ÔHÉS AN ÅÑU SYMBÏÌ?       ÊMP PÒ´       YÅS. ÔHÅN NÏ PÒÉNÔ SYMB VAÌ. ª   ÃÏNVÅÒÔ ÔÏ ASÃÉÉ AND SÔÏÒÅ ÉN ª   NÅØÔ ÌÏÃAÔÉÏN ÉN ÏUÔPUÔ BUÆÆÅÒ.       ÌDB AÃAÒD       ÒBÌ       ADB .+±0       SÔB SAVB      SAVÅ BYÔÅ ADDÒÅSS.       ÊSB ÏÃÔÌ       DÅà6       ÌDA PNÔÒ¬É       SZA¬ÒSS       ÊMP ª+3       ÌDA .Ø       ÒSS       ÌDA SPAà       ÌDB SAVB      GÅÔ BYÔÅ ADDÒ ÏÆ VAÌUÅ.       ADB .+6       ÉNàPASÔ VAÌUÅ.       ÊSB SÔÏÒB     SÔÏÒÅ SPAÃÅ ÏÒ 'Ø' ÔHÅÒÅ. PÒ´   ÌDA BÌNK²       SÔA ÃAÒD-±       ÌDA .+²       ÃÌB       ÊSB ÉÏSUB       DÅÆ ÌÉSÔ      ÅNÔÒY       DÅÆ ÃAÒD-±       DÅÆ .M²0       ÉSZ PNÔÒ      PÏÉNÔ       ÌDA PNÔÒ      ÔÏ       ÃPA SYMB      NÅØÔ ÅNÔÒY. ÅND?       ÒSS       ÊMP PÒ±       NϬ GÏ DÏ NÅØÔ.       ÊSB ÅÊÅÃÔ     YÅS ÅÊÅÃÔ ÆÏÒ PASS ².       ÊMP PASS²     NÏ× GÏ ÔÏ PASS². ª  ª GÅÔ BÉNAÒY ÏUÔPUÔ ÆÉÌÅ ª  ÃÔÒÌ6 ÌDA .ÅÑ.      SKÉP ÔÏ       ÊSB SKPÔÏ     ÅÑUAÌ SÉGN.       SÏà          ÅND ÏÆ ÌÉNÅ?       ÊMP .BAD.     YÅS ÅÒÒÏÒ       ÉNB           NÏ       ÌDA SPAà     SKÉP       ÊSB SKÉP      BÌANKS.       SÏà       ÊMP .BAD.       ÊSB ÌÏADB     ÔÒANSÆÅÒ       SÔA ÆÉÌÅ       SÔB SAVM       ÌDB .-5       ÆÉÌÅ       SÔB ÃÃNÔ       ÌDB ANAMÅ     NAMÅ       ÒBÌ ÃÔÒ6± ÊSB SÔÏÒB     ÔÏ       ÉSZ ÃÃNÔ       ÒSS       ÊM˜[þúP ÉNPUÔ       SÔB SAVN      ÔÅMPÏÒAÒY       ÌDB SAVM       ÉNB           BUÆUÒ       ÊSB ÌÏADB       SÔB SAVM      ÆÏÒ USÅ       ÌDB SAVN       SZA           BY       ÊMP ÃÔÒ6±       ÊMP ÉNPUÔ     PASS ÉÉ. ª  ª   ÉNPUÔ ÃAÒD ª  ÃÔÒÌ· SÔB SAVB      ÆÉÒSÔ¬ SÅÅ ÉÆ USÅÒ ÔÏÌD US       ÌDB PÃH       "NÏ PUNÃH" PÒÅVÉÏUSÌY.       SZB¬ÒSS       ÊMP .BAD.     YÅS¬ HÅ DÉD¬ SÏ ÅÒÒÏÒ.       ÌDB SAVB       ÊSB ÌÏGUN     GÅÔ Ì.U.£.       SÏà          £ ÏK?        ÊMP .BAD.    NϬ ÅÒÒÏÒ.       SÔA ÒDÒ       YÅS¬ ÏK.       ÊMP ÉNPUÔ     GÏ ÒÅAD NÅØÔ ÃAÒD. ª  ª   ÌÉSÔ ÃAÒD ª  ÃÔÒÌ9 SÔB SAVB      ÆÉÒSÔ¬ SÅÅ ÉÆ USÅÒ ÔÏÌD US       ÌDB ÌÉSÔ      "NÏ ÌÉSÔ" PÒÅVÉÏUSÌY.       SZB¬ÒSS       ÊMP .BAD.     YÅS¬ HÅ DÉD¬ SÏ ÅÒÒÏÒ.       ÌDB SAVB       ÊSB ÌÏGUN     GÅÔ Ì.U. £.       SÏà          £ ÏK?       ÊMP .BAD.     NϬ ÅÒÒÏÒ.       SÔA ÌÉSÔ      YÅS¬ ÏK.       ÊMP ÉNPUÔ     GÏ ÒÅAD NÅØÔ ÃAÒD.       HÅD  PASS ² ª  ª  ª    PASS ² SÔAÒÔS HÅÒÅ. ª  ª  ª  ª   ÉNÉÔÉAÌÉZAÔÉÏN ÆÏÒ PASS ². ª  PASS² ÃÌA        SÅÔ       SÔA ÏÌAY²       ÌDA ÏÌAY²+±  UP       SÔA ÏÌAY3       SÔA ÏÌAY´     ÏÒÉGÉN       SÔA ÏÌAY5       SÔA ÏÌAY6      PÒÏÃÅSS ÒÏUÔÉNÅ       SÔA ÏÌAY·     ÆÏÒ ²ND PASS.       SÔA ÏÌAY¸       ÌDA ÆÉÌÅ       SZA¬ÒSS       ÊMP P       ÊSB ÅØÅà     ÉS       DÅÆ ª+´       DÅÆ .±¸       ÆÉÌÅ       DÅÆ ÆNAMÅ       DÅÆ ÅSÅÃÔ     ÏN       ÌDA ÅSÅÃÔ       SZA           DÉSÃ?       ÊMP P       ÌDA .+²       ÃÌB       ÊSB ÉÏSUB       DÅÆ .+±       ÆÉÌÅ       DÅÆ MÅS00     ASSÅMBÌY       DÅÆ .+¸       ABÏÒÔÅD       ÊMP ABÏÒÔ ª  ª   ÉNÉÔÉAÌÉZÅ ÆÌAGS¬ ÃÏUNÔÅÒS¬ ÅÔì ÆÏÒ ²ND PASS. ª   GÅNÅÒAÔÅ ÌÅADÅÒ. ª  P     ÃÌA       SÔA PÃNÔÒ       SÔA ÅÑUÆÌ     ÃÌÅAÒ 'ÅÑU' SÔAÔÅMÅNÔ ÆÌAG.       ÃMA       SÔA BASÅ       ÌDA ½B²       SÔA PASSN       ÃÌA¬ÉNA       SÔA ÌÉNÅ£       ÃÌA       SÔA ÆÌÅÏP       SÔA ÆÌÒPÔ       SÔA SÅÃÔ£       ÊSB ÌÅÅDÒ       ÌDA ÌUN     ÉS SÏUÒÃÅ ÉN ×ÏÒK       SZA         AÒÅA ÏÆ DÉSÃ?       ÊMP <<þúP²±     YÅS GÏ ÒÅAD ÆÏÒ ²ND PASS       ÌDA ÒDÒ      ×AS ÉNPUÔ       ÃPA .+²      ÆÒÏM DÉSÃ?       ÊMP P²0     YÅS GÏ ÒÅAD ÊÆÉÌÅ AGAÉN.       ÊSB ÅØÅà   NϬ USÅÒ       DÅÆ ª+5     MUSÔ ÒÅÌÏAD       DÅÆ .+²     SÏUÒÃÅ       DÅÆ .+±     ÔÏ       DÅÆ ÒÌÏAD   ÃÏNÔÉNUÅ       DÅÆ .+·       ÊSB ÅØÅà   PAUSÅ       DÅÆ ª+²    ÔÏ AÌÌÏ× USÅÒ ÔÏ       DÅÆ .+·     ÒÅÌÏAD SÏUÒÃÅ       ÌDA ÏÌAY    ÆÉØ ÉNPUÔ       SÔA ÉNPÔ²+±   ÒÏUÔÉNÅ ÔÏ ÒÅAD ÃAÒDS.       ÃÌA       SÔA ÉNPÔ²+²       ÊMP P²±    GÏ ÒÅAD ÉNPUÔ. ÒÌÏAD ASà·¬ÒÅÌÏAD ÃAÒDS ª  ª   ÒÅAD A SÏUÒÃÅ ÒÅÃÏÒD. ª  ÉNPÔ² NÏP       ÊSB ÒDÉSK       DÅÆ ÃAÒD       ÊMP ÉNPÔ²¬É ÏÌAY  ÊSB ÒDÃÒD P²0   ÌDA ±²´B   SÅÔ ÊÆÉÌÅ       SÔA ÊÆÉÌ       SÔA ÔÒAK       AND ÌÏMSK   ÔÒAÃK       SÔA SÅÃÔ£       ÌDA ÔÒAK    AND       AÌÆ¬AÌÆ       AND ÌÏMSK   SÅÃÔÏÒ       SÔA ÔÒAK    NUMBÅÒ.       ÌDA .+²       SÔA ÉÌUN P²±   ÃÌA         ÃÌÅAÒ       SÔA ÊÆÌG    ÊUMP ÆÌAG.       SÔA ÅÑUÆÌ     ÃÌÅAÒ 'ÅÑU' SÔAÔÅMÅNÔ ÆÌAG.       ÌDA .M´0       SÔA SÃNÔ       ÌDB AÃAÒD       ÌDA BÌNK²       SÔA ±¬É       ÉNB       ÉSZ SÃNÔ       ÊMP ª-3       ÊSB ÉNPÔ²   ÒÅAD ÃAÒD       ÌDB AÃAÒD     NÏ.  ÃHÅÃK       ÒBÌ           ±SÔ       ÊSB ÌÏADB     BYÔÅ.       ÃPA ASÔÅÒ     ½ª?       ÊMP P²±A      YÅS¬ÉGNÏÒÅ BUÔ PÒÉNÔ       ÃPA BUÃK      ½$?       ÒSS       ÊMP P²±B      NϬ GÏÏD ÃÏDÅ.       ÉNB           YÅS       ÊSB ÌÏADB       ÃPA .Ï        ½ÏÒÉGÉN?       ÒSS       ÊMP P²±AB     NϬÃHÅÃK ÆÏÒ ÅND       ÃÌA           YÅS       SÔA ÏÌAY²     PÒÏÃÅSS       ÊSB ÏÒÉG      ÏÒÉGÉN ÃAÒD       ÊMP P²±A P²±AB ÃPA .Å        BYÔÅ ÉS Å?       ÒSS       ÊMP P²±A      NϬ NÏÔ ÅND ÉGNÏÒÅ ÉÔ       ÉNB           YÅS       ÊSB ÌÏADB     BYÔÅ ÉS N?       ÃPA .N       ÊMP ÅND P²±A  ÌDA ÃÒÌÅN     ÌÉSÔ ÔHÅ ÒÅÃÏÒD ÉN ÆÏÒMAÔ ±.       ÊSB ÌSÔÒ       ÉSZ ÌÉNÅ£       ÊMP P²±       GÏ BAÃK. P²±B  ÊSB SKP       'SKP' PSÅUDÏ ÏP?       SZA¬ÒSS       ÊMP ª+3       ÉSZ ÌÉNÅ£     YÅS.  AÌÒÅADY PÒÏÃÅSSÅD.       ÊMP %þúP²±        ÉNÃÒÅMÅNÔ ÌÉNÅ £.       ÌDA ÏÒÆÌG     NÏ.  HAS ÏÒÉGÉN BÅÅN       SZA¬ÒSS       ÅSÔABÌÉSHÅD?       ÒSS           NϬ ÔHÅN ÅÒÒÏÒ.       ÊMP P²±Ã      YÅS¬ SÏ ÏK.       ÌDA .+±0      PÒÉNÔ ÅÒÒÏÒ MÅSSAGÅ.       ÊSB ÅÒÒÏÒ       ÊMP ABÏÒÔ     ÑUÉÔ. ª  ª   DÅÔÅÒMÉNÅ SÔAÔÅMÅNÔ ÔYPÅ. ª  P²±Ã  ÊSB ÏNÅSÔ     'ÏNÅS' SÔAÔÅMÅNÔ?       SZA       ÊMP P²±Ã²     YÅS. ×AS PÒÏÃÅSSÅD.       ÊSB ZÅÒSÔ     NÏ.  'ZÅÒÏÅS' SÔAÔÅMÅNÔ?       SZA       ÊMP P²±Ã²     YÅS.  ×AS PÒÏÃÅSSÅD.       ÌDB Æ²ADÒ     NÏ. GÅÔ ÆÉÅÌD ² SÔAÒÔ BYÔÅ ADDÒ.       ÊSB DÅÆ       DÅÆ SÔAÔÅMÅNÔ?       SZA       ÊMP P²±Ã3     NÏ. P²±Ã² ÊSB ÏUÔPÔ     YÅS.  ÏUÔPUÔ ÉÔ.       ÊMP P²±       GÏ ÒÅAD NÅØÔ ÒÅÃÏÒD. P²±Ã3 ÌDB Æ²ADÒ       ÊSB ÅÑU       ÅÑU SÔAÔÅMÅNÔ?       SZA       ÊMP P²±Ã5     NÏ.       ÃÌA¬ÉNA       YÅS.  PÒÉNÔ ÉÔ.       SÔA ÅÑUÆÌ       ÊSB ÏUÔPÔ       ÊMP P²±       GÏ ÒÅAD NÅØÔ ÒÅÃÏÒD. P²±Ã5 ÌDB Æ²ADÒ     GÅÔ ÆÉÅÌD ² SÔAÒÔÉNG BYÔÅ ADÒ.       ÌDA .+±       GÏ GÅÔ AN       ÊSB $SÒÃH     'ÏPÃÏDÅ' BÉNAÒY ÏPÃÏDÅ.       ÃPA .-±       BAD MNÅMÏNÉÃ?       ÒSS           YÅS.       ÊMP P²±D      NÏ.       ÌDA .+3       YÅS.  ÏUÔPUÔ       ÊSB ÅÒÒÏÒ     MÅSSAGÅ.       ÊSB NÏPÅÒ     ÃÒÅAÔÅ NÏP MÉÃÒÏÉNSÔÒUÃÔÉÏN.       ÊMP ÔY±.6     GÏ PÒÏÃÅSS ÉÔ. P²±D  SÔA ±       AND HHMSK     SAVÅ BÉNAÒY       SÔA ÆÌD²      ÏPÃÏDÅ.       ÌDA ±         ÉSÏÌAÔÅ       AND HHHMS     ×ÏÒD ÔYPÅ.       AÌÆ       ÃPA .+±       ×ÏÒD ÔYPÅ ±?       ÊMP ÔYPű     YÅS.       ÃPA .+²       ×ÏÒD ÔYPÅ ²?       ÊMP ÔYPŲ     YÅS.       ÌDB Æ3ADÒ     GÅÔ ÆÉÅÌD 3 SÔÒÔNG BYÔÅ ADDÒ.       ÌDA .+²       GÏ GÅÔ A       ÊSB $SÒÃH     'SPÅÃÉAÌ' BÉNAÒY ÏPÃÏDÅ.       ÃPA .-±       BAD MNÅMÏNÉÃ?       ÒSS           YÅS.       ÊMP P²±Å      NÏ.       ÌDA .+´       YÅS.   ÏUÔPUÔ ÅÒÒÏÒ MÅSSAGÅ.       ÊSB ÅÒÒÏÒ       ÊSB NÏPÅÒ     NÏP ×ÏÒD ÔYPÅ ± ÆÉÅÌDS.       ÊMP ÔY±.6     GÏ ÏUÔPUÔ ×D ÔYPÅ ± ÉNSÔÒ. P²±Å  SÔA ÆÌD3      SAVÅ 'SPÅÃÉAÌ' ÏPÃÏDÅ.       ÃPA ÃNDØ      ×AS ÆÉÅÌD 3 'ÃNDØ'?       ÒSS           YÅ©i<:6S.       ÊMP ÔYPÅ´     NϬ SÏ ×ÏÒD ÔYPÅ ´.       ÌDA ÆÌD²      ×AS ÆÉÅÌD ² 'ÊMP'?       ÃPA ÊMP       ÊMP ÔYPÅ3     YÅS. SÏ ×ÏÒD ÔYPÅ 3.       ÊMP ÔYPÅ´     NϬ SÏ (BAD© ×ÏÒD ÔYPÅ ´. ª        SKP ª  ª   ÃÒÅAÔÅ A ×ÏÒD ÔYPÅ ± ÉNSÔÒUÃÔÉÏN. ª  ª   ÆÉÒSÔ¬ ÃHÅÃK MNÅMÏNÉÃS AND ÃÏÌÌÅÃÔ ÔHÅ BÉNAÒY ª   ÃÏDÅS ÆÏÒ ÅAÃH ÆÉÅÌD. ª  ÔYPű ÌDA .+²       GÏ GÅÔ A 'SPÅÃÉAÌ' ÃÏDÅ       ÌDB .+3       ÆÒÏM ÆÉÅÌD 3.       ÊSB ÃÏDÅ       ÌDA ÆÌD3       ÃPA ÊÔAB      ×AS ÉÔ 'ÊÔAB'?       ÊMP ÔY±.0     YÅS.  'ÊMP-SPÅÃ' BUÔ ÏK.       ÃPA ÒÔN       ×AS ÉÔ 'ÒÔN'?       ÊMP ÔY±.0     YÅS. 'ÊMP-SPÅÃÉAÌ' BUÔ ÏK.       ADA .M²´      NÏ.  ÏÔHÅÒ 'ÊMP-SPÅÃÉAÌ'?       SSA¬ÒSS       ÒSS           YÅS¬ SÏ ÅÒÒÏÒ.       ÊMP ÔY±.0     NÏ.       ÌDA .+´       PÒÉNÔ ÅÒÒÏÒ MÅSSAGÅ.       ÊSB ÅÒÒÏÒ       ÌDA .+²       SÔÏÒÅ A NÏP ÉN ÔHÅ :)<ÿÿ ÿýðÿ ÿ12978-18002 1437 S 0122 0221MX DOS-III MICRO- ASSEMBLER (WCS)             H0101 /—þú       ADA DÅÆÌÔ     ÆÉÅÌD 3       ÌDA 0¬É       ×ÏÒD.       ÌDB .+3       ADB Æ×ÏÒD       SÔA ±¬É ÔY±.0 ÌDA .+´       GÏ GÅÔ AN 'AÌU' ÃÏDÅ       ÌDB .+´       ÆÒÏM ÆÉÅÌD ´.       ÊSB ÃÏDÅ       ÌDA .+6       GÏ GÅÔ A 'SÔÏÒÅ' ÃÏDÅ       ÌDB .+5       ÆÒÏM ÆÉÅÌD 5.       ÊSB ÃÏDÅ       ÌDA .+·       GÏ GÅÔ AN 'S-BUS' ÃÏDÅ       ÌDB .+6       ÆÒÏM ÆÉÅÌD 6.       ÊSB ÃÏDÅ ª  ª   NÏ× PUÔ ÔÏGÅÔHÅÒ ÔHÅ ÆÉÅÌDS ÏÆ ÔHÅ ÔYPÅ ± ×ÏÒD. ª  ÔY±.6 ÌDA ÆÌD3      BÉÔS 0-´ GÅÔ ÆÉÅÌD 3 (HÅÒŬ       SÔA ÉNSÔ±     A 'SPÅÃÉAÌ'©.       ÌDA ÆÌD5      BÉÔS 5-9 GÅÔ ÆÉÅÌD 5 (HÅÒŬ       AÌÆ           A 'SÔÏÒÅ'©.       AÌS       ÉÏÒ ÉNSÔ±       SÔA ÉNSÔ±       ÌDA ÆÌD6      BÉÔS ±0-±´ GÅÔ ÆÉÅÌD 6 (HÅÒŬ       AÌÆ¬AÌÆ       AN 'S-BUS'.©       AÌS       AÌS       ÉÏÒ ÉNSÔ±       SÔA ÉNSÔ±       ÌDA ÆÌD´      BÉÔS ±5-±9 GÅÔ ÆÉÅÌD ´ (HÅÒŬ AN       ÒAÒ           'AÌU'©.       AND MSK±5       ÉÏÒ ÉNSÔ±       SÔA ÉNSÔ±     BÉÔ ±5 DÏNÅ.       ÌDA ÆÌD´       AÒS       SÔA ÉNSÔ²     BÉÔS ±6-±9 (0-3© DÏNÅ.       ÌDA ÆÌD²      BÉÔS ²0-²3 (´-·© GÅÔ       AÌÆ           ÆÉÅÌD ²(HÅÒŬ 'ÏPÃÏDÅ'©.       ÉÏÒ ÉNSÔ²       SÔA ÉNSÔ²       ÊSB ÏUÔPÔ       ÊMP P²± ª        SKP ª  ª   ÃÒÅAÔÅ A ×ÏÒD ÔYPÅ ² ÉNSÔÒUÃÔÉÏN. ª   ÆÉÒSÔ¬ ÃHÅÃK MNÅMÏNÉÃS AND ÃÏÌÌÅÃÔ BÉNAÒY ÃÏDÅS ª   ÆÏÒ ÅAÃH ÆÉÅÌD. ª  ÔYPŲ ÌDA .+²       GÅÔ A 'SPÅÃÉAÌ' ÃÏDÅ       ÌDB .+3       ÆÒÏM ÆÉÅÌD 3.       ÊSB ÃÏDÅ       ÌDA .+5       GÏ GÅÔ AN 'ÉMM' ÃÏDÅ       ÌDB .+´       ÆÒÏM ÆÉÅÌD ´.       ÊSB ÃÏDÅ       ÌDA .+6       GÏ GÅÔ A 'SÔÏÒÅ' ÃÏDÅ       ÌDB .+5       ÆÒÏM ÆÉÅÌD 5.       ÊSB ÃÏDÅ       ÌDB Æ6ADÒ     GÅÔ ÆÌD 6 SÔAÒÔÉNG BYÔÅ ADDÒÅSS.       ÊSB NUM       ÃÏNVÅÒÔ ÆÉÅÌD ÃÏNÔÅNÔS ÔÏ BÉNAÒY.       SÏà          ANY PÒÏBÌÅMS?       ÊMP ÔY².±     YÅS.       ÊMP ÔY².²     NÏ. ÔY².± ÌDA .+±±      PÒÉNÔ ÅÒÒÏÒ MÅSSAGÅ.       ÊSB ÅÒÒÏÒ       ÃÌA           MAKÅ ÆÉÅÌD 6 ½ 0. ÔY².² SÔA ±       AND MSK¸      ÉS £ ¸ BÉÔS ÏÒ ÌÅSS?       SZA       ÊMP ÔY².±     NϬ SÏ ÅÒÒÏÒ.       SÔB I-þúÆÌD6      YÅS. ª  ª   NÏ× PUÔ ÔÏGÅÔHÅÒ ÔHÅ ÆÉÅÌDS ÏÆ ÔHÅ ÔYPÅ ² ×ÏÒD. ª        ÌDA ÆÌD3      BÉÔS 0-´ GÅÔ ÆÉÅÌD 3       SÔA ÉNSÔ±     (HÅÒÅ A 'SPÅÃÉAÌ' NÏP©.       ÌDA ÆÌD5      BÉÔS 5-9 GÅÔ ÆÉÅÌD 5       AÌÆ¬ÒAÌ       (HÅÒŬ A 'SÔÏÒÅ'©.       ÉÏÒ ÉNSÔ±       SÔA ÉNSÔ±       ÌDA ÆÌD6      BÉÔS ±0-±· GÅÔ ÆÉÅÌD 6       AND MSK6      (HÅÒŬ A BÉNAÒY NÏ.©.       AÌÆ¬AÌÆ       ÆÉÒSÔ¬ DÏ BÉÔS ±0-±5.       ÒA̬ÒAÌ       ÉÏÒ ÉNSÔ±       SÔA ÉNSÔ±       ÌDA ÆÌD6      NÏ× BÉÔS ±6-±·(0-±©.       AND MSK·¸       AÌÆ¬AÌÆ       ÒA̬ÒAÌ       SÔA ÉNSÔ²       ÌDA ÆÌD´      BÉÔS ±¸-±9(²-3© GÅÔ       ÒA̬ÒAÌ       ÆÉÅÌD ´ (HÅÒŬ AN 'ÉMM'©.       ÉÏÒ ÉNSÔ²       SÔA ÉNSÔ²       ÌDA ÆÌD²      BÉÔS ²0-²3(´-·© GÅÔ       AÌÆ           ÆÉÅÌD ²(HÅÒŬ AN 'ÏPÃÏDÅ'©.       ÉÏÒ ÉNSÔ²       SÔA ÉNSÔ²       ÊSB ÏUÔPÔ       ÊMP P²± ª        SKP ª  ª   ÃÒÅAÔÅ A ×ÏÒD ÔYPÅ 3 ÉNSÔÒUÃÔÉÏN. ª   ÆÉÒSÔ¬ ÃHÅÃK MNÅMÏNÉÃS AND ÃÏÌÌÅÃÔ BÉNAÒY ÃÏDÅS. ª  ÔYPÅ3 ÌDA .+3       GÏ GÅÔ A 'ÃÏNDÉÔÉÏN' ÃÏDÅ       ÌDB .+´       ÆÒÏM ÆÉÅÌD ´.       ÊSB ÃÏDÅ       ÌDA .+6       GÅÔ A 'SÔÏÒÅ' ÃÏDÅ       ÌDB .+5       ÆÒÏM ÆÉÅÌD 5       ÊSB ÃÏDÅ       ÌDA ÆÌD5      DÉD ÆÉÅÌD 5 ÃÏNÔAÉN       ÃPA ÒÊS       AN 'ÒÊS'?       ÊMP ÔY3.5     YÅS.       ÌDA .+±       NÏ.  SÏ SÅÔ BÉÔ ±´.       ÒAÒ¬ÒAÒ       ÒSS ÔY3.5 ÃÌA           'ÒÊS' PÒÅSÅNÔ¬ SÏ ÃÌÅAÒ       SÔA ÆÌD5      BÉÔ ±´.       ÌDB Æ6ADÒ     GÅÔ ÆÌD 6 SÔAÒÔÉNG BYÔÅ ADDÒ.       ÊSB NUM       ÃÏNVÅÒÔ ÆÉÅÌD ÃÏNÔÅNÔS ÔÏ BÉNAÒY.       SÏà          ANY PÒÏBÌÅMS?       ÒSS           YÅS.       ÊMP ÔY3.±     NÏ. ÔY3.0 ÌDA .+¸       GÏ ÏUÔPUÔ ÅÒÒÏÒ MÅSSAGÅ.       ÊSB ÅÒÒÏÒ       ÃÌA           MAKÅ ÆÉÅÌD 6 ½ 0.       SÔA ÆÌD6       ÌDA UNÃD      DÅÆAUÌÔ 'SPÅÃÉAÌ' ÃÏDÅ (ÆÉÅÌD       SÔA ÆÌD3      3© ÔÏ 'UNÃD'.       ÊMP ÔY´.6     GÏ ASSÅMBÌÅ AS ÔYPÅ ´ ×ÏÒD. ÔY3.± SÔA SAVA       AND MSK²±     ÔHÒÏ× ÏUÔ ÌÏ× 9 BÉÔS ÏÆ ÔHÅ £.       SÔA ±       ÌDA Ô.00±     ÒÅ-ÃÒÅAÔÅ ÔHÅ ABSÏÌUÔÅ ÏÒÉGÉN       ÉÏÒ Ô.00²     ÔHÒÏ× ÏUÔ ÉÔS ©èþúÌÏ× 9 BÉÔS.       AND MSK²±       ÃPA ±        ÔHÅ 3 HÉGH BÉÔS SAMÅ ÉN BÏÔH £'S?       ÒSS           YÅS¬ SÏ GÏÏD £.       ÊMP ÔY3.0     NϬ SÏ ÅÒÒÏÒ.       ÌDA SAVA       AND MSK²3     KÅÅP ÌÏ× 9 BÉÔS.       SÔA ÆÌD6      SÔÏÒÅ ÉN ÆÉÅÌD ×ÏÒD. ª  ª   NÏ× PUÔ ÔÏGÅÔHÅÒ ÔHÅ ÆÉÅÌDS ÏÆ ÔHÅ ÔYPÅ 3 ×ÏÒD. ª        ÌDA ÆÌD3      BÉÔS 0-´ GÅÔ ÆÉÅÌD 3       SÔA ÉNSÔ±     (HÅÒŬ ÔHÅ 'SPÅÃÉAÌ'¬ 'ÃNDØ'.©       ÌDA ÆÌD6      BÉÔS 5-±3 GÅÔ ÆÉÅÌD 6       AÌÆ¬ÒAÌ       (HÅÒŬ AN ADDÒÅSS©.       ÉÏÒ ÉNSÔ±       SÔA ÉNSÔ±       ÌDA ÆÌD5      BÉÔ ±´ GÅÔS ÆÉÅÌD 5       ÉÏÒ ÉNSÔ±       SÔA ÉNSÔ±       ÌDA ÆÌD´      BÉÔS ±5-±9 GÅÔ ÆÉÅÌD ´       ÒAÒ           (HÅÒŬ A 'ÃÏNDÉÔÉÏN'©.       AND MSK±5     ÆÉÒSÔ¬ BÉÔ ±5.       ÉÏÒ ÉNSÔ±       SÔA ÉNSÔ±       ÌDB ÆÌD´       BÒS       SÔB ÉNSÔ²     NÏ× BÉÔS ±6-±9(0-3©.       ÌDA ÆÌD²      BÉÔS ²0-²3(´-·© GÅÔ ÆÉÅÌD ²       AÌÆ           (HÅÒÅ AN 'ÏPÃÏDÅ'©.       ÉÏÒ ÉNSÔ²       SÔA ÉNSÔ²       ÊSB ÏUÔPÔ       ÊMP P²± ª        SKP ª  ª   ÃÒÅAÔÅ A ×ÏÒD ÔYPÅ ´ ÉNSÔÒUÃÔÉÏN. ª   ×Å AÌÒÅADY HAVÅ ÃÏDÅS ÆÒÏM ÆÉÅÌDS ² AND 3. ª  ÔYPÅ´ ÌDA ÆÌD3      GÅÔ ÔHÅ ÆÉÅÌD 3 BÉNAÒY ÃÏDÅ.       ÃPA ÉÏÆÆ      ×AS ÉÔ 'ÉÏÆÆ'?       ÊMP ÔY´.9     YÅS.  SÏ ÏK.       ÃPA SÔÆÌ      NÏ.  ×AS ÉÔ 'SÔÆÌ'?       ÊMP ÔY´.9     YÅS.  SÏ ÏK.       ÃPA UNÃD      NÏ. ×AS ÉÔ 'UNÃD'?       ÊMP ÔY´.9     YÅS.  SÏ ÏK.       ÃPA BÌANK     NÏ. ×AS ÉÔ BÌANK?       ÊMP ÔY´.¸     YÅS.       ÃPA ÉÏG       NÏ.  ×AS ÉÔ 'ÉÏG'?       ÊMP ÔY´.9     YÅS.  SÏ ÏK.       ADA .M²6      'ÊMP SPÅÃÉAÌ' BUÔ NÏÔ 'ÃNDØ'?       SSA       ÊMP ÔY´.·     NϬ SÏ ÅÒÒÏÒ.       ÌDA ÆÌD3      YÅS¬ SÏ ÏK.       ÊMP ÔY´.9 ÔY´.· ÌDA .+´       PÒÉNÔ ÅÒÒÏÒ MÅSSAGÅ.       ÊSB ÅÒÒÏÒ ÔY´.¸ ÌDA UNÃD      SÔÏÒÅ 'UNÃD' AS DÅÆAUÌÔ. ÔY´.9 SÔA ÆÌD3       ÌDB Æ6ADÒ     GÅÔ ÆÉÅÌD 6 SÔÒÔNG BYÔÅ ADDÒ.       ÊSB NUM       ÃÏNVÅÒÔ ÆÉÅÌD ÃÏNÔÅNÔS ÔÏ BÉNAÒY.       SÏà          ANY PÒÏBÌÅMS?       ÊMP ÔY´.0     YÅS.       ÊMP ÔY´.±     NÏ. ÔY´.0 ÌDA .+¸       YÅS.  GÏ ÏUÔPUÔ       ÊSoÉþúB ÅÒÒÏÒ     ÅÒÒÏÒ MÅSSAGÅ.       ÌDA UNÃD      SÔÏÒÅ 'UNÃD' ÉN       SÔA ÆÌD3      ÆÉÅÌD 3.       ÃÌA           MAKÅ ÆÉÅÌD 6 ½ 0. ÔY´.± SÔA ±       AND MSK±²     ÉS ÔHÅ NÏ. ±² BÉÔS       SZA           ÏÒ ÌÅSS?       ÊMP ÔY´.0     NϬ SÏ ÅÒÒÏÒ.       SÔB ÆÌD6      YÅS.  SÏ SAVÅ ÆÉÅÌD. ª  ª   NÏ× PUÔ ÔÏGÅÔHÅÒ ÔHÅ ÆÉÅÌDS ÏÆ ÔHÅ ÔYPÅ ´ ×ÏÒD. ª  ÔY´.6 ÌDA ÆÌD3      BÉÔS 0-´ GÅÔ ÆÉÅÌD 3       SÔA ÉNSÔ±     (HÅÒŬ A 'SPÅÃÉAÌ'©.       ÌDA ÆÌD6      BÉÔS 5-±6 GÅÔ ÆÉÅÌD 6       ÃÌÅ       AÌÆ¬ÅÌA       ÆÉÒSÔ¬ BÉÔS 5-±5.       ÉÏÒ ÉNSÔ±       SÔA ÉNSÔ±       ÃÌB       ÅÌB           NÏ× BÉÔ ±6.       ÌDA ÆÌD²      ÌÅAVÅ BÉÔS ±·-±9(±-3© ÃÌÅAÒ.       AÌÆ           BÉÔS ²0-²3(´-·© GÅÔ       ÉÏÒ ±         ÆÉÅÌD ²(HÅÒŬ AN 'ÏPÃÏDÅ'©.       SÔA ÉNSÔ²       ÊSB ÏUÔPÔ       ÊMP P²± ª        SKP ª  ª   ×Å ÃÏMÅ HÅÒÅ AÆÔÅÒ ÒÅADÉNG AN '$ÅND' ÒÅÃÏÒD ª   ÉN PASS ². ª  ÅND   ÊSB ÅMPBÆ     ÅMPÔY PUNÃH BUÆÆÅÒ.       ÌDA ÒÃÆÌG     AÒÅ ×Å PUNÃHÉNG       SZA¬ÒSS       A SUÉÔÃASÅ ÒÏM ÔAPÅ?       ÊMP ÅND00     NÏ.       ÌDA .+²       YÅS.  ÔHÅN SÅÔ ÆÌAG       SÔA ÒÃÆÌG     ÆÏÒ 'ÌASÔ PUNÃHÏUÔ'.       ÊSB ÅMPBÆ     DÏ 'ÌASÔ PUNÃHÏUÔ'. ÅND00 ÌDA PÃH       ×AS ÔHÅÒÅ A 'NÏ-PUNÃH' ÃÏNÔÒÏÌ       SZA¬ÒSS       ÃAÒD?       ÊMP ÅND0      YÅS.  SÏ DÏN'Ô PUNÃH ÅND ÒÅÃÒD.       ÌDA ÒÃÆÌG     AÒÅ ×Å PUNÃHÉNG A SUÉÔÃASÅ       ÃPA .+²       ÒÏM ÔAPÅ?       ÊMP ÅND0      YÅS¬ SÏ NÏ ÅND ÒÅÃÏÒD.       ÌDA .+²       NÏ.  PUNÃH ÏUÔ       ÃÌB¬ÉNB       ÊSB ÉÏSUB     ÅND ÒÅÃÏÒD.       DÅÆ PÃH       DÅÆ ÅNDÒà       DÅÆ .+´ ÅND0  ÌDA ÃÒÌÅN     ÌÉSÔ ÔHÅ '$ÅND' SÔAÔÅMÅNÔ.       ÊSB ÌSÔÒ       ÌDA NMÅÒÒ     ANY PASS ²       SZA¬ÒSS       ÅÒÒÏÒS?       ÊMP ÅND±      NÏ.       ÌDB Dʱ       YÅS.  SÏ GÏ       ÒBÌ           PUÔ NÏ. ÉNÔÏ  ÔHÅ       ÉNB           NÏ.-ÏÆ-ÅÒÒÏÒS SÔAÔÅMÅNÔ       ÊSB DÅÃMÌ     BUÆÆÅÒ. ÅND±  ÌDA ÌÉSÔ       SZA¬ÒSS       USÅÒ NÏÔ ÌÉSÔÉNG?       ÌDA .+6       YÅS.  ×ÅÌ̬ HÅ GÅÔS ÔHÅ       SÔA ÌÉSÔ      NÏ.-ÏÆ-ÅÒÒÏÒS SÔAÔÅMÅNÔ ANY×AY.       ÌDA ¿Üþú.+²       ÃÌB       ÊSB ÉÏSUB       DÅÆ ÌÉSÔ       DÅÆ DÊ       DÅÆ .M±¸       ÊSB ÌÅÅDÒ     PUNÃH ÏUÔ ÔÒAÉÌÅÒ.       ÌDA ÌÉSÔ      ÉÆ USÅÒ ÉS ÌÉSÔÉNG ÏN       ÃPA .+±       ÌÉNÅ PÒÉNÔÅÒ¬       ÒSS       ÊSB ÅÊÅÃÔ     ÅÊÅÃÔ PAGÅ ÆÏÒ ÔHÅ GUY.       ÌDA ÆÉÌÅ      ×Å SAVÉNG ÏBÊÅÃÔ ÃÏDÅ       SZA           ÏN DÉSÃ?       ÊSB £×ÅÏÆ     YÅS¬ SÏ ×ÒÉÔÅ ÅND-ÏÆ-ÆÉÌÅ.       ÌDA .+²       ÃÌB       ÊSB ÉÏSUB     PÒÉNÔ ÆÉNAÌ 'ÅND'       DÅÆ .+±       MÅSSAGÅ ÏN ÃÏNSÏÌÅ.       DÅÆ ÅNDMS       DÅÆ .M±¸       ÊSB ÅØÅà     ÔÅÒMÉNAÔÅ       DÅÆ ª+²       ÔHÉS PÒÏGÒAM.       DÅÆ .+6       HÅD SUBÒÏUÔÉNÅS ÉN AÌPHABÅÔÉÃAÌ ÏÒDÅÒ       SKP ª   'BÆSPA' ÆÉÌÌS ÔHÅ Ô×Ï BUÆÆÅÒS¬ 'ÏUÔBÆ' AND ª   'ÃAÒD' ×ÉÔH SPAÃÅS. ª  ª   ÃAÌÌÉNG SÅÑUÅNÃÅ: ª      ÊSB BÆSPA ª  BÆSPA NÏP       ÌDA .P´0      ÆÉÌÌ ÉNPUÔ BUÆÆÅÒ ×ÉÔH       ÌDB AÃAÒD     SPAÃÅS.       ÊSB ÃÌÅAN       DÅÆ BÌNK²       ÌDA .+±±      ÆÉÌÌ ASÃÉÉ ÏUÔPUÔ BUÆÆÅÒ ×ÉÔH       ÌDB ABÆ0      SPAÃÅS.       ÊSB ÃÌÅAN       DÅÆ BÌNK²       ÊMP BÆSPA¬É       SKP ª  ª   'ÃHÅÃK' ÃÏMPAÒÅS A SUBÊÅÃÔ BYÔÅ SÔÒÉNG ÏÆ UP ÔÏ ª   ¸ BYÔÅS ×ÉÔH A ÒÅÆÒÅNÃÅ BYÔÅ SÔÒÉNG. ª  ª   ÃAÌÌÉNG SÅÑUÅNÃÅ: ª  ª      ÌDB þúD OF CARD? JMP .BAD. YES ERROR CTR41 INB NO LDA SPAC SKIP JSB SKIP BLANKS. SOC END OF CARD? JMP .BAD. YES ERROR. STB SAVM NO, SAVE ADDR OF SYMBOL. LDA SPAC SKIP TO JSB SKPTO END OF SYMBOL. SOC END OF CARD? JMP .BAD. YES ERROR LDA SPAC NO. SKIP ACROSS JSB SKIP BLANKS. SOC END OF CARD? JMP .BAD. YES ERROR. STB SAVN SAVE START ADDR OF VALUE. CLA CONVERT JSB CNVRT OCTAL VALUE. SOC END OF CARD.OR ERROR. JMP .BAD. YES ERROR. LDB SAVM GET SYMBOL ADDRESS. CCE SET E-REG TO INDICATE EXT JSB SYMAD ADD TO SYMBOL TABLE LDB SAVN GET START ADDR OF VALUE. LDA COMMA SKIP JSB SKPTO TO COMA SOC END OF CARD? JMP INPUT EXIT JMP CTR41 GO BACK. CTR42 CPA .N "N" RSS JMP .BAD. NO, BAD CONTROL STATE LDA MAG YES, '$END'. SOURCE ON MAG TAPE? SZA,RSS JMP CTR47 NO. LDA .+3 YES. WRITE END-OF-FILE(EOF). JSB IOSUB DEF MAG DEF * DUMMY PARAMETERS, SINCE THESE DEF * NOT NEEDED TO WRITE EOF. NOP LDA B400 REWIND TAPE TO START OF STA MCODE SOURCE FILE. LDA .+3 JSB IOSUB DEF MAG DEF * DUMMY PARAMETERS, SINCE THESE DEF * NOT NEEDED TO REWIND TAPE. NOP LDA B100 NOW REFIX MAG TAPE SUBFUNCTION STA MCODE CODE FOR NON-REWIND OPERATIONS. NOP CTR47 LDA SYFLG SYMBOL TABLE SZA,RSS WANTED? JMP PASS2 NO, SO GO TO PASS 2. LDA HDTAB YES. GET STA PNTR START OF TABLE CPA SYMB END? JMP PASS2 YES. GO TO PASS2. LDB LIST JSB TTYIO WE LISTING ON TT˜JþúY? SZA JMP CTR49 NO. LDA .+1 YES. SO JUST SPACE A FEW LINES. LDB .+2 JSB SPACE RSS CTR49 JSB EJECT EJECT A PAGE LDA .+2 PRINT SYMBOL TABLE HEADING. JSB IOSUB DEF LIST DEF HED1 DEF .-14 LDA LIST LDB .+2 JSB SPACE PR1 LDA .+10 FILL THE PERTINENT PART OF LDB ACARD ASCII OUTPUT BUFFER WITH JSB CLEAN SPACES. DEF BLNK2 * NOW WE STORE THE SYMBOL (LABEL) IN THE * INPUT BUFFER, WHICH WE ARE USING AS PART OF OUR * ASCII OUTPUT BUFFER. LDA PNTR,I STA CARD ISZ PNTR LDA PNTR,I STA CARD+1 ISZ PNTR LDA PNTR,I STA CARD+2 ISZ PNTR LDA PNTR,I STA CARD+3 * NOW PICK UP OCTAL LOCATION (I.E. VALUE) OF SYMBOL. ISZ PNTR LDA PNTR,I ISZ PNTR SSA IS THIS AN EQU SYMBOL? JMP PR4 YES. THEN NO PRINT SYMB VAL. * CONVERT TO ASCII AND STORE IN * NEXT LOCATION IN OUTPUT BUFFER. LDB ACARD RBL ADB .+10 STB SAVB SAVE BYTE ADDRESS. JSB OCTL DEC 6 LDA PNTR,I SZA,RSS JMP *+3 LDA .X RSS LDA SPAC LDB SAVB GET BYTE ADDR OF VALUE. ADB .+6 INC PAST VALUE. JSB STORB STORE SPACE OR 'X' THERE. PR4 LDA BLNK2 STA CARD-1 LDA .+2 JSB IOSUB DEF LIST ENTRY DEF CARD-1 DEF .M20 ISZ PNTR POINT LDA PNTR TO CPA SYMB NEXT ENTRY. END? RSS JMP PR1 NO, GO DO NEXT. JSB EJECT YES EJECT FOR PASS 2. JMP PASS2 NOW GO TO PASS2. * * INPUT CARD * CTRL7 STB SAVB FIRST, SEE IF USER TOLD US LDB PCH "NO PUNCH" PREVIOUSLY. SZB,RSS JMP .BAD. YES, HE DID, SO ERROR. LDB SAVB JSB LOGUN GET L.U.#. SOC # OK? JMP .BAD. NO, M6þúERROR. STA RDR YES, OK. JMP INPUT GO READ NEXT CARD. * * PASS2 CARD * CTRL8 JSB LOGUN GET L.U. #. SOC # OK? JMP .BAD. NO, BAD. STA MAG JMP INPUT GO READ NEXT CARD. * * LIST CARD * CTRL9 STB SAVB FIRST, SEE IF USER TOLD US LDB LIST "NO LIST" PREVIOUSLY. SZB,RSS JMP .BAD. YES, HE DID, SO ERROR. LDB SAVB JSB LOGUN GET L.U. #. SOC # OK? JMP .BAD. NO, ERROR. STA LIST YES, OK. JMP INPUT GO READ NEXT CARD. HED PASS 2 * * * PASS 2 STARTS HERE. * * * * INITIALIZATION FOR PASS 2. * PASS2 LDA .+2 STA PASSN LDA MAG IS SOURCE ON MAG TAPE? SZA JMP P20F YES. SKIP 'RELOAD SOURCE' MSG. LDA .+1 LDB .+2 JSB SPACE LDA .+2 JSB IOSUB DEF .+2 DEF MSG5 DEF .M28 LDA .+1 LDB .+2 JSB SPACE HLT 34B * * INITIALIZE FLAGS, COUNTERS, ETC, FOR 2ND PASS. * GENERATE LEADER. * P20F CLA STA PCNTR STA OLAY2 CMA STA BASE CLA,INA STA LINE# LDA OLAY2+1 STA OLAY3 STA OLAY4 STA OLAY5 STA OLAY6 STA OLAY7 STA OLAY8 STA OLAY9 JSB LEEDR * * READ A SOURCE RECORD. * P21 CLA STA EQUFL CLEAR EQU FLAG. JSB RDCRD READ CARD. LDB CRLEN WAS CARD A BLANK? SZB,RSS JMP P21 YES. IGNORE. READ NEXT CARD. LDB ACARD NO. CHECK RBL 1ST JSB LOADB BYTE. CPA ASTER =*? JMP P21A YES,IGNORE BUT PRINT CPA BUCK =$? RSS JMP P21B NO, GOOD CODE. INB YES JSB LOADB CPA .O =ORIGIN? RSS JMP P21AB NO,CHECK FOR END CLA YES STA OLAY2 PROCESS iãþú JSB ORIG ORIGIN CARD JMP P21A P21AB CPA .E BYTE IS E? RSS JMP P21A NO, NOT END IGNORE IT INB YES JSB LOADB BYTE IS N? CPA .N JMP END P21A LDA CRLEN LIST THE RECORD IN FORMAT 1. JSB LSTR ISZ LINE# JMP P21 GO BACK. P21B JSB SKP 'SKP' PSEUDO OP? SZA JMP P21 YES. ALREADY PROCESSED. LDA ORFLG NO. HAS ORIGIN BEEN SZA,RSS ESTABLISHED? RSS NO, THEN ERROR. JMP P21C YES, SO OK. P21B4 LDA .+10 PRINT ERROR MESSAGE. JSB ERROR JMP ABORT QUIT. * * DETERMINE STATEMENT TYPE. * P21C JSB ONEST 'ONES' STATEMENT? SZA JMP P21C2 YES. WAS PROCESSED. JSB ZERST NO. 'ZEROES' STATEMENT? SZA JMP P21C2 YES. WAS PROCESSED. LDB F2ADR NO. GET FIELD 2 START BYTE ADDR. JSB DEF DEF STATEMENT? SZA JMP P21C3 NO. P21C2 JSB OUTPT YES. OUTPUT IT. JMP P21 GO READ NEXT RECORD. P21C3 LDB F2ADR JSB EQU EQU STATEMENT? SZA JMP P21C5 NO. CLA,INA YES. PRINT IT. STA EQUFL JSB OUTPT JMP P21 GO READ NEXT RECORD. P21C5 LDB F2ADR GET FIELD 2 STARTING BYTE ADR. LDA .+1 GO GET AN JSB $SRCH 'OPCODE' BINARY OPCODE. CPA .-1 BAD MNEMONIC? RSS YES. JMP P21D NO. LDA .+3 YES. OUTPUT JSB ERROR MESSAGE. JSB NOPER CREATE NOP MICROINSTRUCTION. JMP TY1.6 GO PROCESS IT. P21D STA 1 AND HHMSK SAVE BINARY STA FLD2 OPCODE. LDA 1 ISOLATE AND HHHMS WORD TYPE. ALF CPA .+1 WORD TYPE 1? JMP TYPE1 YES. CPA .+2 WORD TYPE 2? JMP TYPE2 YES. LDB F3ADR GET FIELD 3 STRTNG BYTE ADDR. LDA .+2 GO GET A þú JSB $SRCH 'SPECIAL' BINARY OPCODE. CPA .-1 BAD MNEMONIC? RSS YES. JMP P21E NO. LDA .+4 YES. OUTPUT ERROR MESSAGE. JSB ERROR JSB NOPER NOP WORD TYPE 1 FIELDS. JMP TY1.6 GO OUTPUT WD TYPE 1 INSTR. P21E STA FLD3 SAVE 'SPECIAL' OPCODE. CPA CNDX WAS FIELD 3 'CNDX'? RSS YES. JMP TYPE4 NO, SO WORD TYPE 4. LDA FLD2 WAS FIELD 2 'JMP'? CPA JMP JMP TYPE3 YES, SO WORD TYPE 3. JMP TYPE4 NO, SO (BAD) WORD TYPE 4. * SKP * * CREATE A WORD TYPE 1 INSTRUCTION. * * FIRST, CHECK MNEMONICS AND COLLECT THE BINARY * CODES FOR EACH FIELD. * TYPE1 LDA .+2 GO GET A 'SPECIAL' CODE LDB .+3 FROM FIELD 3. JSB CODE LDA FLD3 CPA JTAB WAS IT 'JTAB'? JMP TY1.0 YES. 'JMP-SPEC' BUT OK. CPA RTN WAS IT 'RTN'? JMP TY1.0 YES. 'JMP-SPECIAL' BUT OK. ADA .M24 NO. OTHER 'JMP-SPECIAL'? SSA,RSS RSS YES, SO ERROR. JMP TY1.0 NO. LDA .+4 PRINT ERROR MESSAGE. JSB ERROR LDA .+2 STORE A NOP IN THE ADA DEFLT FIELD 3 LDA 0,I WORD. LDB .+3 ADB FWORD STA 1,I TY1.0 LDA .+4 GO GET AN 'ALU' CODE LDB .+4 FROM FIELD 4. JSB CODE LDA .+6 GO GET A 'STORE' CODE LDB .+5 FROM FIELD 5. JSB CODE LDA .+7 GO GET AN 'S-BUS' CODE LDB .+6 FROM FIELD 6. JSB CODE * * NOW PUT TOGETHER THE FIELDS OF THE TYPE 1 WORD. * TY1.6 LDA FLD3 BITS 0-4 GET FIELD 3 (HERE, STA INST1 A 'SPECIAL'). LDA FLD5 BITS 5-9 GET FIELD 5 (HERE, ALF A 'STORE'). ALS IOR INST1 STA INST1 LDA FLD6 BITS 10-14 GET FIELD 6 (HERE, ALF,ALF AN 'S-BUS'.) ALS ALS IOR :<:6INST1 STA INST1 LDA FLD4 BITS 15-19 GET FIELD 4 (HERE, AN RAR 'ALU'). AND MSK15 IOR INST1 STA INST1 BIT 15 DONE. LDA FLD4 ARS STA INST2 BITS 16-19 (0-3) DONE. LDA FLD2 BITS 20-23 (4-7) GET ALF FIELD 2(HERE, 'OPCODE'). IOR INST2 STA INST2 ˱<ÿÿ ÿýû ÿ12978-18014 1712 S 0122 21MX BCS MICRO- ASSEMBLER (WCS)             H0101 Ý0þú JSB OUTPT JMP P21 * SKP * * CREATE A WORD TYPE 2 INSTRUCTION. * FIRST, CHECK MNEMONICS AND COLLECT BINARY OPCODES * FOR EACH FIELD. * TYPE2 LDA .+2 GET A 'SPECIAL' CODE LDB .+3 FROM FIELD 3. JSB CODE LDA .+5 GO GET AN 'IMM' CODE LDB .+4 FROM FIELD 4. JSB CODE LDA .+6 GO GET A 'STORE' CODE LDB .+5 FROM FIELD 5. JSB CODE LDB F6ADR GET FLD 6 STARTING BYTE ADDRESS. JSB NUM CONVERT FIELD CONTENTS TO BINARY. SOC ANY PROBLEMS? JMP TY2.1 YES. JMP TY2.2 NO. TY2.1 LDA .+11 PRINT ERROR MESSAGE. JSB ERROR CLA MAKE FIELD 6 = 0. TY2.2 STA 1 AND MSK8 IS # 8 BITS OR LESS? SZA JMP TY2.1 NO, SO ERROR. STB FLD6 YES. * * NOW PUT TOGETHER THE FIELDS OF THE TYPE 2 WORD. * LDA FLD3 BITS 0-4 GET FIELD 3 STA INST1 (HERE A 'SPECIAL' NOP). LDA FLD5 BITS 5-9 GET FIELD 5 ALF,RAL (HERE, A 'STORE'). IOR INST1 STA INST1 LDA FLD6 BITS 10-17 GET FIELD 6 AND MSK6 (HERE, A BINARY NO.). ALF,ALF FIRST, DO BITS 10-15. RAL,RAL IOR INST1 STA INST1 LDA FLD6 NOW BITS 16-17(0-1). AND MSK78 ALF,ALF RAL,RAL STA INST2 LDA FLD4 BITS 18-19(2-3) GET RAL,RAL FIELD 4 (HERE, AN 'IMM'). IOR INST2 STA INST2 LDA FLD2 BITS 20-23(4-7) GET ALF FIELD 2(HERE, AN 'OPCODE'). IOR INST2 STA INST2 JSB OUTPT JMP P21 * SKP * * CREATE A WORD TYPE 3 INSTRUCTION. * FIRST, CHECK MNEMONICS AND COLLECT BINARY CODES. * TYPE3 LDA .+3 GO GET A 'CONDITION' CODE LDB .+4 FROM FIELD 4. JSB CODE LDA .+6 GET A 'STORE' CODE LDB .+5 FROM FIELD 5 JSB COؘþúDE LDA FLD5 DID FIELD 5 CONTAIN CPA RJS AN 'RJS'? JMP TY3.5 YES. LDA .+1 NO. SO SET BIT 14. RAR,RAR RSS TY3.5 CLA 'RJS' PRESENT, SO CLEAR STA FLD5 BIT 14. LDB F6ADR GET FLD 6 STARTING BYTE ADDR. JSB NUM CONVERT FIELD CONTENTS TO BINARY. SOC ANY PROBLEMS? RSS YES. JMP TY3.1 NO. TY3.0 LDA .+8 GO OUTPUT ERROR MESSAGE. JSB ERROR CLA MAKE FIELD 6 = 0. STA FLD6 LDA UNCD DEFAULT 'SPECIAL' CODE (FIELD STA FLD3 3) TO 'UNCD'. JMP TY4.6 GO ASSEMBLE AS TYPE 4 WORD. TY3.1 STA SAVA AND MSK21 THROW OUT LOW 9 BITS OF THE #. STA 1 LDA T.001 RE-CREATE THE ABSOLUTE ORIGIN IOR T.002 THROW OUT ITS LOW 9 BITS. AND MSK21 CPA 1 THE 3 HIGH BITS SAME IN BOTH #'S? RSS YES, SO GOOD #. JMP TY3.0 NO, SO ERROR. LDA SAVA AND MSK23 KEEP LOW 9 BITS. STA FLD6 STORE IN FIELD WORD. * * NOW PUT TOGETHER THE FIELDS OF THE TYPE 3 WORD. * LDA FLD3 BITS 0-4 GET FIELD 3 STA INST1 (HERE, THE 'SPECIAL', 'CNDX'.) LDA FLD6 BITS 5-13 GET FIELD 6 ALF,RAL (HERE, AN ADDRESS). IOR INST1 STA INST1 LDA FLD5 BIT 14 GETS FIELD 5 IOR INST1 STA INST1 LDA FLD4 BITS 15-19 GET FIELD 4 RAR (HERE, A 'CONDITION'). AND MSK15 FIRST, BIT 15. IOR INST1 STA INST1 LDB FLD4 BRS STB INST2 NOW BITS 16-19(0-3). LDA FLD2 BITS 20-23(4-7) GET FIELD 2 ALF (HERE AN 'OPCODE'). IOR INST2 STA INST2 JSB OUTPT JMP P21 * SKP * * CREATE A WORD TYPE 4 INSTRUCTION. * WE ALREADY HAVE CODES FROM FIELDS 2 AND 3. * TYPE4 LDA FLD3 GET THE FIELD 3 BINARY CODE. I:þú CPA IOFF WAS IT 'IOFF'? JMP TY4.9 YES. SO OK. CPA STFL NO. WAS IT 'STFL'? JMP TY4.9 YES, SO OK. CPA UNCD NO. WAS IT 'UNCD'? JMP TY4.9 YES. SO OK. CPA BLANK NO. WAS IT BLANK? JMP TY4.8 YES. CPA IOG NO. WAS IT 'IOG'? JMP TY4.9 YES. SO OK. ADA .M26 'JMP SPECIAL' BUT NOT 'CNDX'? SSA JMP TY4.7 NO, SO ERROR. LDA FLD3 YES. SO OK. JMP TY4.9 TY4.7 LDA .+4 PRINT ERROR MESSAGE. JSB ERROR TY4.8 LDA UNCD STORE 'UNCD' AS DEFAULT. TY4.9 STA FLD3 LDB F6ADR GET FIELD 6 STRTNG BYTE ADDR. JSB NUM CONVERT FIELD CONTENTS TO BINARY. SOC ANY PROBLEMS? JMP TY4.0 YES. JMP TY4.1 NO. TY4.0 LDA .+8 YES. GO OUTPUT JSB ERROR ERROR MESSAGE. LDA UNCD STORE 'UNCD' IN STA FLD3 FIELD 3. CLA MAKE FIELD 6 = 0. TY4.1 STA 1 AND MSK12 IS THE NO. 12 BITS SZA OR LESS? JMP TY4.0 NO, SO ERROR. STB FLD6 YES. SO SAVE FIELD. * * NOW PUT TOGETHER THE FIELDS OF THE TYPE 4 WORD. * TY4.6 LDA FLD3 BITS 0-4 GET FIELD 3 STA INST1 (HERE, A 'SPECIAL'). LDA FLD6 BITS 5-16 GET FIELD 6 CLE ALF,ELA FIRST, BITS 5-15. IOR INST1 STA INST1 CLB ELB NOW BIT 16. LDA FLD2 LEAVE BITS 17-19(1-3) CLEAR. ALF BITS 20-23(4-7) GET IOR 1 FIELD 2(HERE, AN 'OPCODE'). STA INST2 JSB OUTPT JMP P21 * SKP * * WE COME HERE AFTER READING AN '$END' RECORD * IN PASS 2. * END JSB EMPBF EMPTY PUNCH BUFFER. LDA RCFLG ARE WE PUNCHING SZA,RSS A SUITCASE ROM TAPE? JMP END00 LDA .+2 YES. THEN SET FLAG STA RCFLG FOR 'LAST PUNCHOUT'. JSB EMPBF DO 'LAST PUNCHOUT'. 6þúEND00 LDA PCH WAS THERE A 'NO-PUNCH' CONTROL SZA,RSS CARD? JMP END0 YES, SO DON'T PUNCH END RECORD. LDA RCFLG NO.. ARE WE PUNCHING A SUITCASE CPA .+2 ROM TAPE? JMP END0 YES, SO NO END RECORD. LDA .+2 NO. PUNCH OUT CLB,INB JSB IOSUB END RECORD. DEF PCH DEF ENDRC DEF .+4 END0 LDA CRLEN LIST THE '$END' STATEMENT. JSB LSTR LDA NMERR ANY PASS 2 SZA,RSS ERRORS? JMP END1 NO. LDB DJ1 YES. SO GO RBL PUT NO. INTO THE INB NO.-OF-ERRORS STATEMENT JSB DECML BUFFER. END1 LDA LIST SZA,RSS USER NOT LISTING? LDA .+6 YES. WELL, HE GETS THE STA LIST NO.-OF-ERRORS STATEMENT ANYWAY. LDA .+2 JSB IOSUB DEF LIST DEF DJ DEF .M18 JSB LEEDR PUNCH OUT TRAILER. LDA LIST IF USER IS LISTING ON CPA .+1 LINE PRINTER, RSS JSB EJECT EJECT PAGE FOR THE GUY. LDA .+2 PRINT FINAL 'END' MESSAGE JSB IOSUB ON THE TELETYPE. DEF TTYO DEF ENDMS DEF .M18 LDA .+2 OUTPUT 4 LDB .+4 SPACES ON TTY. JSB SPACE JMP D1 GO BACK AND DO NEXT MICROPROGRAM. SKP * * 'CHECK' COMPARES A SUBJECT BYTE STRING OF UP TO * 8 BYTES WITH A REFRENCE BYTE STRING. * * CALLING SEQUENCE: * * LDB * LDA * JSB CHECK * * UPON RETURN: * * IF 'A' REG = 0, STRINGS DID NOT COMPARE. * IF 'A' REG # 0, STRINGS COMPARED. * CHECK NOP * * INITIALIZE. * STA SAVO SAVE REF STRING WORD ADDR. LDA .-8 PUT SUBJECT STRING INTO BUFFER, JSB TLOAD 'TOKEN'. LDA .-4 SET '#OF WORDS TO BE COMPARED' E‡þú STA CNTR4 COUNTER. LDB TOKAD SET 'B' TO WORD ADDR OF 'TOKEN'. * * COMPARE WORDS. * CHEK2 LDA SAVO,I GET NEXT REF. WORD. CPA 1,I SAME AS NEXT SUBJECT WORD? RSS YES. JMP CHEK4 NO. ISZ SAVO INCR REF STRING WORD ADDR. INB INC SUBJ WORD ADDR. ISZ CNTR4 INCR COUNTER. DONE YET? JMP CHEK2 NO. CLA,INA YES. SET 'A' TO INDICATE 'YES, JMP CHECK,I WE GOT A COMPARE'. RETURN. CHEK4 CLA NO COMPARE. SET 'A' TO JMP CHECK,I INDICATE THIS. RETURN. SAVO NOP CNTR4 NOP SKP * 'CLEAN' FILLS A BUFFER WITH A GIVEN CHAR. * * CALLING SEQUENCE: * LDB * * LDA <+ NO. OF WORDS IN BUFFER> * * JSB CLEAN * DEF * CLEAN NOP CMA,INA STA COUNT LDA CLEAN,I BRING IN CHAR. LDA 0,I CLE0 STA 1,I INB ISZ COUNT JMP CLE0 ISZ CLEAN SET RETURN ADDRESS. JMP CLEAN,I SKP * * ASCII TO BINARY CONVERSION ROUTINE. * * CALLING SEQUENCE: * A REG SHOULD BE 0 IF STRING OF OCTAL * ASCII DIGITS IS TO BE CONVERTED TO BINARY; * #0 IF STRING OF DECIMAL ASCII DIGITS. * B REG SHOULD CONTAIN THE STARTING BYTE ADDRESS * OF THE STRING OF ASCII DIGITS TO BE * CONVERTED. * JSB CNVRT * * ON RETURN RESULT IN A REG. * OVERFLOW SET ON ERROR * B REG IS NOT SIGNIFICANT. * CNVRT NOP STB TMPC1 SAVE BYTE ADDRESS LDB .+8 PUT OCTAL BASE IN B. SZA WAMT DECIMAL? LDB .+10 YES, PUT DECIMAL BASE INB. STB TMPC2 SAVE BASE. CLA CLEAR TEMPORARY STA TMPC3 STA CFLG CN1 LDB TMPC1 LOAD JSB LOADB BYTE. ADA .M48 VALUE OF BYTE SSA <@60? JMP CN4 YES STA TMPC4 NOz"þú,SAVE BYTE. LDA TMPC2 IS CMA,INA BUTE ADA TMPC4 NON LEGAL SSA,RSS DIGIT? JMP CN4 YES LDA TMPC3 COMPUTE NEXT MPY TMPC2 TEMPORARY RESULT. SZB OVERFLOW? JMP CN2 YES CLO NO, CLEAR O-BIT. ADA TMPC4 ADD IN NEW DIGIT SOC OVERFLOW? JMP CNVRT,I YES RETURN STA TMPC3 SAVE INTERMEDIATE RESULT ISZ CFLG SET GOOD DIGIT FLAG. ISZ TMPC1 BUMP BYTE ADDRESS. JMP CN1 CN4 LDA CFLG ILLEGAL DIGIT FOUND LDB TMPC1 PUT BYTE ADDRESS IN B SZA,RSS DID WE GET ANYTHING? STO NO, SET ERROR CONDITION LDA TMPC3 PUT RESILT IN A-REG JMP CNVRT,I CN2 STO OVERFLOW JMP CNVRT,I SKP * * * "CODE" OBTAINS THE BINARY CODE EQUIVALENT FOR * THE MNEMONIC IN A GIVEN FIELD, AND STORES IT IN * THE APPROPRIATE FIELD STORAGE LOCATION, EG. "FLD1", ETC. * IT PRINTS AN ERROR MESSAGE IF THE MNEMONIC WAS INVALID. * * CALLING SEQUENCE: * LDA * LDB * JSB CODE * * UPON RETURN: THE CODE WILL BE IN THE FIELD STORAGE * LOCATION; A AND B REGS ARE NOT SIGNIFICANT. * CODE NOP STA CSAVA STB CSAVB ADB F0ADR GET STARTING BYTE ADDRESS OF LDB 1,I FIELD. LDA CSAVA JSB $SRCH GO GET BINARY CODE. CPA .-1 MNEMONIC ERROR? RSS JMP CO7 NO. LDA CSAVB INA JSB ERROR PRINT ERROR MESSAGE. LDA CSAVA GET NOP BINARY CODE FOR ADA DEFLT CURRENT MNEMONIC TYPE. LDA 0,I CO7 LDB CSAVB STORE CODE IN PROPER ADB FWORD FIELD WORD. STA 1,I JMP CODE,I * SKP * * * THIS ROUTINE CONVERTS BINARY * TO 4 DIGIT DECIMAL * * CALLING SEQUENCE: * LDA <+B5þúINARY # TO BE CONVERTED> * LDB * JSB DECML * DECML NOP STB D.000 SAVE ADDRESS CLB DIVIDE DIV .1000 BY 1000 ADA B60 A=1000TH DIGIT. MAKE ASCII STB D.001 SAVE REMAINDER LDB D.000 PICK UP ADDRESS JSB STORB STORE 1000TH DIGIT. STB D.000 SAVE NEXT ADDRESS CLB DIVIDE LDA D.001 REMAINDER DIV .100 BY 100. ADA B60 A= HUNDRED DIGIT. MAKE ASCII STB D.001 SAVE REMAINDER LDB D.000 PICK UP ADDRESS JSB STORB STORE HUNDREDS DIGIT STB D.000 SAVE NEXT ADDRESS CLB DIVIDE LDA D.001 BY DIV .+10 10. ADA B60 A= TENS DIGIT. MAKE ASCII STB D.001 SAVE 1'S DIGIT LDB D.000 PICK UP ADDRESS JSB STORB STORE TENS DIGIT LDA D.001 PICK UP 1'S DIGIT ADA B60 MAKE ASCII JSB STORB STORE IT JMP DECML,I RETURN SKP * 'DEF' FIRST CHECKS IF THE FIELD WHOSE BYTE ADDRESS * IS IN B REG, IS A 'DEF'. IF NOT, THEN RETURN IS * MADE WITH A REG # 0. IF SO, THEN THE DEF STATEMENT * IS PROCESSED AND RETURN IS MADE WITH A = 0. * * CALLING SEQUENCE: * * LDB * * JSB DEF * * UPON RETURN: A REG = 0 MEANS THE FIELD CONTAINED * A 'DEF' AND THAT THIS * DEF STATEMENT HAS BEEN PROCESSED. * A REG # 0 MEANS THE FIELD DID NOT CONTAIN * A 'DEF'. * IN EITHER CASE, UPON RETURN, B REG CONTAINS GARBAGE. * DEF NOP * * FIRST DETERMINE IF WE HAVE A 'DEF' IN THE FIELD. * JSB LOADB CPA .D 1ST CHAR = "D"? RSS YES. JMP DEF9 NO. INB YES. JSB LOADB CPA .E 2ND CHAR = "E"? RSS YES. Q÷þú JMP DEF9 NO. INB JSB LOADB CPA .F 3RD CHAR = "F"? RSS YES. JMP DEF9 * * WE HAVE A DEF STATEMENT. * LDB F6ADR GO PROCESS ADDRESS IN FIELD 6. JSB NUM SOC ANY PROBLEMS? JMP DEF8 YES. STA 1 NO. AND M7777 IS NO. IN RANGE 0-7777 OCT? SZA JMP DEF8 NO, SO ERROR. STB INST1 YES, SO OK. STORE ADDRESS. STA INST2 JMP DEF,I RETURN. DEF8 LDA .+7 PRINT ERROR MESSAGE. JSB ERROR JSB NOPER MAKE A 'NOP' MICROINSTRUCTION. CLA JMP DEF,I DEF9 CLA,INA NO DEF STATEMENT. JMP DEF,I SKP * * THIS ROUTINE EJECTS PAGE ON LIST * DEVICE * CALLING SEQUENCE: * JSB EJECT * EJECT NOP LDB LIST SUPPRESS SZB,RSS LISTING? JMP EJECT,I YES, EXIT. JSB TTYIO WE EJECTING ON TTY? SZA,RSS JMP EJTT YES. EJLP LDA .+2 JSB IOSUB DEF LIST DEF LPEJ DEF .-2 JMP EJ2 EJTT NOP LDA SP4 STA SAVA CLA STA SP4 LDA LIST LDB .P24 JSB SPACE LDA SAVA STA SP4 EJ2 NOP LDA LPP CMA,INA STA #LNES JMP EJECT,I SKP * * 'EMCDE' PUNCHES THE OBJECT TAPE IF THE PUNCH * BUFFER IS FULL OR IF WE JUST READ AN '$END' * RECORD. THEN IT RE-INITIALIZES THE PUNCH * BUFFER AND EXITS. * * CALLING SEQUENCE: * JSB EMCDE * EMCDE NOP LDA PNBUF PUNCH BUFUR CPA .59 FULL? JSB EMPBF YES EMPTY IT LDA LASTP IS THIS INA NEXT STA 1 SEQUENTIAL INSTRUCTION? LDA PCNTR AND =B377 CPA 1 RSS JSB EMPBF NO,EMPTY PUNCH BUFUR. LDA CKSUM KEEP ADA INST1 RUNNING ADA INST2 CHECK- STA CKSUM SUM. LDA INST2 ‘•þú PUT LDB INST1 INSTRUCTION STA PNADR,I INTO ISZ PNADR PUNCH STB PNADR,I BUFUR. ISZ PNADR POINT TO NEXT POSITION. LDA PCNTR SAVE CURRENT AND =B377 LOW BITS OF STA LASTP PCNTR FOR NEXT TIME. ISZ PNBUF INCREMENT RECORD CNT. ISZ PNBUF JMP EMCDE,I EXIT SKP * * THIS ROUTINE EMPTIES CURRENT CONTENTS * OF PUNCH BUFUR AND SETS UP HEADER FOR NEXT. * * CALLING SEQUENCE: * JSB EMPBF * EMPBF NOP LDA RCFLG WE PUNCHING SUITCASE ROM TAPE CPA .+2 AND IS THIS 'LAST PUNCHOUT'? JMP EMP05 YES. LDA PNBUF NO. STA RLEN SAVE RECORD COUNT. CPA .+5 ANY DATA IN 'BUFUR'? JMP PB0 NO. GO SET HEADER. LDA RCFLG USER WANT SUITCASE ROM TAPE SZA,RSS PUNCHED? JMP EMP1 NO, WANTS REGULAR OBJECT TAPE. JMP EMP00 YES. EMP05 CLA JMP EMP0 EMP00 LDA PNAD PUT ADDR OF OBJ CODE BUFFER IN 'A'. EMP0 JSB SDUMP GO PUNCH SUITCASE ROM TAPE. JMP PB0 EMP1 LDA RLEN GET RECORD LENGTH. ALF,ALF STA PNBUF SET HIGH COUNT. LDA CKSUM PUT IN STA PNBUF+2 CHECKSUM. LDA PCH SUPPRESS SZA,RSS PUNCHING? JMP PB0 JSB TTYPL LIST AND PUNCH ON TTY? SZA JMP EMP22 NO. HLT 52B YES. LET USER TURN ON PUNCH. CLA,INA SET 'TTY BINARY PUNCH' FLAG. STA PNFLG EMP22 LDA .+2 GO PUNCH OUT. JSB IOSUB DEF PCH DEF PNBUF DEF RLEN JSB TTYPL IST AND PUNCH ON TTY? SZA,RSS HLT 53B YES. LET USER TURN OFF PUNCH. CLA CLEAR 'TTY BINARY PUNCH ' FLAG. STA PNFLG PB0 LDA .+5 SET UP STA PNBUF HEADER LDA PCNTR FOR NEXT STA PNBUF+3 RECORD. ADA DBUG ADA PNBUF+1 STA CKSUM LDA DBUG ²ô<:6STA PNBUF+4 LDA PBASE POINT ADA .+5 TO STA PNADR BUFUR POSITION JMP EMPBF,I EXIT SKP * 'EQU' PROCESSES AN EQU STATEMENT. * * CALLING SEQUENCE: * LDB * * JSB EQU * * UPON EXIT, A REG = 0 MEANS FIELD CONTAINS 'EQU'. * AND EQU STATEMENT HAS BEEN PROCESSED. * A REG # 0 MEANS FIELD DOESN1T CONTAIN 'EQU'. * IN EITHER CASE, B REG CONTAINS GARBAGE UPON EXIT. * * EQU NOP JSB LOADB CPA .E 1ST CHAR = "E"? RSS YES. JMP EQT9 NO. INB JSB LOADB CPA .Q 2ND CHAR = "Q"? RSS YES. JMP EQT9 NO. INB JSB LOADB CPA .U 3RD CHAR = "U"? RSS YES. JMP EQT9 NO. CLA WE HAVE AN 'EQU'. LDB PASSN CPB .+2 IS THIS PASS 2? JMP EQU,I YES. THEN EXIT NOW. JMP EQU1 NO, PASS 1. GO PROCESS . EQT9 CLA,INA NO 'EQU'. JMP EQU,I EQU1 LDB F6ADR GET OCTAL # FROM FIELD 6. JSB NUM SOC EVERYTHING OK? JMP EQU10 NO. IOR B1KKK YES. PUT 1 IN BIT 15 AS FLAG. JMP EQU25 EQU10 LDA .-7 NO, THEN ERROR. OUTPUT JSB ERROR ERROR MESSAGE. LDA CRLEN OUTPUT THE BAD EQU STATEMENT ADA .-2 WITH PAIR OF EXTRA SPACES AT STA EQU15 BEGINNING IN CASE OF LINE PRINTER LDA .+2 AS LIST DEVICE. JSB IOSUB DEF LIST DEF CARD-1 DEF EQU15 LDA LIST CLB,INB î<ÿÿ ÿýü ÿ12978-18015 1712 S 0122 21MX BCS MICRO- ASSEMBLER (WCS)             H0101 Þ0þú JSB SPACE CLA IOR B1KKK SET 'EQU' LABEL FLAG IN BIT 15. EQU25 LDB F1ADR ADD FLD 1 LABEL TO SYMB TABLE. CLE JSB SYMAD CLA JMP EQU,I RETURN EQU15 NOP SKP * * * 'ERROR' PRINTS ERROR MESSAGES ON THE LIST DEVICE. * * CALLING SEQUENCE: * A REG SHOULD CONTAIN - ERROR MESSAGE # IF * ERROR HAS BEEN DISCOVERED IN PASS 1; * + ERROR MESSAGE # IF ERROR HAS BEEN DISCOVERED * IN PASS 2. * JSB ERROR * * ON RETURN, MESSAGE WILL HAVE BEEN PRINTED * ON LIST DEVICE. * ERROR NOP ISZ NMERR LDB LIST SUPPRESS SZB,RSS LISTING? LDB .+6 STB SAVH SSA,RSS PASS I ERRORS? JMP EL2 NO. PASS 2. * * PASS I ERRORS * EL1 CMA,INA YES. MAKE ERROR # POS. LDB E1 PUT ERROR # INTO RBL ERROR MESSAGE BUFFER. JSB DECML LDA SAVH CLB,INB JSB SPACE SPACE ONE LINE. LDA .+2 OUTPUT ERROR MESSAGE. JSB IOSUB DEF SAVH DEF ERR1-1 DEF .-14 JMP ERROR,I EXIT. * * * PASS II ERRORS * EL2 SZA,RSS A = JMP EL1 0? YES. GO BACK. LDB E2 PUT ERROR MESSAGE NO. INTO RBL ERROR MESSAGE BUFFER. JSB DECML LDA LINE# PUT LINE NO. INTO LDB E3 ERROR MESSAGE BUFFER. RBL INB JSB DECML LDA SAVH CLB,INB JSB SPACE LDA .+2 OUTPUT ERROR MESSAGE. JSB IOSUB DEF SAVH DEF ERR2-1 DEF .M28 JMP ERROR,I SKP * * "IOSUB" DOES THE INPUT/OUTPUT. * * CALLING SEQUENCE: * * LDA <1 FOR INPUT, 2 FOR OUTPUT> * JSB IOSUB * DEF * DEF * DEF <- NO. OF CHARS OR + NO. OF WORDS> * * IOSUB NOP * * FIRST, SET UP THE .IOC. CALLING PARAMETERS. * STA SAVA ALF,AL+rþúF PUT READ/WRITE PARAM IN ALF PROPER PLACE. LDB IOSUB,I PLUG IN L.U.#. LDB 1,I SZB,RSS IS L.U.=0? JMP IOSUB,I YES. THEN QUIT RIGHT HERE. IOR 1 STA IOW3 LDA IOW0 SET UP AND UMSK CONTROL WORDS. IOR 1 STA IOW0 LDA IOW2 AND UMSK IOR 1 STA IOW2 LDA IOW4 AND UMSK IOR 1 STA IOW4 ISZ IOSUB SET BUFFER ADDR. LDA IOSUB,I STA IOBUF ISZ IOSUB SET # OF CHARS OR WORDS. LDA IOSUB,I LDA 0,I STA IONUM ISZ IOSUB SET RETURN ADDRESS. * * NOW FIND OUT WHAT IS TO BE DONE AND MAKE * NECESSARY MODIFICATIONS IN CALLING PARAMETERS. * JSB .IOC. IOW0 OCT 040000 AND EQMSK ALF,ALF CPA .+2 PUNCH OUT? JMP IO2 YES. CPA B16 2767A LINE PRINTER OUTPUT? JMP IO3 YES CPA B12 2610A/2614A LINE PRINTER OUTPUT? JMP IO3 YES. ADA .M20 NO. MAG TAPE I/O? SSA JMP IO4 NO. ADA .M20 SSA,RSS JMP IO4 NO. LDA IOW3 YES. SO FIX .IOC. CALL FOR IOR MCODE MAG TAPE I/O. STA IOW3 LDA IONUM NOW CONVERT - # OF CHARS CMA,INA SLA TO + # OF WORDS. INA RAR STA IONUM JMP IOBEG IO2 NOP LDA IOW3 PUNCH OUT: FIX FUNCTION IOR PCODE WORD FOR BINARY OUTPUT. STA IOW3 JMP IOBEG IO3 JSB .IOC. LP OUTPUT: SET LP NORMAL MODE. IOW2 OCT 030700 JMP IO3 JMP IOBEG IO4 LDA IOW3 TTY I/O OR CARD READER INPUT. LDB PNFLG WE PUNCHING BINARY ON TTY? SZB IOR =B500 YES. SET FUNCTION WORD. IOR B400 NO. SET FUNCTION WORD FOR ASCII. STA IOW3 JMP IOBEG * * NOW BEGIN THE I/O. * IOBEG NOP JSB .IOC. START THE I/O. IOW3 NOP JM•3þúP *-2 IOBUF NOP IONUM NOP IOST JSB .IOC. I/O DONE YET? IOW4 OCT 040000 SSA JMP IOST NO, KEEP WAITING. RAL SSA JMP IOER2 CMB,INB SAVE - # OF CHARS LDA SAVA READ IF THIS WAS A READ CPA .+1 OPERATION. STB CRLEN JMP IOSUB,I IOER2 HLT 36B TRANSMISSION ERROR. JMP IOBEG GO TRY AGAIN. SKP * * * THIS ROUTINE GENERATES LEADR ON PUNCH DEVICE * * CALLING SEQUENCE; * JSB LEEDR * LEEDR NOP LDA PCH SZA,RSS JMP LEEDR,I JSB TTYPL LIST AND PUNCH ON TTY? SZA,RSS HLT 52B YES. LET USER TURN ON PUNCH. JSB LEADR DEF *+3 DEF PCH DEF .+12 JSB TTYPL LIST AND PUNCH ON TTY? SZA,RSS HLT 53B YES. LET USER TURN OFF PUNCH. JMP LEEDR,I SKP * 'LOADB' RETURNS IN THE A REG THE BYTE WHOSE * BYTE ADDRESS WAS SPECIFIED IN THE B REG. * BYTE ADDRESS IS UNCHANGED UPON EXIT. * * CALLING SEQUENCE: * B REG SHOULD CONTAIN BYTE ADDRESS OF * BYTE TO BE FETCHED. * JSB LOADB * UPON RETURN, THE BYTE WILL BE IN THE LOW BITS OF * THE A REG. B REG WILL CONTAIN ORIGINAL * BYTE ADDRESS. * * LOADB NOP STB L.000 SAVE BYTE ADDRESS CLE,ERB SET E TO INDICATE HI OR LO BYTE LDA 1,I PICK UP WORD LDB HIMSK PUT HIMASK IN B SEZ WANT HI BYTE? BLF,BLF NO MAKE MASK LO AND 1 ISOLATE BYTE SEZ,RSS IS BYTE HI? ALF,ALF YES SHIFT LO LDB L.000 RESET B JMP LOADB,I EXIT. SKP * * "LOGUN" RETURNS THE BINARY EQUIVALENT OF THE ASCII * LOGICAL UNIT NO. ON A CONTROL CARD. * * CALLING SEQUENCE: * B REG CONTAINING BYTE ADDRESS OF ANY CHAR * AFTER "$" AND BEFORE "=" IN A CONTROL STATEMENT. * A REG DOESN'T MATTER; * JSB LOGUN * * UPON EXIT: AÙÕþú REG WILL CONTAIN BINARY EQUIVALENT OF * LOGICAL UNIT NO., UNLESS OVERFLOW IS SET, IN WHICH * CASE AN ERROR HAS BEEN DETECTED, AND A REG IS * GARBAGE. * NOTE! LOGICAL UNIT NO. MUST BE IN THE RANGE 1 THRU * 74 OCTAL. * LOGUN NOP CLO LDA .EQ. SKIP TO JSB SKPTO EQUALS SIGN. SOC REACH END OF CARD FIRST? JMP LOGUN,I YES, SO ERROR. INB NO. SET NEXT BYTE ADDRESS. LDA SPAC SKIP OVER JSB SKIP BLANKS. SOC REACH END OF CARD? JMP LOGUN,I YES, SO ERROR. CLA CONVERT ASCII LOGICAL UNIT NO. JSB CNVRT (OCTAL NO.) TO BINARY. SOC ANY ERRORS? JMP LOGUN,I YES. STA 1 NO. IS THE NO. OUT OF RANGE? SZA,RSS JMP LOG1 YES. IS 0. SSA JMP LOG1 YES. IS NEG. ADA MB75 SSA,RSS JMP LOG1 YES, IS > 74 OCT. LDA 1 NO, IS OK. PUT IN A REG. JMP LOGUN,I LOG1 STO JMP LOGUN,I SKP * * THIS ROUTINE CONTROLS THE LISTING OF * SOURCE PROGRAM * * CALLING SEQUENCE: * LDA <- # OF CHARS IN SOURCE RECORD IF YOU WANT * TO LIST LINE #-SOURCE RECORD ONLYF * + # OF CHARS IN SOURCE RECORD IF YOU * WANT TO LIST LINE #-OCTAL CODE-SOURCE- * RECORD> * JSB LSTR * * LSTR NOP LDB LIST SUPPRESS SZB,RSS LISTING? JMP LSTR,I YES RETURN SSA,RSS NO. FORMAT 1? JMP LSTR2 * * LIST FORMAT 1 * LSTR1 ADA .M25 YES. ADJUST CHAR STA CLEN COUNT TO INCLUDE LINE NO. AND LDB ABF0 SPACES. CONVERT RBL LINE LDA LINE# NO. JSB DECML TO DECIMAL LDA .+2 OUTPUT LINE. JSB IOSUB DEF LIST DEF OUTBF-1 DEF CLEN JMP LSTR,I RETURN * * LIST FORMAT 2 * LSTR2 ADA .P27 ADJUST LINE CHAR COUNT. CMA,²qþúINA TO INCLUDE STA CLEN OTHER STUFF. LDA LINE# CONVERT LINE NO. TO DECIMAL LDB ABF0 AND PUT IN OUTPUT BUFFER. RBL JSB DECML LDA EQUFL IS THIS AN EQU STATEMENT? SZA JMP LST4 YES, SO JUST PRINT IT. LDA INST2 NO. CONVERT ADDR PORTION TO AND HIMSK ABS AND PUT IN ASCII OUTPUT ALF,ALF IOR T.002 BUFFER. LDB ABF0 RBL ADB .+5 JSB OCTL DEC 4 LDA INST2 NOW CONVERT BITS 16-23 OF AND LOMSK MICROINSTRUCTION TO ASCII LDB ABF0 AND PUT IN ASCII OUTPUT RBL BUFFER. ADB .+10 JSB OCTL DEC 3 LDB ABF0 CONVERT BITS 15-0 OF MICRO- RBL INSTRUCTION WORD TO ASCII AND ADB .+14 PUT INTO OUTPUT BUFFER. LDA INST1 JSB OCTL DEC 6 LST4 LDA .+2 OUTPUT THE LINE. JSB IOSUB DEF LIST DEF OUTBF-1 DEF CLEN LINE JMP LSTR,I EXIT. SKP * * 'NOPER' PUTS NOP'S IN THE FIELD WORDS, SO THEY * CAN BE COMBINED TO MAKE A WORD TYPE 1 NOP * MICROINSTRUCTION. * * CALLING SEQUENCE: * JSB NOPER * NOPER NOP * * PUT NOP'S IN THE FIELDS OF A TYPE 1 WORD. * LDA SPNOP 'SPECIAL' NOP STA FLD3 INTO FIELD 3. LDA STNOP 'STORE' NOP STA FLD5 INTO FIELD 5. LDA SBNOP 'S-BUS' NOP STA FLD6 INTO FIELD 6. LDA PASS 'ALU' NOP STA FLD4 INTO FIELD 4. LDA OPNOP 'OPCODE' NOP STA FLD2 INTO FIELD 2. JMP NOPER,I SKP * * "NUM" CONVERTS A FIELD WHOSE STARTING BYTE ADDRESS * IS IN B REG., INTO A BINARY NO. THE NO. * IS RETURNED IN THE A REG. IF ERROR, OVERFLOW * BIT IS SET ON RETURN. * * CALLING SEQUENCE: * LDB * JSB NUM * * UPON RETURN: A REG. CONTAINS THE BINARY NO. * P=þú OVERFLOW BIT SET IF ERROR * * ALLOWABLE CONTENTS OF FIELD ARE: *
* '*' * '*' FOLLOWED BY '+' OR '-'
*
* WHERE
CAN BE: * B * % * * * NOTE: IN THIS SUBR, THE FIELD IS DIVIDED INTO 3 * SUBFIELDS. SUBFIELD 1 CONTAINS A LABEL (SYMBOL) OR * AN '*' OR A OCT OR DEC #. SUBFIELD 2 MAY CONTAIN * A '+' OR '-' OR A SPACE. SUBFIELD 3 MAY CONTAIN * AN OCTAL OR DEC # (OR, OF COURSE, A SPACE). * NUM NOP STB NSAVB SAVE FIELD STARTNG BYTE ADDR. CLA STA FLG2 CLEAR '+ OR -' FLAG. STA SYVAL CLEAR TEMP VALUE HOLDER. * * BEGIN BY LOOKING AT SUBFIELD 1. * (SECOND TIME AROUND, IT'S SUBFIELD 3 WE'RE * LOOKING AT.) * NUM1 LDB NSAVB JSB LOADB GET 1ST CHAR IN SUB-FIELD. CPA PRCNT IS IT '%'? JMP NUM12 YES. CPA ASTER NO. IS IT '*'? JMP NUM24 YES. JMP NUM8 NO. SEE IF IT'S A SYMBOL. NUM12 INB INC TO NEXT BYTE. JMP NUM30 GO GET AN OCTAL #. NUM24 LDA PCNTR SET 'SYVAL' TO CURRENT STA SYVAL PROG COUNTER VALUE. JMP NUM9 GO LOOK AT SUBFIELD 2. NUM8 LDB NSAVB GET SUBFIELD 1 START BYTE ADDR. JSB SERCH SSA FIND SYMBOL IN SYMBOL TABLE? JMP NUM10 NO. ADA .+4 YES. BRING WORD CONTAINING LDA 0,I VALUE INTO 'A' REG. AND =B077777 CLEAR POSSIBLE 'EQU' FLAG BIT. STA SYVAL SAVE SYMBOL ABS VALUE. * NOW WE 'CUT ACROSS THE BACK LOT', SO TO SPEAK, * AND GRAB WHAT AMOUNTS TO THE SUBFIELD 2 STARTING BYTE * ADDRESS+1 OUT OF 'TLOAD' SUBR. 'TLOAD' WAS CALLED * BY 'SERCH' ABOVE. LDB SAVC GRAB SUBFLD 2 BYTE ADDR + 1. ADB .-1 BACK UP 1 BYTE. JMP NUM90 GO SEE WHAT'S IN SUBFIELD YEþú2. * * HERE WE DETERMINE IF SUBFIELD 2 IS A SPACE, * '+', OR '-'. * NUM9 INB NUM90 JSB LOADB IS NEXT CHAR A SPACE? CPA SPAC RSS YES. JMP NUM91 NO. LDA SYVAL THEN 'SYVAL' HAS FINAL VALUE. JMP NUM14 PUT IN 'A' REG. NUM91 CPA PLUS IS IT '+'? JMP NUM95 YES. CPA MINUS NO. IS IT '-'? JMP NUM96 YES. JMP NUM6 NO. THEN ERROR. NUM95 LDA .+2 SET 'FLG2' TO '2' FOR '+'. STA FLG2 JMP NUM97 NUM96 LDA .+3 SET 'FLG2' TO '3' FOR '-'. STA FLG2 NUM97 INB INC TO NEXT SUBFIELD START BYTE. STB NSAVB SAVE THAT BYTE ADDR. JMP NUM1 GO SEE WHAT'S IN SUB-FIELD 3. * * DOES # STRING HAVE A 'B' ON THE END? * NUM10 LDA .B LDB NSAVB JSB SKPTO SOC JMP NUM4 NO. MUST BE DEC # THEN. JMP NUM3 YES. MUST BE OCTAL #. * * GO GET AN OCTAL #. * NUM3 LDB NSAVB NUM30 CLA JSB CNVRT SOC JMP NUM6 BAD OCTAL #, SO ERROR. JMP NUM14 GOOD OCTAL #. * * GO GET A DECIMAL #. * NUM4 LDB NSAVB CLA,INA JSB CNVRT SOC JMP NUM6 BAD DEC #, SO ERROR. JMP NUM14 GOOD DEC #. * * COMPUTE FINAL VALUE FOR ENTIRE FIELD. * NUM14 LDB FLG2 WE JUST COMPLETE A SZB,RSS SUBFIELD 3 PASS? JMP NUM5 NO. SO WE'RE DONE. CPB .+3 YES. '-' IN SUBFIELD 2? CMA,INA YES, SO NEGATE SUBFLD 3 #. ADA SYVAL ADD TO PREVIOUS VALUE. JMP NUM5 WE'RE DONE. * * 'GOOD # IN FIELD' EXIT. * NUM5 CLO JMP NUM,I RETURN. * * ERROR IN FIELD CONTENTS. * NUM6 STO JMP NUM,I FLG2 BSS 1 SYVAL NOP * SKP * 'OCTL' CONVERTS A POSITIVE BINARY NO. INTO AN * OCTAL ASCII EQUIVALENT WITH A SPECIFIED NO. OF DIGITS. * * CALLING SEQUENCE: * B REG SHOULD CONTAIN DESTINATION BYTE ADDRESS * OF MOST SIGNI SþúFICANT OCTAL ASCII DIGIT. * A REG SHOULD CONTAIN THE POSITIVE BINARY NO. * JSB OCTL * <+DEC NO. OF OCTAL ASCII DIGITS THE BINARY * NO. IS TO BE CONVERTED INTO. MUST BE IN * THE RANGE 1 THRU 6. * * UPON EXIT, THE OCTAL ASCII NO. WI.L BE AT * THE SPECIFIED ADDRESS. * OCTL NOP STA SAVP CLA CLEAR NON-ZERO DIGIT FLAG. STA FLG LDA OPAD INITIALIZE ADDRESS OF LIST STA SAVQ OF ROTATE INSTRUCTIONS. LDA .-6 STA OCONT * * PROCESSING LOOP BEGINS HERE. * OCTO LDA SAVQ,I HAVE WE LOOKED AT CPA .-1 6 OCTAL FIELDS YET? JMP OCT5 YES. SO EXIT. STA OP1 NO. SET UP NEXT ISZ SAVQ PAIR OF ROTATE LDA SAVQ,I INSTRUCTIONS. STA OP2 ISZ SAVQ LDA SAVP OP1 NOP NOW ROTATE THE NEXT OCTAL FIELD OP2 NOP INTO THE LOW 3 BITS OF A REG. AND .+7 STA SAVR SAVE THE FIELD. LDA OCONT ARE WE ON DIGIT NO. <= ADA OCTL,I NO. OF DIGITS SPECIFIED? SSA JMP OCT3 NO. SO IGNORE THIS FIELD. LDA SAVR YES. SO CONVERT AND STORE ADA B60 THIS FIELD. JSB STORB OCT3 ISZ OCONT DECREMENT NO. OF FIELDS JMP OCTO YET TO BE LOOKED AT. OCT5 ISZ OCTL JMP OCTL,I * IMPORTANT! 'DP1' MUST BE ADDRESSED BY AN INDIRECT THROUGH * BASE PAGE, BECAUSE INSTRUCTION REFERENCING IT * (SEE UNDER 'OPAD') IS MOVED BY ABOVE SUBROUTINE. DP1 DEF .+1 FLG BSS 1 SAVP BSS 1 SAVQ BSS 1 SAVR BSS 1 SKP * 'ONEST' TESTS FOR A 'ONES' STATEMENT AND PROCESSES IT IF * IT FINDS ONE. * * CALLING SEQUENCE: * * JSB ONES * * UPON RETURN: * * IF 'A' REG = 0, STATEMENT WAS NOT A 'ONES' STATEMENT. * IF 'A' REG # 0, STATEMENT WAS A 'ONES' STATEMENT * AND ALL 1'S HAVE BEEN PUT INTO THE MICRO * INSTRUCTION. * ONEST NOP LDB F2ADR GET FI8WþúELD 2 BYTE ADDR. LDA ONEAD GET REF STRING WORD ADDR. JSB CHECK WE GOT A 'ONES' STATEMENT? SZA,RSS JMP ONEST,I NO. RETURN. LDA =B177777 YES. SET LOW 16 BITS TO 1'S. STA INST1 LDA =B377 SET HIGH 8 BITS TO 1'S. STA INST2 JMP ONEST,I SKP * * 'OUTPT' LISTS A RECORD AFTER PASS 2 PROCESSING, AND * ALSO PUNCHES OUT THE BINARY OBJECT CODE, IF * PUNCH BUFFER IS FULL. * * CALLING SEQUENCE: * JSB OUTPT * OUTPT NOP CLB,INB LDA PCNTR INA INCREMENT PROG COUNTER. AND LOMSK IS REL ADDR OF PROG COUNTER CPA LOMSK = 377 OCT? STB BEWFL YES. SET BEWARE FLAG. LDA PCNTR NO. DOES IT MAKE NEXT REL INA AND =B777 ADDR = 401 OCT? CPA =B401 RSS YES. JMP OUT0 NO, SO OK. LDA BEWFL IS 'BEWARE WE PASSED THRU CPA .+1 REL ADDR 377' FLAG SET? JMP OUT2 YES. PROG IS OUT OF BOUNDS. OUT0 LDB EQUFL IS THIS AN EQU STATEMENT? SZB,RSS JMP OUT1 NO. LDA CRLEN MAKE # OF CHARS IN RECORD POS CMA,INA TO INDICATE PASS 2. JSB LSTR JMP OUT15 OUT1 LDA PCNTR PUT ADDRESS IN HIGH BITS AND LOMSK ALF,ALF OF MICROINSTRUCTION. IOR INST2 STA INST2 LDA CRLEN CMA,INA JSB LSTR LIST THE LINE. JSB EMCDE PUNCH OUT THE CODE. ISZ PCNTR INCREMENT PROGRAM COUNTER. OUT15 ISZ LINE# INCREMENT LINE COUNTER. JMP OUTPT,I OUT2 LDA .+9 JSB ERROR JMP ABORT SKP * * * PAGER NOP ISZ #LNES JMP PAGER,I JSB EJECT JMP PAGER,I SKP * * THIS ROUTINE CONTROLS SOURCE INPUT FROM CARD READER, PHOTOREADER, * OR TTY. NOTE THAT WE STAY IN THIS SUBROUTINE UNTIL THE ENTIRE * RECORD HAS BEEN READ, AS IT DOES NO GOOD TO START PROCESSING * UNTIL THVt<:6E ENTIRE RECORD IS IN. IN OTHER WORDS, WE DON'T TAKE * ADVANTAGE OF INTERRUPT HERE. * * CALLING SEQUENCE: * JSB RDCRD * * RDCRD NOP LDA .P40 FILL INPUT BUFFER WITH LDB ACARD SPACES. JSB CLEAN DEF BLNK2 LDA .+11 FILL ASCII OUTPUT BUFFER LDB ABF0 WITH SPACES. JSB CLEAN DEF BLNK2 LDA PASSN IS THIS PASS 2? CPA .+2 RSS YES. JMP RDCR8 NO. LDA MAG IS SOURCE ON MAG TAPE? SZA,RSS JMP RDCR8 NO. LDA MAGAD YES. THEN CHANGE INPUT DEVICE STA RDCR9 L.U. # IN 'IOSUB' CALL. * * READ A RECORD. <ÿÿ ÿýý ÿ12978-18016 1712 S 0122 21MX BCS MICRO- ASSEMBLER (WCS)             H0101 ß0þú* RDCR8 LDA .+1 JSB IOSUB RDCR9 DEF RDR DEF CARD DEF .M80 LDA PASSN IS THIS PASS 1? CPA .+1 RSS YES. JMP RDCRD,I NO, SO EXIT. LDA MAG SHOULD WE COPY RECORD ONTO SZA,RSS MAG TAPE? JMP RDCRD,I NO, SO EXIT. LDA .+2 YES, COPY ONTO MAG TAPE. JSB IOSUB DEF MAG DEF CARD DEF CRLEN JMP RDCRD,I ABORT NOP LDA .+2 JSB IOSUB DEF .+2 DEF AEND DEF .M18 JSB EJECT EJECT PAGE ON LIST DEVICE. HLT 76B JMP MICRO SKP * * 'SDUMP' DUMPS A SPECIAL 32-MICROINSTRUCTION/RECORD * OBJECT TAPE FOR USE IN THE HP SUITCASE ROM * SIMULATOR. * * CALLING SEQUENCE: * * LDA BUFDF DEF THE OBJECT CODE BUFFER * 'A' REG =0 MEANS ALL OBJECT CODE * HAS BEEN PASSED TO 'SDUMP'. * NO MORE IS COMING. * JSB SDUMP CALL THE DUMP ROUTINE * A EQU 0 B EQU 1 * SDUMP NOP SUITCASE TAPE DUMP ROUTINE LDB A,I GET THE RECORD LENGTH SZB,RSS IS THIS THE FINAL CALL? JMP ENDSD YES, DUMP THE LAST BLOCK OF 32 ADB =D-5 HEADER BLOCK LENGTH = 5 CMB,INB 2'S COMPLEMENT OF LENGTH STB OCNTR SAVE IN OBJECT COUNTER ADA =D5 DEF U. INST ADRS AND UPPER BYTE STA OBJPT SAVE DEF IN OBJECT BUFF POINTER LDB M2CTR GET THE MOD 2 COUNTER SZB DID WE STOP ON FIRST WORD? JMP WORD2 NO, GO SAVE SECOND WORD WORD1 LDA OBJPT,I U. INST ADDRESS AND UPPER 8 BITS AND =B377 STRIP OFF THE ADDRESS ALF,ALF U. INST M.S. 8 BITS STA SBPNT,I SAVE IN THE DUMP BUFFER ALF,ALF PUT BACK IN LOWER BYTE ADA CKSM ADD TO ACCUMULATED CHECKSUM STA CKSM SAVE THE NEW CHECKSUM JSB BUMPO BUMP THE OBJECT BUFFER POINTER LDA =B177400 UP@þúPER BYTE MASK LDB OBJPT,I GET U. INST LOWER 16 BITS AND B GET U. INST 2ND BYTE ALF,ALF 2ND BYTE TO LOWER STORE WORD IOR SBPNT,I INCLUDE WITH M.S 8 BITS OF INST STA SBPNT,I SAVE U. INST 16 BITS AND =B377 STRIP OFF THE UPPER BYTE ADA CKSM ADD THE ACCUMULATED CHECKSUM STA CKSM STORE THE NEW CHECKSUM JSB BUMPS BUMP THE STORE POINTER LDA OBJPT,I GET BACK LOWER 16 BITS OF U. INST AND =B377 ISOLATE LEAST. SIG 8 BITS ALF,ALF PLACE IN UPPER STORE WORD STA SBPNT,I SAVE IN THE DUMP BUFFER ALF,ALF PUT BACK IN LOWER HALF ADA CKSM ADD TO ACCUMULATED CHECKSUM STA CKSM SAVE THE NEW CHECKSUM ISZ M2CTR BUMP THE MOD 2 COUNTER JSB BUMPO BUMP THE OBJECT POINTER WORD2 LDA =B377 LOWER BYTE MASK LDB OBJPT,I GET U. INST UPPER 8 BITS AND B STRIP OFF THE ADDRESS IOR SBPNT,I INCLUDE WITH M.S. 8 BITS STA SBPNT,I MOST SIG. 16 BITS AND =B377 STRIP OFF THE UPPER 8 BITS ADA CKSM ADD TO ACCUMULATED CHECKSUM STA CKSM SAVE THE NEW CHECKSUM JSB BUMPS BUMP THE DUMP BUFFER POINTER JSB BUMPO BUMP THE OBJECT BUFFER POINTER LDB OBJPT,I GET LOWER 16 U. INST BITS STB SBPNT,I STORE IN THE DUMP BUFFER LDA =B377 LOWER BYTE MASK AND B STRIP OFF THE UPPER BYTE ADA CKSM ADD TO ACCUMULATED CHECKSUM STA CKSM SAVE THE NEW CHECKSUM BLF,BLF ROTATE LOWER 16 BITS OF U. INST LDA =B377 LOWER BYTE MASK AND B A = U. INST 2ND BYTE ADA CKSM ADD TO ACCUMULATED CHECKSUM STA CKSM STORE THE NEW CHECKSUM CLA RESET THE MOD 2 COUNTER STA M2CTR TO ZERO FOR NEXT GROUP JSB BUMPS BUMP THE DUMP BUFFER POINTER JSB BUMPO BUMP THE OBJECT BUFFER POINTER JMP WORD1 GO PROCEíaþúSS THE NEXT OBJECT WORD * ENDSD LDB M2CTR GET THE MOD 2 COUNTER SZB,RSS DID WE STOP ON FIRST WORD? JMP EWRD2 NO, GO SAVE SECOND WORD * EWRD1 LDB CKSM GET ACCUMULATED CHECKSUM. ADB =B377 ALL ONES IN UPPER 8 MICRO BITS STB CKSM SAVE THE NEW CHECKSUM LDA =B377 MICRO CODE DEFAULT UPPER 8 BITS IOR SBPNT,I INCLUDE WITH LOWER 8 BITS OF JSB SSTOR PREVIOUS MICRO INSTRUCTION EWRD2 CCA SET A = ALL ONES FOR DEFAULT LDB CKSM GET ACCUMULATED CHECKSUM SONES ADB =B776 CHECKSUM +B377 + B377 STB CKSM STORE THE NEW CHECKSUM. JSB SSTOR STORE ALL ONES IN DUMP BUFFER JMP SONES CONTINUE UNTIL BUFFER FULL * SSTOR NOP STORE IN THE DUMP BUFFER STA SBPNT,I THROUGH BUFFER POINTER ISZ SBPNT BUMP THE DUMP BUFFER POINTER ISZ SCNTR IS THE BUFFER FULL? JMP SSTOR,I NO, CONTINUE LOADING LDA CKSM GET ACCUMULATED CHECKSUM CMA COMPUTE ONES COMPLEMENT ALF,ALF 1'S COMPLEMENT ROTATED STA CKSM AND SAVE BACK IN CHECKSUM * * THE FINAL DUMP OF 'SBUFF' IS DONE HERE. * JSB PUNCH DUMP 'SBUFF' ON PUNCH JMP SDUMP,I EXIT FROM SUITCASE ROM TAPE DUMP * BUMPO NOP ISZ OBJPT BUMP THE OBJECT BUFFER PNTR ISZ OCNTR IS THE LAST WORD PROCESSED? JMP BUMPO,I NO, CONTINUE PROCESSING JMP SDUMP,I YES, WAIT FOR NEXT FULL BUFFER * BUMPS NOP ISZ SBPNT BUMP THE DUMP STORE POINTER ISZ SCNTR IS THE DUMP BUFFER FULL? JMP BUMPS,I NO, CONTINUE LOADING IT LDA CKSM NO, GET ACCUMULATED CHECKSUM CMA CALCULATE 1'S COMPLEMENT ALF,ALF 1'S COMPLEMENT ROTATED STA CKSM SAVE CHECKSUM FOR THE DUMP JSB PUNCH DUMP 'SBUFF' ON PUNCH LDA =D-48 RESET THE DUMP STORE COUNTER STA SCNTR TO STORE 48 WORDS LDA SBPTR RESEsþúT THE DUMP STORE POINTER STA SBPNT TO FIRST U. INST WORD CLA RESET THE ACCUMULATED STA CKSM CHECKSUM TO ZERO JMP BUMPS,I ALL THE POINTERS ARE RESET * * DUMP THE CONTENTS OF THE DUMP BUFFER * STARTING AT 'SBUFF' FOR 52 WORDS. * PUNCH NOP DUMP 'SBUFF' ON PUNCH LDA .+2 LDB .+1 JSB IOSUB DEF PCH DEF SBUFF BUFFER ADDRESS DEF D52 DUMP 52 WORDS JMP PUNCH,I AND EXIT * * * CONSTANTS AND POINTERS FOR SUITCASE TAPE DUMP ROUTINE * D52 DEC 52 'SBUFF' BUFFER LENGTH = 52 M2CTR NOP MOD 2 COUNTER OBJPT NOP OBJECT BUFFER TEMP POINTER OCNTR BSS 1 OBJECT RECORD COUNTER SBDEF DEF SBUFF POINTER TO START OF DUMP BUFFER SBPNT DEF SBUFF+1 DEF USED FOR FIRST DUMP CALL SBPTR DEF SBUFF+1 POINTERS TO FIRST U. INST ADDRESS SBUFF OCT 032000 ROTATE 52 = RECORD LENGTH BSS 48 MICRO INSTRUCTION DUMP BUFFER CKSM NOP BYTE CHECKSUM ACCUMULATOR NOP THE LAST 2 BUFFER WORDS DUMPED NOP IN A RECORD ARE ZEROS SCNTR DEC -48 SUITCASE BUFFER STORE COUNTER SKP * * 'SERCH' SEARCHES THE SYMBOL TABLE FOR THE * SYMBOL (IE, LABEL) WHOSE STARTING BYTE ADDRESS * IS IN THE B REG. * CALLING SEQUENCE: * B REG SHOULD CONTAIN STARTING BYTE ADDRESS * OF SYMBOL TO BE SEARCHED FOR. * JSB SERCH * * UPON RETURN, THE WORD ADDRESS OF THE START OF * THE SYMBOL TABLE ENTRY FOR THAT SYMBOL WILL BE IN A REG. * A REG < 0 IMPLIES SYMBOL NOT PRESENT IN SYMBOL * TABLE. * * SERCH NOP LDA .-8 PUT THE SYMBOL INTO THE JSB TLOAD BUFFER, 'TOKEN'. LDB HDTAB PICK UP HEAD TABLE ADDRESS SR0 CPB SYMB END OF TABLE? RSS JMP *+3 CCA YES NOT FOUND JMP SERCH,I EXIT LDA 1,I NO,COMPARE CPA TOKAD,I 1ST 2 CHARS THE SAME? JMP *+3 Iþú YES ADB .+6 NO, POINT JMP SR0 TO NEXT ENTRY GO BACK. LDA TOKAD COMPARE INA NEXT STA SR.00 2 INB CHARACTERS. LDA 1,I CPA SR.00,I SAME? JMP *+3 ADB .+5 NO, POINT TO NEXT JMP SR0 ENTRY & TRY AGAIN ISZ SR.00 YES INB CHECK NEXT LDA 1,I 2. CPA SR.00,I SAME? JMP *+3 ADB .+4 NO, POINT TO NEXT JMP SR0 ENTRY & TRY AGAIN. ISZ SR.00 YES. INB CHECK LAST LDA 1,I 2 CHARS. CPA SR.00,I SAME? JMP SR1 ADB .+3 NO. POINT B REG. TO START OF JMP SR0 NEXT ENTRY. TRY AGAIN. SR1 LDA 1 YES, SUCCESS. ADA .-3 SET A TO HEAD OF ENTRY. JMP SERCH,I & EXIT. SKP * * THIS ROUTINE SEARCHES THE OPCODE TABLE INDICATED BY A-REG * FOR MNEMONIC POINTED TO BY B REG. * * ON ENTRY: A REG SHOULD CONTAIN NO. REFERENCING TABLE * TO BE SEARCHED, AS FOLLOWS: * A=1 REFERENCES 'OPCODE' TABLE. * A=2 " 'SPECIAL' " * A=3 " 'CONDITION' " * A=4 " 'ALU' " * A=5 " 'IMM' " * A=6 " 'STORE' " * A=7 " 'S-BUS' " * * B= BYTE POINTER TO MNEMONIC STRING * * ON EXIT A= VALUE OF OPCODE * IF A=-1, THEN THE MNEMONIC WASN'T FOUND. * * * TABLE LOOKS LIKE * * ***************** * * BYTE1 * BYTE2 * * ***************** * * BYTE3 * BYTE4 * * ***************** * * VALUE * * ***************** * * . * * * . * * $SRCH NOP STB S.000 SAVE BYTE ADDRESS LDB SBUS PUT DEFAULT TABLE VALUE IN B. CPA .+1 ûLþú 'OPCODE'? LDB OPCOD YES, PUT TABLE ADR IN B REG. CPA .+2 'SPECIAL'? LDB SPEC YES, PUT TABL ADR IN B REG. CPA .+3 'CONDITION'? LDB COND YES, LOAD TABL ADR IN B REG. CPA .+4 'ALU'? LDB ALU YES, PUT TABL ADR IN B REG. CPA .+5 'IMM'? LDB IMM YES, PUT TABL ADR IN B REG. CPA .+6 'STORE'? LDB STORE PUT TABL ADR IN B REG. CPA .+7 'S-BUS'? LDB SBUS YES, PUT TABL ADR IN B REG. STB PNTR SAVE TABLE HEAD. LDB S.000 PUT OPCODE MNEMONIC LDA .-4 STRING INTO THE JSB TLOAD BUFFER, 'TOKEN'. LDB PNTR DO 1ST SRC00 LDA 1,I 2 CPA TOKEN BYTES COMPARE? JMP SRCH1 YES. ADB .+3 NO. POINT TO SRCH0 LDA 1,I NEXT ENTRY. SZA END OF TABLE? JMP SRC00 NO. GO BACK. CCA YES SET ERROR JMP $SRCH,I EXIT SRCH1 INB DO 2ND LDA 1,I 2 CPA TOKEN+1 BYTES COMPARE JMP SRCH2 YES. ADB .+2 NO. POINT TO NEXT MNEMONIC JMP SRCH0 AND GO TEST THAT ONE. SRCH2 INB YES. LDA 1,I PICK UP BINARY CODE. JMP $SRCH,I EXIT SKP * * THIS ROUTINE SKIPS OVER ALL CONSECUTIVE SYMBOLS * LIKE THAT IN A-REG. * * CALLING SEQUENCE: * LDA * LDB .BYTE ADDRESS WHERE POSSIBLE SKIP IS TO * BEGIN> * JSB SKIP * UPON RETURN: * B REG WILL CONTAIN BYTE ADDR OF FIRST CHAR * UNLIKE THE ONE SKIPPED OVER. * A REG NOT SIGNIFICANT. * IF OVERFLOW IS SET, THEN END OF BUFFER WAS REACHED * BEFORE REACHING A CHAR DIFFERENT FROM ONE TO BE SKIPPED * OVER. * SKIP NOP STA CHAR SAVE TEST CHAR SKP0 JSB LOADB LOAD CHAR FROM STRING SZA =0? JMP *+3 ST¥ÖþúO YES SET END OF LINE FLAG. JMP SKIP,I EXIT CLO CPA CHAR =CHAR? RSS JMP SKIP,I NO EXIT INB YES CHECK JMP SKP0 NEXT ONE. SKP * 'SKP' PROCESSES THE 'SKP' PSEUDO OP, WHICH CAUSES * AN EJECT OF THE LISTING PAGE AT THE POINT WHERE THE * 'SKP' IS ENCOUNTERED. * * CALLING SEQUENCE: * * JSB SKP * * UPON RETURN: * * IF NOT A 'SKP', 'A' REG=0; IF A 'SKP', 'A' REG=1. * IF CALL OCCURS IN PASS 1, NOTHING ELSE HAPPENS. * IF CALL OCCURS IN PASS 2, PAGE WILL HAVE BEEN EJECTED. * SKP NOP LDB F2ADR GET FIELD 2 BYTE ADDR. LDA SKAD GET ADDR OF STRING 'SKP'. JSB CHECK DO WE HAVE A 'SKP' STATEMENT? SZA,RSS JMP SKPP5 NO. LDA PASSN ARE WE IN PASS 1? CPA .+1 JMP SKPP4 YES. JSB EJECT NO, MUST BE PASS 2. EJECT PAGE. JMP SKPP4 SKPP4 CLA,INA SET 'A' FOR 'YES, 'SKP'. JMP SKP,I SKPP5 CLA SET 'A' FOR 'NO SKP'. JMP SKP,I SKP * THIS ROUTINE SKIPS TO SYMBOL IN A-REG * STARTING AT BYTE ADDRESS SPECIFIED IN B-REG. * IF END OF CARD IS REACHED BEFORE SYMBOL FOUND * OVERFLOW IS SET. * SKPTO NOP STA CHAR SAVE TEST CHAR SK0 JSB LOADB LOAD CHAR FROM STRING CPA CHAR =? RSS YES JMP *+3 CLO CLEAR OVERFLOW JMP SKPTO,I EXIT SZA END OF STRING? JMP *+3 STO YES SET OVERFLOW JMP SKPTO,I EXIT INB ELSE BUMP ADDRESS JMP SK0 + TRY AGAIN. SKP * * * THIS ROUTINE SPACES N LINES ON SPECIFIED * DEVICE. * * CALLING SEQUENCE: * LDA * LDB <+ # OF LINES TO BE SPACED> * JSB SPACE * SPACE NOP SZA,RSS IS L.U.#=0? JMP SPACE,I YES. THEN GO BACK NOW. CMB,INB SET STB SCNT ʱþú COUNT STA DEVIC SAVE L.U. SZA,RSS SUPPRESS LISTING? JMP SPACE,I YES LDA SPSTW AND UMSK IOR DEVIC STA SPSTW JSB .IOC. I/O ON TTY? SPSTW OCT 040000 AND EQMSK SZA,RSS JMP SPTT YES. LDA LPSPC STA SPBUF JMP SP1 SPTT LDA TTYSP STA SPBUF SP1 NOP LDA .+2 JSB IOSUB DEF DEVIC DEF SPBUF DEF .-2 SP4 JSB PAGER ISZ SCNT FINISHED? JMP SP1 NO, GO BACK. JMP SPACE,I YES EXIT SKP * * THIS ROUTINE STORES LOW BYTE OF A IN * LOCATION IN B. ADDRESS INCREMENTED ON EXIT. * STORB NOP STB L.000 SAVE B-REG CLE,ERB E INDICATE HI OR LO STB L.002 SAVE WORD ADDRESS AND LOMSK SAVE STA L.001 SOURCE BYTE. LDA 1,I PICK UP WORD. LDB HIMSK PUT HI MASK IN B-REG. SEZ,RSS DEST IS LO BYTE? BLF,BLF NO SAVE OPPOSITE AND 1 BYTE. SEZ,RSS SHIFT CURRENT ALF,ALF BYTE HIGH IF NECESSARY IOR L.001 OR IN SOURCE BYTE. SEZ,RSS RE-ADJUST ALF,ALF WORD IF NEXESSARY STA L.002,I STORE LDB L.000 BUMP INB BYTE ADDRESS JMP STORB,I EXIT. SKP * * 'SYMAD' ADDS THE SYMBOL(IE., THE LABEL) POINTED * TO BY B REG TO THE SYMBOL TABLE. * * CALLING SEQUENCE: * B REG MUST CONTAIN THE STARTING BYTE ADDRESS * OF THE SYMBOL TO BE ADDED; * A REG MUST CONTAIN THE VALUE OF THE SYMBOL * (IE., THE ADDRESS OF SYMBOL IN THE MICROPROGRAM). * JSB SYMAD * * ROUTINE CHECKS FOR DUPLICATE ENTRIES OUTPUTS * APPROPRIATE ERRORS. * * E-REG SET ON ENTRY IMPLIES EXTERNAL SYMBOL * * SYMBOL TABLE FORMAT: * * *************** * *BYTE1 * BYTE2* * *************** * *BYTE3 * BYTE4* * *************** * ã½þú *BYTE5 * BYTE6* * *************** * *BYTE7 * BYTE8* * *************** * * VALUE * * *************** * * TAG * * *************** * SYMAD NOP STA VALU,I SAVE VALUE. CLA SET SEZ EXTERNAL INA FLAG IF STA TAG,I INDICATED. SEZ THIS ' JMP SY0 IS CLE,ERB LABEL * * THIS SECTION HANDLES INTERNAL SYMBOLS. * LDA .-4 STORE THE STA COUNT LABEL INTO SYM1 LDA 1,I SYMBOL TABLE. STA SYMB,I INB ISZ SYMB ISZ COUNT JMP SYM1 LDB SYMB ADB .-4 STB SYMB SY2 LDB SYMB RBL JSB SERCH IS CURRENT SYMBOL ALREADY SSA IN SYMBOL TABLE? JMP SY3 NO. GOOD. LDA .-1 YES. THEN WE HAVE DUPLICATE JSB ERROR LABELS, AN ERROR. PRINT MESSAGE. LDA TOKAD OUTPUT DUPLICATE SYMBOL WITH ADA .-1 PAIR OF EXTRA SPACES AT STA SY2.5 START FOR LINE PRINTER . LDA .+2 JSB IOSUB DEF LIST SY2.5 NOP DEF .-10 LDA LIST CLB,INB JSB SPACE JMP SYMAD,I EXIT. SY3 LDA TAG BUMP INA END STA SYMB OF TABLE ADA .+4 POINTERS STA VALU SYMB,VALU INA & STA TAG TAG CMA,INA ADA LWAM SSA,RSS JMP SYMAD,I EXIT. LDA .+2 JSB IOSUB DEF .+1 DEF SOVFL DEF .M18 JMP ABORT * * THIS SECTION HANDLES EXTERNAL SYMBOLS. * SY0 STB S.000 SAVE BYTE ADDRESS IN TEMP. LDA .-8 SET STA SCNT COUT LDB SYMB BLANK LDA BLNK2 OUT STA 1,I SPACE INB FOR STA 1,I EXTERNAL INB SYMBOL. STA 1,I INB STA 1,I LDB S.†7þú000 GET 1ST JSB LOADB BYTE INB BUMP & STB S.000 SAVE ADDRESS. LDB SYMB STORE RBL AWAY SY1 JSB STORB CHARACTER. STB S.002 SAVE NEXT ADDRESS LDB S.000 CHECK ISZ S.000 NEXT JSB LOADB CHARACTER CPA SPAC = SPACE? JMP SY2 YES GO SEARCH. LDB S.002 NO ISZ SCNT BUMP CHARACTER COUNT JMP SY1 IF LDA .-2 MORE THAN 8 JSB ERROR ERROR LDA .+2 JSB IOSUB DEF LIST DEF CARD DEF CRLEN JMP SYMAD,I EXIT. SKP * * 'TLOAD' LOADS THE BUFFER 'TOKEN' WITH THE STRING * OF ASCII CHARACTERS WHOSE STARTING BYTE ADDRESS * IS IN THE B REGISTER. * * CALLING SEQUENCE: * B REG SHOULD CONTAIN THE STARTING BYTE * ADDRESS OF THE STRING OF ASCII CHARACTERS. * * A REG SHOULD CONTAIN MINUS THE MAX. NO. * OF CHARACTERS THE STRING MIGHT HAVE. * MAX ALLOWED IS 8 CHARS. * * JSB TLOAD * * NOTE: AS SOON AS A FINAL SPACE OR A '+' OR A '-' IS * READ, LOADING STOPS. A 'FINAL SPACE' MEANS, A SPACE * FOLLOWING SOME NON-SPACE (AND NON-+, NON MINUS) * CHAR. IF NO FINAL SPACE, OR '+', OR '-' IS READ, THEN * LOADING STOPS WHEN THE MAX NO. OF CHARS AS WAS SPECIFIED * IN 'A' REG, ARE LOADED. * TLOAD NOP STA SCOUN STB SAVC CLA ZERO THE 'FINAL SPACE' FLAG. STA SFLG LDB TOKAD RBL STB SAVD * FILL BUFFER 'TOKEN' WITH SPACES. LDA .-4 STA COUNT LDB TOKAD LDA BLNK2 TL0 STA 1,I INB ISZ COUNT JMP TL0 * LOAD STRING. TL1 LDB SAVC BRING IN THE JSB LOADB NEXT CHAR. ISZ SAVC INC ADDRESS FOR NEXT TIME. CPA SPAC JUST READ A SPACE? JMP TL2 YES. GO SEE IF IT'S A FINAL . CPA PLUS NO. READ A PLUS? JMP TLOAD,I YES, THEN EXIT. B@< CPA MINUS NO. READ A '-'? JMP TLOAD,I YES. THEN EXIT. TL3 LDB SAVD NOW STORE JSB STORB THE CHAR. STB SAVD SAVE NEXT STORAGE ADDR. CLA,INA SET THE 'FINAL SPACE' FLAG TO STA SFLG SHOW 'YES, WE READ A NON-SPACE' ISZ SCOUN DONE YET? JMP TL1 NO. ISZ SAVC YES. INC 'FROM' BYTE ADDR FOR JMP TLOAD,I POSSIBLE USE IN 'NUM' SUBR. EXIT. TL2 STA SAVW SAVE 'A' REG. LDA SFLG IS THIS AN INITIAL SPACE? SZA JMP TLOAD,I NO, FINAL, SO EXIT. LDA SAVW YES, SO STORE SPACE. JMP TL3 SFLG NOP SAVW NOP SKP * 'TTYIO' DETERMINES IF A GIVEN LOGICAL UNIT # * CORRESPONDS TO THE TTY. * * CALLING SEQUENCE: * * LDB * * JSB TTYIO * * UPON RETURN: * * IF A REG = 0, THEN DEVICE IS TTY. * IF A REG # 0 THEN NOT TTY. * TTYIO NOP LDA EJST SET UP CONTROL WORD. AND UMSK IOR 1 STA EJST JSB .IOC. IS DEVICE TTY? EJST OCT 040000 AND EQMSK JMP TTYIO,I A REG HAS ANSWER. RETURN. lBÿÿ ÿýþ ÿ12978-18017 1712 S 0122 21MX BCS MICRO- ASSEMBLER (WCS)             H0101 à0þú SKP * 'TTYPL' DETERMINES IF WE ARE LISTING AND * AND PUNCHING ON THE TTY. * * CALLING SEQUENCE: * * JSB TTYPL * * UPON RETURN: * A REG = 0 IF WE ARE LISTING AND PUNCHING ON TTY. * A REG # 0 IF WE ARE NOT. * TTYPL NOP LDB LIST JSB TTYIO WE LISTING ON TTY? SZA JMP TTYPL,I NO. LDB PCH YES. WE PUNCHING ON TTY? JSB TTYIO NOP JMP TTYPL,I A REG HAS ANSWER. SKP * * 'ZEROST' TESTS FOR A 'ZEROES' STATEMENT AND PROCESSES * IT IF IT FINDS ONE. * * CALLING SEQUENCE: * * JSB ZEROST * * UPON RETURN: * * IF 'A' REG = 0, STATEMENT WAS NOT A 'ZEROES' * STATEMENT. * IF 'A' REG # 0, STATEMENT WAS A 'ZEROES' STATEMENT, * AND ALL 0'S HAVE BEEN PUT INTO THE * MICROINSTRUCTION. * ZERST NOP LDB F2ADR GET FIELD 2 STARTING BYTE ADDR. LDA ZERAD GET REF STRING WORD ADDR. JSB CHECK WE GOT A 'ZEROES' STATEMENT? SZA,RSS JMP ZERST,I NO. CLA YES. PUT 0'S IN ALL 24 BITS OF STA INST1 MICROINSTRUCTION. STA INST2 CLA,INA SET 'A' TO INDICATE 'YES, JMP ZERST,I ZEROES STATEMENT' AND RETURN. SKP HED OPCODE TABLES * * O P C O D E T A B L E S * * * IN BINARY CODE FOR 'OPCOD', BITS 14-12 ARE THE * WORD TYPE NO., IF THIS NO. IS DETERMINED BY THE * 'OPCOD' MNEMONIC SOLELY. * OPCOD DEF *+1 ASC 2,NOP OPNOP OCT 010000 ASC 2, OCT 010000 ASC 2,ARS OCT 010001 ASC 2,CRS OCT 010002 ASC 2,LGS OCT 010003 ASC 2,MPY OCT 010004 ASC 2,DIV OCT 010005 ASC 2,LWF OCT 010006 ASC 2,WRTE OCT 010007 ASC 2,ASG OCT 010010 ASC 2,READ OCT 010011 ASC 2,ENV OCT 010012 ASC 2,ENVE OCT 010013 ASC 2,JSB JSB OCT 040014 ASàþúC 2,JMP JMP OCT 15 ASC 2,IMM OCT 020016 OCT 0 END OF 'OPCODE' TABLE. SPEC DEF *+1 ASC 2,IOFF IOFF OCT 0 ASC 2,SRG2 OCT 1 ASC 2,L1 OCT 2 ASC 2,L4 OCT 3 ASC 2,R1 OCT 4 ASC 2,ION OCT 5 ASC 2,SRG1 OCT 6 ASC 2,RES2 OCT 7 STFL ASC 2,STFL OCT 10 ASC 2,CLFL OCT 11 ASC 2,FTCH OCT 12 ASC 2,SOV OCT 13 ASC 2,COV OCT 14 ASC 2,RPT OCT 15 ASC 2,SRGE OCT 16 ASC 2,NOP SPNOP OCT 17 ASC 2, BLANK OCT 17 MESP ASC 2,MESP OCT 20 ASC 2,MPCK OCT 21 ASC 2,IOG IOG OCT 22 ASC 2,ICNT OCT 23 ASC 2,SHLT OCT 24 ASC 2,INCI OCT 25 ASC 2,RES1 OCT 26 ASC 2,SRUN OCT 27 * THE SO-CALLED 'JMP-SPECIALS' ARE THE FOLLOWING * MNEMONICS, THROUGH 'JEAU'. ASC 2,UNCD UNCD OCT 30 ASC 2,CNDX CNDX OCT 31 ASC 2,JIO OCT 32 ASC 2,JTAB JTAB OCT 33 ASC 2,J74 OCT 34 ASC 2,J30 OCT 35 ASC 2,RTN RTN OCT 36 ASC 2,JEAU JEAU OCT 37 OCT 0 END OF 'SPECIAL' TABLE. COND DEF *+1 ASC 2,TBZ OCT 0 ASC 2,ONES OCT 1 ASC 2,COUT OCT 2 ASC 2,AL0 OCT 3 ASC 2,AL15 OCT 4 ASC 2,NMLS OCT 5 ASC 2,CNT8 OCT 6 ASC 2,FPSP OCT 7 ASC 2,FLAG OCT 10 ASC 2,E OCT 11 ASC 2,OVFL OCT 12 ASC 2,RUN OCT 13 ASC 2,NHOI OCT 14 ASC 2,SKPF OCT 15 ASC 2,ASGN OCT 16 ASC 2,IR2 OCT 17 ASC 2,NLDR OCT 20 ASC 2,NSNG OCT 21 ASC 2,NINC OCT 22 ASC 2,NDEC OCT 23 ASC 2,NRT OCT 24 ASC 2,NLT OCT 25 ASC 2,NSTR OCT +þú26 ASC 2,NRST OCT 27 ASC 2,NSTB OCT 30 ASC 2,NSFP OCT 31 ASC 2,INT OCT 32 ASC 2,SRGL OCT 33 ASC 2,RUNE OCT 34 ASC 2,NOP CNNOP OCT 35 ASC 2, OCT 35 ASC 2,CNT4 OCT 36 ASC 2,NMEU OCT 37 OCT 0 END OF 'CONDITION' TABLE. ALU DEF *+1 ASC 2,INC OCT 0 ASC 2,OP1 OCT 1 ASC 2,OP2 OCT 2 ASC 2,ZERO OCT 3 ASC 2,OP3 OCT 4 ASC 2,OP4 OCT 5 ASC 2,SUB OCT 6 ASC 2,OP5 OCT 7 ASC 2,OP6 OCT 10 ASC 2,ADD OCT 11 ASC 2,OP7 OCT 12 ASC 2,OP8 OCT 13 ASC 2,OP9 OCT 14 ASC 2,OP10 OCT 15 ASC 2,OP11 OCT 16 ASC 2,DEC OCT 17 ASC 2,CMPS OCT 20 ASC 2,NOR OCT 21 ASC 2,NSAL OCT 22 ASC 2,OP13 OCT 23 ASC 2,NAND OCT 24 ASC 2,CMPL OCT 25 ASC 2,XOR OCT 26 ASC 2,SANL OCT 27 ASC 2,NSOL OCT 30 ASC 2,XNOR OCT 31 ASC 2,PASL OCT 32 ASC 2,AND OCT 33 ASC 2,ONE OCT 34 ASC 2,SONL OCT 35 ASC 2,IOR OCT 36 ASC 2,PASS PASS OCT 37 ASC 2, OCT 37 OCT 0 END OF 'ALU' TABLE. IMM DEF *+1 ASC 2,HIGH HIGH OCT 0 ASC 2, OCT 0 ASC 2,LOW OCT 1 ASC 2,CMHI OCT 2 ASC 2,CMLO OCT 3 OCT 0 END OF 'IMM' TABLE. STORE DEF *+1 ASC 2,TAB OCT 0 ASC 2,CAB OCT 1 ASC 2,T OCT 2 ASC 2,L OCT 3 ASC 2,IOO OCT 4 ASC 2,CNTR OCT 5 ASC 2,DSPL OCT 6 ASC 2,DSPI OCT 7 ASC 2,IR OCT 10 ASC 2,M OCT 11 ASC 2,B à8þúOCT 12 ASC 2,A OCT 13 ASC 2,MEU OCT 14 ASC 2,CM OCT 15 ASC 2,PNM OCT 16 ASC 2,NOP STNOP OCT 17 ASC 2, OCT 17 ASC 2,S1 OCT 20 ASC 2,S2 OCT 21 ASC 2,S3 OCT 22 ASC 2,S4 OCT 23 ASC 2,S5 OCT 24 ASC 2,S6 OCT 25 ASC 2,S7 OCT 26 ASC 2,S8 OCT 27 ASC 2,S9 OCT 30 ASC 2,S10 OCT 31 ASC 2,S11 OCT 32 ASC 2,S12 OCT 33 ASC 2,X OCT 34 ASC 2,Y OCT 35 ASC 2,P OCT 36 ASC 2,S OCT 37 ASC 2,RJS RJS OCT 777 OCT 0 END OF 'STORE' TABLE. SBUS DEF *+1 ASC 2,TAB OCT 0 ASC 2,CAB OCT 1 ASC 2,T OCT 2 ASC 2,CIR OCT 3 ASC 2,IOI OCT 4 ASC 2,CNTR OCT 5 ASC 2,DSPL OCT 6 ASC 2,DSPI OCT 7 ASC 2,ADR OCT 10 ASC 2,M OCT 11 ASC 2,B OCT 12 ASC 2,A OCT 13 ASC 2,LDR OCT 14 ASC 2,RES2 OCT 15 ASC 2,MEU OCT 16 ASC 2,NOP SBNOP OCT 17 ASC 2, OCT 17 ASC 2,S1 OCT 20 ASC 2,S2 OCT 21 ASC 2,S3 OCT 22 ASC 2,S4 OCT 23 ASC 2,S5 OCT 24 ASC 2,S6 OCT 25 ASC 2,S7 OCT 26 ASC 2,S8 OCT 27 ASC 2,S9 OCT 30 ASC 2,S10 OCT 31 ASC 2,S11 OCT 32 ASC 2,S12 OCT 33 ASC 2,X OCT 34 ASC 2,Y OCT 35 ASC 2,P OCT 36 ASC 2,S OCT 37 OCT 0 END OF 'S-BUS' TABLE. HED CONSTANTS, BUFFERS, MESSAGES * ABF0 DEF OUTBF ABF7 DEF OUTBF+7 ACARD DEF CARD AEND ASC 9, ASSEMBLY ABORTED! ASTER OCT 52 BASE BSS 1 BEWFL NOP BLNK2 ASC 1, BUCK OCT 44 BYTAD BS”»þúS 1 B1 OCT 1 B4 OCT 4 B6 OCT 6 B12 OCT 12 B16 OCT 16 B60 OCT 60 B100 OCT 100 B400 OCT 400 B401 OCT 401 B14KK OCT 140000 B1KKK OCT 100000 B7400 OCT 7400 ASC 1, OUTBF BSS 11 CARD BSS 40 OCT 0 CHAR BSS 3 CFLG OCT 0 CKSUM NOP CLEN BSS 1 COMMA OCT 54 COUNT BSS 1 CRLEN BSS 1 CSAVA BSS 1 CSAVB BSS 1 D.000 BSS 1 D.001 BSS 1 DBUG BSS 1 DEVIC BSS 1 DEFLT DEF *,I POINTERS TO CODE 'NOP' DEF OPNOP VALUES. DEF SPNOP DEF CNNOP DEF PASS DEF HIGH DEF STNOP DEF SBNOP DJ ASC 9, ** NO ERRORS** DJ1 DEF DJ+2 EFILE ASC 7, MISSING $END ENDMS ASC 10, $END MICRO ASMB. ENDRC OCT 002000 'END RECORD' CODE OCT 120000 OCT 120000 OCT 0 EQMSK OCT 037400 EQUFL NOP ASC 1, ERR1 ASC 6,**ERROR ASC 1,** E1 DEF ERR1+4 ASC 1, ERR2 ASC 14,**ERROR XXXX IN LINE XXXX ** E2 DEF ERR2+4 E3 DEF ERR2+10 FWORD DEF * MUST BE RIGHT BEFORE 'FLD1', ETC. FLD1 BSS 1 (DON'T REMOVE THIS) FLD2 BSS 1 FLD3 BSS 1 FLD4 BSS 1 FLD5 BSS 1 FLD6 BSS 1 F0ADR DEF * STORAGE FOR STARTING BYTE ADDRESS F1ADR BSS 1 OF FIELDS IN INPUT BUFFER. F2ADR BSS 1 F3ADR BSS 1 F4ADR BSS 1 F5ADR BSS 1 F6ADR BSS 1 HED1 ASC 7, SYMBOL TABLE HDTAB BSS 1 HHHMS OCT 070000 HHMSK OCT 107777 HIMSK OCT 177400 ILUN BSS 1 INST1 NOP LOW 16 BITS OF MICROINSTR. INST2 NOP HIGH 8 BITS AND REL ADDR OF " LASTP DEC -2 LINE# BSS 1 LIST BSS 1 L.U. # OF LIST DEVICE LOMSK OCT 377 LPEJ OCT 030440 LPP DEC 56 LPSPC OCT 025440 L.000 BSS 1 L.001 BSS 1 L.002 BSS 1 LWAM BSS 1 MAG BSS 1 L.U. # OF MAG TAPE UNIT MAGAD DEF MAG MB75 OCT -75 MCODE OCT 100 MINUS OCT 55 MSG1 ASC 11, 210X MICROASSEMBLER MSG2 ASC 16, ENTER L.U. # OF INPUT DEVICE. MSG5 ASC 14, RELOAD SOURCE, PRESS 'RUN'. MSK6 OCT 000077 MSK78 OCT 000300 MSK8 OCT 177400 MSK12 OŽþúOCT 170000 MSK15 OCT 100000 MSK21 OCT 177000 MSK23 OCT 000777 M14 OCT 037777 M7777 OCT 170000 NMERR OCT 0 NO ASC 1,NO NSAVA BSS 1 NSAVB BSS 1 OCONT BSS 1 OLY2 JMP INPUT OLY3 JMP .BAD. ONEAD DEF ONS ONS ASC 4,ONES OPAD DEF *+1 RAL AND DP1,I ALF NOP ALF,ALF RAR ALF,ALF RAL,RAL RAR,RAR RAR NOP NOP OCT -1 ORFLG BSS 1 PASSN BSS 1 PBASE DEF PNBUF PCH BSS 1 PCNTR BSS 1 PCODE OCT 000100 PLUS OCT 53 PNAD DEF PNBUF PNADR DEF PNBUF+5 PNBUF OCT 5 OCT 060100 BSS 58 PNFLG NOP PNT01 DEF .MEM. PNTR BSS 1 PRCNT OCT 045 RCFLG NOP RDR BSS 1 RDRAD DEF RDR RLEN BSS 1 SAVA BSS 1 SAVB NOP TEMP STORAGE SAVC BSS 1 SAVD BSS 1 SAVH NOP SAVM NOP SAVN NOP SCNT BSS 1 SCOUN BSS 1 SKAD DEF SK SK ASC 4,SKP SOVFL ASC 9, MEMORY OVERFLOW! SPAC OCT 040 SPBUF BSS 1 SPRES BSS 1 SR.00 BSS 1 SYFLG BSS 1 SYMB TABLE FLAG. 0=NO,1=YES. SYMD DEF SYMTA SYMB BSS 1 SYMTA BSS 1024 SYMBOL TABLE S.000 BSS 1 S.002 BSS 1 TAG BSS 1 TMPC1 BSS 1 TMPC2 BSS 2 TMPC3 BSS 1 TMPC4 BSS 1 ASC 1, TOKAD DEF TOKEN ASC 1, TOKEN BSS 4 TTYO OCT 2 TTYSP OCT 006412 T.001 BSS 1 LOW 8 BITS OF ORIGIN T.002 BSS 1 BITS 9-14 OF ORIGIN, LOW 8= 0. UMSK OCT 177700 MASKS OUT OLD UNIT REF NO. VALU BSS 1 ZERAD DEF ZER ZER ASC 4,ZEROES DEC -16 DEC -15,-14,-13,-12 DEC -11,-10,-9 DEC -8,-7,-6,-5 DEC -4,-3,-2,-1 . DEC 0,1,2 .3 DEC 3,4 DEC 5,6,7,8,9,10,11 DEC 12,13,14,15,16 .B OCT 102 .D OCT 104 .E OCT 105 .EQ. OCT 75 .F OCT 106 .I OCT 111 .K OCT 113 .L OCT 114 .M18 DEC -18 .M20 DEC -20 .M22 DEC -22 .M24 DEC -24 .M25 DEC -25 .M26 DEC -26 .M28 DEC -28 .M32 DEC -32 .M34 DEC -34 .M40 DEC -40 .M48 DEC -48 .M80 DEC -80 .N OCT 116 9l*($.O OCT 117 .P OCT 120 .P24 DEC 24 .P27 DEC 27 .P40 DEC 40 .Q OCT 121 .R OCT 122 .S OCT 123 .U OCT 125 .X OCT 130 .Y OCT 131 .Z OCT 132 .59 DEC 59 .100 DEC 100 .1000 DEC 1000 .1024 DEC 1024 #LNES BSS 1 END MICRO µÉ*ÿÿ ÿýÿ  ÿ12978-18018 1437 S 0122 0121MX BCS MICRO DEBUG EDITOR (WCS)             H0101 eþú ASMB¬Ò¬B¬Ì¬Ô¬Ã       NAM MDÅ       ÅØÔ .ÉÏÃ.¬ÔÅSÔ¬MAÃÒÏ       ÅNÔ SÔAÒÔ ª  ª      ²±0Ø MÉÃÒÏ DÅBUG ÅDÉÔÏÒ ª  SÔAÒÔ NÏP       ÊSB ADSÅÔ     SÅÔ ÒÅG MÉÃÒÏPÒÏG ADDÒÅSSÅS.       ÌDB ÌUADÒ       ÌDA ÌUÔÌN       ÊSB ÃÌÅAN     ÃÌÅAN ×ÃS ÌÏGÉÃAÌ UNÉÔ £ ÔABÌÅ.       DÅÆ NUÌÌ       ÌDB PÒAD       ÌDA PÒÔÌN       ÊSB ÃÌÅAN     ÃÌÅAN PÒÉNÔ ÔABÌÅ.       DÅÆ NUÌÌ       ÌDB ÒGAD       ÌDA ÒGÔÌN       ÊSB ÃÌÅAN     ÃÌÅAN ÒÅGÉSÔÅÒ ÔABÌÅ.       DÅÆ NUÌÌ       ÃÌA       SÔA ÌDÆÌG ª  ª        ÊSB MSÏUÔ      PÒÉNÔ HÅADÉNG       DÅÆ MÅS0       ª       DÅಲ       ÌDA ½D-3      ÏUÔPUÔ 3 SPAÃÅS.       SÔA Ô.00±       ÊSB SPAÃÅ       ÉSZ Ô.00±       ÊMP ª-² A±    ÊSB SPAÃÅ       ÌDB ADÒ±      ÆÉÌÌ ÉNPUÔ BUÆÆÅÒ ×ÉÔH SPAÃÅS.       ÌDA ½D´0       ÊSB ÃÌÅAN       DÅÆ BÌANK       ÊSB MSÏUÔ     ASK ÆÏÒ       DÅÆ MÅS±       DÅà´         NÅØÔ ÃÏMMAND       ÊSB .ÉÏÃ.     ªª       ÏÃÔ ±0´0±       ÊMP ª-²        ªªª ÒÅAD ÒÅSPÏNSÅ       DÅÆ ÌÉNÅ       ª       DÅà-¸0       ªª       ÊSB ×AÉÔ±       ÊMP A±        ÔÒY AGAÉN.       ÃMB¬ÉNB       SAVÅ MÉNUS £ ÏÆ ÃHAÒS ÒÅAD.       SÔB ÃÏUNÔ       ÌDB ADÒ±        ÉNPUÔ ÃÏMPÌÅÔÅD       ÃÌŬÅÌB       SÔB BADÒ±     ADDÒÅSS       ÊSB ÌÏADB     ÌÏAD ±SÔ BYÔÅ       ÃPA ½A Ì      ÃÏMMAND ÉS       ÊMP ÉÌÏAD     ÌÏAD       ÃPA ½A ×       ÊMP É×ÒÉÔ     ×ÒÉÔÅ       ÃPA ½A Ò       ÊMP ÉÒÅAD     ÒÅAD       ÃPA ½A D       ÊMP ÉDUMP     DUMP       ÃPA ½A M       ÊMP A9        MÏDÉÆY ÏÒ MÏVÅ       ÃPA ½A S       ÊMP ÉSHÏ×     SHÏ×       ÃPA ½A P       ÊMP ÉPÒÅP     PÒÅPAÒÅ       ÃPA ½A V       ÊMP ÉVÅÒ      VÅÒÉÆY       ÃPA ½A B       ÊMP ÉBÒAK     BÒÅAK       ÃPA ½A Ã       ÊMP ÉÃHAN     ÃHANGÅ       ÃPA ½A Å       ÊMP ÉÅØÅà    ÅØÅÃUÔÅ       ÃPA ½A Æ       ÊMP ÉÅND      ÆÉNÉSH A¸    ÊSB ÅÒÒÏÒ     ÉÌÌÅGAÌ       DÅÆ MÅS3       DÅภ       ÃÏMMAND       ÊMP A±        GÏ GÅÔ NÅØÔ ÃÏMMAND A9    ADB ½B²       ADVANÃÅ ² BYÔÅ ADDÒÅSSÅS.       ÊSB ÌÏADB       ÃPA ½A D      ÉS 3ÒD BYÔÅ A 'D'?       ÊMž;þúP ÉMÏD      YÅS¬ ÔHÅN 'MÏDÉÆY' ÃÏMMAND.       ÃPA ½A V      NÏ. A 'V'?       ÊMP ÉMÏVÅ     YÅS.  ÔHÅN 'MÏVÅ' ÃÏMMAND.       ÊMP A¸        NϬ ÔHÅN ÅÒÒÏÒ. ª        SKP ª  ÌÏAD MÏDUÌÅ PAÒAMÅÔÅÒ ÆÅÔÃH ª  ÉÌÏAD ÊSB GÅÔÌU       SZA¬ÒSS       ÌDA ½D5       ÊSB ÌÏAD       ÊMP A± ª  ª  DUMP ÃÏMMAND PAÒAMÅÔÅÒ ÆÅÔÃH (SAMÅ AS ÌÏAD ª                                 ÃÏMMAND PÒÏÃÅDUÒÅ© ÉDUMP ÊSB GÅÔÌU       SZA¬ÒSS       ÌDA ½D´       ÊSB DUMP       ÊMP A± ª  ª  ×ÒÉÔÅ ÃÏMMAND PAÒAMÅÔÅÒ ÆÅÔÃH ª  É×ÒÉÔ ÊSB GÅÔÌU       SZA       ÊMP ª+5       ÊSB ÅÒÒÏÒ       DÅÆ MÅS9       DÅà±´       ÊMP A±       ÊSB ×ÒÉÔÅ       ÊMP A± ª  ª   ÒÅAD ÃÏMMAND PAÒAMÅÔÅÒ ÆÅÔÃH (SAMÅ AS ×ÒÉÔÅ© ª  ÉÒÅAD ÊSB GÅÔÌU       SZA       ÊMP ª+5       ÊSB ÅÒÒÏÒ       DÅÆ MÅS9       DÅà±´       ÊMP A±       ÊSB ÒÅAD       ÊMP A± ª  ª MÏDÉÆY ÃÏMMAND PAÒAMÅÔÅÒ ÆÅÔÃH ª  ª  ÉMÏD  ÊSB GÔPÒ±       ÊSB MDÉÆY       ÊMP A± ª  ª  SHÏ× ÃÏMMAND PAÒAMÅÔÅÒ ÆÅÔÃH ª  ÉSHÏ× ÊSB GÔPÒ±       ÊSB SHÏ×       ÊMP A± ª  ª  BÒÅAK ÃÏMMAND PAÒAMÅÔÅÒ ÆÅÔÃH ª  ÉBÒAK ÉSZ ÃÏUNÔ       ÊMP ª+5       ÊSB ÅÒÒÏÒ       DÅÆ MÅS´       DÅà9       ÊMP A±       ÊSB MAPÔÏ     ÅSÔAB MÏD¬ ADDÒ¬ MAÃÒÏ MAPS ÔÏ.       ÌDA ½A ¬       ÌDB BADÒ±       ÉNB       ÊSB SKPÔÏ       ÃPA ½A ¬       ÒSS       ÊMP ÉBÒAK+²       ÉNB       ÉSZ ÃÏUNÔ       ÒSS       ÊMP ÉBÒAK+²       ÌDA ½A       ÊSB SKÉP       ÃPA ½A       ÊMP ÉBÒAK+²       ÃÌA       ÊSB ÃNVÒÔ       SÅZ       ÊMP ÉBÒA9     BAD £ ÆÏÒ ADDÒÅSS.       ÊSB BÒÅAK       ÊMP A± ÉBÒA9 ÊSB ÅÒÒÏÒ       DÅÆ MÅS6       DÅà9       ÊMP A± ª  ª  PÒÅPAÒÅ ÃÏMMAND PAÒAMÅÔÅÒ ÆÅÔÃH ª  ÉPÒÅP ÊSB GÅÔÌU       SZA¬ÒSS       ÌDA ½D´       ÊSB PÒÅP       ÊMP A± ª  ª ÃHANGÅ ÃÏMMAND PAÒAMÅÔÅÒ ÆÅÔÃH ª  ÉÃHAN ÉSZ ÃÏUNÔ       ÒSS       ÊMP Ã6       ÌDA ½A ¬       ÌDB BADÒ±       ÉNB       ÊSB SKPÔÏ       ÃPA ½A ¬       ÒSS       ÊMP Ã6       ÉSZ ÃÏUNÔ       ÊMP ª+5       ÊSB ÅÒÒÏÒ       DÅÆ MÅS´       DÅà þú9       ÊMP A±       ÉNB       ÊSB ÌÏADB       ÃPA ½A A       ÌDA ½D²0       ÃPA ½A B       ÌDA ½D²±       ÃPA ½A Ì       ÌDA ½D3       ÃPA ½A Ï       ÌDA ½D²3       ÃPA ½A Å       ÌDA ½D²²       ÃPA ½A P       ÌDA ½D²       ÃPA ½A S       ÌDA ½D±¸       ÃPA ½A Ã       ÊMP Ã9       ÃPA ½A Æ       ÌDA ½D±       ÃPA ½A Ø       ÊMP Ã±0.±       ÃPA ½A Y       ÊMP Ã±0.²       ÃPA ½A ±       ÊMP Ã·       ÃPA ½A ²       ÌDA ½D5       ÃPA ½A 3       ÌDA ½D6       ÃPA ½A ´       ÌDA ½D·       ÃPA ½A 5       ÌDA ½D¸       ÃPA ½A 6       ÌDA ½D9       ÃPA ½A ·       ÌDA ½D±0       ÃPA ½A ¸       ÌDA ½D±±       ÃPA ½A 9       ÌDA ½D±² ø    ADA ½D-²´       SSA       ÊMP ª+6       ÊSB ÅÒÒÏÒ       DÅÆ MÅS6       DÅà9       ÊMP A± Ã6    ÌDA ½D-²´       ADA ½D²´       ÊSB ÃHNGÅ       ÊMP A± ÷    ÉNB       ÊSB ÌÏADB       ÃPA ½A       ÌDA ½D´       ÃPA ½A 0       ÌDA ½D±3       ÃPA ½A ±       ÌDA ½D±´       ÃPA ½A ²       ÌDA ½D±5       ÃPA ½A 3       ÌDA ½D±6       ÃPA ½A ´       ÌDA ½D±·       ÊMP Ã¸ Ã9    ÉNB       ÊSB ÌÏADB       ÃPA ½A N       ÌDA ½D±9       ÊMP Ã¸ ñ0.± ÌDA ½D±6       ÊMP Ã¸ ñ0.² ÌDA ½D±·       ÊMP Ã¸ ª  ª     VÅÒÉÆY ÃÏMMAND ª  ÉVÅÒ  ÊSB GÅÔÌU       SZA¬ÒSS       ÌDA ½D5       ÊSB VÒÉÆY       ÊMP A± ª  ª  ª   ÅØÅÃUÔÅ ÃÏMMAND MÏDUÌUÅ ª  ª  ª   PAÒAMÅÔÅÒ ÆÅÔÃH ª  ÉÅØÅàÃÌA¬ÉNA       SÅÔ ÔAPÅ ÆÌAG ÆÏÒ 'NÏ PÒÏM ÔAPÅS       SÔA ÔÆÌG      AÌÌÏ×ÅD.'       ÃÌA           ÃÌÅAÒ 'ÅØÅÃUÔŬ0' ÆÌAG.       SÔA ÅØ0ÆÌ       ÌDA ½A ¬      GÅÔ ÒÅADY       ÌDB BADÒ±     ÔÏ ÆÉND       ÉNB           ÃÏMMA       ÉSZ ÃÏUNÔ     ANY MÏÒÅ ÃHAÒAÃÔÅÒS       ÊMP Å± ª  ª   'ÅØÅÃUÔÅ' ÃÏMMAND¬ É.Å.¬ 'ÅØÅÃUÔÅ ÆÒÏM BÒÅAKPÏÉNÔ'. ª  Å0    ÌDA ÒPÔÆÌ     MÏÒÅ ÔHAN ² 'ÅØÅÃUÔÅ-ÆÒÏM-       ÃPA ½B-±      BKPÏÉNÔ'S ÉN A ÒÏ×?       ÊMP Å²        YÅS.  SÏ ÅÒÒÏÒ.       ÃPA ½B0       ÊMP Å0.6       ÌDA ÌSÔBK       ÃPA ½B-±       ÊMP Å².5       ÊMP Å3 Å0.6  ÌDA NÅ×BK       ÃPA ½B-±       ºþúÊMP Å².5      ÃÏUÌDN'Ô ÆÉND ÉÔ¬ SÏ ÅÒÒÏÒ.       ÊMP Å3        ÆÏUND ÉÔ. Ų.5  ÊSB ÅÒÒÏÒ       DÅÆ MÅS¸       DÅà±´       ÊMP A± Ų    ÊSB ÅÒÒÏÒ       DÅÆ MÅS´       DÅà9       ÊMP A± ű    ÊSB SKPÔÏ     SKÉP ÔÏ ÃÏMMA.       ÃPA ½A ¬      ÆÉND       ÒSS           ÏNÅ?       ÊMP Å0        NÏ  GÏ USÅ ÌASÔ BÒÅAK ª  ª   'ÅØÅÃUÔŬYYYY' ÃÏMMAND¬ É.Å.¬ 'ÅØÅÃUÔÅ ÆÒÏM ADDÒÅSS ª   YYYY'. ª        ÉNB           YÅS       ÉSZ ÃÏUNÔ       ÒSS           NÏ×       ÊMP Å²       ÌDA ½A        SKÉP       ÊSB SKÉP      BÌANKS       ÃPA ½A        ÆÉND NÏN-BÌANK?       ÊMP Å²        NϬ ÅÒÒÏÒ       ÃÌA       ÊSB ÃNVÒÔ       SÅZ           ÅÒÒÏÒ ÉN ÅØÅÃUÔÅ-ÆÒÏM ADDÒ?       ÊMP A±        YÅS.  GÏ GÅÔ NÅØÔ ÃÏMMAND. Å3    SÔA ÔMP5±     SAVÅ ABS ×ÃS ÅØÅÃUÔÅ-ÆÒÏM ADDÒ.       ADA ½B-±      SUBÔÒAÃÔ ±.       AND ½B3··     ÔHÒÏ× ÏUÔ HÉGH BÉÔS.       ÃPA ½B3··     ÌÏ× BÉÔS ½ 3·· ÏÃÔ?       ÊMP Å3.6      YÅS. ÔHÅN ÒÅÌ ADDÒ ½ 0.       ÌDA ÒPÔÆÌ     NϬ SÏ DÅÃÒ 'ÒÅPÔ' ÆÌAG.       ÃPA ½B-±       ÊMP Å6       ADA ½B-±       SÔA ÒPÔÆÌ       ÊMP Å6 ª  ª   'ÅØÅÃUÔŬ0' ª  Å3.6  ÃÌA¬ÉNA       SÅÔ 'ÅØÅÃUÔŬ0' ÆÌAG.       SÔA ÅØ0ÆÌ       ÊMP Å·.9 ª  ª   'ÅØÅÃUÔÅ' ÏÒ 'ÅØÅÃUÔŬYYYY' ª  Å6    ÌDA ½B²       ÒÅSÔÏÒÅ NÏNVÉÔAÌ ÒÅGÉSÔÅÒS.       ÊSB NÏNVÔ ª  ª   ÃÒÅAÔÅ ÊUMP ÔÏ VÒÒ. ª        ÊSB MAPÔÏ     ÅSÔABÌ MÏD¬ ADDÒ¬ MAÃÒÏ MAPÔS ÔÏ.       ÌDA MAPAD     GÅÔ MÏDUÌÅ £.       AÌÆ¬AÌÆ       AND ½B±·       ÌDB ½B0       ÊSB ABSAD       ÊSB MÏDÌU     GÅÔ Ì.U. £ ÏÆ MÏDUÌÅ. YYY   SÔA SAV6      SAVÅ ÉÔ.       ÊSB ÒÅAD      BÒÉNG ÉN ÔHAÔ MÏDUÌÅ.       ÌDB ÊÔADÒ     NÏ× SAVÅ HÉGH ±6 BÉÔS ÏÆ       SÔB Å6.3       ÌDA ±¬É       USÅÒ'S ÉNÉÔÉAÌ ÊUMP MÉÃÒÏÉNSÔÒ.       SÔA SAV±       ÉNB       SÔB Å6.´       ÌDA ±¬É       SAVÅ ÌÏ× BÉÔS.       SÔA SAV²       ÊSB VÒDAD     GÅÔ ×ÃS ABS ADDÒ ÏÆ VÒD.       ADA VDÌN      ÃÏMPUÔÅ ×ÃS ABS ADDÒ ÏÆ VÒÒ.       SÔA SAV·      SAVÅ ÉÔ.       ÊSB ÊMPÅÒ     ÃÒÅAÔÅ ÊUMP ÔÏ VÒÒ MÉÃÒÏÉNSÔÒ. Å6.3  NÏP Å6.´  NÏP       ÌDA SAV±  âýþú    NÏ× PUÔ ADDÒÅSS BÉÔS ÉN       AND ½B±··´00  ÊMP-ÔÏ-VÒÒ MÉÃÒÏÉNSÔÒ.       ÉÏÒ ÊÔADÒ¬É       SÔA ÊÔADÒ¬É       ÌDA SAV6       ÊSB ÒÉÔÅ      ×ÒÉÔÅ ÏUÔ MÏDUÌÅ. ª  ª   ÃÒÅAÔÅ ÊMP ÔÏ 'ÅØÅÃUÔÅ-ÆÒÏM' ADDÒÅSS AÔ ÅND ª   ÏÆ VÒÒ. ª        ÌDA VÒ3       SÔA SAV3       ÌDA VÒ3+±       SÔA SAV´       ÌDA ÔMP5±     GÅÔ ×ÃS ABS ÅØÅÃUÔÅ-ÆÒÏM ADDÒ.       ÊSB ÊMPÅÒ     ÃÒÅAÔÅ ÊUMP MÉÃÒÏÉNSÔÒ. Å6.¸  DÅÆ VÒ3       DÅÆ VÒ3+±       ÌDA SAV3      PUÔ ADDÒÅSS BÉÔS ÉN ÊUMP ÔÏ       AND ½B±··´00  ÅØÅÃUÔÅ-ÆÒÏM MÉÃÒÏÉNSÔÒ.       ÉÏÒ Å6.¸¬É       SÔA Å6.¸¬É       ÊSB M×ÒÉÔ     ×ÒÉÔÅ ÏUÔ VÒD AND VÒÒ.       ÌDA SAV3      ÒÅSÔÏÒÅ ÏÒÉGÉNAÌ ÃÏNÔÅNÔS ÏÆ       SÔA VÒ3       ÏÆ 'VÒ3'¬ 'VÒ3+±'.       ÌDA SAV´       SÔA VÒ3+±       ÌDA ÒPÔÆÌ     ÃÌÅAÒ ÏÌD BÒÅAK UNÌÅSS ÉÔ       ÃPA ½B-±      ×AS AÌÒÅADY ÃÌÅAÒÅD BY A NÅ×       ÒSS       ÊMP Å·.9      BÒÅAK.       ÃÌA       ÊSB BÒÅAK     ÃÌÅAÒ BÒÅAK. Å·.9  ÌDA ÅØ0ÆÌ     ÉS ÔHÉS AN 'ÅØÅÃUÔÅ 0'?       SZA¬ÒSS       ÊMP Å±±       NÏ.       ÊSB ÔÅSÔ      YÅS.  ÔHÅN ÅØÅÃUÔÅ 'ÔÅSÔ' PÒÏG. ª   ÉÆ ×Å ÃÏMÅ BAÃK ÆÒÏM 'ÔÅSÔ' SUBÒÏUÔÉNŬ ÔHAÔ ª   MÅANS ÔHÅÒÅ ×AS NÏ BÒÅAKPÏÉNÔ.       ÊMP ÒÔÒN ª  ª   ÒÅSÔÏÒÅ A¬ B¬ Å¬ Ï ÒÅGÉSÔÅÒS. ª  ű±   ÌDA MAÃÒÏ     GÅÔ       SÔA MAà      MAÃÒÏ.       ÌDA Å         ÒÅSÅÔ       ÃÌÅ           Å       SÌA           ÒÅG.       ÃMÅ       ÌDA Ï         ÒÅSÅÔ       ÃÌÏ           Ï       SÌA           ÒÅG       SÔÏ       ÌDB B         ÒÅSÅÔ B ÒÅG.       ÌDA A         ÒÅSÅÔ A ÒÅG. MAà  NÏP           ÅØÅÃUÔÅ MAÃÒÏ       HÌÔ 55B       HAÌÔ.SHÏUÌD NÏÔ ÒÅÔUÒN HÅÒÅ. ÒÔUÒN DÅÆ ª+± ª  ª  ÒÅÔUÒN  ÆÒÏM  BÒÅAK ª        SÔA A         SAVÅ A ÒÅG.       SÔB B         SAVÅ B ÒÅG.       ÃÌA           SAVÅ       SÅZ       ÉNA           Å       SÔA Å         ÒÅG.       ÃÌA           SAVÅ       SÏà       ÉNA           Ï       SÔA Ï         ÒÅG.       ÌDA ½B±       DUMP NÏN-VÉÔAÌ ÒÅGÉSÔÅÒS.       ÊSB NÏNVÔ ª  ª  ª   ÉN ÔHÉS NÅØÔ SÅÃÔÉÏN¬ ×Å PÒÉNÔ ÔHÅ ÒÅGÉSÔÅÒS ÔHÅ ª   USÅÒ ×ANÔS. ª  L#þúű²   ÌDA PÒAD      SÅÔ SÔAÒÔÉNG ADDÒÅSS ÏÆ       SÔA ÔMP·²     PÒÉNÔ ÔABÌÅ.       ÃÃA           PUÔ A 'NÏ VAÌÉD MNÅMÏNÉÃS'       SÔA PÒAD¬É    ÆÌAG AÔ SÔAÒÔ ÏÆ PÒÉNÔ ÔABÌÅ. ű3   ÊSB SPAÃÅ       ÊSB MSÏUÔ     ASK USÅÒ ÆÏÒ ÒÅGÉSÔÅÒS HÅ ×ANÔS       DÅÆ MÅS35     PÒÉNÔÅD ÏUÔ.       DÅà-·       ÌDA ½D´0       ÌDB ADÒ±       ÊSB ÃÌÅAN     ÃÌÅAN ÉNPUÔ BUÆÆÅÒ.       DÅÆ NUÌÌ       ÊSB .ÉÏÃ.     ÒÅAD ÏNÅ ÌÉNÅ ÏÆ HÉS ÒÅSPÏNSÅ.       ÏÃÔ ±0´0±       ÊMP ª-²       DÅÆ ÌÉNÅ       DÅà-¸0       ÊSB ×AÉÔ±       ÊMP Å±3       É¯Ï PÒÏBÌÅM.  ASK AGAÉN.       ÃMB¬ÉNB       ÒÅSPÏNSÅ ÉS ÉN.  SAVÅ MÉNUS £ ÏÆ       SÔB ÃÏUNÔ     ÃHAÒS ÒÅAD.       ÌDB ADÒ±      SÅÔ 'BADÒ±' ÔÏ SÔAÒÔÉNG BYÔÅ       ÒBÌ           BYÔÅ ADDÒÅSS ÏÆ       SÔB BADÒ±     ÉNPUÔ BUÆÆÅÒ. ű¸   ÊSB ÌÏADB     ÒÅAD A ÃHAÒ.       ÃPA ½A ¯      ÃHAÒ ½ ¯?       ÊMP ÒÔÒN      ÔHÅN DÏNÅ.       ÃPA ½A !      NÏ.  ÃHAÒ ½ '!'?       ÊMP Å±¸.¸     YÅS. ÔHÅN HÅ ×ANÔS AÌÌ ÒÅG'S.       ÃPA ½A ¬      NÏ.  ÃHAÒ ½ ÃÏMMA?       ÊMP Å²0       YÅS.       ÃPA ½A        NÏ.  ÃHAÒ ½ SPAÃÅ?       ÊMP Å²0       YÅS.       ÃPA SPNUÌ     NÏ. ÃHAÒ ½ NUÌÌ?       ÊMP Å30       YÅS.  ×Å'VÅ ÒÅAD AÌÌ HÉS ÒÅG'S.       ÊSB SÅÒÃH     NÏ. ÆÉND MAÔÃH ÉN ÒÅG MNÅMÏNÉÃS?       SÔB BADÒ±     SAVÅ PÏSÔ MNÅMÏNÉàBYÔÅ ADDÒ.       ÃPA ½B-±       ÊMP Å±9       NÏ.       ÌDB ÔMP·²     YÅS.  SÏ SÔÏÒÅ MNÅMÏNÉàADDÒ       SÔA ±¬É       ÉN PÒÉNÔ ÔABÌÅ.       ÉNB           ÉNàPÒÉNÔ ÔABÌÅ ADDÒÅSS.       ÌDA ½B-±      SÔÏÒÅ A -± ÉN NÅØÔ       SÔA ±¬É       ÌÏÃAÔÉÏN ÉN PÒÉNÔ ÔABÌÅ.       SÔB ÔMP·² ű¸.5 ÌDB BADÒ±       ÊMP Å±¸       GÏ ÔÒY ÆÏÒ NÅØÔ MNÅMÏNÉÃ. ª   HÅÒÅ ×Å PUÔ ÔHÅ MNÅMÏNÉàADDÒÅSSÅS ÏÆ AÌÌ ÒÅGÉSÔÅÒS ª   ÉN ÔHÅ PÒÉNÔ ÔABÌŬ ÉN ÒÅSPÏNSÅ ÔÏ USÅÒ'S '!' ÉNPUÔ. ű¸.¸ ÌDA PÒÔÌN     GÅÔ ÌÅNGÔH ÏÆ PÒÉNÔ ÔABÌÅ (½       ÃMA¬ÉNA       £ ÏÆ ÒÅGÉSÔÅÒS©.  MAKÅ NÅG.       SÔA ÃNÔÒ¸     PUÔ ÉN ÃÏUNÔÅÒ.       ÌDB PÒAD      GÅÔ SÔAÒÔÉNG ADDÒ ÏÆ PÒ ÔABÌÅ.       SÔB SAV5      SÔÏÒÅ.       ÌDB ÒÅGAD     GÅÔ SÔAÒÔÉNG ADÒ ÏÆ ÒÅG ÔABÌÅ. ű¸.9 SÔbÑþúB SAV5¬É    SÔÏÒÅ ÉN NÅØÔ ÌÏàÉN PÒ ÔABÌÅ.       ADB ½B3       ÉNàÔÏ NÅØÔ MNÅMÏNÉàADDÒ.       ÉSZ SAV5      ÉNàPÒ ÔABÌÅ PÏÉNÔÅÒ.       ÉSZ ÃNÔÒ¸     DÏNÅ YÅÔ?       ÊMP Å±¸.9     NÏ.       ÊMP Å30       YÅS. ª  ű9   ÊSB ÅÒÒÏÒ     PÒÉNÔ ÅÒÒÏÒ MÅSSAGÅ.       DÅÆ MÅS3¸       DÅà±±       ÊMP Å±¸.5 Ų0   ÉSZ BADÒ±       ÌDB BADÒ±       ÊMP Å±¸       GÏ ÔÒY ÆÏÒ NÅØÔ MNÅMÏNÉÃ. ª   HÅÒÅ ×Å SÅÔ UP ÔHÅ ÒÅGÉSÔÅÒS ÔÏ BÅ PÒÉNÔÅD ÏUÔ. Å30   ÌDB PÒAD      ÒÅSÅÔ SÔAÒÔÉNG ×ÏÒD ADDÒÅSS       SÔB ÔMP·²     ÏÆ PÒÉNÔ ÔABÌÅ. Å30.² ÌDA ADÒ±      SÅÔ 'BADÒ±' ÔÏ SÔAÒÔÉNG BYÔÅ       ÒAÌ           ADDÒ ÏÆ ÉNPUÔ BUÆÆÒ.  ×Å USÅ       SÔA BADÒ±     ÉNPUÔ BUÆÆÒ AS ÏUÔPUÔ BUÆÆÒ.       ÃÌA           SÅÔ £ ÏÆ ÃHAÒS ÉN ÌÉNÅ ÔÏ 0.       SÔA NMÃÒS Å30.3 ÌDA ÔMP·²¬É   ÌÏÏK AÔ NÅØÔ ÉÔÅM ÉN PÒÉNÔ       ÃPA ½B-±      ÔABÌÅ.  ÅND ÏÆ ÉÔÅMS?       ÒSS           YÅS.       ÊMP Å3±.6     NÏ. Å30.´ ÌDA NMÃÒS     ANY ÃHAÒS ÌÅÆÔ ÔÏ PÒÉNÔ?       SZA¬ÒSS       ÊMP Å±²       NÏ. MAYBÅ USÅÒ ×ANÔS MÏÒÅ ÒÅG'S.       ÃMA¬ÉNA       YÅS¬ ÃÏNVÅÒÔ + £ ÏÆ ÃHAÒS ÔÏ -.       SÔA Å3±.´ Å3±.3 ÊSB MSÏUÔ     PÒÉNÔ ÌASÔ ÌÉNÅ.       DÅÆ ÌÉNÅ Å3±.´ NÏP       ÊSB ×AÉÔ±       ÊMP Å3±.3       ÊMP Å±²       SÅÅ ÉÆ USÅÒ ×ANÔS MÏÒÅ ÒÅG'S. Å3±.6 ÌDA 0¬É       PUÔ ±SÔ ÃHAÒ ÉN MNÅMÏNÉàÉNÔÏ       AÌÆ¬AÌÆ       ÌÏ× BÉÔS.       AND ½B3··       ÌDB BADÒ±     SÔÏÒÅ ÉÔ ÉN NÅØÔ ÌÏÃAÔÉÏN       ÊSB SÔÏÒB     ÉN ÏUÔPUÔ BUÆÆÅÒ.       ÉSZ NMÃÒS     ÉNà£ ÏÆ ÃHAÒS ÉN ÌÉNÅ.       ÌDA ÔMP·²       ÌDA 0¬É       ÌDA 0¬É       AND ½B3··     DÏÅS MNÅMÏNÉàHAVÅ       ÃPA NUÌSP     ²ND ÃHAÒ?       ÊMP Å33       NÏ.       ÊSB SÔÏÒB     YÅS.  SÏ SÔÏÒÅ ÉÔ.       ÉSZ NMÃÒS     ÉNà£ ÏÆ ÃHAÒS ÉN ÌÉNÅ. Å33   ÌDA ½A ½      SÔÏÒÅ '½'.       ÊSB SÔÏÒB       ÉSZ NMÃÒS     ÉNà£ ÏÆ ÃHAÒS ÉN ÌÉNÅ.       SÔB BADÒ±     SAVÅ ÏUÔPUÔ BUÆÆÒ BYÔÅ ADDÒ.       ÌDB ÔMP·²     B ÒÅG GÅÔS ÃUÒÒÅNÔ PÒ ÔABÌ ADDÒ.       ÌDB ±¬É       ADB ½B²       ÉNàÔÏ £ ÏÆ DÉGÉÔS ÌÏÃ.       ÌDA ±¬É       SÔA Å36       ADB ½B-±      PÏÉNÔ ÔÏ ADD†öþúÒ ÏÆ ÒÅG ÃÏNÔÅNÔS       ÌDA ±¬É       BÒÉNG ÉN ÒÅG ÃÏNÔÅNÔS.       ÌDA 0¬É       ÌDB BADÒ±       ÊSB ÏÃÔÌ      ÃÏNVÅÒÔ ÃÏNÔÅNÔS ÔÏ ASÃÉÉ. Å36   BSS ±       ÌDB BADÒ±     ÉNàÏUÔPUÔ BUÆÆÒ BYÔÅ ADDÒ       ADB Å36       ÆÏÒ £ ÏÆ DÉGÉÔS.       SÔB BADÒ±       ÌDA Å36       ADD £ ÏÆ DÉGÉÔS ÔÏ ÃUMUÌAÔÉVÅ       ADA NMÃÒS     £ ÏÆ ÃHAÒS ÉN ÌÉNÅ.       SÔA NMÃÒS       ADA ½D±²      ×Å GÏÔ ÒÏÏM ÆÏÒ ÏNÅ MÏÒÅ ÒÅG       ADA ½D-·²     ÉN ÔHÉS ÌÉNÅ?       SSA¬ÒSS       ÊMP Å39       NÏ.  GÏ PÒÉNÔ ÔHÉS ÌÉNÅ.       ÉSZ ÔMP·²     YÅS. ÉNàPÒÉNÔ ÔABÌÅ ÌÏÃ.       ÌDA ÔMP·²¬É   GÅÔ NÅØÔ ÉÔÅM.       ÃPA ½B-±      ÅND ÏÆ ÔABÌÅ?       ÊMP Å30.´     YÅS. DÏN'Ô ÔAÃK ÏN ÃÏMMA.       ÌDA ½A ¬      NÏ. SÏ SÔÏÒÅ ÃÏMMA.       ÌDB BADÒ±       ÊSB SÔÏÒB       ÉSZ NMÃÒS     ÉNà£ ÏÆ ÃHAÒS ÉN ÌÉNÅ.       ÌDA ½A        PUÔ A SPAÃÅ AÆÔÅÒ ÃÏMMA.       ÊSB SÔÏÒB       ÉSZ NMÃÒS     ÉNà£ ÏÆ ÃHAÒS ÉN ÌÉNÅ.       SÔB BADÒ±     SAVÅ BYÔÅ ADDÒÅSS.       ÊMP Å30.3 ª  ª   HÅÒÅ ×Å PÒÉNÔ A ÌÉNÅ ÏÆ ÒÅGÉSÔÅÒS. ª  Å39   ÌDA NMÃÒS     ÃÏNVÅÒÔ + £ ÏÆ ÃHAÒS ÔÏ -.       ÃMA¬ÉNA       SÔA Å39.3 Å39.² ÊSB MSÏUÔ       DÅÆ ÌÉNÅ Å39.3 NÏP       ÊSB ×AÉÔ±       ÊMP Å39.²       ÉSZ ÔMP·²     ÉNàÔÏ NÅØÔ ÉÔÅM ÉN PÒÉNÔ ÔABÌÅ.       ÊMP Å30.² ª  ª  ÒÔÒN  ÌDA ÅØ0ÆÌ     ×AS ÔHÉS AN 'ÅØÅÃUÔŬ0'?       SZA       ÊMP Å´¸       YÅS.  ×Å DÉDN±Ô ÃHANGÅ ÉNÉÔ. ÊMP.       ÌDA SAV6      NÏ. ÔHÅN GÅÔ ÌU £ ÏÆ MÏD ÃÏNÔ-       ÊSB ÒÅAD      AÉNÉNG USÅÒ'S ÏÒÉG ÊUMP.       ÌDA SAV±      ÒÅSÔÏÒÅ USÅÒ'S ÏÒÉGÉNAÌ       ÌDB ÊÔADÒ       SÔA ±¬É       ÊUMP       ÉNB       ÌDA SAV²      MÉÃÒÏÉNSÔÒUÃÔÉÏN.       SÔA ±¬É       ÌDA SAV6       ÊSB ÒÉÔÅ      ×ÒÉÔÅ MÏDUÌÅ BAÃK ÏUÔ. Å´¸   ÊMP A±        GÏ GÅÔ NÅØÔ ÃÏMMAND. ÃNÔÒ¸ NÏP SAV±  BSS ± SAV²  BSS ± SAV3  BSS ± SAV´  BSS ± SAV5  BSS ± SAV6  BSS ± SAV·  BSS ± ÔMP5± BSS ² ÔMP·² BSS ±       SUP       SKP ª  ª  ª  ª   ÔHÉS MÏDUÌÅ AÌÌÏ×S USÅÒ ÔÏ ÒÅÌÏÃAÔÅ ª   ÌÏAD¯DUMP ÒÏUÔÉNÅ SÔAÒÔÉNG AÔ GÉVÅN ª   ADDÒÅSS. ª  ª   ÃÏMMAND ÆÏÒMAÔ]640: ª         MÏVŬþú    SÔA SAVÒ      SAVÅ ÔHÅ ÆÉÅÌD.       ÌDA ÏÃÏNÔ     AÒÅ ×Å ÏN DÉGÉÔ £ <½       ADA ÏÃÔ̬ɠ   £ ÏÆ DÉGÉÔS SPÅÃÉÆÉÅD?       SSA       ÊMP ÏÃÔ3      NÏ.  SÏ ÉGNÏÒÅ ÔHÉS ÆÉÅÌD.       ÌDA SAVÒ      YÅS.  SÏ ÃÏNVÅÒÔ AND SÔÏÒÅ       ADA ½B60       ÊSB SÔÏÒB ÏÃÔ3  ÉSZ ÏÃÏNÔ     DÅÃÒÅMÅNÔ £ ÏÆ ÆÉÅÌDS       ÊMP ÏÃÔÏ      YÅÔ ÔÏ BÅ ÌÏÏKÅD AÔ. ÏÃÔ5  ÉSZ ÏÃÔÌ       ÊMP ÏÃÔÌ¬É ª   ÉMPÏÒÔANÔ!  'DP±' MUSÔ BÅ ADDÒÅSSÅD BY AN ÉNDÉÒÅÃÔ ª   ÔHÒÏUGH BASÅ PAGŬ BÅÃAUSÅ ÉNSÔÒUÃÔÉÏN ÒÅÆÅÒÅNÃÉNG ÉÔ ª   (SÅÅ UNDÅÒ 'ÏPAD'© ÉS MÏVÅD BY ABÏVÅ SUBÒÏUÔÉNÅ. DP±   DÅÆ PD± ÆÌG   NÏP SAVP  BSS ± SAVÑ  BSS ± SAVÒ  BSS ±       SKP ª  'ÏÒÃHK' ÃHÅÃKS ÉÆ ÔHÅ ÏÒÉGÉN ÏÆ ÔHÅ ÌASÔ ÏBÊÅÃÔ ÔAPÅ ª  ÌÏADÅD ÉS ÔHÅ SAMÅ AS AN AÌÒÅADY ÅØÉSÔÉNG ÏÒÉGÉN ÉN ª  ÔHÅ ×ÃS Ì.U. ÔABÌÅ. ÉÆ SϬ ÔHÅN ÏNÌY ÔHÅ Ì.U. £ ÏÆ ª  ÔHAÔ ÅNÔÒY ÉS ÃHANGÅD. ÉÆ NÏÔ¬ A NÅ× ÅNÔÒY ÉS ÃÒÅAÔÅD. ª  ª  ÃAÌÌÉNG SÅÑUÅNÃÅ: ª  ª     ÌDA <×ÃS ÌÏGÉÃAÌ UNÉÔ £¾ ª  ª     ÊSB ÏÒÃHK ª  ª  UPÏN ÒÅÔUÒN: ª  ª     ÅÉÔHÅÒ ÔHÅ Ì.U. £ ×ÉÌÌ HAVÅ BÅÅN ÃHANGÅD ª     ÏÒ A NÅ× ÅNÔÒY MADÅ ÉN ×ÃS Ì.U. ÔABÌÅ. ª  ÏÒÃHK NÏP       SÔA SAV´0     SAVÅ Ì.U. £.       ÌDB ÌUÔAD ÏÒÃH0 ÌDA ±¬É       DÏÅS ÏÒÉGÉN ÏÆ ÌASÔ ÔAPÅ       ÃPA ÏÒÉG      ÌÏADÅD MAÔÃH ANY ÉN ÔABÌÅ?       ÊMP ÏÒÃH6     YÅS.       ÃPA ½B0       NÏ. ÆÉNÉSH ÃHÅÃKÉNG AÌÌ ÅNÔÒÉÅS?       ÊMP ÏÒÃH¸     YÅS.       ÃPA ½B-±      NÏ. ÅND ÏÆ Ì.U. ÔABÌÅ?       ÊMP ÏÒÃH9     YÅS. ÔHÅN ÅÒÒÏÒ.       ADB ½B²       ÉNàÔÏ NÅØÔ ÅNÔÒY ÉN Ì.U. ÔABÌÅ.       ÊMP ÏÒÃH0     ÔÒY AGAÉN. ÏÒÃH6 ÉNB       ÌDA SAV´0     SÉMPÌY ÃHANGÅ Ì.U.£ ÔÏ ÌAÔÅSÔ.       SÔA ±¬É       ÊMP ÏÒÃHK¬É   ÒÅÔUÒN. ÏÒÃH¸ ÌDA ÏÒÉG      ADD NÅ× ÏÒÉGÉN AND Ì.U. £       SÔA ±¬É       ÔÏ Ì.U. ÔABÌÅ.       ÉNB       ÌDA SAV´0       SÔA ±¬É       ÊMP ÏÒÃHK¬É   ÒÅÔUÒN. ÏÒÃH9 ÊSB ÅÒÒÏÒ     PÒÉNÔ ÅÒÒÏÒ MÅSSAGÅ.       DÅÆ MÅS´5       DÅà±6       ÊMP A±        GÏ ÔÏ GÅÔ NÅØÔ ÃÏMMAND. SAV´0 BSS ±       SKP ª PÒÅPAÒÅ ÃÏMMAND MÏDUÌÅ ª  ª ÃAÌÌÉNG SÅÑUÅNÃÅ: ª                  ÌDA Ì.U. ª                  ÊSB PÒÅP ª  PÒÅPTNþú  NÏP           ÒÅÔUÒN ADDÒÅSS       ÌDB ÔÆÌG      DÉD USÅÒ'S ÏBÊÅÃÔ ÔAPÅ ÃÏMÅ       SZB¬ÒSS       ÆÒÏM MÉÃÒÏASSÅMBÌÅÒ?       ÊMP P00       YÅS.  SÏ ÏK.       ÊSB ÅÒÒÏÒ     NϬ ÔHÅN       DÅÆ MÅS3      ÉÌÌÅGAÌ       DÅภ        ÃÏMMAND.       ÊMP A± P00   ÉÏÒ ½B²0000   SÅÔ       SÔA ÃÏN×D     ÃÏNÔÒÏÌ ×ÏÒD.       ÃÌA           ÃÏMPUÔÅ       ÊSB ÃHÅÃK     ÃHÅÃKSUM.       ÌDB ABÆ3      ÃÏNVÅÒÔ       ÃÌŬÅÌB       ÔÏ ASÃÉÉ       ÊSB DÅÃMÌ     ¦ SAVÅ.       DÅà´       NÏP       ÊSB SPAÃÅ     SPAÃÅ.       ÊSB ÌÅADÒ     PUNÃH ÌÅADÅÒ       ÊSB SPAÃÅ     SPAÃÅ       ÊSB MSÏUÔ     PÒÉNÔ       DÅÆ MÅS±0       DÅà±5        HÅADÉNG.       ÊSB SPAÃÅ     SPAÃÅ.       ÊSB MSÏUÔ     GÅÔ       DÅÆ MÅS±±       DÅà±·        ÌÉNÅ ± P0    ÊSB MSÏUÔ       DÅÆ ÌÉNű     ÏÆ       DÅà´       ÊSB .ÉÏÃ.     É.D       ÏÃÔ ±0´0±       ÊMP ª-²       ÉNÆÏ.       DÅÆ ÉD±       DÅà-·²       ÊSB ×AÉÔ±       ÊMP P0       ÃMB¬ÉNB       SÅÔ       SÔB ª+´       ÃÏUNÔ       SÔB ÉD±+36       ÊSB PUNÃH     PUNÃH       DÅÆ ÉD±       ASÃÉÉ       NÏP           ÒÅÃÏÒD. P±    ÊSB MSÏUÔ     GÅÔ       DÅÆ ÌÉNŲ       DÅà´         ÌÉNÅ ²       ÊSB .ÉÏÃ.       ÏÃÔ ±0´0±     É.D.       ÊMP ª-²       DÅÆ ÉD²       ÉNÆÏ.       DÅà-·²       ÊSB ×AÉÔ±       ÊMP P±       ÃMB¬ÉNB       SÅÔ       SÔB ÉD²+36    ÃÏUNÔ       SÔB ª+3       ÊSB PUNÃH     PUNÃH       DÅÆ ÉD²       ASÃÉÉ       NÏP           ÒÅÃÏÒD. P²    ÊSB MSÏUÔ     GÅÔ       DÅÆ ÌÉNÅ3       DÅà´         ÌÉNÅ 3       ÊSB .ÉÏÃ.       ÏÃÔ ±0´0±     É.D.       ÊMP ª-²       DÅÆ ÉD3       ÉNÆÏ       DÅà-·²       ÊSB ×AÉÔ±       ÊMP P²       ÃMB¬ÉNB       SÅÔ       SÔB ÉD3+36    ÃÏUNÔ       SÔB ª+3       ÊSB PUNÃH     PUNÃH       DÅÆ ÉD3       ASÃÉÉ       NÏP           ÒÅÃÏÒD       ÊSB PUNÃH     PUNÃH       DÅÆ BÆ3       ÃHÅÃKSUM       DÅà-´       ÌDA PÒAM0       SÔA PÒAM       ÃÌA       ÌDB ½B±0      PÒÏÃÅSS BÉÔS P±0   ÊSB PÒÏà     ²3-²0       ÊSB ÌÅADÒ     I(640PUNÃH ÔÒAÉÌÅÒ       ÊSB SPAÃÅ     SPAÃÅ.       ÌDA PÒAM¬É    HAVÅ ×Å       SZA           PUNÃH       ÊMP ª+5      ÌASÔ ÔAPÅ?       ÊSB MSÏUÔ     YÅS¬PÒÉNÔ       DÅÆ MÅS±´     ÆÉNAÌ       DÅà±·        MÅSSAGÅ       ÊMP PÒÅP¬É    ÒÅÔUÒN       ÊSB MSÏUÔ     NϬPÒÉNÔ Õî6ÿÿ ÿý  ÿ12978-18022 1437 S 0122 0521MX BCS MICRO DEBUG EDITOR (WCS)             H0101 jþú       DÅÆ MÅS±²     NÅØÔ       DÅà±²        ÔAPÅ       ÌDA PÒAM      ÔÏ       SÔA ª+²       BÅ       ÊSB MSÏUÔ     GÅNÅÒAÔÅD       NÏP       DÅà3       ÉSZ PÒAM      BUMP       ÉSZ PÒAM      PAÒAMÅÔÅÒ       ÉSZ PÒAM      PÏÉNÔÅÒ.       ÌDA PÒAM¬É    PÉÃK UP MASK SHÉÆÔÅÒ.       ÊSB ÃHÅÃK     ÃÏMPUÔÅ ÃUÒÒÅNÔ ÃHÅÃKSUM       ÌDB ABÆ3      ÃÏNVÅÒÔ ÔÏ       ÃÌŬÅÌB       ÊSB DÅÃMÌ     ASÃÉÉ AND SAVÅ.       DÅà´       ÉSZ PÒAM      BUMP PAÒAMÅÔÅÒ ÔABÌÅ PÏÉNÔÅÒ       ÊSB SPAÃÅ     SPAÃÅ       ÊSB MSÏUÔ     ANY       DÅÆ MÅS±3       DÅà±´ P±±   ÊSB MSÏUÔ     ÉN       DÅÆ ÌN±       DÅà´         É.D.       ÊSB .ÉÏÃ.       ÏÃÔ ±0´0±     ÉNÆÏ       ÊMP ª-²       DÅÆ ÌÉNÅ       DÅà-3        ÌÉNÅ ±?       ÊSB ×AÉÔ±     ×AÉÔ ÆÏÒ ÒÅSPÏNSÅ.       ÊMP P±±       ÌDA ÌÉNÅ     ANS×ÅÒ       AND ½B±··´00       ÃPA ½B´·000   ÉS       ÊMP P3 P±²   ÊSB MSÏUÔ     YÅS¬       DÅÆ ÌÉNű       DÅà´         GÅÔ       ÊSB .ÉÏÃ.       ÏÃÔ ±0´0±     NÅ×       ÊMP ª-²       DÅÆ ÉD±       ÌÉNÅ       DÅà-·²       ÊSB ×AÉÔ±     ±.       ÊMP P±²       ÃMB¬ÉNB       SAVÅ       SÔB ÉD±+36    ÃHAÒAÃÔÅÒ ÃÏUNÔ P3    ÊSB ÌÅADÒ     PUNÃH ÌÅADÅÒ       ÌDB ÉD±+36       SÔB ª+3       PUNÃH       ÊSB PUNÃH       DÅÆ ÉD±       ÌÉNÅ       NÏP           ±. P·    ÊSB MSÏUÔ     ÃHANGÅ       DÅÆ ÌN²       DÅà´       ÊSB .ÉÏÃ.     ÉN       ÏÃÔ ±0´0±       ÊMP ª-²       DÅÆ ÌÉNÅ      ÌÉNÅ       DÅà-3       ÊSB ×AÉÔ±     ²?       ÊMP P·       ÌDA ÌÉNÅ       AND ½B±··´00       ÃPA ½B´·000       ÊMP P5        ± P´    ÊSB MSÏUÔ     YÅS¬       DÅÆ ÌÉNŲ       DÅà´         GÅÔ       ÊSB .ÉÏÃ.       ÏÃÔ ±0´0±     NÅ×       ÊMP ª-²       DÅÆ ÉD²       ÌÉNÅ       DÅà-·²       ÊSB ×AÉÔ±     3       ÊMP P´       ÃMB¬ÉNB       SÅÔ  ÃHAÒAÃÔÅÒ       SÔB ÉD²+36    ÃÏUNÔ. P5    ÌDB ÉD²+36       SÔB ª+3       ÊSB PUNÃH     PUNÃH       DÅÆ ÉD²       ASÃÉÉ       NÏP           ÒÅÃÏÒD. P6    ÊSB MSÏUÔ     ANY       DÅÆ ÌN3       DÅà´         ºþúÃHANGÅ       ÊSB .ÉÏÃ.       ÏÃÔ ±0´0±     ÉN       ÊMP ª-²       DÅÆ ÌÉNÅ      ÌÉNÅ       DÅà-3       ÊSB ×AÉÔ±     3?       ÊMP P6       ÌDA ÌÉNÅ       AND ½B±··´00       ÃPA ½B´·000       ÊMP P9 P¸    ÊSB MSÏUÔ     YÅS¬       DÅÆ ÌÉNÅ3       DÅà´         GÅÔ       ÊSB .ÉÏÃ.       ÏÃÔ ±0´0±     NÅ×       ÊMP ª-²       DÅÆ ÉD3       ÌÉNÅ       DÅà-·²       ÊSB ×AÉÔ±    3.       ÊMP P¸       ÃMB¬ÉNB       GÅÔ ÃHAÒAÃÔÅÒ       SÔB ÉD3+36    ÃÏUNÔ P9    ÌDB ÉD3+36       SÔB ª+3       ÊSB PUNÃH     PUNÃH       DÅÆ ÉD3       ASÃÉÉ       NÏP           ÒÅÃÏÒD.       ÊSB PUNÃH     PUNÃH       DÅÆ BÆ3       ÃHÅÃKSUM       DÅà-´       NÏP       ÃÌA           SÅÔ A-ÒÅG.       ÌDB PÒAM¬É    PÉÃK UP B-ÒÅG ÆÌAG.       ÉSZ PÒAM      BUMP PÏÉNÔÅÒ       ÊMP P±0       GÏ PÒÏÃÅSS       SKP ª  PÒÏÃÅSS  ÒÏUÔÉNÅ ª  PÒÏà NÏP       SÔB ÔMP90+±   SAVÅ MASK ÆÌAG       ÃÌB       SÔB ÃKSUM     ÃÌÅAÒ ÃHÅÃKSUM PÒ±   SÔA ÔMP90     SAVÅ A-ÒÅG       ÌDB ÔMP90+±       ÊSB SÅÔUP     SÅÔ UP       DÅÆ BUÆÒ±     BUÆÒ± ÆÏÒ ÏUÔPUÔ.       ÊSB PUNÃH     SÔAÒÔ       DÅÆ BUÆÒ±     PUNÃH ÏÆ       DÅà-´¸       BUÆÒ±.       ÌDA ÔMP90       ÃPA ½D²´¸     ÆÉNÉSHÅD?       ÊMP PÒÏìɠ   YÅS¬ÒÅÔUÒN       ADA ½D¸       NϬ BUMP A BY ¸.       SÔA ÔMP90     SAVÅ.       ÌDB ÔMP90+±   ÌÏAD MASK ÆÌAG       ÊSB SÅÔUP     GÏ SÅÔUP       DÅÆ BUÆÒ²     BUÆÒ² ÆÏÒ ÏUÔPUÔ.       ÊSB PUNÃH     SÔAÒÔ       DÅÆ BUÆÒ²     PUNÃH       DÅà-´¸       ÏÆ BUÆÒ²       ÌDA ÔMP90       ÃPA ½D²´¸     ÆÉNÉSHÅD?       ÊMP PÒÏìɠ   YÅS¬ ÒÅÔUÒN       ADA ½D¸       NϬ BUMP A BY ¸       ÊMP PÒ±       GÏ DÏ BUÆÒ±.       SKP ª ÔHÉS ÒÏUÔÉNÅ ÒÅADS ÃÏDÅ ÆÒÏM ×ÃS ª  ª ÃAÌÌÉNG SÅÑUÅNÃÅ: ª                   ÌDA Ì.U. ª                   ÊSB ÒÅAD ª  ÒÅAD  NÏP       SÔA SAV·6     SAVÅ Ì.U. £.       ÉÏÒ ½B±0000       SÔA ÒÅA0      ÃÏNÔÒÏÌ ×ÏÒD       ÃÌA¬ÉNA       SÅÔ ÔAPÅ ÆÌAG ÆÏÒ 'NÏ PÒÏM       SÔA ÔÆÌG      ÔAPÅS AÌÌÏ×ÅD'. ª  ª   NÏ× ÆÉND ÔHÅ SÔAÒÔÉNG ×ÃS ADDÒ ÆÏÒ ÔHAÔ ×þúª   Ì.U. £ AND SAVÅ ÉÔ ÆÏÒ PÏSSÉBÌÅ USÅ BY DUMP. ª        ÌDA SAV·6       ÊSB MÏDNM       ÃÌB       ÊSB ABSAD       SÔA ÏÒÉG ª  ª   NÏ× DÏ ÔHÅ ÒÅAD. ª        ÊSB .ÉÏÃ.     ÒÅAD ÒÅA0  NÏP       ÊMP ª-²       ÆÒÏM       DÅÆ BUÆUÒ       DÅà0         ×ÃS       ÌDA ½D-²56    SÅÔ       SÔA ÒÃNÔ       ÌDB HBASÅ     HÅADÅÒS       ÌDA ½D3²     ÔÏ       SÔA ±¬É       SHÏ×       ÉNB           ±6 ÒÅÃÏÒDS ÏÆ       ÉSZ ÒÃNÔ      ±6 ×ÃS ×ÏÒDS       ÊMP ª-3       ÅAÃH       ÊMP ÒÅAD¬É    ÒÅÔUÒN ÒÃNÔ  NÏP SAV·6 NÏP       SKP ª   'ÒÉÔÅ' ×ÒÉÔÅS A ²56-MÉÃÒÏÉNSÔÒUÃÔÉÏN- ª   ×ÏÒD BUÆÆÅÒ ÏUÔ ÔÏ ×ÃS. ª  ª   ÃAÌÌÉNG SÅÑUÅNÃÅ: ª  ª      ÌDA <Ì.U. £ ÏÆ ×ÃS ÔÏ BÅ ×ÒÉÔÔÅN ÔϾ ª  ª      ÊSB ÒÉÔÅ ª  ª  ÒÉÔÅ  NÏP       ÉÏÒ ½B²0000       SÔA ÒÉÔ0       ÌDB ½D5±²     MAKÅ SUÒÅ ÔHÅ PÒÏPÅÒ ADDÒÅSSÅS       ÃÌA           AÒÅ ÉN ÔHÅ MÉÃÒÏÉNSÔÒUÃÔÉÏNS.       ÊSB ADÒBÔ       DÅÆ BUÆUÒ ÒÉÔ±  ÊSB .ÉÏÃ. ÒÉÔ0  NÏP       ÊMP ª-²       DÅÆ BUÆUÒ       DÅà²56       ÊSB ×AÉÔ±       ÊMP ÒÉÔ±       ÊMP ÒÉÔÅ¬É       SKP ª   'SÅÒÃH' SÅAÒÃHÅS ÔHÅ ÒÅGÉSÔÅÒ ÔABÌÅ ÆÏÒ ÔHÅ ª   MNÅMÏNÉàMAÔÃHÉNG ÔHÅ ÏNÅ ×HÏSÅ ×HÏSÅ SÔAÒÔÉNG BYÔÅ ª   ADDÒÅSS ÉS ÉN B ÒÅG ÏN ÅNÔÒY. ª  ª   ÃAÌÌÉNG SÅÑUÅNÃÅ: ª      ÌDB  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 * * * * * * * * * * * * * * * * * * * * * * * HED BASIC I/O ö0.*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/ * * SKP ì'0ÿÿ ÿý  ÿ12984-18002 1611 S 0146 2767 DIAGNOSTIC              H0101 ûþú* 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 CPB Z.77 ÈPþú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 CLF INTP TURN OFF ONTPS ZBS72 þúSFS CH 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 * * * * * * * * * * * * * * * * * * * * * * * SKP 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 JMP ZBIO,I RETURN TO CALLER * ZBI70 NOP CONTROL FAILED CLF INTP TURN OFF INTPS INA JMP ZB70 * 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 08,H025 BI-O COMP/ SKP 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 DEF ZBS42 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 * * * * * * * * * * * * * * * * * * * * * * * * * * HED OPERmþúATOR DESIGN SECTION * OPERATOR DESIGN SECTION * ORG 4000B OPDSN NOP LDA 112B CHECK FOR CONSOLE DEVICE SZA,RSS JMP OPDSN,I NO SO DONT DO OPDSN JSB .FMT TELL OP HE'S IN OPDSN DEF MSG1 LDA SUPA SET STA PRPLA LAST STATEMENT ADDRESS CLA CLEAR STA SUPA,I SOURCE STATEMENT FILE STA DBC USER BUFFER * IRQ JSB .FMT OUTPUT @ DEF .MSG1 JSB GIFO GET INPUT FROM OPERATOR JSB GETB GET INPUT BLOCK JMP INER NO INPUT SEZ,RSS IF IT'S ASCII JMP PCMD IT'S A COMMAND STA TMP SAVE IT SZA,RSS IF IT'S A ZERO JMP INER THEN IT'S AN ERROR SSA IF NEG THEN ERROR JMP INER LDA MXNM CHECK FOR MAX NUMBER CMA ADA TMP SSA,RSS IF OVER 999 JMP INER THEN ERROR JSB GETB GET STATEMENT TYPE JMP DLL DELETE LINE SEZ SHOULD BE ASCII JMP INER NO-SO ERROR SKP JSB FNDST FIND STATEMENT TYPE JMP INER NOT FOUND STA SVB STB TMP+1 ALF,ALF INPRN AND .177 CPA AA IS IT ASCII? JMP TAA YES CPA AI IS IT INTEGER? JMP TAI YES CPA AK IS IT OCTAL? JMP TAK YES JMP INPRC-1 * TAA JSB GETB GET NEXT BLOCK JMP INPRC-1 NO MORE DATA SEZ IS IT ASCII JMP INER NO - THEN ERROR JMP INPRC OK * TAI JSB GETB GET NEXT BLOCK JMP INPRC-1 NO MORE DATA SEZ,RSS IS IT A NUMBER JMP INER NO - THEN ERROR JMP INPRC OK * TAK JSB GETB GET NEXT BLOCK JMP INPRC-1 NO MORE DATA SEZ,RSS IS IT A NUMBER JMP INER NO - THEN ERROR LDA B OK JMP INPRC CLA NO DATA SO MAKE IT¥þú ZERO * INPRC LDB SVB SZB STA TMP+2 SZB,RSS STA TMP+3 LDA SVB IS THIS FIRST PRAM SZA,RSS ? JMP *+4 CLB STB SVB JMP INPRN SKP * PUT STATEMENT IN QUE * SYNTX RSS (BAY BE OVERLAYED BY JSB) JMP INER JSB FNDLN FIND LINE NUMBER JMP INSTR NOT FOUND ISZ PRPTR FOUND IT LDA TMP+1 JUST REPLACE IT STA PRPTR,I JUST REPLACE IT LDA TMP+2 JUST REPLACE IT ISZ PRPTR JUST REPLACE IT STA PRPTR,I JUST REPLACE IT LDA TMP+3 JUST REPLACE IT ISZ PRPTR JUST REPLACE IT STA PRPTR,I JUST REPLACE IT JMP IRQ ASK FOR MORE * INSTR LDA PRPLA CHECK ADA .5 TO CMA,INA SEE IF ADA EUPA QUEUE FULL SSA,RSS ? JMP .STR NO - OK STORE IT JSB .FMT YES TELL OPERATOR DEF MSG4 JMP IRQ MSG4 ASC 6,QUEUE FULL/ * .STR LDA TMP MOVE LINE NUMBER LDB PRPTR,I INTO PLACE STA PRPTR,I SZA,RSS IF NUMBER=0 THEN JMP SVLA SAVE LAST ADDRESS STB TMP ELSE ISZ PRPTR MOVE BLOCK LDA TMP+1 IN LDB PRPTR,I TO END STA PRPTR,I OF STB TMP+1 PROGRAM ISZ PRPTR LDA TMP+2 LDB PRPTR,I STA PRPTR,I STB TMP+2 ISZ PRPTR LDA TMP+3 LDB PRPTR,I STA PRPTR,I STB TMP+3 ISZ PRPTR JMP .STR SKP * FIND STATEMENT * FNDST NOP STA SVA SAVE TYPE STB SVB "" LDB STTBD STATEMENT TABLE DEF FNDSL LDA B,I CPA .M2 END OF STANDARD TABLE RSS YES JMP *+3 LDB STUD GET STANDARD USER TABLE JMP FNDSL TRY IT CPA .M1 IS IT THE TERMINATOR JMP FNDST,I YES - NOT FOUND CPA SVA IS IT THÌÓ*($IS CHARACTER JMP *+3 YES ADB .4 NO - MOVE TO NEXT STATEMENT JMP FNDSL AND TRY IT INB MOVE TO SECOND CHARACTERS LDA B,I CPA SVB DO THESE COMPARE JMP *+3 YES ADB .3 NO - MOVE TO NEXT STATEMENT JMP FNDSL AND TRY IT ISZ FNDST FOUND - ADJUST RETURN INB LDA B,I RETRIEVE PARAMETER TYPES INB AND PROCESSOR POINTER JMP FNDST,I * * * FIND LINE NUMBER IN QUE =TMP * FNDLN NOP LDB SUPA START AT FIRST STATEMENT STB PRPTR LDA B,I SZA,RSS IF ZERO JMP FNDLN,I THEN NOT FOUND CMA,INA ADD THE TWO ADA TMP NUMBERS SZA,RSS IF EQUAL JMP *+5 THEN FOUND SSA IF IT GOES NEG. JMP FNDLN,I THEN NOT FOUND ADB .4 TRY NEXT STATEMENT JMP FNDLN+2 ISZ FNDLN JMP FNDLN,I SKP * GET INFORMATION FROM OPERATOR * GIFO NOP LDA .D72 INPUT COUNT LDB IBUFD JSB SLIN,I GET INPUT FROM OPERATOR SZA,RSS WAS THERE ANY INPUT JMP *-4 NO - SO ASK AGAIN CPA .D72 DO I NEED A CR-LF? RSS JMP *+4 NO CLA YES JSB SLOP,I LDA .D72 RESTORE COUNT 2§*ÿÿ ÿý  ÿ12984-18003 1611 S 0146 2767 DIAGNOSTIC              H0101 üþú LDB IBUFD * RBL * STB IBUFP * ADD CR TO ADB A * LDA .15 * END OF BUFFER JSB A2BUF * JMP GIFO,I RETURN TO CALLER * * * * * * * * * * SKP * GET A CHARACTER FROM INPUT BUFFER * GETC NOP LDB IBUFP JSB BUF2A CPA .15 IF CR RETURN P+1 JMP GETC,I YES ISZ IBUFP MOVE POINTER TO NEXT CHARACTER ISZ GETC ADJUS GOOD RETURN P+2 JMP GETC,I RETURN * * BUF2A NOP CLE,ERB E _ UPPER LOWER FLAG LDA B,I 2CHR TO AREG SEZ,RSS UPPER OR LOWER? ALF,ALF UPPER AND .177 MASK UNWANTED CHARACTER JMP BUF2A,I RETURN. * * A2BUF NOP STA GETC SAVE CHARACTER SLB,INB OPPSITE ADB .M2 CHARACTER JSB BUF2A ALF,ALF IOR GETC ADD NEW CHARACTER SEZ SHOULD IT BE SWAPPED? ALF,ALF YES STA B,I STORE IT JMP A2BUF,I * * PUTC NOP AND .177 MASK UPPER BITS SZA,RSS IF IT'S ZERO JMP PUTC,I DON'T PUT IN BUFFER LDB IBUFP GET ADDRESS JSB A2BUF PUT CHATACTER IN BUFFER ISZ IBUFP MOVE TO NEXT CHARACTER JMP PUTC,I RETURN TO CALLER * * * * * SKP * GET INPUT BLOCK FROM INPUT BUFFER * GETB NOP CLA CLEAR PARAMETERS STA AIN STB BIN JSB GETC GET A CHARACTER JMP GETB,I NO DATA CPA SPC CHECK IF IT'S A SPACE JMP GETB,I YES SKIP IT ISZ GETB ADJUST RETURN CPA MINUS IF IT'S NEG SIGN JMP NUMIN+1 THEN PROCESS AS A NUMBER JSB DGCK IF IT'S A NUMBER JMP NUMIN THEN PROCESS AS A NUMBER CLB STB SVA JSB GETA CONVERT 2 CHARACTERS STA AIN SAVE IT LDA SVA CHECK L±þúIF SPACE HAS BEEN SZA,RSS ? JSB GETC NO GET NEXT CHARACTER LDA SPC NO DATA USE SPACE CPA SPC IS IT A SPACE? STA SVA YES SET FLAG JSB GETA CONVERT NEXT 2 CHARACTERS STA BIN SAVE IT LDA SVA CHECK FOR SAPC SZA ? JMP *+6 JSB GETC MOVE TO NEXT SPACE LDA SPC NO DATA USE SPACE CPA SPC SPACE? RSS YES JMP *-4 NO GET NEXT CHARACTER CLE INDICATE ASCII LDA AIN RETRIEVE CHR LDB BIN JMP GETB,I RETURN * * GETA NOP STA BIN LDA SVA SZA,RSS JSB GETC LDA SPC CPA SPC STA SVA ALF,ALF IOR BIN ALF,ALF JMP GETA,I SKP NUMIN CCB,RSS INDICATE POSITIVE CLB INDICATE NEGATIVE STB NFLG SAVE FLAG ADB IBUFP MOVE POINTER BACK IF NECESSARY CLE,ERB SET UPPER LOWER FLAG CLA CALL FOR INTEGER JSB AS2N,I CONVERT IT STA AIN SAVE IT LDB NFLG ADB IBUFP CLE,ERB CCA CALL FOR OCTAL JSB AS2N,I CONVERT IT STA BIN SAVE IT LDA AIN RETRIEVE LDB BIN NUMBERS ISZ NFLG WAS A NEG ENTERED? RSS JMP *+3 NO CMA,INA YES CMB,INB STA AIN SAVE NUMBER STB BIN JSB GETC GET NEXT CHARACTER LDA SPC NO DATA USE SPACE CPA SPC READ TO NEXT SPACE RSS JMP *-4 NO MOVE TO NEXT ONE CCE INDICATE IT'S A NUMBER LDA AIN RETRIEVE PRAMETERS LDB BIN JMP GETB,I RETURN AIN NOP BIN NOP NFLG NOP * * CHECK IF AREG = DIGIT * DGCK NOP STA BUF2A SAVE CHARACTER ADA .M60 ADD -60 OCTAL SSA SHOULD STILL BE POÃÈþúS.? ISZ DGCK NO - NOT A DIGIT ADA .M10 ADD -10 SSA,RSS SHOULD GO NEG? ISZ DGCK NO - ADJUST RETURN LDA BUF2A RETRIEVE CHARACTER JMP DGCK,I RETURN SKP * SELECT FAST OR SLOW OUTPUT DEVICE * PDVC NOP LDA JSBSD CPB AP CHECK IF LINE PRINTER? INA YES LDB 113B CHECK IF THERE IS A FAST DEVICE SZB,RSS ? LDA JSBSD NO STA FDF JMP PDVC,I RETURN * * * * OUTPUT TO FORMATTER * .FMT NOP LDB .FMT,I GET ADDRESS ISZ .FMT ADJUST RETURN CLA,CLE INDICATE STARTING FORMAT JSB FMTR,I GO TO FORMATTER JMP .FMT,I RETURN * * * * * SKP * PROGRAM COMMAND * PCMD CPA ABY EXIT OPDSN? JMP OPDSN,I EXIT CPA ALF LIST SOURCE FILE JMP PLF YES CPA ACF CLEAR SOURCE FILE? JMP PCF YES CPA ADB DEFINE BUFFER? JMP PDB YES CPA ALB LIST BUFFER? JMP PLB YES CPA ACB CLEAR BUFFER? JMP PCB YES CPA AGO START EXECUTION? JMP PGO YES * CMDL NOP (MAY BE OVERLAYED BY A JSB) RSS JMP IRQ * INER JSB .FMT INPUT ERROR DEF MSG2 JMP IRQ TRY AGAIN MSG1 ASC 3,OPDSN/ .MSG1 ASC 1,@_ *THIS "*" PREVENTS LF SUPPRESSION MSG2 ASC 6,INPUT ERROR/ SKP * LIST PROGRAM * PLF JSB PDVC CHECK FOR FAST DEVICE LIST LDA SUPA SET STARTING OF LIST STA PRPTR POINTER PLFL LDA PRPTR,I CHECK TO PRINT STATEMNET SZA,RSS IS IT THE END OF LIST JMP IRQ YES LDB SW9 CHECK TO JSB SWRT,I ABORT LIST JMP IRQ YES CCB CONVERT AND ADB IBUFD PACK CLE STATEMENT JSB I2AS,I ÚÙþú NUMBER LDB IBUFD ADD NUMBER TO POINTER ADB .2 RBL STB IBUFP LDA SPC PUT SPACE IN BUFFER JSB PUTC ISZ PRPTR LDA PRPTR,I * ISZ PRPTR * ADA .M1 * LDB A,I * GET PRAM TYPES STB SVB * SAVE PRAM TYPES ADA .M1 * LDB A,I * STB TMP+3 * ADA .M1 * LDA A,I * AND STATEMENT STA TMP+2 * SAVE STATEMENT ALF,ALF * JSB PUTX * PUT STATEMENT TYPE LDA TMP+2 * IN JSB PUTX * BUFFER LDA TMP+3 * AND SECOND CHATACTERS ALF,ALF JSB PUTX * LDA TMP+3 * JSB PUTX * JMP *+7 * PUTX NOP AND .177 CPA SPC IF IT'S A SPACE JMP *+3 SKIP IT JSB PUTC PUT IT IN BUFFER JMP PUTX,I TRY NEXT CHARACTER LDA SPC ADD SPACE TO BUFFER JSB PUTC SKP LDA SVB RETRIEVE PRMS TYPES ALF,ALF MOVE TO FIRST PARAMETER PLFP LDB PRPTR,I CHECK IF NO PARAMETER SZB,RSS ? JMP PLFC NO SO DON'T PROCESS IT AND .177 CPA AA IS IT ASCII? JMP PAA YES CPA AI IS IT INTEGER? JMP PAI YES CPA AK IS IT OCTAL? JMP PAK YES JMP PLFC TYPE NOT FOUND SO SKIP IT * PAA LDA PRPTR,I GET CHARACTERS ALF,ALF JSB PUTC FIRST ONE TO BUFFER LDA PRPTR,I AND .177 SKIP IF SPACE CPA SPC RSS JSB PUTC SECOND ONE TO BUFFER JMP PLFC * PAI LDA PRPTR,I CLB SSA,RSS IF POS CCB MOVE BUFFER POINTER BACK ONE ADB IBUFP STB IBUFP CLE,ERB JSB I2AS,I * PAE LDA IBUFP ADA .6 STA IBUFP JMP PLFC * PAK LDA PRPTR,I LDB IBUFP CLE,ERB «þú JSB O2AS,I JMP PAE SKP PLFC ISZ PRPTR MOVE TO NEXT PARAMETER LDA SPC ADD SPACE TO BUFFER JSB PUTC LDA SVB SZA,RSS JMP *+4 CLB STB SVB JMP PLFP LDA IBUFP DETERMINE BUFFER COUNT LDB IBUFD * RBL * CMB,INB * ADA B * LDB IBUFD JSB DVIC OUTPUT BUFFER JMP PLFL DO NEXT INSTRUCTION SKP * DELETE A LINE * DLL JSB FNDLN FIND IT JMP IRQ NOT FOUND ADB .4 PDLL LDA .M4 SET COUNT FOR COMPARE STA TMP PDLL0 LDA B,I MOVE NEXT LINE UP STA PRPTR,I ISZ PRPTR INB ISZ TMP TIME FOR A COMPARE JMP PDLL0 NO LDA B,I YES CHECK FOR END OF LIST SZA ? JMP PDLL NO STA PRPTR,I CLEAR LAST STATEMENT SVLA LDA PRPTR SAVE LAST STATEMENT ADDRESS STA PRPLA JMP IRQ * * * CLEAR SOURCE FILE * PCF CLA STA SUPA,I LDA SUPA JMP SVLA+1 SKP * PROCESS GO * PGO NOP (MAY BE OVERLAYED BY A JSB) LDA GSPTS CLEAR GO SUB TABLE STA GSPTR LDB SUPA START AT BEGINNING STB PRPTR LDA PRPTR,I STA TMP PGOL1 ISZ PRPTR LDA PRPTR,I LDA A,I STA TMP+1 POINTER TO ROUTINE ISZ PRPTR LDA PRPTR,I STA TMP+2 PARAM A ISZ PRPTR LDA PRPTR,I STA TMP+3 PARAM B ISZ PRPTR LDA TMP STA CULN SAVE CURRENT LINE NUMBER SZA,RSS JMP IRQ CLA ALTER JSB INST STA CRJSB IN CHECK FOR READY JSB CFR GO WAIT UNTIL READY LDA JSBFF RESTORE INSTR TO STA CRJSB DO FORM FEED WHEN READY LDA PRPTR,I STA TMP NEXT LINE NUMBER LDA TMP+2 GET PARAM A LDB TMP+3 GET w$þúPARAM B JSB TMP+1,I GO TO ROUTINE CLA NO LINE CHANGE LDB SW9 CHECK FOR ABORT JSB SWRT,I JMP IRQ SZA,RSS CHECK FOR LINE CHANGE JMP PGOL1 NO STA TMP JSB FNDLN JMP OPLNE LINE NUMBER NOT FOUND JMP PGOL1 FOUND * * OPLNE JSB .FMT OUTPUT NO LINE NO. DEF OPLMD OPLNN JSB .FMT OUTPUT LINE # DEF OPLND LDB CULN CURRENT LINE NUMBER OPLN. CLA,INA JSB FMTR,I JMP IRQ RETURN TO OPERATOR OPLMD ASC 3,LINE?_ *THIS "*" PREVENTS LF SUPPRESSION OPLND ASC 5, (LINE #)/ SKP * DEFINE BUFFER * PDB STB TMP SAVE TYPE LDA B CPA AIK INSERT? JMP DBI YES CPA AIA JMP DBI YES CPA ARK REPLACE? JMP DBR YES CPA ARA JMP DBR YES JMP DBBC GIVE OPERATOR BUFFER COUNT * * DBIN NOP JSB DBN GET FIRST NUMBER STA TMP+1 SAVE IT JSB DBN GET SECOND NUMBER STA TMP+2 SAVE IT SZA,RSS IF IT'S NOT ZERO JMP DBIN,I CMA,INA CHECK FRST < SEC ADA TMP+1 SSA,RSS JMP INER JSB GETB EMPTY BUFFER JMP DBIN,I JMP *-2 * * DBN NOP JSB GETB GET A BLOCK OF DATA CLA,CCE NO INPUT SO FAKE IT SEZ,RSS IF IT'S ASCII JMP INER THEN ERROR SSA IF IT'S NEGATIVE JMP INER THEN ERROR SZA,RSS IF ZERO JMP DBN,I RETURN LDB DBC CHECK AGAINST BUFFER COUNT CMB ADB A SSB IF LESS THAN COUNT JMP DBN,I OK JMP INER NO THEN ERROR SKP * CLEAR BUFFER * PCB JSB DBIN GET ANY PARAMETERS LDA TMP+1 CHECK IF DELETE ALL SZA ? JMP *+3 STA DBC YES CLEAR COUNT JMP DBBC 2dþú JSB CLSE NO CLOSE UP AREA JMP DBBC * * * REPLACE * DBR JSB DBIN GET ANY PARAMETERS LDA TMP+1 CHECK, IF SZA,RSS ZERO? JMP INER IF SO THEN ERROR JSB CLSE CLOSE AREA THATS REPLACED JMP DBI. GOTO INSERT SECTION * * * OUTPUT BUFFER COUNT * DBBC JSB .FMT OUTPUT BUFFER COUNT DEF DBBCM LDB DBC JMP OPLN. DBBCM ASC 4,BF CT #/ SKP * CLOSE UP BUFFER * CLSE NOP ADA .M1 BACK UP ONE STA TMP+1 FOR INSERT LDB TMP+2 CHECK FOR SECOND SZB NUMBER JMP *+4 YES LDB A NO- THEN USE FIRST+1 INB STB TMP+2 SAVE IT CMB,INB * ADB A * CORRECT BUFFER ADB DBC * COUNT STB DBC * LDB TMP+2 SET ADDRESSES ADB DBD ADA DBD STA TMP+3 CLSE1 JSB DBENC LAST ADDRESS? JMP CLSE2 YES LDA B,I MOVE DATA STA TMP+3,I ISZ TMP+3 INB LDA B JMP CLSE1 NO MOVE NEXT WORD CLSE2 LDA TMP+3 JSB DBENC LAST ADDRESS? JMP CLSE,I CLA STA TMP+3,I ISZ TMP+3 MOVE TO NEXT ADDRESS JMP CLSE2 * DBENC NOP CMA IS A> ADA DBE END OF BUFFER SSA,RSS ? ISZ DBENC YES JMP DBENC,I SKP DBI JSB DBIN GET ANY PARAMETERS LDA TMP+1 CHECK IF INSERT SZA,RSS AFTER END OF BUFFER LDA DBC YES STA TMP+1 DBI. LDA TMP+1 IF NO LINE ADA DBD ADD ADDRESS STA TMP+1 SAVE IT JSB DBENC IS BUFFER FULL JMP DBBF YES JSB GIFO CALL FOR INPUT DBI0 LDA TMP+1 STA TMP+2 LDA TMP+1,I SAVE CURRENT CONTENTS STA TMP+3 JSB GTI GET INPUT LDB A LDA DBC ADA DBD _50.* JSB DBENC IS BUFFER FULL? JMP DBBF STB TMP+1,I STORE IT ISZ TMP+1 MOVE UP ADDRESSES DBI1 ISZ TMP+2 LDA TMP+2 JSB DBENC LAST ADDRESS? JMP DBI2 YES LDB TMP+3 MOVE REST OF BUFFER LDA TMP+2,I DOWN STB TMP+2,I STA TMP+3 JMP DBI1 NO MOVE MORE DBI2 ISZ DBC ADD ONE TO COUNT JMP DBI0 NO DBBF JSB .FMT YES TELL OPERATOR DEF DBFLM JMP DBBC EXIT DBFLM ASC 6,BUFFER FULL/ SKP * GET INPUT * GTI NOP LDA TMP DOES HE WANT AND .177 CPA AA ASCII? JMP GTI0 YES JSB GETB GET A BLOCK JMP DBDNE ASK IF DONE SEZ IF IT'S ASCII DONT SWAP A&B LDA B JMP GTI,I GTI0 JSB GETC GET A CHARACTER JMP DBDNE ASK IF DONE JMP GTI,I DBDNE JSB .FMT OUTPUT DONE? DEF DNEM JSB GIFO CALL FOR INPUT JSB GETB GET ANSWER JMP DBDNE NO INPUT CPA AYE YES JMP DBBC ”0ÿÿ ÿý  ÿ12984-18004 1611 S 0146 2767 DIAGNOSTIC              H0101 ýþú CPA ANO NO JMP *+2 JMP DBDNE NO ASK AGAIN. JSB GIFO CALL FOR ANOTHER INPUT JMP GTI+1 DNEM ASC 3,DONE?_ *THIS "*" PREVENTS LF SUPPRESSION ANO ASC 1,NO AYE ASC 1,YE SKP PLB JSB PDVC CHECK FOR FAST DEVICE LIST LDA DBC IS BUFFER EMPTY SZA,RSS ? JMP DBBC YES JSB DBIN GET ANY PARAMETERS LDA TMP+1 IF FIRST = ZERO SZA JMP *+5 INA DO ALL OF BUFFER STA TMP+1 LDA DBC STA TMP+2 LDB TMP+2 IF SEC = ZERO SZB,RSS LDB A USE INPUT COUNT STB TMP+2 SKP DBL0 LDA FDF ERA CLA LDB DBLFM GET FORMAT JSB FMTR,I CLA,INA LDB TMP+1 OUTPUT PARAMETER JSB FMTR,I LDA .M4 SET MAX LINE NUM. CNT STA TMP+3 DBL1 LDA FDF NO OUTPUT OCTAL LISTING ERA CLA LDB DBLO JSB FMTR,I CCA LDB TMP+1 ADB DBD ADB .M1 LDB B,I JSB FMTR,I LDB SW9 CHECK FOR ABORT JSB SWRT,I JMP DBL2 ISZ TMP+1 LDA TMP+1 CMA,INA ADA TMP+2 SSA JMP DBL2 OUTPUT COMPLETE ISZ TMP+3 JMP DBL1 CLA JSB DVIC JMP DBL0 DBL2 CLA JSB DVIC JMP DBBC DBLFM DEF *+1 ASC 2,(#)_ *THIS PREVENTS LF SUPPRESSION DBLO DEF *+1 ASC 2, #_ SKP * WAIT FOR OPERATOR * WAP NOP JSB .FMT OUTPUT MESSAGE DEF WAPM LDB CULN WITH CURRENT LINE NUMBER CLA,INA JSB FMTR,I WAPL JSB GIFO CALL FOR INPUT LDA IBUFD,I CHECK IF "CO" CPA ACO ? JMP WAP,I CONTINUE CPA AST STOP JMP IRQ YES JSB .FMT TELL OPERATOR OF ERROR DEF MSG2 JMP WAPL AND TRY AGAIN * WAPM ASC 7,WAIT (LINE #)/ * * Qþú * * PROCESS GO TO STATEMENT * GTP NOP ISZ GTP ADJUST RETURN FOR LINE CHANGE JMP GTP,I SKP * PROCESS GOSUB * GSP NOP ISZ GSPTR MOVE TO NEXT BLOCK STB SVB SAVE REP COUNT LDB GSPTR CHECK CMB,INB IF THERE IS ADB GSPTE ROOM SSB ? JMP GSPE NO - SO ERROR LDB PRPTR SAVE PROGRAM POINTER STB GSPTR,I LOCATION ISZ GSPTR LDB SVB GET REP COUNT SZB,RSS INB SSB,RSS IF NOT NEG. CMB,INB MAKE IT NEG STB GSPTR,I ISZ GSP ADJUST RETURN FOR LINE CHANGE JMP GSP,I GSPTR NOP GSPTS DEF GSPB GSPTE DEF GSPB+30 GSPB BSS 32 * GSPE JSB .FMT DEF GSPEM JMP OPLNN GSPEM ASC 3,GS OV_ *THIS PREVENTS LF SUPPRESSION SKP * PROCESS RTN STATEMENT * RTP NOP LDA GSPTR CHECK IF THERE HAS CPA GSPTS BEEN A GOSUB JMP OPLNE NO - THEN ERROR ISZ GSPTR,I FINISHED WITH LOOP JMP RTPN NO LDA GSPTR YES ADA .M2 MOVE POINTER BACK TWO STA GSPTR INA RESET LINE NUMBER LDA A,I STA PRPTR LDA PRPTR,I STA TMP JMP RTP,I RTPN CCA ADA GSPTR LDA A,I ADA .M2 LDA A,I ISZ RTP ADJUST RETURN FOR LINE CHANGE JMP RTP,I SKP * OUTPUT A MESSAGE * MSP NOP STA MSPM+2 LDA .4 LDB MSPM JSB SLOP,I JMP MSP,I MSPM DEF *+1 ASC 2,* XX * * * PROCESS DELAY STATEMENT * DTP NOP SZA IF IT'S ZERO FORGET IT JSB TMRR,I GO WAIT JMP DTP,I NOW RETURN TO CALLER * * * TEST EXECUTION * TEP NOP CMA MAKE IT NEG. STA TEPA SAVE IT LDB TSTP GET POINTER TO TEST LIST TEP0 LDA B,I GET ADDRESS þú CPA .M1 IS IT THE TERMINATOR JMP TEP,I YES - EXIT INB ISZ TEPA IS THIS THE TEST? JMP TEP0 NO TRY NEXT ONE CPA OPNO IF IT'S OPDSN THEN FORGET IT JMP PSTOP+1 JSB A,I YES - EXICUTE IT JMP TEP,I RETURN TO CONTROL OPNO DEF OPDSN TEPA EQU * * * * STOP EXECUTION * PSTOP NOP JSB .FMT OUTPUT STOP MESSAGE DEF STPM JMP OPLNN STPM ASC 3,STOP_ SKP STTBP EQU * * ASC 2,WAIT ASC 1, DEF WAP * ASC 2,GOTO ASC 1,I DEF GTP * ASC 2,GOSB ASC 1,II DEF GSP * ASC 2,RTN ASC 1, DEF RTP * ASC 2,MSG ASC 1,A DEF MSP * ASC 2,DLY ASC 1,I DEF DTP * ASC 2,TEST ASC 1,K DEF TEP * ASC 2,STOP ASC 1, DEF PSTOP * DEC -2 SKP MXNM DEC 9999 * AA OCT 101 AI OCT 111 AK OCT 113 AP ASC 1,P AIK ASC 1,IK AIA ASC 1,IA ARK ASC 1,RK ARA ASC 1,RA ACB ASC 1,CB ABY ASC 1,BY ALB ASC 1,LB ALF ASC 1,LF ACF ASC 1,CF AGO ASC 1,GO ADB ASC 1,DB ACO ASC 1,CO AST ASC 1,ST * MINUS OCT 55 SPC OCT 40 SVA NOP SVB NOP PRPTR NOP PRPLA NOP * IBUFP NOP IBUFD DEF IBUF NOP IBUF BSS 37 * STTBD DEF STTBP * DVIC NOP FDF NOP JMP DVIC,I JSBSD JSB SLOP,I SKP ORG 1752B .2 OCT 2 .3 OCT 3 .4 OCT 4 .5 OCT 5 .6 OCT 6 .15 OCT 15 .177 OCT 177 .D72 DEC 72 .M1 DEC -1 .M2 DEC -2 .M3 DEC -3 .M4 DEC -4 .M10 DEC -10 .M60 OCT -60 SW9 OCT 1000 S128 OCT 10400 DBC NOP CULN NOP * * TMP NOP LINE NUMBER NOP POINTER TO STATEMENT TABLE NOP PRAM A NOP PRAM B HED BASE PAGE LINKS AND CONSTANTS ORG 126B DSN OCT 105101 DIAGNOSTIC SERIAL NUMBER mŽþúORG 140B IOIP DEF IOID POINTER TO I/O INSTRUCTIONS TSTP DEF TSTD POINTER TO TESTS HDMP DEF HDMS POINTER TO HEADER MESSAGE STDA OCT 37 STANDARD TEST RUN STDB OCT 0 * ORG 150B HDMS EQU * ASC 11,2767 L.P. DIAGNOSTIC/ IOID EQU * DEF CLSC DEF A2LP0 DEF A2LP1 DEF A2LP2 DEF A2LP3 DEF SCPS DEF SRPS DEF CFRSC DEF MNCS1 DEF MNCS2 DEC -1 * TSTD EQU * DEF TST.0 BASIC I/O DEF TST01 MANUAL CONTROL TEST DEF TST02 PAPER HANDLING DEF TST03 ILLEGAL OPERATIONS DEF TST04 ALLIGNMENT DEF OPDSN DEC -1 * TST.0 NOP CLA OUTPUT 0 TO L.P. CLSC OTA LP JSB *+2,I GO DO BASIC I/O JMP TST.0,I DEF TST00 BASIC I/O SKP FWAA EQU 6000B LP EQU 10B D40 DEC 40 D80 DEC 80 D90 DEC 90 D1000 DEC 1000 DM20 DEC -20 DM30 DEC -30 DM31 DEC -31 DM40 DEC -40 DM55 DEC -55 DM60 DEC -60 DM80 DEC -80 DM90 DEC -90 .12 OCT 12 .13 OCT 13 .14 OCT 14 .40 OCT 40 .90 DEC 90 .140 OCT 140 .77 OCT 77 A$ OCT 44 AE OCT 105 AM OCT 115 AZ OCT 132 AUB ASC 1,UB CNTR NOP TEMP NOP SKP SUPA EQU FWAM START OF USER PROGRAM AREA EUPA EQU LWAM END OF USER PROGRAM AREA STUD DEF STUDD START OF USER STATEMENT TABLE DBD DEF USBF START USER BUFFER DBE DEF USBF+99 END OF USER BUFFER INTLP NOP CLA,INA DISABLE TIMMING CHECKS STA TMFLG CPB AT DOES HE WANT TIMMING JSB CFR YES CHECK FOR READY AND ISSUE FF JMP INTLP,I RETURN AT ASC 1,T * SYN NOP LDA TMP+1 IS THIS A CHARACTER OUTPUT CPA DOCP ? JMP *+3 YEP SYNE ISZ SYN NO ADJUST RETURN JMP SYN,I RETURN LDA TMP+2 YES IS IT A BUFFER OUTPUT CPA AUB ? JMP SYNE YES ALF,ALF ›Dþú AND .177 CPA A$ IS IT A $? JMP SYNE YES JMP SYN,I NO RETURN TO ERROR * DOCP DEF OCP * BP1 EQU * * ORG SYNTX JSB SYN * ORG PGO JSB INTLP SKP ORG ZCEND * STUDD EQU * * ASC 2,SR ASC 1, DEF SRP * ASC 2,SC ASC 1,KI DEF SCP * ASC 2,LF ASC 1, DEF LFP * ASC 2,CR ASC 1, DEF CRP * ASC 2,FF ASC 1, DEF FFP * ASC 2,OC ASC 1,AI DEF OCP * ASC 2,CP ASC 1,II DEF CPP * DEC -1 * USBF BSS 100 SKP ORG BP1 * STATUS REPORT * SRP NOP LDB SRPM GET MESSAGE CLA,CLE TO JSB FMTR,I OUTPUT SCPS LIB LP GET STATUS CCA JSB FMTR,I LDB CULN GET LINE NUMBER CLA,INA JSB FMTR,I JMP SRP,I * SRPM DEF *+1 ASC 11,STATUS IS # (LINE #)/ * * STATUS CHECK * SCP NOP STA SCPA SAVE PARAMS STB SCPB "" SRPS LIB LP GET STATUS LDA SCPB GET NEW LINE IF NEEDED CPB SCPA DO THEY COMPAIR RSS ISZ SCP YES JMP SCP,I * SCPA NOP SCPB NOP SKP * CARRIAGE RETURN (AND PRINT) * CRP NOP LDA .15 GET CARRIAGE RETURN JSB OTCH GIVE IT TO THE LINE JMP CRP,I RETURN * * LINE FEED (AND PRINT) * LFP NOP LDA .12 GET LINE FEED JSB OTCH GIVE IT TO LINE PRINTER JMP LFP,I RETURN * * FORM FEED (AND PRINT) * FFP NOP LDA .14 GET FORM FEED COMMAND JSB OTCH GIVE IT TO THE LINE PRINTER JMP FFP,I RETURN * * OUTPUT BUFFER ONLY * OCP NOP JSB OTBF JMP OCP,I RETURN SKP * OUTPUT A CHARACTER OR THE USER BUFFER * OTBF NOP CPA ÐîþúAUB CHECK FOR USER BUFFER JMP OTUB YES - SO DO IT SZB,RSS IF B IS ZERO THEN INB MAKE IT ONE SSB IF B IS NEG. CMB,INB MAKE IT POS. AND .177 MASK OFF $ JSB OTP OUTPUT CHARACTER TO L.P. JMP OTBF,I AND RETURN * * * OUTPUT USER BUFFER * OTUB SZB IF NUMBER IS ZERO JMP OTUBN LDB DBC DEFAULT TO BUFFER COUNT SZB,RSS IS IT LOADED? JMP OTBF,I NO SO EXIT OTUBN SSB IF NOT POS. CMB,INB MAKE IT POS. LDA DBC CHECK IF CMA,INA BUFFER HAS ADA B ENOUGH IN IT SSA,RSS ? LDB DBC NO SO USE BUFFER COUNT CMB,INB MAKE IT NEG FOR A = ADDRESS LDA DBD POINT TO BUFFER JSB OTP OUTPUT BUFFER JMP OTBF,I RETURN SKP * OUTPUT A CHARACTER * OTCH NOP CPA .15 CR? JMP OTCR YES CPA .12 LF? JMP OTLF YES CPA .14 FF? JMP OTFF YES CLB,INB SHORT TIME OUT ISZ CHCNC CHECK FOR ZONE PRINT RSS LDB TMOTX YES GET PREVIOUS OUTPUT DELAY JSB A2LP LDA CHCNC ZONE PRINTED SZA ? JMP OTCH,I NO LDA D40 YES SET TIME OUT STA TMOTX LDA CHCNT RESET ZONE COUNT STA CHCNC JMP OTCH,I * * OUTPUT A CARRIAGE RETURN * OTCR LDB TMOTX GET PREVIOUS FUNCTION DELAY JSB A2LP DO IT LDA CHCNT RESET ZONE COUNT STA CHCNC LDB D40 ADD DELAY FOR PRINT STB TMOTX JMP OTCH,I * CHCNT DEC -20 CHCNC DEC -20 SKP * OUTPUT LINE FEED * OTLF LDB TMOTX GET PREVIOUS FUNCTION DELAY ISZ LFCNT CHECK FOR STEP OVER? RSS ADB .90 JSB A2LP DO IT LDA CHCNT RESTORE ZONE COUNT STA ºŒ*($CHCNC LDB D80 SET DELAY FOR NEXT INSTRUCTION STB TMOTX LDA LFCNT IS IT PERFORATION STEP OVER? SZA JMP OTCH,I NO LDB .90 YES ADB TMOTX STB TMOTX ADD MORE TIME LDB LNCNT RESET LINE COUNT STB LFCNT JMP OTCH,I * * OUTPUT FORM FEED * OTFF LDB FFTM GET FORM FEED TIME OUT ADB TMOTX ADD ANY PREVIOUS FUNCTIONS ²¼*ÿÿ ÿý  ÿ12984-18005 1611 S 0146 2767 DIAGNOSTIC              H0101 þþú JSB A2LP DO IT LDA CHCNT RESTORE ZONE COUNT STA CHCNC LDB .40 MINIMUM OF ONE ZONE COUNT ADB .13 ISZ LFCNT JMP *-2 STB TMOTX TO NEXT CHARACTER LDB LNCNT RESET LINE COUNT STB LFCNT JMP OTCH,I * LFCNT DEC -60 LNCNT DEC -60 FFTM DEC 780 SKP * OUTPUT A REG TO LINE PRINTER * B REG = MAX TIME OUT * A2LP NOP STB TMOTS SAVE TIME OUT LDB A2LPS SAVE PREVIOUS STB A2LPP CHARACTER STA A2LPS SAVE OUTPUT LDA JSBI A2LP0 STA LP LDB MXTMO CLA,INA DO TIMMING TESTS CPA TMFLG ? STB TMOTS SET MAX TIME OUT LDA A2LPS RETRIEVE CHARACTER A2LP1 OTA LP GIVE CHARACTER TO LINE PRINTER STF INTP TURN ON INTERRUPTS A2LP2 STC LP,C TRANSFER CHARACTER LDA TMOTS PICK UP THE TIME OUT JSB TMRR,I GO WAIT CLF INTP TURN OFF INTERRUPTS LDA A2LPS GET CURRENT OUTPUT LDB A2LPP GET PREVIOUS OUTPUT E030 JSB ERMS,I REPORT TIME OUT DEF LPTOM POINTER TO MESSAGE CLA ALTER JSB IN CFR STA CRJSB TO SKIP FORM FEED IF LP IS OFF LINE JSB CFR GO WAIT UNTIL READY LDA JSBFF RESTORE JSB INSTR STA CRJSB IN CFR ROUTINE RSS A2LPI NOP CLF INTP A2LP3 CLC LP,C TURN OFF LINE PRINTER JMP A2LP,I RETURN * LPTOM EQU * ASC 10,E030 L.P. TIME OUT/ TMOTX NOP A2LPS NOP A2LPP NOP MXTMO DEC 2000 2 SECONDS MAX TMOTS NOP TMFLG NOP JSBI JSB A2LPI JSBFF JSB FFP SKP * CHECK FOR READY * CFR NOP CFRSC LIA LP GET CURRENT STATUS SZA IS IT READY? JMP E031 NO STA TMFLG CRJSB JSB FFP DO FORM FEED IF NEEDED LDB MXTMO SET MAX TIME OUT STB TMOTX JMP CFR,I YES E031 JSB ERMS,I NO REPORT IT DE”PþúF LPNRM POINTER TO MESSAGE JMP CFR+1 STAY IN LOOP UNTIL READY * LPNRM EQU * ASC 11,E031 L.P. NOT READY/ * * OUTPUT CARRIAGE RETURN AND LINE FEED * CRLF NOP JSB CRP DO CARRIAGE RETURN JSB LFP DO LINE FEED JMP CRLF,I RETURN SKP * CYCLIC PATERN PRINT * CPP NOP SZA,RSS IF CHRS = 0 CPP.1 LDA DM80 THEN DEFAULT TO 80 SSA,RSS IF CHRS IS POS. CMA,INA THEN MAKE IT NEG. STA CPC SAVE NUMBER OF CHRS ADA D90 CHRS NOT> .90 SSA ? JMP CPP.1 YES USE 80 CHRS SZB,RSS IF LINE COUNT = 0 CPP.2 LDB DM60 THEN DEFAULT TO 60 SSB,RSS IF LNCNT IS POS. CMB,INB THEN MAKE IT NEG. STB CNTR SAVE LINE COUNT ADB D90 IF LNCNT> 90 SSB ? JMP CPP.2 THEN USE 60 LINES CPPL0 JSB CYBFI SET UP CYCLIC BUFFER LDA CYBFD GET ADDRESS LDB CPC AND COUNT JSB OTP OUTPUT BUFFER JSB CRLF DO A RETURN LINE FEED ISZ CNTR DONE? JMP CPPL0 NO CLA YES JMP CPP,I RETURN TO EXEC * CPC NOP SKP * PUT CYCLIC PATTERN IN BUFFER * CYBFI NOP LDB CYBFD SET POINTER STB CYBFT TO CYCLIC BUFFER LDA CYLC GET LAST STARTING CHARACTER INA MOVE UP ONE CPA .140 LAST CHARACTER? LDA .40 YES STA CYLC SAVE FOR NEXT BUFFER LDB DM90 GET MAX BUFFER COUNT CYBFL STA CYBFT,I STORE CHARACTER INA MOVE TO NEXT CHARACTER CPA .140 IS IT LAST CHR? LDA .40 YES ISZ CYBFT MOVE POINTER INB,SZB IS BUFFER FULL JMP CYBFL NO JMP CYBFI,I YES RETURN * CYBFT NOP CYLC OCT 40 CYBFD DEF *+1 BSS 90 SKP * OUTPUT A CHR OR BUFFER * * Ü®þú A = CHR OR ADDRESS * B = +^ OR -^ * OTP NOP STA OTPT SAVE CHR OR ADDRESS SSB CHR OR ADDRESS? JMP OTPB IT'S A BUFFER OUTPUT CMB,INB CHR, MAKE COUNT NEG. STB OTPC SAVE COUNT LDA OTPT RETRIEVE CHARACTER JSB OTCH OUTPUT IT ISZ OTPC ALL DONE? JMP *-3 NO JMP OTP,I AND RETURN * OTPB STB OTPC SAVE COUNT LDA OTPT,I GET CHARACTER JSB OTCH OUTPUT IT ISZ OTPT MOVE POINTER ISZ OTPC ALL DONE? JMP *-4 NO JMP OTP,I RETURN * OTPT NOP OTPC NOP * * OUTPUT PACKED BUFFER * OTP2 NOP STA OTPC SAVE NUMBER OF CHARACTERS CLE,ELB STB OTPT AND ADDRESS POINTER OTP2L LDB OTPT GET CHARACTER ADDRESS CLE,ERB E _ UPPER LOWER FLAG LDA B,I 2 CHR TO A REG SEZ,RSS UPPER? ALF,ALF YES AND .177 MASK OFF OPPSITE CHARACTER JSB OTCH OUTPUT A TO LINE PRINTER ISZ OTPT MOVE TO NEXT CHARACTER ISZ OTPC IS THERE MORE OUTPUT? JMP OTP2L YES JMP OTP2,I NOW RETURN SKP * RANDOM NUMBER GENERATOR * GRN NOP STA RNA SAVE LOWER LIMIT CMA,INA ADB 0 STB RNB SAVE UPPER LIMIT GRNL LDA BASE GET BASE ADA PRIME SUBTRACT THE PRIME SSA SKIP IF STILL POSITIVE LDA BASE OOPS, BASE NOT BIG ENOUGH ELA DOUBLE BASE FOR REMAINDER STA BASE SAVE FOR NEXT TIME AND .177 USE ONLY LOWER BITS CMA,INA MAKE IT NEG. ADA RNA ADD LOWER LIMIT SSA,RSS IS IT ABOVE? JMP GRNL NO - TRY ANOTHER PASS ADA RNB ADD UPPER LIMIT SSA IS IT BELOW? JMP GRNL NO - TRY ANOTHER PASS LDA BASE YES RETRIEVE NUMBER AND .177 \þú JMP GRN,I RETURN TO CALLER * RNA NOP RNB NOP PRIME DEC -31069 BASE BSS 1 SKP * MANUAL CONTROL * TST01 EQU * * MNC NOP ENTRY FROM CONTROL PROGRAM LDB S128 CHECK S.R. 12 AND 8 JSB SWRT,I JMP MNC,I NO MANUAL TEST * CLA,INA STA TMFLG INHIBIT TIMMING CHECKS * H035 JSB MSGH,I TELL OPERATOR TO DEF MNCM2 TURN OFF POWER * LDB STAT1 100001 JSB MNCCS CHECK STATUS * H036 JSB MSGH,I TELL OPERATOR TO DEF MNCM3 TURN ON POWER * LDB STAT1 100001 JSB MNCCS CHECK STATUS * LDA DM60 SET WAIT LOOP COUNT STA CNTR MNCL0 CLB,INB CHECK FOR READY STATUS MNCS1 LIA LP CPA B JMP MNCN1 OK LDA D1000 NO - JSB TMRR,I WELL WAIT ISZ CNTR WAITED ENOUGH JMP MNCL0 NO E037 JSB ERMS,I YES - REPORT NOT READY DEF NRM POINTER TO MESSAGE JMP MNC,I ABORT TEST * NRM EQU * ASC 12,E037 NO READY RESPONSE/ SKP MNCN1 JSB MSGH,I TELL OPERATOR TO DEF MNCM0 PUT L.P. ON-LINE * CLB JSB MNCCS CHECK STATUS * H034 JSB MSGH,I TELL OPERATOR TO DEF MNCM1 MASTER CLEAR LINE PRINTER * CLB,INB JSB MNCCS CHECK STATUS * H033 JSB MSGH,I TELL OPERATOR TO DEF MNCM0 PUT L.P. ON-LINE * CLB JSB MNCCS CHECK STATUS * JSB FFP DO FORM FEED * LDA DM20 OUTPUT "TOP-OF-FORM COMPUTER" LDB TOFCD JSB OTP2 * LDA DM60 OUTPUT 60 STA CNTR LINE FEEDS JSB CRLF ISZ CNTR DONE? JMP *-2 NO * LDA DM31 OUTPUT "PERFORATION STEP OVER COMPUTER" LDB PSOCD JSB OTP2 * H040 JSB MSGH,I TELL OPERATOR TO DEF MNCM4 TOGGLE TOP OF FORM * CLB,INB JSB MNCCS CHECK STATUS?Õþú * JSB MSGH,I TELL OPERATOR TO DEF MNCM0 PUT L.P. ON-LINE * CLB JSB MNCCS CHECK STATUS * LDA DM20 OUTPUT "TOP-OF-FORM MANUAL" LDB TOFMD JSB OTP2 * LDA DM55 OUTPUT 55 STA CNTR LINE FEEDS JSB CRLF ISZ CNTR DONE? JMP *-2 NO SKP H041 JSB MSGH,I TELL OPERATOR TO DEF MNCM5 TOGGLE PAPER STEP 5 TIMES * CLB,INB JSB MNCCS CHECK STATUS * JSB MSGH,I TELL OPERATOR TO DEF MNCM0 PUT L.P. ON-LINE * CLB JSB MNCCS CHECK STATUS * LDA DM30 OUTPUT "PERFORATION STEP OVER MANUAL" LDB PSOMD JSB OTP2 * JSB CRLF * JMP MNC,I RETURN TO CONTROL * MNCCS NOP MNCS2 LIA LP GET CURRENT STATUS CPA B IS IT OK JMP MNCCS,I YES JSB ERMS,I NO - REPORT ERROR DEF STERM POINTER TO MESSAGE JMP MNCCS,I RETURN * STERM EQU * ASC 11,E032 INCORRECT STATUS/ SKP MNCM0 ASC 11,H033 PUT L.P. ON-LINE/ * MNCM1 ASC 12,H034 MASTER CLEAR L.P./ * MNCM2 ASC 13,H035 TURN OFF L.P. POWER/ * MNCM3 ASC 12,H036 TURN ON L.P. POWER/ * MNCM4 ASC 12,H040 PUT L.P. OFF-LINE. ASC 14, TOGGLE TOP-OF-FORM SWITCH/ * MNCM5 ASC 12,H041 PUT L.P. OFF-LINE. ASC 14, TOGGLE PAPER-STEP 5 TIMES/ * TOFCD DEF *+1 ASC 10,TOP-OF-FORM COMPUTER * PSOCD DEF *+1 ASC 15,PERFORATION STEP OVER COMPUTER * TOFMD DEF *+1 ASC 10,TOP-OF-FORM MANUAL * PSOMD DEF *+1 ASC 15,PERFORATION STEP OVER MANUAL * STAT1 OCT 100001 SKP * PAPER HANDLING CYCLIC PRINT * TST02 EQU * * * CP NOP JSB CFR CHECK FOR READY LDA DM20 20 JSB TCYO CYCLIC CHARACTERS PER LINE LDA DM40 40 JSB TCYO CYCLIC CHARACTERS PER LINE LDA DM60 60 JSB TCYO CYCLIC CHAR;XþúACTERS PER LINE LDA DM80 80 JSB TCYO CYCLIC CHARACTERS PER LINE * JSB CYBFI LDA DM80 SET EIGHTY COLUMNS STA TEMP FOR BACKWARD PRINT CPL1 LDB TEMP LDA .40 INB ONE LESS THAN COUNT SZB,RSS JMP CPL3 NO MORE BLANKS TO OUTPUT CMB,INB MAKE + FOR OTP ROUTINE JSB OTP OUTPUT NUMBER OF SPACES CPL3 LDA TEMP CMA,INA GET CYCLIC CHARACTER ADA CYBFD LDA A,I JSB OTCH OUTPUT IT JSB CRP DO CARRIAGE RETURN ISZ TEMP MORE LINES JMP CPL1 YES * JSB CRLF JSB CRLF JSB CRLF JSB CRLF * LDA DM80 OUTPUT STA TEMP 80 LINES OF DECREASING CPL2 LDB TEMP BACK ARROW LDA BKAR GET BACK ARROW CMB,INB JSB OTP JSB CRLF OUTPUT LINE FEED AND CARRIAGE RETURN ISZ TEMP JMP CPL2 JMP CP,I RETURN TO CONTROL * BKAR OCT 137 SKP * OUTPUT CYCLIC PATERN * TCYO NOP STA TEMP SAVE NUMBER OF CHARACTERS LDA DM60 SET LINE COUNT STA CNTR TCYOL JSB CYBFI INITIALIZE BUFFER LDA CYBFD GET POINTER LDB TEMP GET COUNT JSB OTP JSB CRLF ISZ CNTR DO ANOTHER LINE? JMP TCYOL YES JMP TCYO,I NO SKP * ILLEGAL OPERATIONS * TST03 EQU * * ILO NOP JSB CFR CHECK FOR READY LDA DM60 SET LOOP INA STA CNTR COUNTR FOR 59 LINES ILOL1 LDA .40 GET A LDB .140 CHR JSB GRN RANDOMLY STA CYLC SAVE IT FOR CYCLIC PATTERN JSB CYBFI INITIALIZE BUFFER CLA GET RANDOM LDB D80 NUMBER JSB GRN OF CHARACTERS LDB A B = COUNT LDA CYBFD A = ADDRESS CMB,INB OUTPUT BUFFER JSB OTP DO IT Ø*($ JSB CRLF ISZ CNTR DONE 59 LINES? JMP ILOL1 NO WELL DO ANOTHER * CLA OUTPUT ALL NON ASCII CHARACTERS ILOL2 STA TEMP JSB OTCH OUTPUT DATA LDA TEMP MOVE TO NEXT CHARACTER INA CPA .12 SKIP LINE FEED INA CPA .14 SKIP FORM FEED INA CPA .15 SKIP CARRIAGE RETURN INA CPA .40 SKIP ASCII SET INCL. SPACE LDA .140 CPA .177 IS THAT ALL JMP *+2 YES JMP ILOL2 NO DO IT AGAIN LDA .40 OUTPUT 2 SPACES LDB .2 JSB OTP LDA AZ OUTPUT 80 CHR Z'S LDB D80 JSB OTP * JMP ILO,I RETURN TO CONTROL SKP * ALLIGNMENT * TST04 EQU * * AL NOP JSB CFR CHECK FOR READY LDA DM60 SET FOR 60 LINES STA CNTR ALL1 LDA AM OUTPUT 80 LDB D80 CHR M JSB OTP JSB CRLF ISZ CNTR ALL DONE? JMP ALL1 NO * LDA DM60 SET FOR 60 LINES STA CNTR ALL2 LDA AE OUTPUT 80 LDB D80 CHR E JSB OTP JSB CRLF ISZ CNTR ALL DONE? JMP ALL2 NO * LDA .40 START WITH BLANK ALL3 STA TEMP SAVE IT LDB D80 SET FOR 80 CHR'S JSB OTP JSB CRLF LDA TEMP GET CHR INA MOVE UP ONE CPA .140 IS THAT ALL? JMP *+2 YES JMP ALL3 NO * JMP AL,I RETURN TO CONTROL END d¯*ÿÿ ÿý  ÿ12989-18001 1435 S 0147 DG-2894A RDR/PNCH              H0101 ê6þú ASMB¬A¬B¬Ì¬Ã       HÅD GÅNÅÒAÌ ÏPÅÒAÔÉNG PÒÏÃÅDUÒÅ       ÏÒG 0       SUP ª     GÅNÅÒAÌ ÏPÅÒAÔÉNG PÒÏÃÅDUÒÅ ª  ª         A. ÌÏAD DÉAGNÏSÔÉàÃÏNÆÉGUÒAÔÏÒ AND SÅÔ ÉÔ UP. ª         B. ÌÏAD DÉAGNÏSÔÉàMAÉN PÒÏGÒAM ª         Ã. ÌÏAD ADDÒÅSS ±00B. ª         D. ÌÏAD S×ÉÔÃH ÒÅG. ×ÉÔH SÅÌÅÃÔ ÃÏDÅ AND ÏPÔÉÏNS ª         Å. PÒÅSS ÒUN AND ×AÉÔ ÆÏÒ HAÌÔ ±0·0·´. ª         Æ. ÌÏAD S×ÉÔÃH ÒÅGÉSÔÅÒ ª                   ÉÆ SÅÔ ½: ª                   ±5 ½ HAÌÔ AÔ ÅND ÏÆ ÅAÃH ÔÅSÔ ª                   ±´ ½ SUPÒÅSS ÅÒÒÏÒ HAÌÔS ª                   ±3 ½ ÌÏÏP ÏN ÌASÔ ÔÅSÔ ª                   ±² ½ ÌÏÏP ÏN DÉAGNÏSÔÉà ª                        (SUPPÒÅSS AÌÌ ÏPÅÒAÔÏÒ ÉNÔÅÒVÅNÔÉÏN© ª                   ±± ½ SUPÒÅSS ÅÒÒÏÒ MÅSSAGÅS ª                   ±0 ½ SUPÒÅSS NÏN-ÅÒÒÏÒ MÅSSAGÅS ª                    9 ½ GÏ ÔÏ USÅÒ ÃÏNÔÒÏÌ SÅÃÔÉÏN ª                        AÔ ÅND ÏÆ PÒÅSÅNÔ ÔÅSÔ ª                    ¸½ SUPPÒÅSS ÏPÅÒAÔÏÒ ÉNÔÅÒVÅNÔÉÏN ÔÅSÔS ª                    · ª                      ½ DÉAGNÏSÔÉàÏPÔÉÏNS ª                    0 ª         NÏÔÅ: SÔANDAÒD ÒUN SHÏUÌD BÅ ×ÉÔH S×. ÒÅG. ½ 0 ª               USÅÒ ÃÏNÔÒÏÌ ×ÉÌÌ ASK ÆÏÒ A 3² BÉÔ ×ÏÒD. ª               ÅAÃH BÉÔ ×ÉÌÌ ½ ± ÔÅSÔ ª  ª         G. PÒÅSS ÒUN. ª         H. ÒÅSÔAÒÔ - ÌÏAD ADDÒÅSS ²000B ª         É. ÒÅÃÏNÆÉGUÒÅ ÉÆ ÔÅSÔÉNG É¯Ï ÉNÔÅÒÆAÃÅ - ÌÏAD ADDÒÅSS ±00B ª  ª         GÅNÅÒAÌ ÃÏMPUÔÅÒ HAÌÔS ª  ª         ±0²0ØØ    Å ÏÒ H  000 ÔÏ 06· ª         ±060ØØ    Å ÏÒ H  ±00 ÔÏ ±6· ª         ±030ØØ    Å ÏÒ H  ²00 ÔÏ ²6· ª         ±0·0ØØ    Å ÏÒ H  300 ÔÏ 36· ª  ª         ÃÏNÔÒÏÌ PÒÏGÒAM HAÌÔ MÅSSAGÅS ª  ª         ±0²0··    ÅND ÏÆ DÉAG (A ½ PASS ÃÏUNÔ© ª         ±0²0·6    ÅND ÏÆ ÔÅSÔ (A ½ ÔÅSÔ £© ª         ±0²0·5    USÅÒ SÅÌÅÃÔÉÏN ÒÅÑUÅSÔ ª         ±0²0·´    SÅÌÅÃÔ ÃÏDÅ ÉNPUÔ ÃÏMPÌÅÔÅ ª         ±0²0·3    USÅÒ SÅÌÅÃÔ ÃÏDÅ ÅÒÒÏÒ ª         ±0²0·²    ÒÅSÅÒVÅD ª         ±0²0·±    ÒÅSÅÒVÅD ª         ±0²0·0    ÒÅSÅÒVÅD ª  ª         ±060··    ÔÒAP ÃÅÌÌ HAÌÔ ª  ª  ª        HÅD PÒÏGÒAM ÏÒGANÉZAÔÉÏN ÃHAÒÔ ª         ªªªªªªªªªªªªªªŽ£þúªªªªªªªªªªªªªªªªªªªªªªªªªªªªª ª         ª         ÃÏNÆÉGUÒAÔÏÒ            ±00B    ª ª         ª            ÌÉNKAGÅ ÔABÌÅ                ª ª         ªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªª ª         ª         ÅØÅÃUÔÉVÅ               ±30B    ª ª         ª         ÌÉNKAGÅ                         ª ª         ªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªª ª         ª         ÃÏNSÔANÔS               ±50B    ª ª         ª            AND                          ª ª         ª         SÔÏÒAGÅ                         ª ª         ªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªª ª         ª                                ²000B    ª ª         ª         ÅØÅÃUÔÉVÅ ÃÏNÔÒÏÌ               ª ª         ª                                         ª ª         ªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªª ª         ª         ÉÆ USÅD                         ª ª         ª         BASÉàɯϠÔÅSÔS (ÔÅSÔ 00©       ª ª         ª                                ZÃÅND    ª ª         ªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªª ª         ª         ÔABÌÅ ÏÆ ÔÅSÔ PÏÉNÔÅÒS          ª ª         ª         ÔABÌÅ ÏÆ É¯Ï ÉNSÔÒ PÏÉNÔÅÒS     ª ª         ªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªª ª         ª                                         ª ª         ª                                         ª ª         ª                                         ª ª         ª                                         ª ª         ª                                         ª ª         ª         MAÉN DÉAGNÏSÔÉÃS (±-3±©         ª ª         ª                                         ª ª         ª                                         ª ª         ª                                         ª ª         ª                                         ª ª         ª                                         ª ª         ªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªª ª  ª  ª  ª  ª  ª  ª  ª  ª  ª  ª  ª  ª  ª  ª  ª  ª  ª  ª  ª        HÅD ÃÏNÆÉGUÒAÔÏÒ ÌÉNKAGÅ ÔABÌÅ A     ÅÑU 0         A ÒÅGÉSÔÅÒ ÒÅÆÅÒÅNÃÅ B 4%þú    ÅÑU ±         B ÒÅGÉSÔÅÒ ÒÅÆÅÒÅNÃÅ S×    ÅÑU ±         S×ÉÔÃH ÒÅGÉSÔÅÒ ÒÅÆÅÒÅNÃÅ ÉNÔP  ÅÑU 0         ÉNÔÅÒÒUPÔ ÃHANNÅÌ ÒÅÆÅÒÅNÃÅ ª  ª        ÏÒG ±00B ª        ÊMP ÃÆÉG¬É    GÏ ÔÏ ÃÏNÆÉGUÒAÔÉÏN SÅÃÔÉÏN ÆAÉN  BSS ±         ÆASÔ ÉNPUÔ (PHÏÔÏ ÒÅADÅÒ© SÌÏP  BSS ±         SÌÏ× ÏUÔPUÔ (ÌÉSÔ© ÆAÏP  BSS ±         ÆASÔ ÏUÔPUÔ (DUMP ÏÒ PUNÃH© SÌÉN  BSS ±         SÌÏ× ÉNPUÔ (KÅYBÏAÒD© Æ×AM  DÅÆ Æ×AA      ÆÉÒSÔ ×ÏÒD ÏÆ AVBÌ. MÅMÏÒY Ì×AM  BSS ±         ÌASÔ ×ÏÒD ÏÆ AVBÌ. MÅMÏÒY       BSS ±         NÏÔ USÅD (MAG ÔAPÅ© ÏÔMà BSS ±         ± MÉÌÌ SÅàÔÉMÅ ÏUÔ ÃÏUNÔ       BSS ´         SÅÌÅÃÔ ÃÏDÅS ÆÏÒ É¯Ï ÃPÔÏ  BSS ±         ÃÏMPUÔÅÒ ÔYPůÏPÔÉÏNS USSà BSS ±         USÅÒ ÃAÒD ÔYPÅ AND SÅÌÅÃÔ ÃÏDÅ MÅMÏ  BSS ±         MÅMÏÒY SÉZÅ AND ÔYPÅ ÉS×Ò  BSS ±         ÉNÔÅÒNAÌ S×ÉÔÃH ÒÅGÉSÔÅÒ ÔMÒÒ  BSS ±         ± MÉÌÌ SÅàÔÉMÅÒ S×Òà BSS ±         ÃÏNÆÉGUÒAÔÏÒ S×ÉÔÃH ÃK PÔÒ É²AS  BSS ±         ÉNÔÅGÅÒ ÔÏ ASÃÉÉ ÃÏNVÅÒSÉÏN ϲAS  BSS ±         ÏÃÔAÌ ÔÏ ASÃÉÉ ÃÏNVÅÒSÉÏN AS²N  BSS ±         ASÃÉÉ ÃÏNVÅÒSÉÏN DSNÌ  BSS ±         DÉAGNÏSÔÉàSÅÒÉAÌ NUMBÅÒ ÆMÔÒ  BSS ±         ÆÏÒMAÔÔÅÒ ª  ª  ª         ÃÏNÔÒÏÌ ÌÉNKAGÅ AND DAÔA ÒÅÆÅÒÅNÃÅS ª  ÃÆÉG  DÅÆ ZÃÏNÆ     ÃÏNÆÉGUÒAÔÉÏN SÅÃÔÉÏN MSGà DÅÆ ZMSGà    MÅSSAGÅ ×ÉÔH NÏ HAÌÔ MSGH  DÅÆ ZMSGH     MÅSSAGÅ ×ÉÔH HAÌÔ ÅÒMS  DÅÆ ZÅÒMS     ÅÒÒÏÒ MÅSSAGÅ S×ÒÔ  DÅÆ ZS×ÒÔ     S×ÉÔÃH ÒÅGÉSÔÅÒ ÃHÅÃK ÒÏUÔÉNÅ ÔSÔN  ÏÃÔ 0         ÃUÒÒÅNÔ ÔÅSÔ NUMBÅÒ ÅØÒÔ  DÅÆ ZÅØÒÔ     ÒÅÔUÒN ÔÏ ÃÏNÔÒÏÌ PÒÏGÒAM       NÏP           ÒÅSÅÒVÅD ª  ª  ª  ª  ª  ª  ª  ª  ª  ª  ª  ª  ª        HÅD ÅØÅÃUÔÉVÅ ÃÏNÔÒÏÌ       ÏÒG ²000B ZSÔÅØ ÃÌàÉNÔP¬Ã    ÔUÒN É¯Ï SYSÔÅM ÏÆÆ       ÊSB MSGìɠ   DÏ ÃÒÌÆ       DÅÆ ZÒÔÌÆ       ÌDA HDMP      GÅÔ ÉNÔÒÏDUÃÔÏÒY MÅSSAGÅ       SÔA ª+²       ÊSB MSGìɠ   ÏUÔ PUÔ ÉÔ       NÏP       ÃÌA           ÃÌÅAÒ PASS       SÔA ZÅÏÌà      ÃÏUNÔ       ÌDB ZS×9      ÃHÅÃK ÆÏÒ USÅÒ SÅÌÅÃÔÉÏN ÒÅÑ       ÊSB S×ÒÔ¬É       ÊMP ZUSÒ      ÉÔ'S USÅÒS ÃHÏÉÃÅ ZNUSÒ ÌDA SÔDA      GÅÔ SÔANDAÒD ÔÅSÔ ÒUN       ÌDB SÔDB      ª     ›‚þú  ÊMP ZÅØÃ ª  ZUSÒ  ÌDA ZSÉNA     ÒÅÔÒÉÅVÅ PÒÅVÉÏUS ÒUN       ÌDB ZSÉNB       HÌÔ ·5B       ×AÉÔ ÆÏÒ USÅÒ ÉNPUÔ       NÏP       NÏP       NÏP ZÅØÃ  SÔA ZUÉNA     SAVÅ       SÔB ZUÉNB       USÅÒ       SÔA ZSÉNA         ÉNPUÔ       SÔB ZSÉNB           PÒÏGÒAM       ÌDB ZS×9      ÃHÅÃK ÉÆ S×9 ÉS DÏ×N       ÊSB S×ÒÔ¬É       ÊMP ZUSÒ      NÏ GÏ AND ×AÉÔ       ÃÃA           SÅÔ ÔÅSÔ NUMBÅÒ       SÔA ÔSÔN      ½-±       ÃÌA       SÔA ZÔSÔA     ÃÌÅAÒ ÔÅSÔ ÒUN ÆÌAG ª  ª  ª  ª  ª  ª  ª  ª  ª  ª  ª  ª  ª  ª  ª  ª        SKP ZÅØÃÌ ÌDA ZUÉNA     ÒÅSÔÏÒÅ A ÒÅG.       ÌDB ZUÉNB     ÒÅSÔÏÒÅ B ÒÅG.       ÅÒA¬ÒAÌ       ÒÏÔAÔÅ       ÅÒB             ÆÉÒSÔ       ÅÒA               ÔÅSÔ BÉÔ       SÔA ZUÉNA     SAVÅ PÏSÉÔÉÏNS       SÔB ZUÉNB       ÉSZ ÔSÔN      MÏVÅ ÔÅSÔ UP ÏNÅ       NÏP ZØÃ̱ ÌDA ÔSÔN       ADA ÔSÔP      GÅÔ ÉÔ'S       ÌDA A¬É         ADDÒÅSS       ÃPA Z.M±      ÉS ÉÔ ÅND ÏÆ ÌÉSÔ       ÊMP ZÅÏÌ      YÅS       ÌDB ZUÉNB       SSB¬ÒSS       SHÏUÌD ÉÔ BÅ ÒUN?       ÊMP ZÅØÃÌ     NÏ       SÔA ZÔSÔA     YÅS - SAVÅ ÔÅSÔ ADDÒÅSS       ÊSB ZÉÔÃH     ÉNÉÔÉAÌÉZÅ ÔÒAP ÃÅÌÌ HAÌÔS       ÊSB ZÔSÔA¬É   GÏ DÏ ÔÅSÔ ZÅØÒÔ ÌDA ÔSÔN      DÉSPÌAY ÔÅSÔ NUMBÅÒ ÉÆ HAÌÔÅD       ÌDB ZS×±5     ÃHÅÃK ÆÏÒ HAÌÔ AÔ ÅND ÏÆ ÔÅSÔ       ÊSB S×ÒÔ¬É       HÌÔ ·6B       YÅS ×AÉÔ ÆÏÒ ÏPÅÒAÔÏÒ       ÌDB ZS×9      ÃHÅÃK ÆÏÒ ABÏÒÔ       ÊSB S×ÒÔ¬É       ÊMP ZUSÒ      YÅS       ÌDB ZS×±3     ÃHÅÃK ÆÏÒ ÌÏÏP ÏN ÒÏUÔÉNÅ       ÊSB S×ÒÔ¬É       ÊMP ZØÃ̱     YÅS - ÌÏÏP       ÊMP ZÅØÃÌ     ÃÏNÔÉNUÅ ª  ZÅÏÌ  ÌDA ZÔSÔA     ÃHÅÃK ÉÆ ANY ÔÅSÔS ×ÅÒÅ ÒUN       SZA¬ÒSS       ?       ÊMP ZNUSÒ     NÏ  SÏ PÉÃK UP SÔANDAÒD ÒUN       ÌDA ZÅÏÌà    UP DAÔÅ PASS ÃÏUNÔ       ÉNA       SÔA ZÅÏÌà       ÃÃÅ       ÌDB ZPSÃA     GÅÔ PASS ÃÏUNÔ       ADB Z.²         ADDÒÅSS       ÊSB Ï²AS¬É    ÃÏNVÅÒÔ ÉÔ       ÊSB MSGìɠ   ÃAÌÌ PÒÉNÔ ÒÏUÔÉNÅ ZPSÃA DÅÆ ZPSà       ÌDB ZS×±²     ÃHÅÃK ÆÏÒ ÌÏÏP ÏN DÉAG.       ÊSB S×ÒÔ¬É       ÊMP ª+3       YÅS       ÌDA ZÅÏÌà     Ìpþú  HÌÔ ··B       NÏ ×AÉÔ AND DÉSPÌAY PASS ÃÏUNÔ       ÌDA ZSÉNA     ÒÅSÔÏÒÅ ÏÒÉGÉNAÌ       ÌDB ZSÉNB       PÒÏGÒAM       ÊMP ZÅØÃ      DÏ ÉÔ AÌÌ AGAÉN ª        SKP ª         MÅSSAGÅ ÏUÔPUÔ ×ÉÔH ÏUÔ HAÌÔ ª  ZMSGàNÏP           ÅNÔÒY       ÊSB ZMSG      ÏUÔPUÔ MÅSSAGÅ       ÏÃÔ ²000      S×ÉÔÃH ±0 ÃHÅÃK       ÊMP ZMSGìɠ  ÒÅÔUÒN ÔÏ ÃAÌÌÅÒ ª  ª         MÅSSAGÅ ÏUÔPUÔ ×ÉÔH HAÌÔ ª  ZMSGH NÏP           ÅNÔÒY       ÊSB ZMSG      ÏUÔPUÔ MÅSSAGÅ       ÏÃÔ ²000      S×ÉÔÃH ±0 ÃHÅÃK       ÌDA ZHÌÔ      GÅÔ HAÌÔ ÃÏDÅ       SÔA ª+²       PUÔ ÉÔ ÉN PÌAÃÅ       ÌDA ZSAVA     ÒÅSÔÏÒÅ A ÒÅGÉSÔÅÒ       NÏP           HAÌÔ ÆÏÒ DÉSPÌAY       ÊMP ZMSGH¬É   ÒÅÔUÒN ÔÏ ÃAÌÌÅÒ ª  ª         ÅÒÒÏÒ MÅSSAGÅ ×ÉÔH HAÌÔ ª  ZÅÒMS NÏP           ÅNÔÒY       ÊSB ZMSG      ÏUÔPUÔ MÅSSAGÅ       ÏÃÔ ´000      S×ÉÔÃH ±± ÃHÅÃK       ÃÌA       ÌDB ZS×±´     ÃHÅÃK S×Ò BÉÔ ±´ ÔÏ SUPPÒÅSS       ÊSB S×ÒԬɠ   HAÌÔ       SÔA ª+3       PUÔ  HAÌÔ ÉN PÌAÃÅ       ÌDA ZSAVA     ÒÅSÔÏÒÅ A ¦ B       ÌDB ZSAVB ZHÌÔ  NÏP           ×AÉÔ ÆÏÒ ÏPÅÒAÔÏÒ       ÊMP ZÅÒMS¬É   ÒÅÔUÒN ÔÏ ÃAÌÌÅÒ ª  ª  ª  ª  ª  ª  ª  ª  ª  ª  ª  ª  ª        SKP ª         ÏUÔPUÔ MÅSSAGÅ ª  ZMSG  NÏP       SÔA ZSAVA     SAVÅ A AND B ÒÅGÉSÔÅÒS       SÔB ZSAVB       ÌDB ZMSG¬É    GÅÔ S×ÉÔÃH ÒÅGÉSÔÅÒ BÉÔ       ÌDA ZMSG       ADA Z.M²      DÅÃÒÅMÅNÔ ÒÅÔUÒN ADDÒÅSS       SÔA ZMSG       ÊSB S×ÒԬɠ   ÃHÅÃK ÔÏ SUPPÒÅSS MÅSSAGÅ       ÊMP ZMSG0     YÅS       ÌDA ZMSG¬É    ÃHÅÃK ÉÆ ÅÒÒÏÒ       ÌDA A¬É       ÌDA A¬É       ÉÆ SÏ       AÌÆ¬AÌÆ       AND Z.±··       ÃPA ZA.Å       ÊSB ZÃÆÔN     ÃHÅÃK ÔÏ ÏUÔPUÔ ÔÅSÔ NUMBÅÒ       ÌDA ZMSG¬É    NÏ ÒÅÔÒÉÅVÅ ÆÏÒMAÔ       ÌDB A¬É         ADDÒÅSS       ÃÌA¬ÃÌÅ       ÊSB ÆMÔÒ¬É ZMSG0 ÌDA ZMSG¬É    ÃÏNVÅÒÔ HAÌÔ ÃÏDÅ       ÌDB A¬É         ÆÒÏM ASÃÉÉ SÔÒÉNG       ÃÃA¬ÃÃÅ       ÊSB AS²N¬É       SÔA ZN²AÏ     SAVÅ ÒÅSUÌÔ       AND Z.300     DÅÃÏDÅ       ÌDB ZH²         HAÌÔ ÃÏDÅ       ÃPA Z.±00       ÌDB ZH6       ÃPA Z.²00       ÌDB ZH3       ÃPA Z.3Zþú300       ÌDB ZH·       ÌDA ZN²AÏ     GÅÔ HAÌÔ NUMBÅÒ       AND Z.··       ÉÏÒ B       SÔA ZHÌÔ      SAVÅ ÉÔ       ÉSZ ZMSG¬É    ADÊUSÔ ÒÅÔUÒN PÏÉNÔÅÒS       ÉSZ ZMSG       ÉSZ ZMSG       ÉSZ ZMSG       ÌDA ZSAVA     ÒÅSÔÏÒÅ A AND B ÒÅGÉSÔÅÒS       ÌDB ZSAVB       ÊMP ZMSG¬É ª  ª  ª  ª  ª  ª        SKP ZÃÆÔN NÏP       ÌDA ÔSÔN      GÅÔ ÔÅSÔ NUMBÅÒ       ÃPA ZÃÆÔÔ     ÉS ÉÔ ÔHÅ SAMÅ ÏNÅ?       ÊMP ZÃÆÔN¬É   YÅS SKÉP ÏUÔPUÔ       SÔA ZÃÆÔÔ     NÏ - ÔHÅN UPDAÔÅ ÉÔ       ÊSB ZN²AÏ     ÃÏNVÅÒÔ ÉÔ       SÔA ZÔSÔN     PUÔ ÉÔ ÉN SÔÒÉNG       ÃÌA           DÏ A ÃÒÌÆ       ÊSB SÌÏP¬É       ÃÌA¬ÃÌÅ       ÉNDÉÃAÔÅ SÔAÒÔ ÏÆ ÆÏÒMAÔ       ÌDB ZÔSÔÆ       ÊSB ÆMÔÒ¬É       ÊMP ZÃÆÔN¬É   ÒÅÔUÒN ª  ª  ª  ª  ZSAVA NÏP ZSAVB NÏP ZÅÏÌàNÏP ZÔSÔA NÏP ZSÉNA NÏP ZSÉNB NÏP ZUÉNA NÏP ZUÉNB NÏP ZBÔMP NÏP Z.²   ÏÃÔ ² Z.·   ÏÃÔ · Z.±0  ÏÃÔ ±0 Z.60  ÏÃÔ 60 Z.··  ÏÃÔ ·· Z.±·· ÏÃÔ ±·· Z.M±  DÅà-± Z.M²  DÅà-² ZD±00 DÅà-±00 ZÉÏM  ÏÃÔ ±···00 ZS×±5 ÏÃÔ ±00000 ZS×±´ ÏÃÔ ´0000 ZS×±3 ÏÃÔ ²0000 ZS×±² ÏÃÔ ±0000 ZS¸±² ÏÃÔ 0±0´00 ZS×9  ÏÃÔ ±000 Z.±00 ÏÃÔ ±00 Z.²00 ÏÃÔ ²00 Z.300 ÏÃÔ 300 ZH²   ÏÃÔ ±0²000 ZH6   ÏÃÔ ±06000 ZH3   ÏÃÔ ±03000 ZH·   ÏÃÔ ±0·000 ZÃÆÔÔ DÅà-± ZÔSÔÆ DÅÆ ª+±       ASà3¬ÔÅSÔ ZÔSÔN ASà²¬ØØ¯¯ ZÒÔÌÆ AS౬¯¯ ZPSà ASà6¬PASS ØØØØØØ¯ ZA.Å  ÏÃÔ ±05       HÅD GÅNÅÒAÌ ÒÏUÔÉNÅS ª  ª  ZN²AÏ NÏP       SÔA ZÉÏAD     SAVÅ NUMBÅÒ       AND Z.·       ÃÏNVÅÒÔ ÆÉÒSÔ       ÉÏÒ Z.60        NUMBÅÒ       SÔA B         SAVÅ ÉÔ       ÌDA ZÉÏAD     GÅÔ       ÒAÒ¬ÒAÒ         SÅÃÏND       ÒAÒ               NUMBÅÒ       AND Z.·       ÃÏNVÅÒÔ       ÉÏÒ Z.60        ÉÔ       AÌÆ¬AÌÆ       MÏVÅ ÔÏ UPPÅÒ HAÌÆ       ÉÏÒ B         ADD ÌÏ×ÅÒ       ÊMP ZN²AϬɠ  AND ÒÅÔUÒN ª  ª  ª  ª         S×ÉÔÃH ÒÅGÉSÔÅÒ ÃHÅÃK ª  ZS×ÒÔ NÏP       SÔA ZN²AÏ     SAVÅ A ÒÅGÉSÔÅÒ       ÌÉA S×        GÅÔ S×ÉÔÃH ÒÅG.       AND B         MASK ÏUÔ BÉÔ       SZA¬ÒSS       ÉS ÉÔ UP?       ÉSZ ZS×ÒÔ     NÏ       ÌDA ZN²AÏ     ÒÅSÔÏÒÅ A ÒÅQáþúGÉSÔÅÒ       ÌÉB S×        ÌÅÔ B ½ S×ÉÔÃH ÒÅGÉSÔÅÒ       ÊMP ZS×ÒԬɠ  ÒÅÔUÒN ÔÏ ÃAÌÌÅÒ ª  ª  ª  ª         ÉNÉÔÉAÌÉZÅ ÔÒAP ÃÅÌÌ HAÌÔS ª  ZÉÔÃH NÏP       ÌDA ZÔSH      GÅÔ SÔAÒÔÉNG ÔÒAP ÃÅÌÌ HAÌÔ       ÌDB Z.²       GÅÔ ÆÉÒSÔ ÔÒAP ÃÅÌÌ ÌÏÃAÔÉÏN ZÔSHÌ SÔA B¬É       PUÔ ÉÔ ÉN PÌAÃÅ       ÃPB Z.··      AM É ÆÉNÉSHÅD       ÊMP ZÉÔÃH¬É   YÅS       ÉNB             NÅØÔ ADDÒÅSS       ÊMP ZÔSHÌ ª  ZÔSH  ÏÃÔ ±060·· ª  ª  ª        SKP ª         PUÔ ÊSB ÉNSÔÒUÃÔÉÏN ÉN ÔÒAP ÃÅÌÌ ª  ZÔÃÊÉ NÏP       ÌDB ZÊSBÉ     GÅÔ ÉNSÔÒUÃÔÉÏN       SÔB ZÉÏSìɠ  PUÔ ÉÔ ÉN ÔÒAP ÃÅÌÌ       ÌDA ZÔÃÊɬɠ  GÅÔ ÌÏÃAÔÉÏN       SÔA 3B        SAVÅ ÉÔ ÆÏÒ ÊSB ÉNSÔÒUÃÔÉÏN       ÉSZ ZÔÃÊÉ     ADÊUSÔ ÒÅÔUÒN       ÊMP ZÔÃÊɬɠ  ÒÅÔUÒN ÔÏ ÃAÌÌÅÒ ª  ZÊSBÉ ÊSB 3B¬É      ÊSB ÉNSÔÒUÃÔÉÏN ª  ª  ª         ÉNÉÔÉAÌÉZÅ SÅÌÅÃÔ ÃÏDŠɯϠÉNSÔÒUÃÔÉÏNS ª  ZÉSà NÏP       SÔA ZÉÏSà    SAVÅ SÅÌÅÃÔ ÃÏDÅ       SÔB ZÉÏAD     SAVÅ ÔABÌÅ ADDÒÅSS ZÉÏÌ  ÌDB ZÉÏAD¬É   GÅÔ ADDÒÅSS ÏÆ ÌÏÃAÔÉÏN       ÃPB Z.M±      ÉS ÉÔ ÔHÅ ÔÅÒMÉNAÔÏÒ       ÊMP ZÉSìɠ   YÅS ÒÅÔUÒN ÔÏ ÃAÌÌÅÒ       ÌDA B¬É       NÏ - GÅÔ ÃÏNÔÅNÔS       AND ZÉÏM      MASK ÏÆÆ ÏÌD SÅÌÅÃÔ ÃÏDÅ       ÉÏÒ ZÉÏSà    ADD ÉN NÅ× SÅÌÅÃÔ ÃÏDÅ       SÔA B¬É       ÒÅSÔÏÒÅ  ÉÔ       ÉSZ ZÉÏAD     MÏVÅ ÔÏ NÅØÔ ADDÒÅSS       ÊMP ZÉÏÌ      DÏ ÉÔ ª  ZÉÏSàNÏP ZÉÏAD NÏP ª  ª  ª  ª        SKP ª         ÃÏNÆÉGUÒAÔÉÏN SÅÃÔÉÏN ª  ZÃÏNÆ ÃÌàÉNÔP¬Ã    ÔUÒN É¯Ï SYSÔÅM ÏÆÆ       ÌÉA S×        GÅÔ SÅÌÅÃÔ ÃÏDÅ AND ÏPÔÉÏNS       SÔA USSà     SAVÅ ÔHÅM       AND Z.··      ÅÌÉMÉNAÔÅ ÏPÔÉÏNS       ÌDB A       ÃMB¬ÉNB       ÃHÅÃK ÔHAÔ Sྠ·       ADB Z.·       SSB           ?       ÊMP ª+3       ÏK GÏ ÏN       HÌÔ ·3B       NÏ       ÊMP ZÃÏNÆ     ÔÒY AGAÉN       ÌDB ÉÏÉP      ÉNÉÔÉAÌÉZÅ ÔÅSÔ É¯Ï       ÊSB ZÉSà       ÉNSÔÒUÃÔÉÏNS       HÌÔ ·´B       AÌÌÏ× ÏPÅÒAÔÏÒ ÔÏ ÃHANGÅ S×ÉÔ       ÊMP ZSÔÅØ     GÏ ÔÏ ÅØÅàÃÏNÔÒÏÌ SÅÃÔÉÏN ª  ª  ª  ª  ª  ª  ª  ª  ª  ª  ª  ª  ª  ª  ª  ª  ª  ª  ª  ª  ª  ª  ª        HÅD BASÉàɯòþúÏ ÔÅSÔS ÃH    ÅÑU ±0B ª  ÔSÔ00 ÅÑU ª       NÏP       ÌDA USSà     GÅÔ ÃÅÌÌ ÌÏÃAÔÉÏN       AND Z.··       ÊSB ZBÉÏ      DÏ BASÉÃ É¯Ï       ÊMP ÔSÔ00¬É ª  ZBÉÏ  NÏP       ÃÌàÉNÔP¬Ã    ÔUÒN ÏÆÆ AÌÌ É¯Ï       ÌDB ZBÉÏD     ÉNÉÔÉAÌÉZÅ BASÉÃ É¯Ï       ÊSB ZÉSà       ÉNSÔÒUÃÔÉÏNS ª  ª         ÉNÔÅÒÒUPÔ ÆÌAG ÃHÅÃK ª  ZBÉϱ SÔÆ ÉNÔP       ÃÌÆ ÉNÔP       SÆÃ ÉNÔP       ÒSS       ÊMP ª+3 Å000  ÊSB ÅÒMS¬É    Å000 ÃÌÆ 0-SÆÃ 0 ÅÒÒÏÒ       DÅÆ ZBÅ00       SÆS ÉNÔP       ÊMP ª+3 Å00±  ÊSB ÅÒMS¬É    Å00± ÃÌÆ 0-SÆS 0 ÅÒÒÏÒ       DÅÆ ZBÅ0±       SÔÆ ÉNÔP       SÆÃ ÉNÔP       ÊMP ª+´       ÃÌÆ ÉNÔP      ÔUÒN ÏÆÆ ÉNÔS Å00²  ÊSB ÅÒMS¬É    Å00² SÔÆ 0-SÆÃ 0 ÅÒÒÏÒ       DÅÆ ZBÅ0²       SÆS ÉNÔP       ÊMP ª+3       ÃÌÆ ÉNÔP      ÔUÒN ÏÆÆ ÉNÔÅÒÒUPÔS       ÊMP ZBÉϲ       ÃÌÆ ÉNÔP      ÔUÒN ÏÆÆ ÉNÔS Å003  ÊSB ÅÒMS¬É    Å003 SÔÆ 0-SÆS 0 ÅÒÒÏÒ       DÅÆ ZBÅ03       ÊMP ZBÉϲ ª  ZBÅ00 ASà±²¬Å000 ÃÌÆ 0-SÆÃ 0 ÅÒÒÏÒ¯ ZBÅ0± ASà±²¬Å00± ÃÌÆ 0-SÆS 0 ÅÒÒÏÒ¯ ZBÅ0² ASà±²¬Å00² SÔÆ 0-SÆÃ 0 ÅÒÒÏÒ¯ ZBÅ03 ASà±²¬Å003 SÔÆ 0-SÆS 0 ÅÒÒÏÒ¯ ª  ª        SKP ª         ÃAÒD ÆÌAG ÃHÅÃK ª  ZBÉϲ ÅÑU ª ZBS²± SÔÆ ÃH ZBS²² ÃÌÆ ÃH ZBS²3 SÆÃ ÃH       ÒSS       ÊMP ª+3 Å005  ÊSB ÅÒMS¬É    Å005 ÃÌÆ ÃH-SÆÃ ÃH ÅÒÒÏÒ       DÅÆ ZBÅ05 ZBS²´ SÆS ÃH       ÊMP ª+3 Å006  ÊSB ÅÒMS¬É    Å006 ÃÌÆ ÃH-SÆS ÃH ÅÒÒÏÒ       DÅÆ ZBÅ06 ZBS²5 SÔÆ ÃH ZBS²6 SÆÃ ÃH       ÊMP ª+3 Å00·  ÊSB ÅÒMS¬É    Å00· SÔÆ ÃH-SÆÃ ÃH ÅÒÒÏÒ       DÅÆ ZBÅ0· ZBS²· SÆS ÃH       ÒSS       ÊMP ZBÉÏ3 Å0±0  ÊSB ÅÒMS¬É    Å0±0 SÔÆ ÃH-SÆS ÃH ÅÒÒÏÒ       DÅÆ ZBű0       ÊMP ZBÉÏ3 ª  ZBÅ05 ASà±3¬Å005 ÃÌÆ ÃH-SÆÃ ÃH ÅÒÒÏÒ¯ ZBÅ06 ASà±3¬Å006 ÃÌÆ ÃH-SÆS ÃH ÅÒÒÏÒ¯ ZBÅ0· ASà±3¬Å00· SÔÆ ÃH-SÆÃ ÃH ÅÒÒÏÒ¯ ZBű0 ASà±3¬Å0±0 SÔÆ ÃH-SÆS ÃH ÅÒÒÏÒ¯ ª  ª  ª  ª  ª  ª  ª  ª  ª  ª  ª  ª  ª  ª  ª  ª  ª  ª  ª        SKP ª         ÉNÔÅÒÒUPÔ ÃÏNÔÒÏÌ ª  ZBÉÏ3 ÊSB ZÔÃÊÉ     SÅÔ ÊSB ÉNSÔÒUÃÔÉÏN       DÅÆ ZB3Å ZBS3± SÔÆ ÃH        SÅÔ ÔHÅ ÆÌAG ZBS3² SÔàÃH        SÅÔ ÔHÅ ÃÏNÔÒÏÌ       SÔÆ ÉNÔP    Y¾þú  ÔUÒN É¯Ï SYSÔÅM ÏN ÔHÅN       ÃÌÆ ÉNÔP      ÔUÒN É¯Ï SYSÔÅM ÏÆÆ       NÏP           GÉVÅ ÉÔ A ÃHANÃÅ ÔÉ ÉNÔÅÒÒUPÔ       NÏP ZBS33 ÃÌÆ ÃH        ÒÅSÅÔ ÃH ÆÌAG       ÊMP ZBÉÏ´ ª  ZBÅ0´ ASà±6¬Å00´ ÃÌÆ 0 DÉD NÏÔ ÉNHÉBÉÔ ÉNÔ¯ ª  ZB3Å  NÏP       ÃÌÆ ÉNÔP      ÔUÒN ÏÆÆ ÉNÔS Å00´  ÊSB ÅÒMS¬É    Å00´       DÅÆ ZBÅ0´ ª  ª  ª  ª  ª  ª  ª  ª  ª  ª  ª  ª  ª  ª  ª  ª  ª  ª  ª  ª  ª  ª  ª  ª        SKP ª         SÅÌÅÃÔ ÃÏDÅ SÃÒÅÅN ÔÅSÔ ª  ZBÉÏ´ ÌDB Z.±0      SÔAÒÔ ×ÉÔH ÌÏ×ÅSÔ ADDÒÅSS ZB´0  ÌDA ZÉÏSà    GÅÔ SÅÌÅÃÔ ÃÏDÅ (ªÅDÉÔÅD ÉN ÔÃPª©       AND Z.··       ÃPB A         ÉS ÉÔ ÔHÅ ÃH?       ÊMP Z.ÃÌÆ+±   YÅS - SKÉP ÔÅSÔ       ÌDA Z.SÔÆ     SÅÔ UP       AND ZÉÏM       ÉÏÒ B           SÔÆ ÉNSÔÒUÃÔÉÏN       SÔA Z.SÔÆ     PUÔ ÉÔ ÉN PÌAÃÅ       ÌDA Z.ÃÌÆ     SÅÔ UP       AND ZÉÏM       ÉÏÒ B         ÃÌÆ ÉNSÔÒUÃÔÉÏN       SÔA Z.ÃÌÆ     PUÔ ÉÔ ÉN ÌÉNÅ ZBS´± ÃÌÆ ÃH        ÃÌÅAÒ ÃHANNÅÌ ÆÌAG Z.SÔÆ SÔÆ ÃH        ÅØÅÃUÔÅ SÔÆ ÃH ÉNSÔÒUÃÔÉÏN ZBS´² SÆÃ ÃH        ÔÅSÔ ÃHANNÅÌ ÆÌAG       ÊMP ZB´± Z.ÃÌÆ ÃÌÆ ÃH        ÃÌÅAÒ ÔÅSÔ ÆÌAG       ÃPB Z.··      ÉS ÔÅSÔ ÆÉNÉSHÅD?       ÊMP ZBÉÏ5     YÅS       ÉNB           NÏ       ÊMP ZB´0        DÏ NÅØÔ ÃHANNÅÌ ª  ZBű± ASà±´¬Å0±± SÔÆ  ØØ SÅÔ ÃAÒD ÆÌAG¯¯ ª  ZB´±  SÔB ZBÔMP     SAVÅ NUMBÅÒ       ÌDA B         ÃÏNVÅÒÔ ÃH ÆÏÒ MÅSSAGÅ       ÊSB ZN²AÏ       SÔA ZBű±+5       ÌDA ZBÔMP     ÒÅÔÒÉÅVÅ NUMBÅÒ Å0±±  ÊSB ÅÒMS¬É    Å0±±       DÅÆ ZBű± ª  ª  ª  ª  ª        SKP ª         ÃHÅÃK ÉNÔÅÒÒUPÔ ¦ HÏÌD ÏÆÆ ª  ZBÉÏ5 ÊSB ZÔÃÊÉ       DÅÆ ZBÉ5       ÃÌA           SÅÔ UP       SÔA ZBÆ5        ÆÌAGS       SÔA ZBÉ5        ÆÏÒ ÔÅSÔ       SÔA ZBÔMP ZBS5± SÔàÃH        ÔUÒN ÏN ZBS5² SÔÆ ÃH          ÃAÒD       SÔÆ ÉNÔP      AND ÉNÔÅÒÒUPÔS       SÔà±         ª       SÔÆ ±         ª       ÃÌà±         ª       ÃÌÆ ±         ª  NÏ ÉNÔÅÒÒUPÔ       ÊMP ª+±¬É     ª  SHÏUÌD ÏÃÃUÒÒ       DÅÆ ª+±       ª  HÅÒÅ       ÊSB ª+±¬É     ª       DÅÆ ª+±       ª ZBÆ5  NÏP           ª     Á<:6  ÉSZ ZBÔMP     ÉNÔ. SHÏUÌD BÅ HÅÒÅ       ÉSZ ZBÔMP       ÃÌÆ ÉNÔP      ÔUÒN É¯Ï SYSÔÅM ÏÆÆ       ÌDA ZBÉ5      DÉD ÉÔ ÉNÔÅÒÒUPÔ?       SZA       ÊMP ª+´ Å0±´  ÊSB ÅÒMS¬É    Å0±´ NÏ ÉNÔ       DÅÆ ZBű´       ÊMP ZBÉÏ6     ABÏÒÔ ÒÅSÔ ÏÆ SÅÃÔÉÏN       ÌDA ZBÔMP     ÃHÅÃK ÆÏÒ ÃÏÒÒÅÃÔ ÉNÔÅÒÒUPÔ       ÃPA Z.²       ?       ÊMP ª+3 Å0²6  ÊSB ÅÒMS¬É    Å0²6 ÉNÔ ÅØÅÃUÔÉÏN ÅÒÒÏÒ       DÅÆ ZBŲ6 ZBS53 ÃÌÆ ÃH        ÔUÒN ÏÆÆ ÃH ÆÌAG       ÊMP ZBÉÏ6     GÏ ÔÏ NÅØÔ SÅÃÔÉÏN ª  ZBD5  DÅÆ ZBÆ5-± ZBD5A DÅÆ ZBÆ5+± ª  ZBű² ASà±6¬Å0±² ÉNÔ DUÒÉNG HÏÌD ÏÆÆ ÉNSÔÒ¯ ZBű3 ASà±²¬Å0±3 SÅÃÏND ÉNÔ ÏÃUÒÒÅD¯ ZBű´ ASà06¬Å0±´ NÏ ÉNÔ¯ ZBű5 ASà±²¬Å0±5 ÉNÔ ÒÔN ADDÒ ÅÒÒÏÒ¯ ZBŲ6 ASà±3¬Å0²6 ÉNÔ ÅØÅÃUÔÉÏN ÅÒÒÏÒ¯ ª  ª  ª  ª  Ìi<ÿÿ ÿý  ÿ12989-18002 1435 S 0147 DG-2894A RDR/PNCH              H0101 ë6þú       SKP ZBÉ5  NÏP       ÃÌÆ ÉNÔP      ÔUÒN É¯Ï SYSÔÅM ÏÆÆ       ÌDA ZBD5      ÃHÅÃK ÔÏ SÅÅ ÉÆ AÌÌ       ÃPA ZBÆ5          ÉNSÔÒUÃÔÉÏN ÃÏMPÌÅÔÅD       ÊMP ª+3       YÅS Å0±²  ÊSB ÅÒMS¬É    Å0±² ÉNÔ DUÒÉNG HÏÌD ÏÆÆ       DÅÆ ZBű²       ÌDA ZBD5A     ÃHÅÃK ÒÅÔUÒN ADDÒÅSS       ÌDB ÃPÔÏ      ÉÆ ²±0Ø       SSB           ADD ÏNÅ       ÉNA       ÃPA ZBÉ5       ÊMP ZBÉ5A Å0±5  ÊSB ÅÒMS¬É    Å0±5 ÉNÔ ÒÔN ADDÒ ÅÒÒÏÒ       DÅÆ ZBű5       ÊMP ZBÉÏ6 ZBÉ5A ÊSB ZÔÃÊÉ     SÅÔ SÅÃÏND ÉNÔ ÔÒAP       DÅÆ ZBÔ5       SÔÆ ÉNÔP      ÔUÒN É¯Ï SYSÔÅM ÏN       ÊMP ZBÉ5¬É    ÃÏNÔÉNUÅ ÔÅSÔ ª  ª  ZBÔ5  NÏP       ÃÌÆ ÉNÔP      ÔUÒN É¯Ï SYSÔÅM ÏÆÆ Å0±3  ÊSB ÅÒMS¬É    Å0±3 SÅÃÏND ÉNÔ ÏÃUÒÒÅD       DÅÆ ZBű3 ª  ª  ª  ª  ª        SKP ª         ÃÌàÃH AND  ÃÌà0 ª  ZBÉÏ6 ÊSB ZÔÃÊÉ     SÅÔ ÊSB ÉNSÔÒUÃÔÉÏN       DÅÆ ZBÉ6± ZBS6± SÔàÃH        SÅÔ ÃH ÃÏNÔÒÏÌ ZBS6² SÔÆ ÃH        SÅÔ ÃH ÆÌAG       SÔÆ ÉNÔP      ÔUÒN ÏN ÉNÔÅÒÒUPÔS ZBS63 ÃÌàÃH        ÃÌÅAÒ ÃH ÃÏNÔÒÏÌ       NÏP           GÉVÅ ÉÔ A ÃHANÃÅ       NÏP       ÃÌÆ ÉNÔP      ÔUÒN ÉNÔS ÏÆÆ ZB60  ÊSB ZÔÃÊÉ     SÅÔ ÊSB ÉNSÔÒUÃÔÉÏN       DÅÆ ZBÉ6² ZBS6´ ÃÌÆ ÃH        ÃÌÅAÒ ÃH ÆÌAG ZBS65 SÔàÃH        SÅÔ ÃH ÃÏNÔÒÏÌ ZBS66 SÔÆ ÃH        SÅÔ ÃH ÆÌAG       SÔÆ ÉNÔP      ÔUÒN ÏN ÉNÔS       ÃÌàÉNÔP      ÃÌÅAҠɯϠSYSÔÅM       NÏP           GÉVÅ ÉÔ A ÃHANÃÅ       NÏP       ÃÌÆ ÉNÔP      ÔUÒN ÏÆÆ ÉNÔS       ÊMP ZBÉÏ· ª  ª  ZBÉ6± NÏP       ÃÌÆ ÉNÔP      ÔUÒN ÏÆÆ ÉNÔS Å0±6  ÊSB ÅÒMS¬É    Å0±6 ÃÌàÃH ÅÒÒÏÒ       DÅÆ ZBű6       ÊMP ZB60 ª  ZBÉ6² NÏP       ÃÌÆ ÉNÔP      ÔUÒN ÏÆÆ ÉNÔS Å0±·  ÊSB ÅÒMS¬É    Å0±· ÃÌà0 ÅÒÒÏÒ       DÅÆ ZBű·       ÊMP ZBÉÏ· ª  ZBű6 ASà9¬Å0±6 ÃÌàÃH ÅÒÒÏÒ¯ ZBű· ASà9¬Å0±· ÃÌà0 ÅÒÒÏÒ¯ ª  ª  ª  ª  ª        SKP ª         ÅØÔÅÒNAÌ ¦ ÉNÔÅÒNAÌ PÒÅSÅÔ ÔÅSÔ ª  ZBÉÏ· ÌDB ZS¸±²     ÃHÅÃK ÔÏ SUPPÒÅSS       ÊSB S×ÒԬɠ   ?       ÊMP H0²5      YÅS - SKÉP PÒÅSÅÔ ÔÅSÔ H0²´  ÊSB MSGìɠ   ÔÅÌÌ ÏPÅÒAÔÏÒ       DÅÆ ZBM²´     PÒÅSS PÒÅSÅÔ ª  ZBS·± ÃÌÆ ÃH    þüþú    ÃÌÅAÒ ÃH ÆÌAG       SÔÆ ÉNÔP      ÔUÒN ÏN ÉNÔS       ÊSB ZÔÃÊÉ     SÅÔ ÔÒAP ÃÅÌÌ ÊSB ÉNSÔÒUÃÔÉÏN       DÅÆ ZBÉ·0       HÌÔ ²´B       ×AÉÔ ÆÏÒ ÏPÅÒAÔÏÒ       ÃÌA¬ÉNA       SÅÔ UP ÆÌAGS ÆÏÒ ÔÅSÔS       SÆS ÉNÔP      ÃHÅÃK ÉNÔP ÆÌAG       ÃÌA           NÏÔ SÅÔ SÏ ÃÌÅAÒ ÆÌAG       ÒAÌ           MÏVÅ ÔÏ NÅØÔ ÆÌAG       ÃÌÆ ÉNÔP      ÔUÒN ÏÆÆ ÏNÔPS ZBS·² SÆS ÃH        ÃHÅÃK ÃHANNÅÌ ÆÌAG       ÉNA           NÏÔ SÅÔ SÏ ÆÌAG ÉÔ       ÒAÌ           MÏVÅ ÔÏ NÅØÔ ÆÌAG       ÌÉB 0         ÃHÅÃK É¯Ï BUSS       SZB           SHÏUÌD BÅ ZÅÒÏ       ÉNA           NÏÔ SÏ ÆÌAG ÉÔ       ÒAÌ           MÏVÅ ÔÏ NÅØÔ ÆÌAG       SÔÆ ÉNÔP      ÃHÅÃK ÃÏNÔÒÏÌ ÏN ÃAÒD       NÏP           GÉVÅ ÉÔ A ÃHANÃÅ       NÏP       ÃÌÆ ÉNÔP      ÔUÒN ÏÆÆ ÉNÔPS ª  ª  ª  ª  ª  ª  ª  ª  ª  ª  ª  ª  ª  ª  ª  ª  ª  ª  ª  ª  ª  ª  ª        SKP ZB·0  SÌA¬ÒSS       ÃHÅÃK ÆÏÒ ÅÒÒÏÒS       ÊMP ª+3 Å0²²  ÊSB ÅÒMS¬É    Å0²² DÉD NÏÔ ÃÌÅAÒ ÃÏNÔÒÏÌ       DÅÆ ZBŲ²       ÒAÒ       SÌA¬ÒSS       ÊMP ª+3 Å0²3  ÊSB ÅÒMS¬É    Å0²3 É¯Ï ÌÉNÅS NÏÔ ÃÌÅAÒ       DÅÆ ZBŲ3       ÒAÒ       SÌA¬ÒSS       ÊMP ª+3 Å0²0  ÊSB ÅÒMS¬É    Å0²0 ÆÌAG NÏÔ SÅÔ       DÅÆ ZBŲ0       ÒAÒ       SÌA¬ÒSS       ÊMP ª+3 Å0²±  ÊSB ÅÒMS¬É    Å0²± DÉD NÏÔ DÉABÌÅ ÉNÔS       DÅÆ ZBŲ± H0²5  ÊSB MSGìɠ   ÔÅÌÌ ÏPÅÒAÔÏÒ       DÅÆ ZBM²5     BASÉàɯϠÉS ÃÏMPÌÅÔÅ       ÊMP ZBÉϬɠ   ÒÅÔUÒN ÔÏ ÃAÌÌÅÒ ª  ZBÉ·0 NÏP           ÃÏNÔÒÏÌ ÆAÉÌÅD       ÃÌÆ ÉNÔP      ÔUÒN ÏÆÆ ÉNÔPS       ÉNA       ÊMP ZB·0 ª  ZBŲ0 ASà±·¬Å0²0 PÒÅSÅÔ(ÅØÔ© DÉD NÏÔ SÅÔ ÆÌAG¯ ZBŲ± ASà±9¬Å0²± PÒÅSÅÔ(ÉNÔ© DÉD NÏÔ DÉSABÌÅ ÉNÔS¯ ZBŲ² ASà²0¬Å0²² PÒÅSÅÔ(ÅØÔ© DÉD NÏÔ ÃÌÅAÒ ÃÏNÔÒÏ̯ ZBŲ3 ASಱ¬Å0²3 PÒÅSÅÔ(ÅØÔ© DÉD NÏÔ ÃÌÅAÒ É-Ï ÌÉNÅS¯ ZBM²´ ASà±·¬H0²´ PÒÅSS PÒÅSÅÔ (ÅØÔ¦ÉNÔ©¬ÒUN¯ ZBM²5 ASà0¸¬H0²5 BÉ-Ï ÃÏMP¯       SKP ZBÉÏD DÅÆ ª+±       DÅÆ ZBS²±       DÅÆ ZBS²²       DÅÆ ZBS²3       DÅÆ ZBS²´       DÅÆ ZBS²5       DÅÆ ZBS²6       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Åà-± ª  ZÃÅND ÅÑU ª ª  ª  ª  ª  ª  ª  ª  ª  ª  ª  ª  ª  ª  ª  ª  ª  ª  ª  ª  ª  ª  ª  ª  ª  ª        HÅD HP ²¸9´ ÃAÒD ÒÅADÅÒ PUNÃH DÉAGNÏSÔÉà ªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªª ª         BASÅ PAGÅ DAÔA ÆÏÒ ÔÅSÔ ÃÏNÔÒÏÌ PÒÏGÒAM                  ª ªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªª ª        ÏÒG ±00B       ÊMP ÃÏN².¬É   GÏÔÏ Ô×Ï-ÃHANNÅÌ ÃÏNÆÉG SÅÃÔÉÏN       ÏÒG ±²6B DSN   ÏÃÔ ±±300±    DÉAGNÏSÔÉàSÅÒÉAÌ NUMBÅÒ       ÏÒG ±´0B ÉÏÉPD DÅÆ ÉÏÉD      PÏÉNÔÅÒ ÔÏ DAÔA ÃH É¯Ï ÉNS ÔABÌÅ ÉÏÉPàDÅÆ ÉÏÉà     PÏÉNÔÅÒ ÔÏ ÃMND ÃH É¯Ï ÉNS ÔABÌÅ ÔSÔP  DÅÆ ÔSÔD      PÏÉNÔÅÒ ÔÏ ÔÅSÔ ÔABÌÅ HDMP  DÅÆ HDMS      PÏÉNÔÅÒ ÔÏ HÅADÅÒ MÅSSAGÅ SÔDA  ÏÃÔ ····      DÅÆAUÌÔ ÔÅSÔ SÅÔ SÔDB  ÏÃÔ 0 ª  ªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªª ª         BASÅ PAGÅ ÃÏNSÔANÔS                                      ª ªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªª ª        ÏÒG ±50B DAÔA  ÅÑU ±0B       DUMMY DAÔA ÃH SÅÌÅÃÔ ÃÏDÅ ÃMND  ÅÑU ±±B       DUMMY ÃMND ÃH SÅÌÅÃÔ ÃÏDÅ ª  ÒNÒ   NÏP ÉÃNÔ  NÏP SHÉÆÔ NÏP SAVA  NÏP SAVB  NÏP PÏÉSÔ NÏP ÃNÒÏÔ NÏP AÒÌÉM NÏP ÃÏÌÃÔ NÏP AÒA   NÏP BUÆPÏ NÏP SHÆ   NÏP AÒPÏ  NÏP ÃÃÔÒÌ NÏP DÃÔÒÌ NÏP ÒÑNÃÌ NÏP PÏÉNÔ NÏP ×SÉND NÏP ÅØPÏ  NÏP AÃPÏ  NÏP BÌÉ   NÏP ÅØDA  NÏP AÃDA  NÏP ÒÏÔA  NÏP ÃÏÌÏ  NÏP PÏN   NÏP GÌÏ   NÏP SÌÏ   NÏP VAPÏ  NÏP MÏÉ   NÏP ÃAÃÏ  NÏP ÅPU   NÏP PÉN   NÏP ª  ÏNÅ   ÏÃÔ ± Ï´00  ÏÃÔ ´00 ÉNSÔA ÏÃÔ 0300´0¬030060 PUPÒÉ ÏÃÔ 60000 MSK±² ÏÃÔ ···· MSK±3 ÏÃÔ ±···· B±0   ÏÃÔ ²000 ÃÌBÆ  ÏÃÔ ±00000 ÉNHÉÆ ÏÃÔ ´000 SÃMSK ÏÃÔ ·· B¸A±² ÏÃÔ ±0´00 ÅÃS±  ÏÃÔ ±03´² ÅDS±  ÏÃÔ ±000 ÅÃS²  ÏÃÔ ±0²0² ÅDS´  ÏÃÔ 0 ÅÃS5  ÏÃÔ 3´0 ÅDS²  ÏÃÔ ´00 ÅÃJqþúS3  ÏÃÔ ±0²00 ÅÃS´  ÏÃÔ ²00 ÅÃS6  ÏÃÔ ±03´0 ÅÃS·  ÏÃÔ ±0360 ÅÃS¸  ÏÃÔ ±±´360 ÅÃS9  ÏÃÔ ±±´3´0 ÅÃS±0 ÏÃÔ 360 ÅÃS±² ÏÃÔ ±00360 ZÅÒÏ  ÏÃÔ 0 SÃM   ÏÃÔ ±0000 B¸    ÏÃÔ ´00 H²S²  ÏÃÔ ±±´000 H²SÏM ÏÃÔ ±00000 B±±   ÏÃÔ ´000 B5    ÏÃÔ ´0 B´    ÏÃÔ ²0 B6    ÏÃÔ ±00 B±5   ÏÃÔ ±00000 B9    ÏÃÔ ±000 B±    ÏÃÔ ² ÃBÉN  ÏÃÔ ±0´000 B·    ÏÃÔ ²00 B±´   ÏÃÔ ´0000 Ñ×B²K ÏÃÔ ±·´000 PɲK  ÏÃÔ ±5´000 ×ɲK  ÏÃÔ ±3´000 PSɲK ÏÃÔ ±·6000 ÃMSK  ÏÃÔ ±· ÃM0   ÏÃÔ 0 ÃM±   ÏÃÔ ± ÃM²   ÏÃÔ ² ÃM3   ÏÃÔ 3 ÃM´   ÏÃÔ ´ ÃM5   ÏÃÔ 5 ÃM6   ÏÃÔ 6 ÃM·   ÏÃÔ · ÃM±0  ÏÃÔ ±0 ÃM±±  ÏÃÔ ±± B3²¸5 ÏÃÔ 30500 B±²   ÏÃÔ ±0000 ª  D±±   DÅà±± M±6   DÅà-±6 M±    DÅà-± M3    DÅà-3 DÅø0 DÅà¸0 AÌ63  DÅà63 D¸0   DÅà¸0 D·9   DÅà·9 AÌ39  DÅà39 D´    DÅà´ D5    DÅà5 D3    DÅà3 M5    DÅà-5 D²    DÅಠD±²   DÅà±² M¸0   DÅà-¸0 M±0   DÅà-±0 D±9   DÅà±9 ª  PUBUA DÅÆ PUBU BÃV². DÅÆ BÃV² ÃÌÏÆ. DÅÆ ÃÌÏUÆ ÃÒÏÆ. DÅÆ ÃÒÏUÆ PÒBUA DÅÆ PÒBU ÒDBUA DÅÆ ÒDBU ÃÌPÆ. DÅÆ ÃÌPÒÆ ÃÒPÆ. DÅÆ ÃÒPÒÆ ÃÌÉÆ. DÅÆ ÃÌÉNÆ ÃÒÉÆ. DÅÆ ÃÒÉNÆ DÆ×.  DÅÆ DÆ× ÃÆ×.  DÅÆ ÃÆ× DSÔ×. DÅÆ DSÔ× ÃSÔ×. DÅÆ ÃSÔ× SÔÒÅ. DÅÆ SÔÒÅP AÒ²B. DÅÆ AÒ²BU SÃAN. DÅÆ SÃAN ÃÌÃV. DÅÆ ÃÌÃV ÃÒÃV. DÅÆ ÃÒÃV ÃÒñ. DÅÆ ÃÒÃV± DSÔ.  DÅÆ DSÔ ÃSÔ.  DÅÆ ÃSÔ SÔA.  DÅÆ SÔA ÃÅÒ.  DÅÆ ÃÅÒ SPU.  DÅÆ SPU SPÒ.  DÅÆ SPÒ ÉÒÅA. DÅÆ ÉÒÅA SÒD.  DÅÆ SÒD ÉÃÌÏ. DÅÆ ÉÃÌÏ ÉÃÒÏ. DÅÆ ÉÃÒÏ ÉÃÌP. DÅÆ ÉÃÌP ÉÃÒP. DÅÆ ÉÃÒP ÉÃÌÉ. DÅÆ ÉÃÌÉ ÉÃÒÉ. DÅÆ ÉÃÒÉ DÏDÏ. DÅÆ DÏDÏ ÃÏN². DÅÆ ÃÏN²      Ô×Ï-ÃHANNÅÌ ÃÏNÆÉG SÅÃÔÉÏN ÔS00. DÅÆ ÔSÔ00 ZBÉÏ. DÅÆ ZBÉÏ ÉSÃM. DÅÆ ÉSÃM ÃÏÃS. DÅÆ ÃÏÃS ÃSÅÒ. DÅÆ ÃSÅÒ BÅØ.  DÅÆ BÅØ BAÃ.  DÅÆ BAà ÃÏDS. DÅÆ ÃÏDS ÅÒSÔ. DÅÆ ÅÒSÔ ÉSÏM. DÅÆ ÉSÏM DSÅÒ. DÅÆ DSÅÒ DAÃÏ. DÅÆ DAÃÏ ÒB².  DÅÆ ÒB² Ñ×B². DÅÆ Ñ×B² P×ɲ. DÅÆ P×ɲ ÒA±.  DÅÆ ÒA± ÆÉ±.  DÅÆ ÆÉ± ÅÃÌ.  DÅÆ ÅÃÌ ÅÃÒ.  DÅÆ ÅÃÒ DÅØ.  DÅÆ DÅØ DAÃ.  DÅÆ DAà ÏÃÏ.  DÅÆ ÏÃÏ Pɲ.  DÅÆ Pɲ PSɲ. DÅÆ PSɲ ×ɲ.  DÅÆ ×ɲ BUD.  DÅÆ BUD ×SÃH. DÅÆ ×SÃH ÒA0.  DÅÆ ÒA0 ÆÉ0.  DÅÆ ÆÉ0 ÒB0.  DÅÆ ÒB0 ÆÉ².  DÅÆ ÆÉ² PUØ.  DźÂþúÆ PUØ ÒDØ.  DÅÆ ÒDØ PUY.  DÅÆ PUY ÒDY.  DÅÆ ÒDY ÑB².  DÅÆ ÑB² Ò×B². DÅÆ Ò×B² ÑSB². DÅÆ ÑSB² HPA.  DÅÆ HPA AÌMÆ. DÅÆ AÌMÆ ÃSM.  DÅÆ ÃSM ª  ÊÃÅÒ  ÊMP ÃÅÒ.¬É ÊSPU  ÊMP SPU.¬É ÊSPÒ  ÊMP SPÒ.¬É ÊÉÒÅA ÊMP ÉÒÅA.¬É ÊSÒD  ÊMP SÒD.¬É       SKP ªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªª ª         PÏÉNÔÅÒS ÔÏ DAÔA ÃH É¯Ï ÉNSÔÒUÃÔÉÏNS                     ª ªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªª ª  ÉÏÉD  ÅÑU ª       DÅÆ DÆA       DÅÆ DSA       DÅÆ DÉϱ       DÅÆ DÉϲ       DÅÆ DÉÏ3       DÅÆ DÉÏ´       DÅÆ DÉÏ5       DÅÆ DÉÏ6       DÅÆ ÉÒDBU       DÅÆ DÉÏ·       DÅÆ DÉϸ       DÅÆ ÌNDÒÑ       DÅÆ DÉÏ9       DÅÆ DÉϱ±       DÅÆ DÉϱ3       DÅÆ DÉϱ´       DÅÆ DÉϱ5       DÅÆ DÉϱ·       DÅÆ ÉÒD       DÅÆ DÉϱ9       DÅÆ DÉϲ²       DÅÆ DÉϲ´       DÅÆ DÉϲ5       DÅÆ DÉϲ6       DÅÆ DÉϲ·       DÅÆ DÉϲ¸       DÅÆ ÌNDÒÉ       DÅÆ DÉÏ3²       DÅÆ DÉÏ33       DÅÆ DÉÏ3´       DÅÆ DÉÏ35       DÅÆ DÉÏ36       DÅÆ DÉÏ3·       DÅÆ DÉÏ3¸       DÅÆ DÉÏ39       DÅÆ DÉÏ´0       DÅÆ DÉÏ´±       DÅà-±        ÅND ÏÆ ÔABÌÅ ÉNDÉÃAÔÏÒ       SKP ªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªª ª         PÏÉNÔÅÒS ÔÏ ÃMND ÃH É¯Ï ÉNSÔÒUÃÔÉÏNS                     ª ªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªª ª  ÉÏÉà ÅÑU ª       DÅÆ ÃÆA       DÅÆ ÃSA       DÅÆ ÃÉϱ       DÅÆ ÃÉϲ       DÅÆ ÃÉÏ3       DÅÆ ÃÉÏ´       DÅÆ ÃÉÏ05       DÅÆ ÃÉÏ06       DÅÆ ÃÉÏ0·       DÅÆ ÃÉÏ0¸       DÅÆ ÃÉÏ09       DÅÆ ÃÉϱ0       DÅÆ ÃÉϱ±       DÅÆ ÃÉϱ²       DÅÆ ÃÉϱ3       DÅÆ ÃÉϱ´       DÅÆ ÃÉϱ5       DÅÆ ÃÉϱ6       DÅÆ ÃÉϱ·       DÅÆ ÃÉϱ¸       DÅÆ ÃÉϱ9       DÅÆ ÃÉϲ0       DÅÆ ÃÉϲ±       DÅÆ ÃÉϲ²       DÅà-±        ÅND ÏÆ ÔABÌÅ ÉNDÉÃAÔÏÒ ª  ªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªª ª         PÏÉNÔÅÒS ÔÏ SÔAÒÔ ÏÆ ÅAÃH ÔÅSÔ                           ª ªªªªªªªªªªªªªªªªªªªªÙ»þúªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªª ª  ÔSÔD  ÅÑU ª       DÅÆ ÔSÔ0      BASÉàɯϠÔÅSÔ ÆÏÒ DAÔA ÃH       DÅÆ ÔSÔ0±     BASÉàɯϠÔÅSÔ ÆÏÒ ÃMND ÃH       DÅÆ ÔSÔ0²       DÅÆ ÔSÔ03       DÅÆ ÔSÔ0´       DÅÆ ÔSÔ05       DÅÆ ÔSÔ06       DÅÆ ÔSÔ0·       DÅÆ ÔSÔ0¸       DÅÆ ÔSÔ09       DÅÆ ÔSÔ±0       DÅÆ ÔSÔ±±       DÅÆ ÔSÔ±²       DÅà-±        ÅND ÏÆ ÔABÌÅ ÉNDÉÃAÔÏÒ ª  ÉÏÉP  DÅÆ ÉÏÉDD     DUMMY PÏÉNÔÅÒ ÆÏÒ ÔÃP ÉÏÉDD ÅÑU ª       DÅà-±       SKP ªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªª ª         HÅADÅÒ MÅSSAGÅ                                           ª ªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªª ª  HDMS  ASà±3¬HP ²¸9´ ÃAÒD ÒÅADÅÒ PUNÃH       ASà6¬DÉAGNÏSÔÉï ª  ªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªª ª         DAÔA PAÔÔÅÒNS                                            ª ªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªª ª  ×ÃPA  ÏÃÔ ····¬0¬····       ÏÃÔ 3···¬5···¬6···¬·3··¬·5··¬·6··       ÏÃÔ ··3·¬··5·¬··6·¬···3¬···5¬···6       ÏÃÔ ····¬0       ÏÃÔ ´000¬²000¬±000¬´00¬²00¬±00       ÏÃÔ ´0¬²0¬±0¬´¬²¬±¬0       ÏÃÔ ²5²5¬5²5²¬····¬²5²5¬0       ÏÃÔ 5²5²¬²5²5¬····¬5²5²¬0 ª  HPA   ÏÃÔ ´000¬²000       ÏÃÔ ±000¬´00¬²00¬±00¬´0¬²0¬±0¬´¬²¬±       ÏÃÔ ´´00¬´²00¬´±00¬´0´0¬´0²0¬´0±0¬´00´¬´00²       ÏÃÔ ´00±       ÏÃÔ ²´00¬²²00¬²±00¬²0´0¬²0²0¬²0±0¬²00´¬²00²       ÏÃÔ ²00±       ÏÃÔ ±²00¬±±00¬±0´0¬±0²0¬±0±0¬±00´¬±00²¬±00±       ÏÃÔ ²0²¬±0²¬´²¬²²¬±²¬6       ÏÃÔ ´²0²¬´±0²¬´0´²¬´0²²¬´0±²¬´006       ÏÃÔ ²²0²¬²±0²¬²0´²¬²0²²¬²0±²¬²006¬±´00       ÏÃÔ ±²0²¬±±0²¬±0´²¬±0²²¬±0±²¬±006       ÏÃÔ 0 ª  SÃHB  ÏÃÔ 0¬····¬····¬0¬0¬····¬²5²5       ÏÃÔ 5²5²¬5²5²¬²5²5¬····¬0¬0¬····       ÏÃÔ ····¬0¬5²5²¬²5²5¬²5²5¬5²5² ª  ÆUÌÌ  ÏÃÔ ···· ª  AÌMÆ  ÏÃÔ 3···¬5···¬6···¬·3··¬·5··¬·6··       ÏÃÔ ··3·¬··5·¬··6·¬···3¬···5¬···6 ª        ÏÒG ±´00B ªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªª ª         PUNÃH¬ PÒÉNÔ¬ AND ÒÅAD BUÆÆÅÄþúÒS                           ª ªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªª ª  PUBU  BSS ¸0 PÒBU  BSS ¸0 ÒDBU  BSS ¸0       SKP       ÏÒG ZÃÅND     ÌASÔ ×ÏÒD ÉN ÃÏNÔÒÏÌ PÒÏGÒAM ªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªª ª         Ô×Ï-ÃHANNÅÌ ÃÏNÆÉGUÒAÔÉÏN SÅÃÔÉÏN                        ª ªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªª ª  ÃÏN²  ÃÌàÉNÔP¬Ã    ÔUÒN É¯Ï SYSÔÅM ÏÆÆ       ÌÉA S×        GÅÔ SÅÌÅÃÔ ÃÏDÅ AND ÏPÔÉÏNS       SÔA USSà     SAVÅ ÔHÅM       AND Z.··      ÅÌÉMÉNAÔÅ ÏPÔÉÏNS       ÌDB A       ÃMB¬ÉNB       ÃHÅÃK ÔHAÔ Sྠ·       ADB Z.·         ÆÏÒ DAÔA ÃH (HÉ PÒÉÏÒ©       SSB           ?       ÊMP ª+3       ÏK GÏ ÏN       HÌÔ ·3B       NÏ       ÊMP ÃÏN²      ÔÒY AGAÉN       ÌDB ÉÏÉPD     ÉNÉÔÉAÌÉZÅ ÔÅSÔ É¯Ï       ÊSB ZÉSà       ÉNSÔÒUÃÔÉÏNS ÆÏÒ DAÔA ÃH       ÌDA USSà     GÅÔ SÅÌÅÃÔ ÃÏDÅ       AND Z.··        ÆÏÒ ÃMND ÃH (ÌÏ PÒÉÏÒ©       ÉNA       ÌDB ÉÏÉPà    ÉNÉÔÉAÌÉZÅ ÔÅSÔ É¯Ï       ÊSB ZÉSà       ÉNSÔÒUÃÔÉÏNS ÆÏÒ ÃMND ÃH       HÌÔ ·´B       AÌÌÏ× ÏPÅÒAÔÏÒ ÔÏ ÃHANGÅ S×ÉÔ       ÊMP ZSÔÅØ     GÏ ÔÏ ÅØÅàÃÏNÔÒÏÌ SÅÃÔÉÏN       SKP ªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªª ª         SUBÒÏUÔÉNÅS                                              ª ªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªª ª  ª½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½ª ª         SUBÒÏUÔÉNÅS DÆ× AND ÃÆ×                                  ª ª     ÔHÅSÅ SUBÒÏUÔÉNÅS ÃHÅÃK SÅÔÔÉNG ÏÆ DAÔA ÃH AND ÃMND ÃH       ª ª     ÆÌAG ×ÉÔHÉN A ÔÉMÅ ÌÉMÉÔ BY ÉNÃÒÅMÅNÔÉNG A-ÒÅGÉSÔÅÒ          ª ª½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½ª ª  ª     ÃAÌÌÉNG SÅÑUÅNÃÅ: ª  ª      ÌDA Ø         (ؽ-±¬-²¬...¬-N»ABS(N© ÒÅPÒÅSÅNÔS NÏ. ÏÆ ª                      ÒÅÑ.ÒÏÌÌÏVÅÒS ÏÆ A© ª      ÊSB DÆ×.¬É (ÏÒ ÃÆ×.¬É© ªP+±   ...           ÒÅÔUÒN ÉÆ ÆÌAG SÅÔ ÉN ÔÉMÅ ªP+²   ...           ÒÅÔUÒN ÉÆ ÆÌAG NÏÔ SÅÔ ÉN ÔÉMÅ ª  DÆ×   NÏP Iþú       SÔA ÒNÒ       SÔÏÒÅ -ÒÅÑ.NÏ.ÏÆ ÒÏÌÌÏVÅÒS ÏÆ A       ÃÌA DÆA   SÆÃ DAÔA      ÉS ÆÌAG SÅÔ?       ÊMP DÆ×¬É     YÅS¬ÅØÉÔ ÔÏ P+±       ÉSZ A         NÏ» ÉS A-ÒÅG ÆUÌÌ?       ÊMP DÆA       NÏ       ÉSZ ÒNÒ       YÅS»ÉS ×AÉÔÉNG SÔÉÌÌ ÒÅÑ?       ÊMP DÆA       YÅS       ÉSZ DÆ×       NÏ¬ÅØÉÔ ÔÏ P+²       ÊMP DÆ×¬É ª  ÃÆ×   NÏP       SÔA ÒNÒ       SÔÏÒÅ -ÒÅÑ.NÏ.ÏÆ ÒÏÌÌÏVÅÒS ÏÆ A       ÃÌA ÃÆA   SÆÃ ÃMND      ÉS ÆÌAG SÅÔ?       ÊMP ÃÆ×¬É     YÅS¬ÅØÉÔ ÔÏ P+±       ÉSZ A         NÏ» ÉS A-ÒÅG ÆUÌÌ?       ÊMP ÃÆA       NÏ       ÉSZ ÒNÒ       YÅS»ÉS ×AÉÔÉNG SÔÉÌÌ ÒÅÑ?       ÊMP ÃÆA       YÅS       ÉSZ ÃÆ×       NÏ¬ÅØÉÔ ÔÏ P+²       ÊMP ÃÆ×¬É       SKP ª½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½ª ª         SUBÒÏUÔÉNÅS DSÔ× AND ÃSÔ×                                ª ª     ÔHÅSÅ SUBÒÏUÔÉNÅS ÃHÅÃK SÅÔÔÉNG ÏÆ DAÔA ÃH AND ÃMND ÃH       ª ª     SÔAÔUS BÉÔS ×ÉÔHÉN A ÔÉMÅ ÌÉMÉÔ BY ÉNÃÒÅMÅNÔÉNG ÉÃNÔ ÃÏUNÔÅÒ ª ª½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½ª ª  ª     ÃAÌÌÉNG SÅÑUÅNÃÅ: ª  ª      ÌDA Ø         (ؽ-±¬-²¬...¬-N»ABS(N© ÒÅPÒÅSÅNÔS NÏ. ÏÆ ª                      ÒÅÑ.ÒÏÌÌÏVÅÒS ÏÆ ÉÃNÔ© ª      ÌDB BÉÔY      (Y½0¬±¬²¬...¬±5© ª      ÊSB DSÔ×.¬É (ÏÒ ÃSÔ×.¬É© ªP+±   ...           ÒÅÔUÒN ÉÆ BÉÔY SÅÔ ÔÏ ± ÉN ÔÉMÅ ªP+²   ...           ÒÅÔUÒN ÉÆ BÉÔY½0 (ÅÒÒÏÒ© ª  DSÔ×  NÏP       SÔA ÒNÒ       SÔÏÒÅ -ÒÅÑ.NÏ.ÏÆ ÒÏÌÌÏVÅÒS ÉNÃÔ       ÃÌA       SÔA ÉÃNÔ      SÅÔ ÉÃNÔ ÃÏUNÔÅÒ ÔÏ 0 DSA   ÌÉA DAÔA      GÅÔ SÔAÔUS       AND B         AND BÉÔ MASK       SZA           ÉS BÉÔ SÅÔ ÔÏ ±?       ÊMP DSÔ׬ɠ   YÅS¬ÅØÉÔ ÔÏ P+±(BÉÔ½±©       ÉSZ ÉÃNÔ      NÏ»ÉS ÉÃNÔ ÆUÌÌ?       ÊMP DSA       NÏ       ÉSZ ÒNÒ       YÅS»ÉS ×AÉÔÉNG SÔÉÌÌ ÒÅÑ?       ÊMP DSA       YÅS       ÉSZ DSÔ×      NÏ¬ÅØÉÔ ÔÏ P+²(BÉÔ½0©       ÊMP DSÔ×¬É ª  ÃSÔ×  NÏP       SÔA ÒNÒ       SÔÏÒÅ -ÒÅÑ.NÏ.ÏÆ ÒÏÌÌÏVÅÒS ÉNÃÔ       ÃÌA       SÔA ÉÃNÔ      SÅÔ ÉÃNÔ ÃÏUNÔÅÒ ÔÏ 0 ÃSA   ÌÉA ÃMND      GÅÔ SÔAÔUS       AND B         AND BÉÔ MASK       SZA       Éãþú    ÉS BÉÔ SÅÔ ÔÏ ±?       ÊMP ÃSÔ׬ɠ   YÅS¬ÅØÉÔ ÔÏ P+±(BÉÔ½±©       ÉSZ ÉÃNÔ      NÏ»ÉS ÉÃNÔ ÆUÌÌ?       ÊMP ÃSA       NÏ       ÉSZ ÒNÒ       YÅS»ÉS ×AÉÔÉNG SÔÉÌÌ ÒÅÑ?       ÊMP ÃSA       YÅS       ÉSZ ÃSÔ×      NÏ¬ÅØÉÔ ÔÏ P+²(BÉÔ½0©       ÊMP ÃSÔ×¬É       SKP ª½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½ª ª         SUBÒÏUÔÉNÅ SÔÒÅP                                         ª ª     ÔHÉS SUBÒÏUÔÉNÅ ÃHÅÃKS S× ÒÅG BÉÔ · AÆÔÅÒ MÅSSAGÅS ×ÉÔH (ª©¬ ª ª     ÒÅPÏÒÔS ÃMND ÃH AND DAÔA ÃH SÔAÔUS (ÉÆ BÉÔ · SÅÔ©¬ AND HAÌÔS ª ª½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½ª ª  ª     ÃAÌÌÉNG SÅÑUÅNÃÅ: ª  ª      ÊSB SÔÒÅ.¬É ªP+±   ...           ÒÅÔUÒN ª  SÔÒÅP NÏP       ÌDB B·        ÉS SÔAÔUS ÒÅPÏÒÔ ÒÅÑUÉÒÅD?       ÊSB S×ÒÔ¬É       ÊMP ª+²       YÅS¬ÒÅPÏÒÔ SÔAÔUS       ÊMP SÔÒÅP¬É   NÏ¬ÅØÉÔ       ÊSB SÔA.¬É    ÒÅPÏÒÔ SÔAÔUS       ÌDB B±´       ÉS HAÌÔ AÆÔ SÔ ÒÅP ÔÏ BÅ SUPPÒ?       ÊSB S×ÒÔ¬É       ÊMP ª+3       ÏN-YÅS¬ÃÏNÔÉNUÅ       ÌDB SAVB      ÏÆÆ-NϬÒÅSÔÏÒÅ DAÔA SÔ ÉN B       ÏÃÔ ±060²3    HAÌÔ       ÊMP SÔÒÅP¬É       SKP ª½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½ª ª         SUBÒÏUÔÉNÅ SÔA                                           ª ª     ÔHÉS SUBÒÏUÔÉNÅ ÒÅPÏÒÔS ÃMND ÃH AND DAÔA ÃH SÔAÔUS           ª ª     ×ÉÔHÏUÔ HAÌÔ                                                 ª ª½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½ª ª  ª     ÃAÌÌÉNG SÅÑUÅNÃÅ: ª  ª      ÊSB SÔA.¬É ªP+±   ...           NÏÒMAÌ ÒÅÔUÒN ª  SÔA   NÏP       ÃÌA       SÔA SHÉÆÔ       ÌDA ÏNÅ       ÉNÉÔÉAÌÉZÅ ASÃÉÉ BUÆ ÆÏÒ ÃMND       ÌDB D±±       ÊSB AÒ²B.¬É       DÅÆ ÉNSÔA       DÅÆ BUÆÃ       DÅÆ SHÉÆÔ ª        ÌDA ÏNÅ       ÉNÉÔÉAÌÉZÅ ASÃÉÉ BUÆ ÆÏÒ DAÔA       ÌDB D±±       ÊSB AÒ²B.¬É       DÅÆ ÉNSÔA       DÅÆ BUÆD       DÅÆ SHÉÆÔ ª  ÃÉϱ  ÌÉA ÃMND      GÅÔ ÃMND ÃH SÔAÔUS       SÔA SAVA      SAVÅ ÉÔ DÉϱ  ÌÉB DAÔA      GÅÔ DAÔA ÃH SÔAÔUS       SÔB SAVB      SAVÅ ÉÔ ª        ÌDOf<:6B SAVA      ÃÏNVÅÒÔ ÃMND ÃH SÔAÔUS ÔÏ ASÃÉÉ       ÌDA BUÆÃA       ÊSB SÃAN.¬É ª        ÌDB SAVB      ÃÏNVÅÒÔ DAÔA ÃH SÔAÔUS ÔÏ ASÃÉÉ       ÌDA BUÆDA       ÊSB SÃAN ª        ÌDA SAVA      ÒÅÔUÒN SÔAÔUS ÔÏ A AND B       ÌDB SAVB       ÊSB MSGìɠ   ÏUÔPUÔ SÔAÔUS ×ÉÔHÏUÔ HAÌÔ       DÅÆ H±²3       ÊMP SÔA¬É ª  BUÆDA DÅÆ BUÆD BUÆÃA DÅÆ BUÆÃ Ö<ÿÿ ÿý ÿ12989-18003 1728 S 0147 DG-2894A RDR/PNCH              H0101 ë<þúASMB,A,B,L,C 00001000 HED GENERAL OPERATING PROCEDURE 00002000 ORG 0 00003000 SUP 00004000 * GENERAL OPERATING PROCEDURE 00005000 * 00006000 * A. LOAD DIAGNOSTIC CONFIGURATOR AND SET IT UP. 00007000 * B. LOAD DIAGNOSTIC MAIN PROGRAM 00008000 * C. LOAD ADDRESS 100B. 00009000 * D. LOAD SWITCH REG. WITH SELECT CODE AND OPTIONS 00010000 * E. PRESS RUN AND WAIT FOR HALT 107074. 00011000 * F. LOAD SWITCH REGISTER 00012000 * IF SET =: 00013000 * 15 = HALT AT END OF EACH TEST 00014000 * 14 = SUPRESS ERROR HALTS 00015000 * 13 = LOOP ON LAST TEST 00016000 * 12 = LOOP ON DIAGNOSTIC 00017000 * (SUPPRESS ALL OPERATOR INTERVENTION) 00018000 * 11 = SUPRESS ERROR MESSAGES 00019000 * 10 = SUPRESS NON-ERROR MESSAGES 00020000 * 9 = GO TO USER CONTROL SECTION 00021000 * AT END OF PRESENT TEST 00022000 * 8= SUPPRESS OPERATOR INTERVENTION TESTS 00023000 * 7 00024000 * = DIAGNOSTIC OPTIONS 00úmþú025000 * 0 00026000 * NOTE: STANDARD RUN SHOULD BE WITH SW. REG. = 0 00027000 * USER CONTROL WILL ASK FOR A 32 BIT WORD. 00028000 * EACH BIT WILL = 1 TEST 00029000 * 00030000 * G. PRESS RUN. 00031000 * H. RESTART - LOAD ADDRESS 2000B 00032000 * I. RECONFIGURE IF TESTING I/O INTERFACE - LOAD ADDRESS 100B 00033000 * 00034000 * GENERAL COMPUTER HALTS 00035000 * 00036000 * 1020XX E OR H 000 TO 067 00037000 * 1060XX E OR H 100 TO 167 00038000 * 1030XX E OR H 200 TO 267 00039000 * 1070XX E OR H 300 TO 367 00040000 * 00041000 * CONTROL PROGRAM HALT MESSAGES 00042000 * 00043000 * 102077 END OF DIAG (A = PASS COUNT) 00044000 * 102076 END OF TEST (A = TEST #) 00045000 * 102075 USER SELECTION REQUEST 00046000 * 102074 SELECT CODE INPUT COMPLETE 00047000 * 102073 USER SELECT CODE ERROR 00048000 * 102072 RESERVED 00049000 * 102071 RESERVED uØþú 00050000 * 102070 RESERVED 00051000 * 00052000 * 106077 TRAP CELL HALT 00053000 * 00054000 * 00055000 * 00056000 HED PROGRAM ORGANIZATION CHART 00057000 * ******************************************* 00058000 * * CONFIGURATOR 100B * 00059000 * * LINKAGE TABLE * 00060000 * ******************************************* 00061000 * * EXECUTIVE 130B * 00062000 * * LINKAGE * 00063000 * ******************************************* 00064000 * * CONSTANTS 150B * 00065000 * * AND * 00066000 * * STORAGE * 00067000 * ******************************************* 00068000 * * 2000B * 00069000 * * EXECUTIVE CONTROL * 00070000 * * * 00071000 * ******************************************* 00072000 * * IF USED * 00073000 * * BASIC I/O TESTS (TEST 00) * 00074000 * * ZCEND * Øþú 00075000 * ******************************************* 00076000 * * TABLE OF TEST POINTERS * 00077000 * * TABLE OF I/O INSTR POINTERS * 00078000 * ******************************************* 00079000 * * * 00080000 * * * 00081000 * * * 00082000 * * * 00083000 * * * 00084000 * * MAIN DIAGNOSTICS (1-31) * 00085000 * * * 00086000 * * * 00087000 * * * 00088000 * * * 00089000 * * * 00090000 * ******************************************* 00091000 * 00092000 * 00093000 * 00094000 * 00095000 * 00096000 * 00097000 * 00098000 * 00099000 * “þú 00100000 * 00101000 * 00102000 * 00103000 * 00104000 * 00105000 * 00106000 * 00107000 * 00108000 * 00109000 * 00110000 * 00111000 HED CONFIGURATOR LINKAGE TABLE 00112000 A EQU 0 A REGISTER REFERENCE 00113000 B EQU 1 B REGISTER REFERENCE 00114000 SW EQU 1 SWITCH REGISTER REFERENCE 00115000 INTP EQU 0 INTERRUPT CHANNEL REFERENCE 00116000 * 00117000 * 00118000 ORG 100B 00119000 * 00120000 JMP CFIG,I GO TO CONFIGURATION SECTION 00121000 FAIN BSS 1 FAST INPUT (PHOTO READER) 00122000 SLOP BSS 1 SLOW OUTPUT (LIST) 00123000 FAOP BSS 1 FAST OUTPUT (DUMP OR PUNCH) 00124000 SLIN BSS 1 SLOW INPUT (KEYBOARD) …òþú 00125000 FWAM DEF FWAA FIRST WORD OF AVBL. MEMORY 00126000 LWAM BSS 1 LAST WORD OF AVBL. MEMORY 00127000 BSS 1 NOT USED (MAG TAPE) 00128000 OTMC BSS 1 1 MILL SEC TIME OUT COUNT 00129000 BSS 4 SELECT CODES FOR I/O 00130000 CPTO BSS 1 COMPUTER TYPE/OPTIONS 00131000 USSC BSS 1 USER CARD TYPE AND SELECT CODE 00132000 MEMO BSS 1 MEMORY SIZE AND TYPE 00133000 ISWR BSS 1 INTERNAL SWITCH REGISTER 00134000 TMRR BSS 1 1 MILL SEC TIMER 00135000 SWRC BSS 1 CONFIGURATOR SWITCH CK PTR 00136000 I2AS BSS 1 INTEGER TO ASCII CONVERSION 00137000 O2AS BSS 1 OCTAL TO ASCII CONVERSION 00138000 AS2N BSS 1 ASCII CONVERSION 00139000 DSNL BSS 1 DIAGNOSTIC SERIAL NUMBER 00140000 FMTR BSS 1 FORMATTER 00141000 * 00142000 * 00143000 * CONTROL LINKAGE AND DATA REFERENCES 00144000 * 00145000 CFIG DEF ZCONF CONFIGURATION SECTION 00146000 MSGC DEF ZMSGC MESSAGE WITH NO HALT 00147000 MSGH DEF ZMSGH MESSAGE WITH HALT 00148000 ERMS DEF ZERMS ERROR MESSAGE 00149000 SWRT DEF ZSWRT SWITCH REGISTEÐ9þúR CHECK ROUTINE 00150000 TSTN OCT 0 CURRENT TEST NUMBER 00151000 EXRT DEF ZEXRT RETURN TO CONTROL PROGRAM 00152000 NOP RESERVED 00153000 * 00154000 * 00155000 * 00156000 * 00157000 * 00158000 * 00159000 * 00160000 * 00161000 * 00162000 * 00163000 * 00164000 * 00165000 * 00166000 HED EXECUTIVE CONTROL 00167000 ORG 2000B 00168000 ZSTEX CLC INTP,C TURN I/O SYSTEM OFF 00169000 JSB MSGC,I DO CRLF 00170000 DEF ZRTLF 00171000 LDA HDMP GET INTRODUCTORY MESSAGE 00172000 STA *+2 00173000 JSB MSGC,I OUT PUT IT 00174000 NOP 6˜þú 00175000 CLA CLEAR PASS 00176000 STA ZEOLC COUNT 00177000 LDB ZSW9 CHECK FOR USER SELECTION REQ 00178000 JSB SWRT,I 00179000 JMP ZUSR IT'S USERS CHOICE 00180000 ZNUSR LDA STDA GET STANDARD TEST RUN 00181000 LDB STDB * 00182000 JMP ZEXC 00183000 * 00184000 ZUSR LDA ZSINA RETRIEVE PREVIOUS RUN 00185000 LDB ZSINB 00186000 HLT 75B WAIT FOR USER INPUT 00187000 NOP 00188000 NOP 00189000 NOP 00190000 ZEXC STA ZUINA SAVE 00191000 STB ZUINB USER 00192000 STA ZSINA INPUT 00193000 STB ZSINB PROGRAM 00194000 LDB ZSW9 CHECK IF SW9 IS DOWN 00195000 JSB SWRT,I 00196000 JMP ZUSR NO GO AND WAIT 00197000 CCA SET TEST NUMBER 00198000 STA TSTN =-1 00199000 CLA àþú 00200000 STA ZTSTA CLEAR TEST RUN FLAG 00201000 * 00202000 * 00203000 * 00204000 * 00205000 * 00206000 * 00207000 * 00208000 * 00209000 * 00210000 * 00211000 * 00212000 * 00213000 * 00214000 * 00215000 * 00216000 * 00217000 SKP 00218000 ZEXCL LDA ZUINA RESTORE A REG. 00219000 LDB ZUINB RESTORE B REG. 00220000 ERA,RAL ROTATE 00221000 ERB FIRST 00222000 ERA TEST BIT 00223000 STA ZUINA SAVE POSITIONS 00224000 STB RûþúZUINB 00225000 ISZ TSTN MOVE TEST UP ONE 00226000 NOP 00227000 ZXCL1 LDA TSTN 00228000 ADA TSTP GET IT'S 00229000 LDA A,I ADDRESS 00230000 CPA Z.M1 IS IT END OF LIST 00231000 JMP ZEOL YES 00232000 LDB ZUINB 00233000 SSB,RSS SHOULD IT BE RUN? 00234000 JMP ZEXCL NO 00235000 STA ZTSTA YES - SAVE TEST ADDRESS 00236000 JSB ZITCH INITIALIZE TRAP CELL HALTS 00237000 JSB ZTSTA,I GO DO TEST 00238000 ZEXRT LDA TSTN DISPLAY TEST NUMBER IF HALTED 00239000 LDB ZSW15 CHECK FOR HALT AT END OF TEST 00240000 JSB SWRT,I 00241000 HLT 76B YES WAIT FOR OPERATOR 00242000 LDB ZSW9 CHECK FOR ABORT 00243000 JSB SWRT,I 00244000 JMP ZUSR YES 00245000 LDB ZSW13 CHECK FOR LOOP ON ROUTINE 00246000 JSB SWRT,I 00247000 JMP ZXCL1 YES - LOOP 00248000 JMP ZEXCL CONTINUE 00249000 * ŠØþú 00250000 ZEOL LDA ZTSTA CHECK IF ANY TESTS WERE RUN 00251000 SZA,RSS ? 00252000 JMP ZNUSR NO SO PICK UP STANDARD RUN 00253000 LDA ZEOLC UP DATE PASS COUNT 00254000 INA 00255000 STA ZEOLC 00256000 CCE 00257000 LDB ZPSCA GET PASS COUNT 00258000 ADB Z.2 ADDRESS 00259000 JSB O2AS,I CONVERT IT 00260000 JSB MSGC,I CALL PRINT ROUTINE 00261000 ZPSCA DEF ZPSC 00262000 LDB ZSW12 CHECK FOR LOOP ON DIAG. 00263000 JSB SWRT,I 00264000 JMP *+3 YES 00265000 LDA ZEOLC 00266000 HLT 77B NO WAIT AND DISPLAY PASS COUNT 00267000 LDA ZSINA RESTORE ORIGINAL 00268000 LDB ZSINB PROGRAM 00269000 JMP ZEXC DO IT ALL AGAIN 00270000 * 00271000 SKP 00272000 * MESSAGE OUTPUT WITH OUT HALT 00273000 * 0027Š:þú4000 ZMSGC NOP ENTRY 00275000 JSB ZMSG OUTPUT MESSAGE 00276000 OCT 2000 SWITCH 10 CHECK 00277000 JMP ZMSGC,I RETURN TO CALLER 00278000 * 00279000 * MESSAGE OUTPUT WITH HALT 00280000 * 00281000 ZMSGH NOP ENTRY 00282000 JSB ZMSG OUTPUT MESSAGE 00283000 OCT 2000 SWITCH 10 CHECK 00284000 LDA ZHLT GET HALT CODE 00285000 STA *+2 PUT IT IN PLACE 00286000 LDA ZSAVA RESTORE A REGISTER 00287000 NOP HALT FOR DISPLAY 00288000 JMP ZMSGH,I RETURN TO CALLER 00289000 * 00290000 * ERROR MESSAGE WITH HALT 00291000 * 00292000 ZERMS NOP ENTRY 00293000 JSB ZMSG OUTPUT MESSAGE 00294000 OCT 4000 SWITCH 11 CHECK 00295000 CLA 00296000 LDB ZSW14 CHECK SWR BIT 14 TO SUPPRESS 00297000 JSB SWRT,I HALT 00298000 STA *+3 PUT HALT IN PLACE ‡eþú 00299000 LDA ZSAVA RESTORE A & B 00300000 LDB ZSAVB 00301000 ZHLT NOP WAIT FOR OPERATOR 00302000 JMP ZERMS,I RETURN TO CALLER 00303000 * 00304000 * 00305000 * 00306000 * 00307000 * 00308000 * 00309000 * 00310000 * 00311000 * 00312000 * 00313000 * 00314000 * 00315000 * 00316000 SKP 00317000 * OUTPUT MESSAGE 00318000 * 00319000 ZMSG NOP 00320000 STA ZSAVA SAVE A AND B REGISTERS 00321000 STB ZSAVB 00322000 LDB ZMSG,I GET SWITCH REGISTER BIT 00323000 LDA ZMSG ‹šþú 00324000 ADA Z.M2 DECREMENT RETURN ADDRESS 00325000 STA ZMSG 00326000 JSB SWRT,I CHECK TO SUPPRESS MESSAGE 00327000 JMP ZMSG0 YES 00328000 LDA ZMSG,I CHECK IF ERROR 00329000 LDA A,I 00330000 LDA A,I IF SO 00331000 ALF,ALF 00332000 AND Z.177 00333000 CPA ZA.E 00334000 JSB ZCFTN CHECK TO OUTPUT TEST NUMBER 00335000 LDA ZMSG,I NO RETRIEVE FORMAT 00336000 LDB A,I ADDRESS 00337000 CLA,CLE 00338000 JSB FMTR,I 00339000 ZMSG0 LDA ZMSG,I CONVERT HALT CODE 00340000 LDB A,I FROM ASCII STRING 00341000 CCA,CCE 00342000 JSB AS2N,I 00343000 STA ZN2AO SAVE RESULT 00344000 AND Z.300 DECODE 00345000 LDB ZH2 HALT CODE 00346000 CPA Z.100 00347000 LDB ZH6 00348000 CPA Z.200 Æ{þú 00349000 LDB ZH3 00350000 CPA Z.300 00351000 LDB ZH7 00352000 LDA ZN2AO GET HALT NUMBER 00353000 AND Z.77 00354000 IOR B 00355000 STA ZHLT SAVE IT 00356000 ISZ ZMSG,I ADJUST RETURN POINTERS 00357000 ISZ ZMSG 00358000 ISZ ZMSG 00359000 ISZ ZMSG 00360000 LDA ZSAVA RESTORE A AND B REGISTERS 00361000 LDB ZSAVB 00362000 JMP ZMSG,I 00363000 * 00364000 * 00365000 * 00366000 * 00367000 * 00368000 * 00369000 SKP 00370000 ZCFTN NOP 00371000 LDA TSTN GET TEST NUMBER 00372000 CPA ZCFTT IS IT THE SAME ONE? 00373000 JMP ZCFTN,I YES SKIP OUTPUT oçþú 00374000 STA ZCFTT NO - THEN UPDATE IT 00375000 JSB ZN2AO CONVERT IT 00376000 STA ZTSTN PUT IT IN STRING 00377000 CLA DO A CRLF 00378000 JSB SLOP,I 00379000 CLA,CLE INDICATE START OF FORMAT 00380000 LDB ZTSTF 00381000 JSB FMTR,I 00382000 JMP ZCFTN,I RETURN 00383000 * 00384000 * 00385000 * 00386000 * 00387000 ZSAVA NOP 00388000 ZSAVB NOP 00389000 ZEOLC NOP 00390000 ZTSTA NOP 00391000 ZSINA NOP 00392000 ZSINB NOP 00393000 ZUINA NOP 00394000 ZUINB NOP 00395000 ZBTMP NOP 00396000 Z.2 OCT 2 00397000 Z.7 OCT 7 00398000 Z.10 OCT 10 Ø#þú 00399000 Z.60 OCT 60 00400000 Z.77 OCT 77 00401000 Z.177 OCT 177 00402000 Z.M1 DEC -1 00403000 Z.M2 DEC -2 00404000 ZD100 DEC -100 00405000 ZIOM OCT 177700 00406000 ZSW15 OCT 100000 00407000 ZSW14 OCT 40000 00408000 ZSW13 OCT 20000 00409000 ZSW12 OCT 10000 00410000 ZS812 OCT 010400 00411000 ZSW9 OCT 1000 00412000 Z.100 OCT 100 00413000 Z.200 OCT 200 00414000 Z.300 OCT 300 00415000 ZH2 OCT 102000 00416000 ZH6 OCT 106000 00417000 ZH3 OCT 103000 00418000 ZH7 OCT 107000 00419000 ZCFTT DEC -1 00420000 ZTSTF DEF *+1 00421000 ASC 3,TEST 00422000 ZTSTN ASC 2,XX// 00423000 ZRTLF ASC 1,// ‚Hþú 00424000 ZPSC ASC 6,PASS XXXXXX/ 00425000 ZA.E OCT 105 00426000 HED GENERAL ROUTINES 00427000 * 00428000 * 00429000 ZN2AO NOP 00430000 STA ZIOAD SAVE NUMBER 00431000 AND Z.7 CONVERT FIRST 00432000 IOR Z.60 NUMBER 00433000 STA B SAVE IT 00434000 LDA ZIOAD GET 00435000 RAR,RAR SECOND 00436000 RAR NUMBER 00437000 AND Z.7 CONVERT 00438000 IOR Z.60 IT 00439000 ALF,ALF MOVE TO UPPER HALF 00440000 IOR B ADD LOWER 00441000 JMP ZN2AO,I AND RETURN 00442000 * 00443000 * 00444000 * 00445000 * SWITCH REGISTER CHECK 00446000 * 00447000 ZSWRT NOP 00448000 STA ZN2AO ÿ@þúSAVE A REGISTER 00449000 LIA SW GET SWITCH REG. 00450000 AND B MASK OUT BIT 00451000 SZA,RSS IS IT UP? 00452000 ISZ ZSWRT NO 00453000 LDA ZN2AO RESTORE A REGISTER 00454000 LIB SW LET B = SWITCH REGISTER 00455000 JMP ZSWRT,I RETURN TO CALLER 00456000 * 00457000 * 00458000 * 00459000 * INITIALIZE TRAP CELL HALTS 00460000 * 00461000 ZITCH NOP 00462000 LDA ZTSH GET STARTING TRAP CELL HALT 00463000 LDB Z.2 GET FIRST TRAP CELL LOCATION 00464000 ZTSHL STA B,I PUT IT IN PLACE 00465000 CPB Z.77 AM I FINISHED 00466000 JMP ZITCH,I YES 00467000 INB NEXT ADDRESS 00468000 JMP ZTSHL 00469000 * 00470000 ZTSH OCT 106077 00471000 * 00472000 * 00473000 * JØþú 00474000 SKP 00475000 * PUT JSB INSTRUCTION IN TRAP CELL 00476000 * 00477000 ZTCJI NOP 00478000 LDB ZJSBI GET INSTRUCTION 00479000 STB ZIOSC,I PUT IT IN TRAP CELL 00480000 LDA ZTCJI,I GET LOCATION 00481000 STA 3B SAVE IT FOR JSB INSTRUCTION 00482000 ISZ ZTCJI ADJUST RETURN 00483000 JMP ZTCJI,I RETURN TO CALLER 00484000 * 00485000 ZJSBI JSB 3B,I JSB INSTRUCTION 00486000 * 00487000 * 00488000 * INITIALIZE SELECT CODE I/O INSTRUCTIONS 00489000 * 00490000 ZISC NOP 00491000 STA ZIOSC SAVE SELECT CODE 00492000 STB ZIOAD SAVE TABLE ADDRESS 00493000 ZIOL LDB ZIOAD,I GET ADDRESS OF LOCATION 00494000 CPB Z.M1 IS IT THE TERMINATOR 00495000 JMP ZISC,I YES RETURN TO CALLER 00496000 LDA B,I NO - GET CONTENTS 00497000 AND ZIOM MASK OFF OLD SELECT CODE 00498000 E®þú IOR ZIOSC ADD IN NEW SELECT CODE 00499000 STA B,I RESTORE IT 00500000 ISZ ZIOAD MOVE TO NEXT ADDRESS 00501000 JMP ZIOL DO IT 00502000 * 00503000 ZIOSC NOP 00504000 ZIOAD NOP 00505000 * 00506000 * 00507000 * 00508000 * 00509000 SKP 00510000 * CONFIGURATION SECTION 00511000 * 00512000 ZCONF CLC INTP,C TURN I/O SYSTEM OFF 00513000 LIA SW GET SELECT CODE AND OPTIONS 00514000 STA USSC SAVE THEM 00515000 AND Z.77 ELIMINATE OPTIONS 00516000 LDB A 00517000 CMB,INB CHECK THAT SC > 7 00518000 ADB Z.7 00519000 SSB ? 00520000 JMP *+3 OK GO ON 00521000 HLT 73B NO 00522000 JMP ZCONF TRY AGAIN 005230Ø•þú00 LDB IOIP INITIALIZE TEST I/O 00524000 JSB ZISC INSTRUCTIONS 00525000 HLT 74B ALLOW OPERATOR TO CHANGE SWIT 00526000 JMP ZSTEX GO TO EXEC CONTROL SECTION 00527000 * 00528000 * 00529000 * 00530000 * 00531000 * 00532000 * 00533000 * 00534000 * 00535000 * 00536000 * 00537000 * 00538000 * 00539000 * 00540000 * 00541000 * 00542000 * 00543000 * 00544000 * 00545000 * 00546000 * 00547000 * ’Qþú 00548000 * 00549000 * 00550000 HED BASIC I/O TESTS 00551000 CH EQU 10B 00552000 * 00553000 TST00 EQU * 00554000 NOP 00555000 LDA USSC GET CELL LOCATION 00556000 AND Z.77 00557000 JSB ZBIO DO BASIC I/O 00558000 JMP TST00,I 00559000 * 00560000 ZBIO NOP 00561000 CLC INTP,C TURN OFF ALL I/O 00562000 LDB ZBIOD INITIALIZE BASIC I/O 00563000 JSB ZISC INSTRUCTIONS 00564000 * 00565000 * INTERRUPT FLAG CHECK 00566000 * 00567000 ZBIO1 STF INTP 00568000 CLF INTP 00569000 SFC INTP 00570000 RSS 00571000 JMP *+3 00572000 E000 JSB ERMS,I E000 CLF 0-SFC 0 ERROR û‚þú 00573000 DEF ZBE00 00574000 SFS INTP 00575000 JMP *+3 00576000 E001 JSB ERMS,I E001 CLF 0-SFS 0 ERROR 00577000 DEF ZBE01 00578000 STF INTP 00579000 SFC INTP 00580000 JMP *+4 00581000 CLF INTP TURN OFF INTS 00582000 E002 JSB ERMS,I E002 STF 0-SFC 0 ERROR 00583000 DEF ZBE02 00584000 SFS INTP 00585000 JMP *+3 00586000 CLF INTP TURN OFF INTERRUPTS 00587000 JMP ZBIO2 00588000 CLF INTP TURN OFF INTS 00589000 E003 JSB ERMS,I E003 STF 0-SFS 0 ERROR 00590000 DEF ZBE03 00591000 JMP ZBIO2 00592000 * 00593000 ZBE00 ASC 12,E000 CLF 0-SFC 0 ERROR/ 00594000 ZBE01 ASC 12,E001 CLF 0-SFS 0 ERROR/ 00595000 ZBE02 ASC 12,E002 STF 0-SFC 0 ERROR/ 00596000 ZBE03 ASC 12,E003 STF 0-SFS 0 ERROR/ 00597000 * ‚6þú 00598000 * 00599000 SKP 00600000 * CARD FLAG CHECK 00601000 * 00602000 ZBIO2 EQU * 00603000 ZBS21 STF CH 00604000 ZBS22 CLF CH 00605000 ZBS23 SFC CH 00606000 RSS 00607000 JMP *+3 00608000 E005 JSB ERMS,I E005 CLF CH-SFC CH ERROR 00609000 DEF ZBE05 00610000 ZBS24 SFS CH 00611000 JMP *+3 00612000 E006 JSB ERMS,I E006 CLF CH-SFS CH ERROR 00613000 DEF ZBE06 00614000 ZBS25 STF CH 00615000 ZBS26 SFC CH 00616000 JMP *+3 00617000 E007 JSB ERMS,I E007 STF CH-SFC CH ERROR 00618000 DEF ZBE07 00619000 ZBS27 SFS CH 00620000 RSS 00621000 JMP ZBIO3 00622000 E010 JSB ERMS,I E010 STF CH-SFS CH ERROR ~#þú 00623000 DEF ZBE10 00624000 JMP ZBIO3 00625000 * 00626000 ZBE05 ASC 13,E005 CLF CH-SFC CH ERROR/ 00627000 ZBE06 ASC 13,E006 CLF CH-SFS CH ERROR/ 00628000 ZBE07 ASC 13,E007 STF CH-SFC CH ERROR/ 00629000 ZBE10 ASC 13,E010 STF CH-SFS CH ERROR/ 00630000 * 00631000 * 00632000 * 00633000 * 00634000 * 00635000 * 00636000 * 00637000 * 00638000 * 00639000 * 00640000 * 00641000 * 00642000 * 00643000 * 00644000 * 00645000 * 00646000 * 00647000 * -°þú 00648000 * 00649000 SKP 00650000 * INTERRUPT CONTROL 00651000 * 00652000 ZBIO3 JSB ZTCJI SET JSB INSTRUCTION 00653000 DEF ZB3E 00654000 ZBS31 STF CH SET THE FLAG 00655000 ZBS32 STC CH SET THE CONTROL 00656000 STF INTP TURN I/O SYSTEM ON THEN 00657000 CLF INTP TURN I/O SYSTEM OFF 00658000 NOP GIVE IT A CHANCE TI INTERRUPT 00659000 NOP 00660000 ZBS33 CLF CH RESET CH FLAG 00661000 JMP ZBIO4 00662000 * 00663000 ZBE04 ASC 16,E004 CLF 0 DID NOT INHIBIT INT/ 00664000 * 00665000 ZB3E NOP 00666000 CLF INTP TURN OFF INTS 00667000 E004 JSB ERMS,I E004 00668000 DEF ZBE04 00669000 * 00670000 * 00671000 * 00672000 * 3¦þú 00673000 * 00674000 * 00675000 * 00676000 * 00677000 * 00678000 * 00679000 * 00680000 * 00681000 * 00682000 * 00683000 * 00684000 * 00685000 * 00686000 * 00687000 * 00688000 * 00689000 * 00690000 * 00691000 * 00692000 * 00693000 SKP 00694000 * SELECT CODE SCREEN TEST 00695000 * 00696000 ZBIO4 LDB Z.10 START WITH LOWEST ADDRESS 00697000 ZB40 LDA ZIOSC GE ŠþúT SELECT CODE (*EDITED IN TCP*) 00698000 AND Z.77 00699000 CPB A IS IT THE CH? 00700000 JMP Z.CLF+1 YES - SKIP TEST 00701000 LDA Z.STF SET UP 00702000 AND ZIOM 00703000 IOR B STF INSTRUCTION 00704000 STA Z.STF PUT IT IN PLACE 00705000 LDA Z.CLF SET UP 00706000 AND ZIOM 00707000 IOR B CLF INSTRUCTION 00708000 STA Z.CLF PUT IT IN LINE 00709000 ZBS41 CLF CH CLEAR CHANNEL FLAG 00710000 Z.STF STF CH EXECUTE STF CH INSTRUCTION 00711000 ZBS42 SFC CH TEST CHANNEL FLAG 00712000 JMP ZB41 00713000 Z.CLF CLF CH CLEAR TEST FLAG 00714000 CPB Z.77 IS TEST FINISHED? 00715000 JMP ZBIO5 YES 00716000 INB NO 00717000 JMP ZB40 DO NEXT CHANNEL 00718000 * 00719000 ZBE11 ASC 14,E011 STF XX SET CARD FLAG// 00720000 * 00721000 ZB41 STB ZBTMP SAVE NUMBER 00722000 LDA B þú CONVERT CH FOR MESSAGE 00723000 JSB ZN2AO 00724000 STA ZBE11+5 00725000 LDA ZBTMP RETRIEVE NUMBER 00726000 E011 JSB ERMS,I E011 00727000 DEF ZBE11 00728000 * 00729000 * 00730000 * 00731000 * 00732000 * 00733000 SKP 00734000 * CHECK INTERRUPT & HOLD OFF 00735000 * 00736000 ZBIO5 JSB ZTCJI 00737000 DEF ZBI5 00738000 CLA SET UP 00739000 STA ZBF5 FLAGS 00740000 STA ZBI5 FOR TEST 00741000 STA ZBTMP 00742000 ZBS51 STC CH TURN ON 00743000 ZBS52 STF CH CARD 00744000 STF INTP AND INTERRUPTS 00745000 STC 1 * 00746000 STF 1 * 00747000 šsþúCLC 1 * 00748000 CLF 1 * NO INTERRUPT 00749000 JMP *+1,I * SHOULD OCCURR 00750000 DEF *+1 * HERE 00751000 JSB *+1,I * 00752000 DEF *+1 * 00753000 ZBF5 NOP * 00754000 ISZ ZBTMP INT. SHOULD BE HERE 00755000 ISZ ZBTMP 00756000 CLF INTP TURN I/O SYSTEM OFF 00757000 LDA ZBI5 DID IT INTERRUPT? 00758000 SZA 00759000 JMP *+4 00760000 E014 JSB ERMS,I E014 NO INT 00761000 DEF ZBE14 00762000 JMP ZBIO6 ABORT REST OF SECTION 00763000 LDA ZBTMP CHECK FOR CORRECT INTERRUPT 00764000 CPA Z.2 ? 00765000 JMP *+3 00766000 E026 JSB ERMS,I E026 INT EXECUTION ERROR 00767000 DEF ZBE26 00768000 ZBS53 CLF CH TURN OFF CH FLAG 00769000 JMP ZBIO6 GO TO NEXT SECTION 00770000 * 00771000 ZBD5 DEF ZBF5-1 00772000Ä\þú ZBD5A DEF ZBF5+1 00773000 * 00774000 ZBE12 ASC 16,E012 INT DURING HOLD OFF INSTR/ 00775000 ZBE13 ASC 12,E013 SECOND INT OCURRED/ 00776000 ZBE14 ASC 06,E014 NO INT/ 00777000 ZBE15 ASC 12,E015 INT RTN ADDR ERROR/ 00778000 ZBE26 ASC 13,E026 INT EXECUTION ERROR/ 00779000 * 00780000 * 00781000 * 00782000 * 00783000 SKP 00784000 ZBI5 NOP 00785000 CLF INTP TURN I/O SYSTEM OFF 00786000 LDA ZBD5 CHECK TO SEE IF ALL 00787000 CPA ZBF5 INSTRUCTION COMPLETED 00788000 JMP *+3 YES 00789000 E012 JSB ERMS,I E012 INT DURING HOLD OFF 00790000 DEF ZBE12 00791000 LDA ZBD5A CHECK RETURN ADDRESS 00792000 LDB CPTO IF 210X 00793000 SSB ADD ONE 00794000 INA 00795000 CPA ZBI5 00796000 JMP ZBI5A R þú00797000 E015 JSB ERMS,I E015 INT RTN ADDR ERROR 00798000 DEF ZBE15 00799000 JMP ZBIO6 00800000 ZBI5A JSB ZTCJI SET SECOND INT TRAP 00801000 DEF ZBT5 00802000 STF INTP TURN I/O SYSTEM ON 00803000 JMP ZBI5,I CONTINUE TEST 00804000 * 00805000 * 00806000 ZBT5 NOP 00807000 CLF INTP TURN I/O SYSTEM OFF 00808000 E013 JSB ERMS,I E013 SECOND INT OCURRED 00809000 DEF ZBE13 00810000 * 00811000 * 00812000 * 00813000 * 00814000 * 00815000 SKP 00816000 * CLC CH AND CLC 0 00817000 * 00818000 ZBIO6 JSB ZTCJI SET JSB INSTRUCTION 00819000 DEF ZBI61 00820000 ZBS61 STC CH SET CH CONTROL 00821000 ZBS62 STF CH SET CH FLAG £dþú 00822000 STF INTP TURN ON INTERRUPTS 00823000 ZBS63 CLC CH CLEAR CH CONTROL 00824000 NOP GIVE IT A CHANCE 00825000 NOP 00826000 CLF INTP TURN INTS OFF 00827000 ZB60 JSB ZTCJI SET JSB INSTRUCTION 00828000 DEF ZBI62 00829000 ZBS64 CLF CH CLEAR CH FLAG 00830000 ZBS65 STC CH SET CH CONTROL 00831000 ZBS66 STF CH SET CH FLAG 00832000 STF INTP TURN ON INTS 00833000 CLC INTP CLEAR I/O SYSTEM 00834000 NOP GIVE IT A CHANCE 00835000 NOP 00836000 CLF INTP TURN OFF INTS 00837000 JMP ZBIO7 00838000 * 00839000 * 00840000 ZBI61 NOP 00841000 CLF INTP TURN OFF INTS 00842000 E016 JSB ERMS,I E016 CLC CH ERROR 00843000 DEF ZBE16 00844000 JMP ZB60 00845000 * 00846000 ZBI62 NOP ÑYþú 00847000 CLF INTP TURN OFF INTS 00848000 E017 JSB ERMS,I E017 CLC 0 ERROR 00849000 DEF ZBE17 00850000 JMP ZBIO7 00851000 * 00852000 ZBE16 ASC 9,E016 CLC CH ERROR/ 00853000 ZBE17 ASC 9,E017 CLC 0 ERROR/ 00854000 * 00855000 * 00856000 * 00857000 * 00858000 * 00859000 SKP 00860000 * EXTERNAL & INTERNAL PRESET TEST 00861000 * 00862000 ZBIO7 LDB ZS812 CHECK TO SUPPRESS 00863000 JSB SWRT,I ? 00864000 JMP H025 YES - SKIP PRESET TEST 00865000 H024 JSB MSGC,I TELL OPERATOR 00866000 DEF ZBM24 PRESS PRESET 00867000 * 00868000 ZBS71 CLF CH CLEAR CH FLAG 00869000 STF INTP TURN ON INTS 00870000 JSB ZTCJI SET TRAP CELL JSB INSTRUCTION 00871000 DEF ZBI70 ;iþú 00872000 HLT 24B WAIT FOR OPERATOR 00873000 CLA,INA SET UP FLAGS FOR TESTS 00874000 SFS INTP CHECK INTP FLAG 00875000 CLA NOT SET SO CLEAR FLAG 00876000 RAL MOVE TO NEXT FLAG 00877000 CLF INTP TURN OFF ONTPS 00878000 ZBS72 SFS CH CHECK CHANNEL FLAG 00879000 INA NOT SET SO FLAG IT 00880000 RAL MOVE TO NEXT FLAG 00881000 LIB 0 CHECK I/O BUSS 00882000 SZB SHOULD BE ZERO 00883000 INA NOT SO FLAG IT 00884000 RAL MOVE TO NEXT FLAG 00885000 STF INTP CHECK CONTROL ON CARD 00886000 NOP GIVE IT A CHANCE 00887000 NOP 00888000 CLF INTP TURN OFF INTPS 00889000 * 00890000 * 00891000 * 00892000 * 00893000 * 00894000 * 00895000 * 00896000 * ‹Íþú 00897000 * 00898000 * 00899000 * 00900000 * 00901000 * 00902000 * 00903000 * 00904000 * 00905000 * 00906000 * 00907000 * 00908000 * 00909000 * 00910000 * 00911000 * 00912000 SKP 00913000 ZB70 SLA,RSS CHECK FOR ERRORS 00914000 JMP *+3 00915000 E022 JSB ERMS,I E022 DID NOT CLEAR CONTROL 00916000 DEF ZBE22 00917000 RAR 00918000 SLA,RSS 00919000 JMP *+3 00920000 E023 JSB ERMS,I E023 I/O LINES NOT CLEAR 00921000 DEF ZBE23 þú 00922000 RAR 00923000 SLA,RSS 00924000 JMP *+3 00925000 E020 JSB ERMS,I E020 FLAG NOT SET 00926000 DEF ZBE20 00927000 RAR 00928000 SLA,RSS 00929000 JMP *+3 00930000 E021 JSB ERMS,I E021 DID NOT DIABLE INTS 00931000 DEF ZBE21 00932000 H025 JSB MSGC,I TELL OPERATOR 00933000 DEF ZBM25 BASIC I/O IS COMPLETE 00934000 JMP ZBIO,I RETURN TO CALLER 00935000 * 00936000 ZBI70 NOP CONTROL FAILED 00937000 CLF INTP TURN OFF INTPS 00938000 INA 00939000 JMP ZB70 00940000 * 00941000 ZBE20 ASC 17,E020 PRESET(EXT) DID NOT SET FLAG/ 00942000 ZBE21 ASC 19,E021 PRESET(INT) DID NOT DISABLE INTS/ 00943000 ZBE22 ASC 20,E022 PRESET(EXT) DID NOT CLEAR CONTROL/ 00944000 ZBE23 ASC 21,E023 PRESET(EXT) DID NOT CLEAR I-O LINES/ 00945000 ZBM24 ASC 17,H024 PRESS PRESET (EXT&INT),RUN/ 00946000 ZBM25 ASC 08,H025 BI-O CþúOMP/ 00947000 SKP 00948000 ZBIOD DEF *+1 00949000 DEF ZBS21 00950000 DEF ZBS22 00951000 DEF ZBS23 00952000 DEF ZBS24 00953000 DEF ZBS25 00954000 DEF ZBS26 00955000 DEF ZBS27 00956000 DEF ZBS31 00957000 DEF ZBS32 00958000 DEF ZBS33 00959000 DEF ZBS41 00960000 DEF ZBS42 00961000 DEF ZBS51 00962000 DEF ZBS52 00963000 DEF ZBS53 00964000 DEF ZBS61 00965000 DEF ZBS62 00966000 DEF ZBS63 00967000 DEF ZBS64 00968000 DEF ZBS65 00969000 DEF ZBS66 00970000 DEF ZBS71 00971000 DEF ZBS72 ÀUþú 00972000 DEC -1 00973000 * 00974000 ZCEND EQU * 00975000 * 00976000 * 00977000 * 00978000 * 00979000 * 00980000 * 00981000 * 00982000 * 00983000 * 00984000 * 00985000 * 00986000 * 00987000 * 00988000 * 00989000 * 00990000 * 00991000 * 00992000 * 00993000 * 00994000 * 00995000 * 00996000 * 3þú 00997000 * 00998000 * 00999000 * 01000000 HED HP 2894 CARD READER PUNCH DIAGNOSTIC 01001000 ******************************************************************** 01002000 * BASE PAGE DATA FOR TEST CONTROL PROGRAM * 01003000 ******************************************************************** 01004000 * 01005000 ORG 100B 01006000 JMP CON2.,I GOTO TWO-CHANNEL CONFIG SECTION 01007000 ORG 126B 01008000 DSN OCT 113001 DIAGNOSTIC SERIAL NUMBER 01009000 ORG 140B 01010000 IOIPD DEF IOID POINTER TO DATA CH I/O INS TABLE 01011000 IOIPC DEF IOIC POINTER TO CMND CH I/O INS TABLE 01012000 TSTP DEF TSTD POINTER TO TEST TABLE 01013000 HDMP DEF HDMS POINTER TO HEADER MESSAGE 01014000 STDA OCT 7777 DEFAULT TEST SET 01015000 STDB OCT 0 01016000 * 01017000 ******************************************************************** 01018000 * BASE PAGE CONSTANTS * 01019000 ******************************************************************** 01020000 * 01021000 £þú ORG 150B 01022000 DATA EQU 10B DUMMY DATA CH SELECT CODE 01023000 CMND EQU 11B DUMMY CMND CH SELECT CODE 01024000 * 01025000 RNR NOP 01026000 ICNT NOP 01027000 SHIFT NOP 01028000 SAVA NOP 01029000 SAVB NOP 01030000 POIST NOP 01031000 CNROT NOP 01032000 ARLIM NOP 01033000 COLCT NOP 01034000 ARA NOP 01035000 BUFPO NOP 01036000 SHF NOP 01037000 ARPO NOP 01038000 CCTRL NOP 01039000 DCTRL NOP 01040000 RQNCL NOP 01041000 POINT NOP 01042000 WSIND NOP 01043000 EXPO NOP 01044000 ACPO NOP 01045000 BLI NOP 01Åÿþú046000 EXDA NOP 01047000 ACDA NOP 01048000 ROTA NOP 01049000 COLO NOP 01050000 PON NOP 01051000 GLO NOP 01052000 SLO NOP 01053000 VAPO NOP 01054000 MOI NOP 01055000 CACO NOP 01056000 EPU NOP 01057000 PIN NOP 01058000 * 01059000 ONE OCT 1 01060000 O400 OCT 400 01061000 INSTA OCT 030040,030060 01062000 PUPRI OCT 60000 01063000 MSK12 OCT 7777 01064000 MSK13 OCT 17777 01065000 B10 OCT 2000 01066000 CLBF OCT 100000 01067000 INHIF OCT 4000 01068000 SCMSK OCT 77 01069000 B8A12 OCT 10400 01070000 ECS1 OCT 10342 ãþú 01071000 EDS1 OCT 1000 01072000 ECS2 OCT 10202 01073000 EDS4 OCT 0 01074000 ECS5 OCT 340 01075000 EDS2 OCT 400 01076000 ECS3 OCT 10200 01077000 ECS4 OCT 200 01078000 ECS6 OCT 10340 01079000 ECS7 OCT 10360 01080000 ECS8 OCT 114360 01081000 ECS9 OCT 114340 01082000 ECS10 OCT 360 01083000 ECS12 OCT 100360 01084000 ZERO OCT 0 01085000 SCM OCT 10000 01086000 B8 OCT 400 01087000 H2S2 OCT 114000 01088000 H2SOM OCT 100000 01089000 B11 OCT 4000 01090000 B5 OCT 40 01091000 B4 OCT 20 01092000 B6 OCT 100 01093000 B15 OCT 100000 01094000 B9 OCT 1000 01095000 B1 OCT 2  þú 01096000 CBIN OCT 104000 01097000 B7 OCT 200 01098000 B14 OCT 40000 01099000 QWB2K OCT 174000 01100000 PI2K OCT 154000 01101000 WI2K OCT 134000 01102000 PSI2K OCT 176000 01103000 CMSK OCT 17 01104000 CM0 OCT 0 01105000 CM1 OCT 1 01106000 CM2 OCT 2 01107000 CM3 OCT 3 01108000 CM4 OCT 4 01109000 CM5 OCT 5 01110000 CM6 OCT 6 01111000 CM7 OCT 7 01112000 CM10 OCT 10 01113000 CM11 OCT 11 01114000 B3285 OCT 30500 01115000 B12 OCT 10000 01116000 * 01117000 D11 DEC 11 01118000 M16 DEC -16 01119000 M1 DEC -1 01120000 M3 DEC -3 â¬þú 01121000 DEC80 DEC 80 01122000 AL63 DEC 63 01123000 D80 DEC 80 01124000 D79 DEC 79 01125000 AL39 DEC 39 01126000 D4 DEC 4 01127000 D5 DEC 5 01128000 D3 DEC 3 01129000 M5 DEC -5 01130000 D2 DEC 2 01131000 D12 DEC 12 01132000 M80 DEC -80 01133000 M10 DEC -10 01134000 D19 DEC 19 01135000 * 01136000 PUBUA DEF PUBU 01137000 BCV2. DEF BCV2 01138000 CLOF. DEF CLOUF 01139000 CROF. DEF CROUF 01140000 PRBUA DEF PRBU 01141000 RDBUA DEF RDBU 01142000 CLPF. DEF CLPRF 01143000 CRPF. DEF CRPRF 01144000 CLIF. DEF CLINF 01145000 CRIF. DEF CRINF ùþú 01146000 DFW. DEF DFW 01147000 CFW. DEF CFW 01148000 DSTW. DEF DSTW 01149000 CSTW. DEF CSTW 01150000 STRE. DEF STREP 01151000 AR2B. DEF AR2BU 01152000 SCAN. DEF SCAN 01153000 CLCV. DEF CLCV 01154000 CRCV. DEF CRCV 01155000 CRC1. DEF CRCV1 01156000 DST. DEF DST 01157000 CST. DEF CST 01158000 STA. DEF STA 01159000 CER. DEF CER 01160000 SPU. DEF SPU 01161000 SPR. DEF SPR 01162000 IREA. DEF IREA 01163000 SRD. DEF SRD 01164000 ICLO. DEF ICLO 01165000 ICRO. DEF ICRO 01166000 ICLP. DEF ICLP 01167000 ICRP. DEF ICRP 01168000 ICLI. DEF ICLI 01169000 ICRI. DEF ICRI 01170000 DODO. DEF DODO L°þú 01171000 CON2. DEF CON2 TWO-CHANNEL CONFIG SECTION 01172000 TS00. DEF TST00 01173000 ZBIO. DEF ZBIO 01174000 ISCM. DEF ISCM 01175000 COCS. DEF COCS 01176000 CSER. DEF CSER 01177000 BEX. DEF BEX 01178000 BAC. DEF BAC 01179000 CODS. DEF CODS 01180000 ERST. DEF ERST 01181000 ISOM. DEF ISOM 01182000 DSER. DEF DSER 01183000 DACO. DEF DACO 01184000 RB2. DEF RB2 01185000 QWB2. DEF QWB2 01186000 PWI2. DEF PWI2 01187000 RA1. DEF RA1 01188000 FI1. DEF FI1 01189000 ECL. DEF ECL 01190000 ECR. DEF ECR 01191000 DEX. DEF DEX 01192000 DAC. DEF DAC 01193000 OCO. DEF OCO 01194000 PI2. DEF PI2 01195000 PSI2. DEF PSI2 §%þú 01196000 WI2. DEF WI2 01197000 BUD. DEF BUD 01198000 WSCH. DEF WSCH 01199000 RA0. DEF RA0 01200000 FI0. DEF FI0 01201000 RB0. DEF RB0 01202000 FI2. DEF FI2 01203000 PUX. DEF PUX 01204000 RDX. DEF RDX 01205000 PUY. DEF PUY 01206000 RDY. DEF RDY 01207000 QB2. DEF QB2 01208000 RWB2. DEF RWB2 01209000 QSB2. DEF QSB2 01210000 HPA. DEF HPA 01211000 ALMF. DEF ALMF 01212000 CSM. DEF CSM 01213000 * 01214000 JCER JMP CER.,I 01215000 JSPU JMP SPU.,I 01216000 JSPR JMP SPR.,I 01217000 JIREA JMP IREA.,I 01218000 JSRD JMP SRD.,I 01219000 SKP 01220000 ******************Ÿþú************************************************** 01221000 * POINTERS TO DATA CH I/O INSTRUCTIONS * 01222000 ******************************************************************** 01223000 * 01224000 IOID EQU * 01225000 DEF DFA 01226000 DEF DSA 01227000 DEF DIO1 01228000 DEF DIO2 01229000 DEF DIO3 01230000 DEF DIO4 01231000 DEF DIO5 01232000 DEF DIO6 01233000 DEF IRDBU 01234000 DEF DIO7 01235000 DEF DIO8 01236000 DEF LNDRQ 01237000 DEF DIO9 01238000 DEF DIO11 01239000 DEF DIO13 01240000 DEF DIO14 01241000 DEF DIO15 01242000 DEF DIO17 01243000 DEF IRD 01244000 DEF DIO19 01245000 DEF eMþúDIO22 01246000 DEF DIO24 01247000 DEF DIO25 01248000 DEF DIO26 01249000 DEF DIO27 01250000 DEF DIO28 01251000 DEF LNDRI 01252000 DEF DIO32 01253000 DEF DIO33 01254000 DEF DIO34 01255000 DEF DIO35 01256000 DEF DIO36 01257000 DEF DIO37 01258000 DEF DIO38 01259000 DEF DIO39 01260000 DEF DIO40 01261000 DEF DIO41 01262000 DEF DIO42 01262100 DEC -1 END OF TABLE INDICATOR 01263000 SKP 01264000 ******************************************************************** 01265000 * POINTERS TO CMND CH I/O INSTRUCTIONS * 01266000 ******************************************************************** 01267000 * 01268000 IOIC EQU * 01269000 ìôþú DEF CFA 01270000 DEF CSA 01271000 DEF CIO1 01272000 DEF CIO2 01273000 DEF CIO3 01274000 DEF CIO4 01275000 DEF CIO05 01276000 DEF CIO06 01277000 DEF CIO07 01278000 DEF CIO08 01279000 DEF CIO09 01280000 DEF CIO10 01281000 DEF CIO11 01282000 DEF CIO12 01283000 DEF CIO13 01284000 DEF CIO14 01285000 DEF CIO15 01286000 DEF CIO16 01287000 DEF CIO17 01288000 DEF CIO18 01289000 DEF CIO19 01290000 DEF CIO20 01291000 DEF CIO21 01292000 DEF CIO22 01293000 DEC -1 END OF TABLE INDICATOR 0129Ø2þú4000 * 01295000 ******************************************************************** 01296000 * POINTERS TO START OF EACH TEST * 01297000 ******************************************************************** 01298000 * 01299000 TSTD EQU * 01300000 DEF TST0 BASIC I/O TEST FOR DATA CH 01301000 DEF TST01 BASIC I/O TEST FOR CMND CH 01302000 DEF TST02 01303000 DEF TST03 01304000 DEF TST04 01305000 DEF TST05 01306000 DEF TST06 01307000 DEF TST07 01308000 DEF TST08 01309000 DEF TST09 01310000 DEF TST10 01311000 DEF TST11 01312000 DEF TST12 01313000 DEC -1 END OF TABLE INDICATOR 01314000 * 01315000 IOIP DEF IOIDD DUMMY POINTER FOR TCP 01316000 IOIDD EQU * 01317000 DEC -1 01318000 SKP 6Wþú 01319000 ******************************************************************** 01320000 * HEADER MESSAGE * 01321000 ******************************************************************** 01322000 * 01323000 HDMS ASC 13,HP 2894 CARD READER PUNCH 01324000 ASC 6,DIAGNOSTIC/ 01325000 * 01326000 ******************************************************************** 01327000 * DATA PATTERNS * 01328000 ******************************************************************** 01329000 * 01330000 WCPA OCT 7777,0,7777 01331000 OCT 3777,5777,6777,7377,7577,7677 01332000 OCT 7737,7757,7767,7773,7775,7776 01333000 OCT 7777,0 01334000 OCT 4000,2000,1000,400,200,100 01335000 OCT 40,20,10,4,2,1,0 01336000 OCT 2525,5252,7777,2525,0 01337000 OCT 5252,2525,7777,5252,0 01338000 * 01339000 HPA OCT 4000,2000 01340000 OCT 1000,400,200,100,40,20,10,4,2,1 01341000 OCT 4400,4200,4100,4040,4020,4010,4004,4002 01342000 OCT 4001 01343000 OCT 2400,2200,2100,2040,2020,2010,2004,2002 ¿ºþú 01344000 OCT 2001 01345000 OCT 1200,1100,1040,1020,1010,1004,1002,1001 01346000 OCT 202,102,42,22,12,6 01347000 OCT 4202,4102,4042,4022,4012,4006 01348000 OCT 2202,2102,2042,2022,2012,2006,1400 01349000 OCT 1202,1102,1042,1022,1012,1006 01350000 OCT 0 01351000 * 01352000 SCHB OCT 0,7777,7777,0,0,7777,2525 01353000 OCT 5252,5252,2525,7777,0,0,7777 01354000 OCT 7777,0,5252,2525,2525,5252 01355000 * 01356000 FULL OCT 7777 01357000 * 01358000 ALMF OCT 3777,5777,6777,7377,7577,7677 01359000 OCT 7737,7757,7767,7773,7775,7776 01360000 * 01361000 ORG 1400B 01362000 ******************************************************************** 01363000 * PUNCH, PRINT, AND READ BUFFERS * 01364000 ******************************************************************** 01365000 * 01366000 PUBU BSS 80 01367000 PRBU BSS 80 01368000 RDBU BSS 80 Ð+þú 01369000 SKP 01370000 ORG ZCEND LAST WORD IN CONTROL PROGRAM 01371000 ******************************************************************** 01372000 * TWO-CHANNEL CONFIGURATION SECTION * 01373000 ******************************************************************** 01374000 * 01375000 CON2 CLC INTP,C TURN I/O SYSTEM OFF 01376000 LIA SW GET SELECT CODE AND OPTIONS 01377000 STA USSC SAVE THEM 01378000 AND Z.77 ELIMINATE OPTIONS 01379000 LDB A 01380000 CMB,INB CHECK THAT SC > 7 01381000 ADB Z.7 FOR DATA CH (HI PRIOR) 01382000 SSB ? 01383000 JMP *+3 OK GO ON 01384000 HLT 73B NO 01385000 JMP CON2 TRY AGAIN 01386000 LDB IOIPD INITIALIZE TEST I/O 01387000 JSB ZISC INSTRUCTIONS FOR DATA CH 01388000 LDA USSC GET SELECT CODE 01389000 AND Z.77 FOR CMND CH (LO PRIOR) 01390000 INA 01391000 LDB IOIPC INITIALIZE TEST I/O 01392000 JSB ZISC INSTRUCTIONS FOR CMND CH 01393000 HLT 74B ALLOW OPERATOR TO CHANGEê€þú SWIT 01394000 JMP ZSTEX GO TO EXEC CONTROL SECTION 01395000 SKP 01396000 ******************************************************************** 01397000 * SUBROUTINES * 01398000 ******************************************************************** 01399000 * 01400000 *==================================================================* 01401000 * SUBROUTINES DFW AND CFW * 01402000 * THESE SUBROUTINES CHECK SETTING OF DATA CH AND CMND CH * 01403000 * FLAG WITHIN A TIME LIMIT BY INCREMENTING A-REGISTER * 01404000 *==================================================================* 01405000 * 01406000 * CALLING SEQUENCE: 01407000 * 01408000 * LDA X (X=-1,-2,...,-N;ABS(N) REPRESENTS NO. OF 01409000 * REQ.ROLLOVERS OF A) 01410000 * JSB DFW.,I (OR CFW.,I) 01411000 *P+1 ... RETURN IF FLAG SET IN TIME 01412000 *P+2 ... RETURN IF FLAG NOT SET IN TIME 01413000 * 01414000 DFW NOP 01415000 STA RNR STORE -REQ.NO.OF ROLLOVERS OF A 01416000 CLA 01417000 DFA SFC DATA IS FLAG SET? 01418000 JMP DFW,I YES,EXIT TO P+1 ¯úþú 01419000 ISZ A NO; IS A-REG FULL? 01420000 JMP DFA NO 01421000 ISZ RNR YES;IS WAITING STILL REQ? 01422000 JMP DFA YES 01423000 ISZ DFW NO,EXIT TO P+2 01424000 JMP DFW,I 01425000 * 01426000 CFW NOP 01427000 STA RNR STORE -REQ.NO.OF ROLLOVERS OF A 01428000 CLA 01429000 CFA SFC CMND IS FLAG SET? 01430000 JMP CFW,I YES,EXIT TO P+1 01431000 ISZ A NO; IS A-REG FULL? 01432000 JMP CFA NO 01433000 ISZ RNR YES;IS WAITING STILL REQ? 01434000 JMP CFA YES 01435000 ISZ CFW NO,EXIT TO P+2 01436000 JMP CFW,I 01437000 SKP 01438000 *==================================================================* 01439000 * SUBROUTINES DSTW AND CSTW * 01440000 * THESE SUBROUTINES CHECK SETTING OF DATA CH AND CMND CH * 01441000 * STATUS BITS WITHIN A TIME LIMIT BY INCREMENTING ICNT COUNTER * 01442000 *==================================================================* 01443000 * }²þú 01444000 * CALLING SEQUENCE: 01445000 * 01446000 * LDA X (X=-1,-2,...,-N;ABS(N) REPRESENTS NO. OF 01447000 * REQ.ROLLOVERS OF ICNT) 01448000 * LDB BITY (Y=0,1,2,...,15) 01449000 * JSB DSTW.,I (OR CSTW.,I) 01450000 *P+1 ... RETURN IF BITY SET TO 1 IN TIME 01451000 *P+2 ... RETURN IF BITY=0 (ERROR) 01452000 * 01453000 DSTW NOP 01454000 STA RNR STORE -REQ.NO.OF ROLLOVERS INCT 01455000 CLA 01456000 STA ICNT SET ICNT COUNTER TO 0 01457000 DSA LIA DATA GET STATUS 01458000 AND B AND BIT MASK 01459000 SZA IS BIT SET TO 1? 01460000 JMP DSTW,I YES,EXIT TO P+1(BIT=1) 01461000 ISZ ICNT NO;IS ICNT FULL? 01462000 JMP DSA NO 01463000 ISZ RNR YES;IS WAITING STILL REQ? 01464000 JMP DSA YES 01465000 ISZ DSTW NO,EXIT TO P+2(BIT=0) 01466000 JMP DSTW,I 01467000 * 01468000 CSTW NOP ëíþú 01469000 STA RNR STORE -REQ.NO.OF ROLLOVERS INCT 01470000 CLA 01471000 STA ICNT SET ICNT COUNTER TO 0 01472000 CSA LIA CMND GET STATUS 01473000 AND B AND BIT MASK 01474000 SZA IS BIT SET TO 1? 01475000 JMP CSTW,I YES,EXIT TO P+1(BIT=1) 01476000 ISZ ICNT NO;IS ICNT FULL? 01477000 JMP CSA NO 01478000 ISZ RNR YES;IS WAITING STILL REQ? 01479000 JMP CSA YES 01480000 ISZ CSTW NO,EXIT TO P+2(BIT=0) 01481000 JMP CSTW,I 01482000 SKP 01483000 *==================================================================* 01484000 * SUBROUTINE STREP * 01485000 * THIS SUBROUTINE CHECKS SW REG BIT 7 AFTER MESSAGES WITH (*), * 01486000 * REPORTS CMND CH AND DATA CH STATUS (IF BIT 7 SET), AND HALTS * 01487000 *==================================================================* 01488000 * 01489000 * CALLING SEQUENCE: 01490000 * 01491000 * JSB STRE.,I 01492000 *P+1 ... RETURN 01493000 * oþú 01494000 STREP NOP 01495000 LDB B7 IS STATUS REPORT REQUIRED? 01496000 JSB SWRT,I 01497000 JMP *+2 YES,REPORT STATUS 01498000 JMP STREP,I NO,EXIT 01499000 JSB STA.,I REPORT STATUS 01500000 LDB B14 IS HALT AFT ST REP TO BE SUPPR? 01501000 JSB SWRT,I 01502000 JMP *+3 ON-YES,CONTINUE 01503000 LDB SAVB OFF-NO,RESTORE DATA ST IN B 01504000 OCT 106023 HALT 01505000 JMP STREP,I 01506000 SKP 01507000 *==================================================================* 01508000 * SUBROUTINE STA * 01509000 * THIS SUBROUTINE REPORTS CMND CH AND DATA CH STATUS * 01510000 * WITHOUT HALT * 01511000 *==================================================================* 01512000 * 01513000 * CALLING SEQUENCE: 01514000 * 01515000 * JSB STA.,I 01516000 *P+1 ... NORMAL RETURN 01517000 * 01518000 STA ×Íþú NOP 01519000 CLA 01520000 STA SHIFT 01521000 LDA ONE INITIALIZE ASCII BUF FOR CMND 01522000 LDB D11 01523000 JSB AR2B.,I 01524000 DEF INSTA 01525000 DEF BUFC 01526000 DEF SHIFT 01527000 * 01528000 LDA ONE INITIALIZE ASCII BUF FOR DATA 01529000 LDB D11 01530000 JSB AR2B.,I 01531000 DEF INSTA 01532000 DEF BUFD 01533000 DEF SHIFT 01534000 * 01535000 CIO1 LIA CMND GET CMND CH STATUS 01536000 STA SAVA SAVE IT 01537000 DIO1 LIB DATA GET DATA CH STATUS 01538000 STB SAVB SAVE IT 01539000 * 01540000 LDB SAVA CONVERT CMND CH STATUS TO ASCII 01541000 LDA BUFCA 01542000 JSB SCAN.,I 015430  þú00 * 01544000 LDB SAVB CONVERT DATA CH STATUS TO ASCII 01545000 LDA BUFDA 01546000 JSB SCAN 01547000 * 01548000 LDA SAVA RETURN STATUS TO A AND B 01549000 LDB SAVB 01550000 JSB MSGC,I OUTPUT STATUS WITHOUT HALT 01551000 DEF H123 01552000 JMP STA,I 01553000 * 01554000 BUFDA DEF BUFD 01555000 BUFCA DEF BUFC 01556000 SKP 01557000 *==================================================================* 01558000 * SUBROUTINE SCAN * 01559000 * THIS SUBROUTINE CONVERTS A 16-BIT WORD INTO ASCII * 01560000 * (FORMAT IS:X XXX XXX XXX XXX XXX) * 01561000 *==================================================================* 01562000 * 01563000 * CALLING SEQUENCE: 01564000 * 01565000 * LDB WRD WORD TO SCAN AND CONVERT TO ASCII 01566000 * LDA ADDR ADDR OF ASCII BUFFER(MUST HAVE 11 POSITIONS) 01567000 * JSB SCAN.,I A˜þú 01568000 *P+1 ... RETURN 01569000 * 01570000 SCAN NOP 01571000 STA POIST STORE ASCII BUF ADDRESS 01572000 LDA M16 INITIALIZE ROTATION COUNTER 01573000 STA CNROT 01574000 NSTB SSB,RSS IS SIGN OF B=0? 01575000 JMP *+4 YES 01576000 LDA O400 NO,OR OCTAL 400 (LEFT H) 01577000 IOR POIST,I 01578000 STA POIST,I 01579000 ISZ CNROT IS 16 POSITIONS EXHAUSTED? 01580000 JMP *+2 NO 01581000 JMP SCAN,I YES,EXIT 01582000 ISZ POIST 01583000 RBL 01584000 SSB,RSS IS SIGN OF B=0? 01585000 JMP *+4 YES 01586000 LDA O400 NO,OR OTCTAL 400 (LEFT H) 01587000 IOR POIST,I 01588000 STA POIST,I 01589000 ISZ CNROT 01590000 RBL 01591000 SSB,RSS IS SIGN OF B=0? 01592000 JMP *+4 YES R‰þú 01593000 LDA ONE NO,OR 1 (RIGHT H) 01594000 IOR POIST,I 01595000 STA POIST,I 01596000 ISZ CNROT 01597000 ISZ POIST 01598000 RBL 01599000 JMP NSTB CONTINUE CONVERSION 01600000 SKP 01601000 ORG 4000B 01602000 *==================================================================* 01603000 * SUBROUTINE AR2BU * 01604000 * THIS SUBROUTINE TRANSFERS A SEQUENCE OF L CHARACTERS FROM * 01605000 * AN ARRAY "AR" INTO N POSITIONS OF A BUFFER "BU". * 01606000 * IF L>>>TRY TO PICK AGAIN>>>> 02227000 ICH JSB ERMS,I OUTPUT E113 02228000 DEF E113 02229000 JSB STRE.,I CHECK IF STATUS REPORT REQUIRED 02230000 NMCH JSB CLCV.,I INS COL&CRD NO.IN ERR MSG 02231000 LDA BCV2.,I 02232000 STA CLIF.,I 02233000 JSB CRC1.,I 02234000 LDA BCV2.,I 02235000 STA CRIF.,I 02236000 LDA COLCT 02237000 LDB WSIND 02238000 INB 02239000 JSB ERMS,I OUTPUT E101 02240000 DEF E101 "”þú 02241000 JSB STRE.,I CHECK IF STATUS REPORT REQUIRED 02242000 ISZ IBUA 02243000 JMP IBUA,I ERROR,EXIT TO P+2 02244000 SKP 02245000 *==================================================================* 02246000 * SUBROUTINES CLCV, CRCV, AND CRCV1 * 02247000 * THESE SUBROUTINES CONVERT COLUMN NO. AND CARD NO. TO ASCII. * 02248000 * AFTER CALL, BCV2 CONTAINS 2 DIGITS IN ASCII * 02249000 *==================================================================* 02250000 * 02251000 * CALLING SEQUENCE: 02252000 * 02253000 * JSB CLCV.,I (OR CRCV.,I OR CRC1.,I) 02254000 *P+1 ... RETURN 02255000 * 02256000 CLCV NOP 02257000 CLE 02258000 LDA COLCT 02259000 LDB BCVA 02260000 JSB I2AS,I 02261000 JMP CLCV,I 02262000 * 02263000 CRCV NOP 02264000 CLE 02265000 LDA gøþúWSIND 02266000 LDB BCVA 02267000 JSB I2AS,I 02268000 JMP CRCV,I 02269000 * 02270000 CRCV1 NOP 02271000 CLE 02272000 LDA WSIND 02273000 INA 02274000 LDB BCVA 02275000 JSB I2AS,I 02276000 JMP CRCV1,I 02277000 * 02278000 BCVA DEF BCV 02279000 * 02280000 BCV NOP 02281000 NOP 02282000 BCV2 NOP 02283000 SKP 02284000 *==================================================================* 02285000 * SUBROUTINES DST AND CST * 02286000 * THESE SUBROUTINES CHECK INDIVIDUAL STATUS BITS OF * 02287000 * DATA CH OR CMND CH * 02288000 *==================================================================* 02289000 * 02290000 * @þú CALLING SEQUENCE: 02291000 * 02292000 * LDB BITY BIT OF INTEREST (Y=0,1,...,15) 02293000 * JSB DST.,I (OR CST.,I) 02294000 *P+1 ... RETURN IF BIT SET TO 1 02295000 *P+2 ... RETURN IF BIT SET TO 0 02296000 * 02297000 DST NOP 02298000 DIO9 LIA DATA GET STATUS 02299000 AND B AND BIT MASK 02300000 SZA,RSS IS BIT SET TO 1? 02301000 ISZ DST NO,EXIT TO P+2 (BIT=0) 02302000 JMP DST,I YES,EXIT TO P+1 (BIT=1) 02303000 * 02304000 CST NOP 02305000 CIO4 LIA CMND GET STATUS 02306000 AND B AND BIT MASK 02307000 SZA,RSS IS BIT SET TO 1? 02308000 ISZ CST NO,EXIT TO P+2 (BIT=0) 02309000 JMP CST,I YES,EXIT TO P+1 (BIT=1) 02310000 * 02311000 *==================================================================* 02312000 * SUBROUTINE WAIT * 02313000 * THIS SUBROUTINE IS ENTERED WHILE WAITING FOR INTERRUPT * 02314000 * ON DATA CH OR CMND CH * 0231žœþú5000 *==================================================================* 02316000 * 02317000 * CALLING SEQUENCE: 02318000 * 02319000 * JSB WAIT 02320000 *P+1 ... ERROR RETURN 02321000 * 02322000 WAIT NOP 02323000 LDA M10 02324000 STA RNR 02325000 CLA 02326000 WW ISZ A IS A REG FULL? 02327000 JMP WW NO 02328000 ISZ RNR YES;IS WAITING STILL REQ? 02329000 JMP WW YES 02330000 JMP WAIT,I NO,ERROR EXIT 02331000 SKP 02332000 *==================================================================* 02333000 * SUBROUTINE TO EDIT E3031 TO E030 * 02334000 *==================================================================* 02335000 * 02336000 * CALLING SEQUENCE: 02337000 * 02338000 * JSB CSER.,I 02339000 *P+1 ... NORMAL RETURN ]Jþú 02340000 * 02341000 CSER NOP 02342000 STA SAVA STORE EXP CMND ST 02343000 STB SAVB STORE ACT CMND ST 02344000 CLA EDIT ERR MSG TO E030 02345000 STA SHIFT 02346000 LDA D4 02347000 LDB D5 02348000 JSB AR2B.,I 02349000 DEF EE030 02350000 DEF E3031 02351000 DEF SHIFT 02352000 JSB ERST.,I 02353000 JMP CSER,I 02354000 * 02355000 *==================================================================* 02356000 * SUBROUTINE TO EDIT E3031 TO E031 * 02357000 *==================================================================* 02358000 * 02359000 * CALLING SEQUENCE: 02360000 * 02361000 * JSB DSER.,I 02362000 *P+1 ... NORMAL RETURN 02363000 * 02364000 DSER NOP X)þú 02365000 STA SAVA STORE EXP DATA ST 02366000 STB SAVB STORE ACT DATA ST 02367000 CLA EDIT ERR MSG TO E031 02368000 STA SHIFT 02369000 LDA D4 02370000 LDB D5 02371000 JSB AR2B.,I 02372000 DEF EE031 02373000 DEF E3031 02374000 DEF SHIFT 02375000 JSB ERST.,I 02376000 JMP DSER,I 02377000 SKP 02378000 *==================================================================* 02379000 * SUBROUTINE ERST * 02380000 * THIS SUBROUTINE CONVERTS STATUS TO ASCII AND OUTPUTS * 02381000 * ERROR MESSAGE. BEFORE CALL, SAVA MUST CONTAIN EXP STATUS * 02382000 * AND SAVB ACT STATUS * 02383000 *==================================================================* 02384000 * 02385000 * CALLING SEQUENCE: 02386000 * 02387000 * JSB ERST.,I 02388000 *P+1 ... NORMAL RETURN 02389000 * §îþú 02390000 ERST NOP 02391000 LDA ONE INIT BEX BUFF FOR EXP STATUS 02392000 LDB D11 02393000 JSB AR2B.,I 02394000 DEF INSTA 02395000 DEF BEX 02396000 DEF SHIFT 02397000 * 02398000 LDA ONE INIT BAC BUFF FOR ACT STATUS 02399000 LDB D11 02400000 JSB AR2B.,I 02401000 DEF INSTA 02402000 DEF BAC 02403000 DEF SHIFT 02404000 * 02405000 LDB SAVA CONVERT EXP STATUS TO ASCII 02406000 LDA BEX. 02407000 JSB SCAN.,I 02408000 * 02409000 LDB SAVB CONVERT ACT STATUS TO ASCII 02410000 LDA BAC. 02411000 JSB SCAN.,I 02412000 LDA SAVA RETURN STATUS TO A AND B 02413000 LDB SAVB 02414000 JSB ERMS,I OUTPUT E030 OR E031 ½{þú 02415000 DEF E3031 02416000 JMP ERST,I 02417000 SKP 02418000 *==================================================================* 02419000 * SUBROUTINES COCS AND CODS * 02420000 * THESE SUBROUTINES COMPARE CMND CH AND DATA CH STATUS * 02421000 * REPORT ERROR, IF NECESSARY * 02422000 *==================================================================* 02423000 * 02424000 * CALLING SEQUENCE: 02425000 * 02426000 * LDA ECSX (OR EDSX) LOAD EXP CMND (OR DATA) ST IN A 02427000 * JSB COCS.,I (OR CODS.,I) 02428000 *P+1 ... NORMAL RETURN 02429000 * 02430000 COCS NOP 02431000 CIO06 LIB CMND LOAD ACT CMND ST IN B 02432000 CPA B IS CMND STATUS OK? 02433000 JMP COCS,I YES,EXIT 02434000 JSB CSER.,I NO,REPORT ERROR 02435000 JMP COCS,I 02436000 * 02437000 CODS NOP 02438000 DIO32 LIB DATA LOAD ACT DATA ST IN B 02439000 CPA B IS DATA STATUS O«»þúK? 02440000 JMP CODS,I YES,EXIT 02441000 JSB DSER.,I NO,REPORT ERROR 02442000 JMP CODS,I 02443000 SKP 02444000 *==================================================================* 02445000 * SUBROUTINE ISCM * 02446000 * THIS SUBROUTINE INITIATES DEVICE FOR STACKER CONTROL MODE * 02447000 *==================================================================* 02448000 * 02449000 * CALLING SEQUENCE: 02450000 * 02451000 * JSB ISCM.,I 02452000 *P+1 ... NORMAL RETURN 02453000 * 02454000 ISCM NOP 02455000 CLF 0 02456000 DIO33 CLC DATA 02457000 CIO07 CLC CMND 02458000 CIO08 CLF CMND 02459000 DIO34 CLF DATA 02460000 LDA SCM 02461000 CIO09 OTA CMND 02462000 LDA CBIN 02463000 DIO35 OTA DATA 02464000 JMP ISCM,I ìsþú 02465000 * 02466000 *==================================================================* 02467000 * SUBROUTINE ISOM * 02468000 * THIS SUBROUTINE INITIATES DEVICE FOR STACKER OVERFLOW MODE * 02469000 *==================================================================* 02470000 * 02471000 * CALLING SEQUENCE: 02472000 * 02473000 * JSB ISOM.,I 02474000 *P+1 ... NORMAL RETURN 02475000 * 02476000 ISOM NOP 02477000 CLF 0 02478000 DIO36 CLC DATA 02479000 CIO10 CLC CMND 02480000 CIO11 CLF CMND 02481000 DIO37 CLF DATA 02482000 LDA ZERO 02483000 CIO12 OTA CMND 02484000 LDA CBIN 02485000 DIO38 OTA DATA 02486000 JMP ISOM,I 02487000 SKP 02488000 *==================================================================* 02489000 * SUBROUTINE¨Ìþú DACO * 02490000 * THIS SUBROUTINE COMPARES EXPECTED AND ACTUAL DATA (AFTER * 02491000 * READ) AND REPORTS ERROR, IF NECESSARY. BEFORE CALL, PUBU * 02492000 * MUST CONTAIN EXP DATA AND RDBU MUST CONTAIN ACT DATA. * 02493000 * IF (BLI)=0, CARD IS TO BE BLANK; IF NOT, CARD IS NOT TO * 02494000 * BE BLANK. * 02495000 *==================================================================* 02496000 * 02497000 * CALLING SEQUENCE: 02498000 * 02499000 * JSB DACO.,I 02500000 *P+1 ... NORMAL RETURN 02501000 *P+2 ... ERROR RETURN 02502000 * 02503000 DACO NOP 02504000 LDA PUBUA 02505000 STA EXPO 02506000 LDA RDBUA 02507000 STA ACPO 02508000 LDA ONE SET COLCT TO 1 02509000 STA COLCT 02510000 LDA ACPO,I 02511000 AND B12 ISOLATE READ CHECK BIT 02512000 SZA,RSS READ CHECK ON? 02513000 JMP CAG NO 02514000 JSB ER,ˆþúMS,I YES,OUTPUT E124 02515000 DEF E124 02516000 JSB STRE.,I IS STATUS REPORT REQUIRED? 02517000 CAG LDB EXPO,I 02518000 LDA ACPO,I 02519000 AND MSK12 02520000 CPA B IS EXP DATA EQUAL TO ACT DATA? 02521000 JMP *+2 YES 02522000 JMP DER NO 02523000 CND LDA COLCT 02524000 CPA D80 WAS 80 COLS COMPARED? 02525000 JMP DACO,I YES,EXIT TO P+1 02526000 ISZ COLCT NO 02527000 ISZ EXPO 02528000 ISZ ACPO 02529000 JMP CAG 02530000 DER STB EXDA STORE EXP DATA 02531000 STA ACDA STORE ACT DATA 02532000 LDA BLI 02533000 SZA IS CARD TO BE BLANK? 02534000 JMP NMS NON-ZERO,NO 02535000 JSB ERMS,I ZERO,YES,OUTPUT E107 02536000 DEF E107 02537000 JSB STRE.,I IS STATUS REPORT REQUIRED? 02538000 ISZ DACO 02539000 ãÛþú JMP DACO,I IF NON-BL,EXIT TO P+2 02540000 * 02541000 NMS JSB CLCV.,I INSERT COL NO.IN E110 02542000 LDA BCV2.,I 02543000 STA ECL.,I 02544000 JSB CRCV.,I 02545000 LDA BCV2.,I INSERT CRD NO IN E110 02546000 STA ECR.,I 02547000 * 02548000 CLA 02549000 STA SHIFT 02550000 LDA ONE INIT DEX BUFF FOR EXP DATA 02551000 LDB D11 02552000 JSB AR2B.,I 02553000 DEF INSTA 02554000 DEF DEX 02555000 DEF SHIFT 02556000 * 02557000 LDA ONE 02558000 LDB D11 INIT DAC BUFF FOR ACT DATA 02559000 JSB AR2B.,I 02560000 DEF INSTA 02561000 DEF DAC 02562000 DEF SHIFT 02563000 LDB EXDA CONVERT EXP DATA TO ASCII 025640®Nþú00 LDA DEX. 02565000 JSB SCAN.,I 02566000 * 02567000 LDB ACDA CONVERT ACT DATA TO ASCII 02568000 LDA DAC. 02569000 JSB SCAN.,I 02570000 * 02571000 LDA D2 EDIT E110 02572000 LDB D3 02573000 JSB AR2B.,I 02574000 DEF EXP 02575000 DEF DEX 02576000 DEF SHIFT 02577000 * 02578000 LDA D2 02579000 LDB D3 02580000 JSB AR2B.,I 02581000 DEF ACD 02582000 DEF DAC 02583000 DEF SHIFT 02584000 * 02585000 LDA COLCT LOAD COLCT IN A 02586000 LDB WSIND LOAD CRD NO IN B 02587000 * 02588000 JSB ERMS,I OUTPUT E110 iþú 02589000 DEF E110 02590000 JSB STRE.,I IS STATUS REPORT REQUIRED? 02591000 JMP CND GOTO TEST IF 80 COLS WERE COMPARED 02592000 SKP 02593000 *==================================================================* 02594000 * SUBROUTINE OCO * 02595000 * THIS SUBROUTINE CONVERTS 80 12-BIT DATA WORDS (COLUMNS) * 02596000 * OF A BUFFER (PUBU=BUF X, PRBU=BUF Y) FROM OCTAL TO ASCII * 02597000 * AND DISPLAYS THEM ON TTY. * 02598000 *==================================================================* 02599000 * 02600000 * CALLING SEQUENCE: 02601000 * 02602000 * LDA BUF. BUFFER POINTER(PUBUA OR PRBUA) 02603000 * JSB OCO.,I 02604000 *P+1 ... NORMAL RETURN 02605000 * 02606000 OCO NOP 02607000 STA PON STORE BUF POINTER(OF PUBU OR PRBU) 02608000 LDA M80 SET GREAT LOOP CNTR TO 80 02609000 STA GLO 02610000 RVA LDA M10 SET SMALL LOOP CNTR TO 10 02611000 STA SLO 02612000 LDA BUD. GET BUD POINTER 02613000 STA VAPO @þú 02614000 NOC CLE CONVERT 1 COLUMN TO OCTAL 02615000 LDA PON,I 02616000 LDB BUOC. 02617000 JSB O2AS,I 02618000 LDA BU4M.,I 02619000 STA VAPO,I 02620000 ISZ VAPO 02621000 LDA BU4L.,I 02622000 STA VAPO,I 02623000 ISZ SLO WAS 10 COLS CONVERTED? 02624000 JMP *+2 NO 02625000 JMP DIS YES,GOTO DISPLAY 10 COLS 02626000 ISZ GLO INCREMENT GLO BY 1 02627000 ISZ PON INCREMENT PON BY 1 02628000 ISZ VAPO INCREMENT VAPO BY 2 02629000 ISZ VAPO 02630000 JMP NOC GOTO CONVERT NEXT COLUMN 02631000 DIS JSB MSGC,I DISPLAY 10 COLS ON TTY 02632000 DEF HBUD 02633000 ISZ GLO WAS 80 COLS CONV AND DISPL? 02634000 JMP *+2 NO,INC PON&RESET SLO&VAPO 02635000 JMP OCO,I YES,EXIT 02636000 ISZ PON 02637000 JMP RVA 02638000 * æsþú 02639000 BUOC NOP 02640000 BU4M NOP 02641000 BU4L NOP 02642000 * 02643000 BUOC. DEF BUOC 02644000 BU4M. DEF BU4M 02645000 BU4L. DEF BU4L 02646000 SKP 02647000 *==================================================================* 02648000 * SUBROUTINE WSCH * 02649000 * THIS SUBROUTINE CHECKS CARD IN WAIT STATION,READY FOR * 02650000 * CMND, AND STACKER FULL CONDITIONS. ERROR MESSAGES ARE GIVEN * 02651000 * IF ANY OF THE CONDITIONS CAN NOT BE REMOVED. * 02652000 *==================================================================* 02653000 * 02654000 * CALLING SEQUENCE: 02655000 * 02656000 * JSB WSCH.,I 02657000 *P+1 ... ERROR RETURN 02658000 *P+2 ... NORMAL RETURN 02659000 * 02660000 WSCH NOP 02661000 LDB B4 02662000 JSB CST.,I IS CARD IN WAIT STATION? 02663000 JMP *+2 YES ‘þú 02664000 JMP RDCH NO 02665000 JSB MSGH,I OUTPUT H050 02666000 DEF H050 02667000 LDB B4 02668000 JSB CST.,I IS CARD IN WAIT STATION? 02669000 JMP *+2 YES 02670000 JMP RDCH NO 02671000 JSB ERMS,I OUTPUT E051 02672000 DEF E051 02673000 JSB STRE.,I CHECK IF STATUS REPORT REQUIRED 02674000 JMP WSCH,I ERROR EXIT 02675000 RDCH LDB B5 02676000 JSB CST.,I READY FOR CMND? 02677000 JMP RDOK YES 02678000 LDB B15 NO 02679000 JSB DST.,I IS INPUT BUFFER FULL? 02680000 JMP TCLB YES 02681000 SFU LDB B8 NO 02682000 JSB DST.,I IS STACKER FULL? 02683000 JMP *+2 YES 02684000 JMP CMAN NO 02685000 JSB MSGH,I OUTPUT H044 02686000 DEF H044 02687000 LDB B8 02688000 JSB DST.,I IS STACKER FULL? W'þú 02689000 JMP *+2 YES 02690000 JMP RDCH NO 02691000 JSB ERMS,I OUTPUT E045 02692000 DEF E045 02693000 JSB STRE.,I CHECK IF STATUS REPORT REQUIRED 02694000 JMP WSCH,I ERROR EXIT 02695000 TCLB LDA B15 TRY TO CLEAR INPUT BUFFER 02696000 DIO41 OTA DATA 02697000 LDB B15 02698000 JSB DST.,I IS INPUT BUFFER FULL? 02699000 JMP *+2 YES,GOTO CLEAR MANUALLY 02700000 JMP SFU NO,GOTO CHECK STACKER COND 02701000 CMAN JSB MSGH,I OUTPUT H046 02702000 DEF H046 02703000 LDB B5 02704000 JSB CST.,I READY FOR CMND? 02705000 JMP RDOK YES 02706000 JSB ERMS,I NO,OUTPUT E047 02707000 DEF E047 02708000 JSB STRE.,I CHECK IF STATUS REPORT REQUIRED 02709000 JMP WSCH,I ERROR EXIT 02710000 RDOK ISZ WSCH 02711000 JMP WSCH,I NORMAL EXIT 02712000 SKP 02713000 *=============================бþú=====================================* 02714000 * SUBROUTINE PUX * 02715000 *==================================================================* 02716000 * 02717000 * CALLING SEQUENCE: 02718000 * 02719000 * JSB PUX.,I 02720000 *P+1 ... ERROR RETURN 02721000 *P+2 ... NORMAL RETURN 02722000 * 02723000 PUX NOP 02724000 JSB WSCH.,I IS WSCH CHECK OK? 02725000 JMP PUX,I NO,ERROR EXIT TO P+1 02726000 * 02727000 LDB B1 02728000 JSB CST.,I IS HOP-2 EMPTY? 02729000 JMP *+2 ON-YES 02730000 JMP PWS0 OFF-NO,OK 02731000 JSB MSGH,I OUTPUT H056 02732000 DEF H056 02733000 LDB B1 02734000 JSB CST.,I IS HOP-2 EMPTY? 02735000 JMP *+2 ON-YES,ERROR 02736000 JMP PWS0 OFF-NO,OK 02737000 JSB ERMS,I OUTPUT E057 02738000 DEF E057 }íþú 02739000 JSB STRE.,I CHECK IF STATUS REPORT REQUIRED 02740000 JMP PUX,I ERROR EXIT TO P+1 02741000 * 02742000 PWS0 CLA 02743000 STA WSIND SET WSIND TO 0 02744000 ISZ PUX 02745000 JMP PUX,I NORMAL EXIT TO P+2 02746000 SKP 02747000 *==================================================================* 02748000 * SUBROUTINE RDX * 02749000 *==================================================================* 02750000 * 02751000 * CALLING SEQUENCE: 02752000 * 02753000 * JSB RDX.,I 02754000 *P+1 ... ERROR RETURN 02755000 *P+2 ... NORMAL RETURN 02756000 * 02757000 RDX NOP 02758000 JSB WSCH.,I IS WSCH CHECK OK? 02759000 JMP RDX,I NO,ERROR EXIT TO P+1 02760000 * 02761000 LDB B3285 YES,IS LOOP ON TEST,DIAG,OR SUPP 02762000 JSB SWRT,I INTERVENT,OR SUPP PUNCH REQ? 02763000 JMP *+3 ¹þú ON-YES,NO MESSAGE 02764000 JSB MSGH,I OFF-NO,OUTPUT H062 02765000 DEF H062 02766000 * 02767000 LDB B9 02768000 JSB DST.,I IS HOP-1 EMPTY? 02769000 JMP *+2 ON-YES 02770000 JMP RWS0 OFF-NO,OK 02771000 JSB MSGH,I OUTPUT H063 02772000 DEF H063 02773000 LDB B9 02774000 JSB DST.,I IS HOP-1 EMPTY? 02775000 JMP *+2 ON-YES,ERROR 02776000 JMP RWS0 OFF-NO,OK 02777000 JSB ERMS,I OUTPUT E064 02778000 DEF E064 02779000 JSB STRE.,I CHECK IF STATUS REPORT REQUIRED 02780000 JMP RDX,I ERROR EXIT TO P+1 02781000 * 02782000 RWS0 CLA 02783000 STA WSIND SET WSIND TO 0 02784000 ISZ RDX 02785000 JMP RDX,I NORMAL EXIT TO P+2 02786000 SKP 02787000 *==================================================================* 02788000 * Úþú SUBROUTINE PUY * 02789000 *==================================================================* 02790000 * 02791000 * CALLING SEQUENCE: 02792000 * 02793000 * JSB PUY.,I 02794000 *P+1 ... ERROR RETURN 02795000 *P+2 ... NORMAL RETURN 02796000 * 02797000 PUY NOP 02798000 LDA M3 02799000 STA EPU SET EPU CNTR TO -3 02800000 * 02801000 ISZ WSIND INCREMENT WSIND 02802000 * 02803000 CLA CLEAR PUBU FOR BL CARD COMPARE 02804000 STA SHIFT 02805000 LDA ZERO 02806000 LDB D80 02807000 JSB AR2B.,I 02808000 DEF ZERO 02809000 DEF PUBU 02810000 DEF SHIFT 02811000 * 02812000 TRAG LDB B4 02813000ò þú JSB CST.,I IS CARD IN WAIT STATION? 02814000 JMP RPY ON-YES,OK 02815000 JSB ERMS,I OFF-NO,ERROR,OUTPUT E060 02816000 DEF E060 02817000 JSB STRE.,I CHECK IF STATUS REPORT REQUIRED 02818000 JMP PUY,I ERROR EXIT TO P+1 02819000 * 02820000 RPY LDB B5 02821000 JSB CST.,I READY FOR CMND? 02822000 JMP H2PY YES,OK 02823000 * 02824000 LDB B8 NO 02825000 JSB DST.,I IS STACKER FULL? 02826000 JMP SFP YES 02827000 JSB ERMS,I NO,OUTPUT E061 02828000 DEF E061 02829000 JSB STRE.,I CHECK IF STATUS REPORT REQUIRED 02830000 JMP PUY,I ERROR EXIT TO P+1 02831000 * 02832000 SFP JSB MSGH,I OUTPUT H044 02833000 DEF H044 02834000 * 02835000 LDB B8 02836000 JSB DST.,I IS STACKER FULL? 02837000 JMP *+2 YES,ERROR Xòþú02838000 JMP RPY NO,CHECK RDY COND AGAIN 02839000 * 02840000 JSB ERMS,I OUTPUT E045 02841000 DEF E045 02842000 JSB STRE.,I CHECK IF STATUS REPORT REQUIRED 02843000 JMP PUY,I ERROR EXIT TO P+1 02844000 * 02845000 H2PY LDB B1 02846000 JSB CST.,I IS HOP-2 EMPTY? 02847000 JMP *+2 ON-YES 02848000 JMP WCPY OFF-NO,OK 02849000 LDA WSIND IS LAST CARD IN W S? 02850000 CPA D12 02851000 JMP WCPY YES,DONT WORRY THAT HOP-2 EMPTY 02852000 JSB MSGH,I NO,OUTPUT H056 02853000 DEF H056 02854000 * 02855000 LDB B1 02856000 JSB CST.,I IS HOP-2 EMPTY? 02857000 JMP *+2 ON-YES,ERROR 02858000 JMP RPY OFF-NO,CHECK RDY COND AGAIN 02859000 * 02860000 JSB ERMS,I OUTPUT E057 02861000 DEF E057 02862000 JSB STRE.,I CHECK IF STATUS REPORT REQUIRED ¶þú 02863000 JMP PUY,I ERROR EXIT TO P+1 02864000 * 02865000 WCPY JSB DACO.,I IS CRD IN W S BLANK? 02866000 JMP COPU YES,OK,PREP EXIT TO P+2 02867000 ISZ EPU NO,ERR,WAS IT LAST ATTEMPT? 02868000 JMP *+2 NO,CONTINUE 02869000 JMP PUY,I YES ERR EXIT TO P+1 02870000 JSB MSGH,I OUTPUT H114 02871000 DEF H114 02872000 JSB RB2.,I FEED&READ 1 BL CRD,OK? 02873000 JMP PUY,I NO,ERR EXIT TO P+1 02874000 JMP TRAG YES 02875000 COPU ISZ PUY 02876000 JMP PUY,I NORMAL EXIT TO P+2 02877000 SKP 02878000 *==================================================================* 02879000 * SUBROUTINE RDY * 02880000 *==================================================================* 02881000 * 02882000 * CALLING SEQUENCE: 02883000 * 02884000 * JSB RDY.,I 02885000 *P+1 ... ERROR RETURN 02886000 *P+2 ... NORMAL RETURN 02887000 * !“þú 02888000 RDY NOP 02889000 * 02890000 ISZ WSIND INCREMENT WSIND 02891000 * 02892000 LDB B4 02893000 JSB CST.,I IS CARD IN WAIT STATION? 02894000 JMP RRY ON-YES,OK 02895000 JSB ERMS,I OFF-NO,ERR,OUTPUT E060 02896000 DEF E060 02897000 JSB STRE.,I CHECK IF STATUS REPORT REQUIRED 02898000 JMP RDY,I ERROR EXIT TO P+1 02899000 * 02900000 RRY LDB B5 02901000 JSB CST.,I READY FOR CMND? 02902000 JMP H1RY YES,OK 02903000 * 02904000 LDB B8 NO 02905000 JSB DST.,I IS STACKER FULL? 02906000 JMP SFR YES 02907000 JSB ERMS,I OUTPUT E061 02908000 DEF E061 02909000 JSB STRE.,I CHECK IF STATUS REPORT REQUIRED 02910000 JMP RDY,I ERROR EXIT TO P+1 02911000 * 02912000 SFR JSB MSGH,I OUTPUT H044 ’þú 02913000 DEF H044 02914000 * 02915000 LDB B8 02916000 JSB DST.,I IS STACKER FULL? 02917000 JMP *+2 YES,ERROR 02918000 JMP RRY NO,CHECK RDY COND AGAIN 02919000 * 02920000 JSB ERMS,I OUTPUT E045 02921000 DEF E045 02922000 JSB STRE.,I CHECK IF STATUS REPORT REQUIRED 02923000 JMP RDY,I ERROR EXIT TO P+1 02924000 * 02925000 H1RY LDB B9 02926000 JSB DST.,I IS HOP-1 EMPTY? 02927000 JMP *+2 ON-YES 02928000 JMP WCRY OFF-NO,OK 02929000 LDA WSIND IS LAST CARD IN W S? 02930000 CPA D12 02931000 JMP WCRY YES,DONT WORRY THAT HOP-1 EMPTY 02932000 JSB MSGH,I NO,OUTPUT H063 02933000 DEF H063 02934000 LDB B9 02935000 JSB DST.,I IS HOP-1 EMPTY? 02936000 JMP *+2 ON-YES,ERROR 02937000 JMP RRY OFF-NO,CHECK RDY CON€þúD AGAIN 02938000 * 02939000 JSB ERMS,I OUTPUT E064 02940000 DEF E064 02941000 JSB STRE.,I CHECK IF STATUS REPORT REQUIRED 02942000 JMP RDY,I ERROR EXIT TO P+1 02943000 * 02944000 WCRY JSB DACO.,I IS CRD IN W S OK(EXP=ACT)? 02945000 NOP YES,OK,EXIT TO P+2 02946000 ISZ RDY NO,EXIT TO P+2 ANYWAY 02947000 JMP RDY,I 02948000 * 02949000 *==================================================================* 02950000 * SUBROUTINE CSM * 02951000 * THIS SUBROUTINE CHECKS IF THE DEVICE LAST OPERATION WAS IN * 02952000 * STACKER CONTROL MODE. IF NOT, CLEAR IS REQUESTED. * 02953000 *==================================================================* 02954000 * 02955000 * CALLING SEQUENCE: 02956000 * 02957000 * JSB CSM.,I 02958000 *P+1 ... NORMAL RETURN 02959000 * 02960000 CSM NOP 02961000 CIO22 LIA CMND GET CONTROL BITS 02962000 AND B12 ¹hþú 02963000 SZA WAS DEV IN STCK CNTRL MODE? 02964000 JMP CSM,I YES,OK,EXIT 02965000 JSB ISCM.,I NO,INIT DEV F ST CNTRL MODE 02966000 JSB MSGH,I OUTPUT H053 02967000 DEF H053 02968000 JMP CSM,I EXIT 02969000 SKP 02970000 *==================================================================* 02971000 * ACTION SUBROUTINES * 02972000 * THESE SUBROUTINES REALIZE ALL THE OPERATIONS OF THE * 02973000 * PRINTING READER PUNCH USED IN THIS DIAGNOSTIC. SYMBOLS * 02974000 * IN THE NAME OF EACH SUBROUTINE DESCRIBE EACH OPERATION * 02975000 * AS FOLLOWS: * 02976000 * R...READ * 02977000 * P...PUNCH * 02978000 * Q...READ AND PUNCH * 02979000 * W...PRINT (WRITE) FROM OUTPUT BUFFER * 02980000 * S...PRINT (SEPARATE PRINT DATA) FROM PRINT BUFFER * 02981000 * F...FEED (NO READ, PUNCH, OR PRINT) * 02982000 * * 02983000 * A...USE HOPPER 1 * 02984000 * B...USE HOPPER 2 * 02985000 * I...INHIBIT INPUT FEED * 02986000 * * 02987000 * 0...STACKER OVER³ þúFLOW MODE * 02988000 * 1...USE STACKER 1 * 02989000 * 2...USE STACKER 2 * 02990000 *==================================================================* 02991000 * 02992000 * CALLING SEQUENCE: 02993000 * 02994000 * JSB VXYZ.,I (VXYZ STAND FOR SYMBOLS EXPLAINED ABOVE) 02995000 *P+1 ... ERROR RETURN 02996000 *P+2 ... NORMAL RETURN 02997000 * 02998000 RB2 NOP 02999000 LDA H2S2 03000000 CLB 03001000 JSB DODO.,I 03002000 DEC 80 03003000 JMP RB2,I 03004000 ISZ RB2 03005000 JMP RB2,I 03006000 * 03007000 QWB2 NOP 03008000 LDA QWB2K 03009000 CLB 03010000 JSB DODO.,I 03011000 DEC 80 03012000 JMP QWB2,IGûþú 03013000 ISZ QWB2 03014000 JMP QWB2,I 03015000 * 03016000 PWI2 NOP 03017000 LDA QWB2K 03018000 LDB INHIF 03019000 JSB DODO.,I 03020000 DEC 0 03021000 JMP PWI2,I 03022000 ISZ PWI2 03023000 JMP PWI2,I 03024000 * 03025000 RA1 NOP 03026000 LDA SCM 03027000 CLB 03028000 JSB DODO.,I 03029000 DEC 80 03030000 JMP RA1,I 03031000 ISZ RA1 03032000 JMP RA1,I 03033000 * 03034000 FI1 NOP 03035000 LDA SCM 03036000 LDB INHIF 03037000 JS]þúB DODO.,I 03038000 DEC 0 03039000 JMP FI1,I 03040000 ISZ FI1 03041000 JMP FI1,I 03042000 * 03043000 * 03044000 PI2 NOP 03045000 LDA PI2K 03046000 LDB INHIF 03047000 JSB DODO.,I 03048000 DEC 0 03049000 JMP PI2,I 03050000 ISZ PI2 03051000 JMP PI2,I 03052000 * 03053000 WI2 NOP 03054000 LDA WI2K 03055000 LDB INHIF 03056000 JSB DODO.,I 03057000 DEC 0 03058000 JMP WI2,I 03059000 ISZ WI2 03060000 JMP WI2,I 03061000 * 03062000 âzþúPSI2 NOP 03063000 LDA PSI2K 03064000 LDB INHIF 03065000 JSB DODO.,I 03066000 DEC 0 03067000 JMP PSI2,I 03068000 ISZ PSI2 03069000 JMP PSI2,I 03070000 * 03071000 RA0 NOP 03072000 CLA 03073000 CLB 03074000 JSB DODO.,I 03075000 DEC 80 03076000 JMP RA0,I 03077000 ISZ RA0 03078000 JMP RA0,I 03079000 * 03080000 FI0 NOP 03081000 CLA 03082000 LDB INHIF 03083000 JSB DODO.,I 03084000 DEC 0 03085000 JMP FI0,I 03086000 ISZ FI0 039Vþú087000 JMP FI0,I 03088000 * 03089000 RB0 NOP 03090000 LDA H2SOM 03091000 CLB 03092000 JSB DODO.,I 03093000 DEC 80 03094000 JMP RB0,I 03095000 ISZ RB0 03096000 JMP RB0,I 03097000 * 03098000 * 03099000 FI2 NOP 03100000 LDA H2S2 03101000 LDB INHIF 03102000 JSB DODO.,I 03103000 DEC 0 03104000 JMP FI2,I 03105000 ISZ FI2 03106000 JMP FI2,I 03107000 * 03108000 QB2 NOP 03109000 LDA PI2K 03110000 CLB 03111000 JSB DODO.,I rþú 03112000 DEC 80 03113000 JMP QB2,I 03114000 ISZ QB2 03115000 JMP QB2,I 03116000 * 03117000 RWB2 NOP 03118000 LDA WI2K 03119000 CLB 03120000 JSB DODO.,I 03121000 DEC 80 03122000 JMP RWB2,I 03123000 ISZ RWB2 03124000 JMP RWB2,I 03125000 * 03126000 QSB2 NOP 03127000 LDA PSI2K 03128000 CLB 03129000 JSB DODO.,I 03130000 DEC 80 03131000 JMP QSB2,I 03132000 ISZ QSB2 03133000 JMP QSB2,I 03134000 SKP 03135000 ******************************************************************** 03136000 * MESSAGES )Òþú * 03137000 ******************************************************************** 03138000 * 03139000 ZBMA0 ASC 13, FOR DATA CH (HI PRIOR)/ 03140000 ZBMA1 ASC 13, FOR CMND CH (LO PRIOR)/ 03141000 E3031 ASC 5,E03X XXXX 03142000 ASC 5,STATUS ERR 03143000 OCT 6412 03144000 ASC 4, EXP: 03145000 BEX BSS 11 03146000 OCT 6412 03147000 ASC 4, ACT: 03148000 BAC BSS 11 03149000 ASC 1,/ 03150000 EE030 ASC 5,E030 CMND 03151000 EE031 ASC 5,E031 DATA 03152000 H032 ASC 18,H032 CLEAR DEVICE,STACKERS,HOPPERS; 03153000 ASC 11,PRESS STOP,START,RUN/ 03154000 H033 ASC 10,H033 PRESS STOP,RUN/ 03155000 H034 ASC 11,H034 PRESS START,RUN/ 03156000 H035 ASC 17,H035 LOAD HOP-1 WITH 1 BLANK CARD; 03157000 ASC 12,PRESS STOP 2X,START,RUN/ 03158000 H036 ASC 17,H036 LOAD HOP-2 WITH 1 BLANK CARD; 03159000 ASC 12,PRESS STOP 2X,START,RUN/ 03160000 H037 ASC 16,H037 STACKER CONTROL MODE CHECK 03161000 ASC 4,FOLLOWS/ ¡8þú 03162000 H040 ASC 16,H040 STACKER OVERFLOW MODE CHECK 03163000 ASC 5, FOLLOWS/ 03164000 H041 ASC 19,H041 EXTEND STACK-1 ARM TO LIMIT;PRESS 03165000 ASC 3, RUN/ 03166000 H042 ASC 19,H042 EXTEND STACK-2 ARM TO LIMIT;PRESS 03167000 ASC 3, RUN/ 03168000 H043 ASC 13,H043 PRESS STOP,START,RUN/ 03169000 H044 ASC 15,H044 STACKER FULL,UNLOAD;PRESS 03170000 ASC 8, STOP,START,RUN/ 03171000 E045 ASC 15,E045 STATUS SHOWS STACKER FULL 03172000 ASC 9, AFTER UNLOAD(*)/ 03173000 H046 ASC 18,H046 NOT READY FOR CMND;CLEAR DEVICE 03174000 ASC 11,,PRESS STOP,START,RUN/ 03175000 E047 ASC 20,E047 NOT READY FOR CMND AFTER CLEAR(*)/ 03176000 H050 ASC 13,H050 CARD IN WAIT STATION; 03177000 ASC 17,CLEAR DEVICE,PRESS STOP,START,RUN/ 03178000 E051 ASC 19,E051 STATUS SHOWS CARD IN WAIT STATION 03179000 ASC 8,AFTER CLEAR(*)/ 03180000 H052 ASC 17,H052 LOAD HOP-1&2 WITH BLANK CARDS 03181000 ASC 13,;PRESS STOP 2X,START,RUN/ 03182000 H053 ASC 19,H053 CLEAR DEVICE,STACKERS;PRESS STOP, 03183000 ASC 5,START,RUN/ 03184000 E054 ASC 11,E054 TEST ABORTED(*)/ 03185000 H055 ASC 10,H055 CLEAR STACKERS; 03186000 ASC 11,PRESS STOP,START,RUN/ ®Rþú 03187000 H056 ASC 19,H056 HOP-2 EMPTY,LOAD WITH BLANK CARDS 03188000 ASC 13,;PRESS STOP 2X,START,RUN/ 03189000 E057 ASC 19,E057 STATUS SHOWS HOP-2 EMPTY AFTER LO 03190000 ASC 3,AD(*)/ 03191000 E060 ASC 19,E060 NO CARD ARRIVED IN WAIT STATION(* 03192000 ASC 1,)/ 03193000 E061 ASC 18,E061 NO RETURN TO READY FOR CMND(*)/ 03194000 H062 ASC 19,H062 LOAD HOP-1 WITH TEST CARDS;PRESS 03195000 ASC 9,STOP 2X,START,RUN/ 03196000 H063 ASC 19,H063 HOP-1 EMPTY,LOAD WITH TEST CARDS; 03197000 ASC 12,PRESS STOP 2X,START,RUN/ 03198000 E064 ASC 19,E064 STATUS SHOWS HOP-1 EMPTY AFTER LO 03199000 ASC 3,AD(*)/ 03200000 E065 ASC 18,E065 NOT READY FOR CMND BEFORE FEED 03201000 ASC 4,REQ(*)/ 03202000 E066 ASC 19,E066 LOAD OUT BUFF ERR; DATA FLAG NOT 03203000 ASC 4,SET(COL: 03204000 CLOUF BSS 1 03205000 ASC 3,, CRD: 03206000 CROUF BSS 1 03207000 ASC 3,)(*)/ 03208000 E067 ASC 19,E067 LOAD PRINT BUFF ERR; DATA FLAG NO 03209000 ASC 5,T SET(COL: 03210000 CLPRF BSS 1 03211000 ASC 3,, CRD: ‰–þú 03212000 CRPRF BSS 1 03213000 ASC 3,)(*)/ 03214000 E100 ASC 19,E100 IN BUFF FULL (CMND FLAG) NOT SET( 03215000 ASC 2,*)/ 03216000 E101 ASC 19,E101 UNLOAD IN BUFF ERR; DATA FLAG NOT 03217000 ASC 5, SET (COL: 03218000 CLINF BSS 1 03219000 ASC 3,, CRD: 03220000 CRINF BSS 1 03221000 ASC 3,)(*)/ 03222000 E102 ASC 19,E102 LOAD OUT BUFF ERR;NO INT ON DATA 03223000 ASC 4,CH (COL: 03224000 ICLO BSS 1 03225000 ASC 3,, CRD: 03226000 ICRO BSS 1 03227000 ASC 3,)(*)/ 03228000 E103 ASC 19,E103 LOAD PRINT BUFF ERR;NO INT ON DAT 03229000 ASC 5,A CH (COL: 03230000 ICLP BSS 1 03231000 ASC 3,, CRD: 03232000 ICRP BSS 1 03233000 ASC 3,)(*)/ 03234000 E104 ASC 19,E104 UNLOAD IN BUFF ERR;NO INT ON DATA 03235000 ASC 4, CH(COL: 03236000 ICLI BSS 1 'þú 03237000 ASC 3,,CRD: 03238000 ICRI BSS 1 03239000 ASC 3,)(*)/ 03240000 E105 ASC 18,E105 IN BUFF FULL NOT SET;NO INT ON 03241000 ASC 6,CMND CH(*)/ 03242000 E106 ASC 15,E106 UNEXP INT ON CMND CH(*)/ 03243000 E107 ASC 20,E107 NON-BLANK CARD IN WAIT STATION(*)/ 03244000 E110 ASC 13,E110 DATA COMPARE ERR(COL: 03245000 ECL BSS 1 03246000 ASC 3,,CRD: 03247000 ECR BSS 1 03248000 ASC 2,)(*) 03249000 OCT 6412 03250000 ASC 1, 03251000 DEX BSS 11 03252000 OCT 6412 03253000 ASC 1, 03254000 DAC BSS 11 03255000 ASC 1,/ 03256000 EXP ASC 3, EXP: 03257000 ACD ASC 3, ACT: 03258000 E111 ASC 11,E111 PICK FAILURE(*)/ 03259000 H112 ASC 16,H112 CORRECT HOP COND,CLEAR DEV; 03260000 ASC 11,PRESS STOP,START,RUN/ 03261000 E113 ASC 10,E113 “ìþúINPUT CHECK(*)/ 03262000 H114 ASC 16,H114 CLEAR DEV,REMOVE NON-BL CRD 03263000 ASC 11,;PRESS STOP,START,RUN/ 03264000 H115 ASC 15,H115 OPERATOR DESIGN FOLLOWS/ 03265000 H116 ASC 4,H116 @/ 03266000 H117 ASC 8,H117 BUFFER X:/ 03267000 H120 ASC 8,H120 BUFFER Y:/ 03268000 HBUD ASC 2, 03269000 BUD ASC 18,AAAA AAAA AAAA AAAA AAAA AAAA 03270000 ASC 12,AAAA AAAA AAAA AAAA/ 03271000 H121 ASC 13,H121 ORDER NOT RECOGNIZED/ 03272000 E122 ASC 14,E122 ERR IN ORDER EXECUTION/ 03273000 H123 ASC 6,H123 STATUS 03274000 OCT 6412 03275000 ASC 4, CMND: 03276000 BUFC BSS 11 03277000 OCT 6412 03278000 ASC 4, DATA: 03279000 BUFD BSS 11 03280000 ASC 1,/ 03281000 E124 ASC 10,E124 READ CHECK(*)/ 03282000 C0 ASC 2,:0/ 03283000 C1 ASC 2,:1/ 03284000 C2 ASC 2,:2/ 03285000 C3 ASC 2,:3/ 03286000 C4 ASC ,þú2,:4/ 03287000 C5 ASC 2,:5/ 03288000 C6 ASC 2,:6/ 03289000 C7 ASC 2,:7/ 03290000 C10 ASC 2,:10/ 03291000 C11 ASC 2,:11/ 03292000 SKP 03293000 ******************************************************************** 03294000 * TEST 0 * 03295000 ******************************************************************** 03296000 * 03297000 TST0 NOP 03298000 JSB TS00.,I DO BASIC I/O FOR DATA CH 03299000 JSB MSGC,I APPEND IDENTIFICATION 03300000 DEF ZBMA0 OF DATA CH (HI PRIOR) 03301000 JMP TST0,I 03302000 * 03303000 ******************************************************************** 03304000 * TEST 1 * 03305000 ******************************************************************** 03306000 * 03307000 TST01 EQU * 03308000 NOP 03309000 LDA SCM 03310000 CIO13 OTA CMND BEGIN WITH STACK CNTRL MODE 03311000 8þú LDA INHIF 03312000 IOR CLBF 03313000 DIO39 OTA DATA 03314000 LDA USSC GET CELL LOCATION 03315000 AND SCMSK OF CMND CH (LO PRIOR) 03316000 INA 03317000 JSB ZBIO.,I DO BASIC I/O FOR CMND CH 03318000 JSB MSGC,I APPEND IDENTIFICATION 03319000 DEF ZBMA1 OF CMND CH (LO PRIOR) 03320000 JMP TST01,I 03321000 * 03322000 ******************************************************************** 03323000 * TEST 2 * 03324000 ******************************************************************** 03325000 * 03326000 TST02 EQU * 03327000 NOP 03328000 LDB B8A12 03329000 JSB SWRT,I IS BIT 8 OR 12 ON? 03330000 JMP TST02,I YES,ELIM OPER INTERV (EXIT) 03331000 JSB ISCM.,I NO,CONT,INIT DEV FOR STACK C MOD 03332000 CIO18 STC CMND,C 03333000 CIO19 CLC CMND,C 03334000 *------------------------------------------------------------------* 03335000 * SUBTEST 1 * 03336-þú6000 *------------------------------------------------------------------* 03337000 JSB MSGH,I OUTPUT H032 03338000 DEF H032 03339000 LDA ECS1 LOAD EXP CMND STAT IN A 03340000 JSB COCS.,I COMPARE CMND STATUS 03341000 * 03342000 LDA EDS1 LOAD EXP DATA STATUS IN A 03343000 JSB CODS.,I COMPARE DATA STATUS 03344000 *------------------------------------------------------------------* 03345000 * SUBTEST 2 * 03346000 *------------------------------------------------------------------* 03347000 JSB MSGH,I OUTPUT H033 03348000 DEF H033 03349000 LDA ECS2 LOAD EXP CMND STATUS IN A 03350000 JSB COCS.,I COMPARE CMND STATUS 03351000 * 03352000 LDA EDS1 LOAD EXP DATA STATUS IN A 03353000 JSB CODS.,I COMPARE DATA STATATUS 03354000 *------------------------------------------------------------------* 03355000 * SUBTEST 3 * 03356000 *------------------------------------------------------------------* 03357000 JSB MSGH,I OUTPUT H034 03358000 DEF H034 03359000 LDA ECS1 LOAD EXP CMND STATUS IN A 03360000 JSB COCS.,I COMPARE CMND STATUS \#þú 03361000 * 03362000 LDA EDS1 LOAD EXP DATA STATUS IN A 03363000 JSB CODS.,I COMPARE DATA STATUS 03364000 *------------------------------------------------------------------* 03365000 * SUBTEST 4 * 03366000 *------------------------------------------------------------------* 03367000 JSB MSGH,I OUTPUT H035 03368000 DEF H035 03369000 LDA ECS1 LOAD EXP CMND STATUS IN A 03370000 JSB COCS.,I COMPARE CMND STATUS 03371000 * 03372000 LDA EDS4 LOAD EXP DATA STATUS IN A 03373000 JSB CODS.,I COMPARE DATA STATUS 03374000 *------------------------------------------------------------------* 03375000 * SUBTEST 5 * 03376000 *------------------------------------------------------------------* 03377000 JSB MSGH,I OUTPUT H036 03378000 DEF H036 03379000 LDA ECS6 LOAD EXP CMND STATUS IN A 03380000 JSB COCS.,I COMPARE CMND STATUS 03381000 * 03382000 LDA EDS4 LOAD EXP DATA STATUS IN A 03383000 JSB CODS.,I COMPARE DATA STATUS 03384000 *------------------------------------------------------------------* 03385000 * SUBTEST 6 ^lþú * 03386000 *------------------------------------------------------------------* 03387000 JSB MSGC,I OUTPUT H037 03388000 DEF H037 03389000 * 03390000 JSB MSGH,I OUTPUT H041 03391000 DEF H041 03392000 LDA EDS2 LOAD EXP DATA STATUS IN A 03393000 JSB CODS.,I COMPARE DATA STATUS 03394000 * 03395000 LDA ECS3 LOAD EXP CMND STATUS IN A 03396000 JSB COCS.,I COMPARE CMND STATUS 03397000 *------------------------------------------------------------------* 03398000 * SUBTEST 7 * 03399000 *------------------------------------------------------------------* 03400000 JSB MSGH,I OUTPUT H043 03401000 DEF H043 03402000 * 03403000 JSB MSGH,I OUTPUT H042 03404000 DEF H042 03405000 LDA EDS2 LOAD EXP DATA STATUS IN A 03406000 JSB CODS.,I COMPARE DATA STATUS 03407000 * 03408000 LDA ECS3 LOAD EXP CMND STATUS IN A 03409000 JSB COCS.,I COMPARE CMND STATUS 03410000 *---------------------------------------------------hþú---------------* 03411000 * SUBTEST 8 * 03412000 *------------------------------------------------------------------* 03413000 JSB MSGH,I OUTPUT H043 03414000 DEF H043 03415000 * 03416000 JSB ISOM.,I INIT DEV FOR STACK OVERFL MODE 03417000 CIO20 STC CMND,C 03418000 CIO21 CLC CMND,C 03419000 JSB MSGC,I OUTPUT H040 03420000 DEF H040 03421000 * 03422000 JSB MSGH,I OUTPUT H041 03423000 DEF H041 03424000 LDA EDS4 LOAD EXP DATA ST IN A 03425000 JSB CODS.,I COMPARE DATA ST 03426000 * 03427000 LDA ECS5 LOAD EXP CMND ST IN A 03428000 JSB COCS.,I COMPARE CMND ST 03429000 *------------------------------------------------------------------* 03430000 * SUBTEST 9 * 03431000 *------------------------------------------------------------------* 03432000 JSB MSGH,I OUTPUT H042 03433000 DEF H042 03434000 LDA EDS2 LOAD EXP DATA ST IN A 03435000 JSB CODS.,I COMPARE CMND STATUS B’þú 03436000 * 03437000 LDA ECS4 LOAD EXP CMND ST IN A 03438000 JSB COCS.,I COMPARE CMND ST 03439000 * 03440000 JSB MSGH,I OUTPUT H043 03441000 DEF H043 03442000 * 03443000 LDA EDS4 LOAD EXP DATA ST IN A 03444000 JSB CODS.,I COMPARE DATA ST 03445000 * 03446000 LDA ECS5 LOAD EXP CMND ST IN A 03447000 JSB COCS.,I COMPARE CMND ST 03448000 * 03449000 JMP TST02,I EXIT FROM TEST 2 03450000 SKP 03451000 ******************************************************************** 03452000 * TEST 3 * 03453000 ******************************************************************** 03454000 * 03455000 TST03 EQU * 03456000 NOP 03457000 LDB B8A12 IS BIT 8 OR 12 ON? 03458000 JSB SWRT,I 03459000 JMP TST03,I YES,ELIM OPER INTERV(EXIT) 03460000 JSB WSCH.,I ARE INITIAL CONDo"þúITIONS OK? 03461000 JMP ET03 NO 03462000 *------------------------------------------------------------------* 03463000 * SUBTEST 1 * 03464000 *------------------------------------------------------------------* 03465000 JSB ISOM.,I YES,INIT DEV FOR STACK OVERFL M 03466000 * 03467000 JSB MSGH,I OUTPUT H052 03468000 DEF H052 03469000 JSB MSGC,I OUTPUT H040 03470000 DEF H040 03471000 LDA ECS5 03472000 JSB COCS.,I 03473000 LDA EDS4 03474000 JSB CODS.,I 03475000 LDA M5 03476000 STA CACO 03477000 NE3C CLA 03478000 STA MOI DIRECT DODO TO WAIT-FOR-FLAG M 03479000 JSB RA0.,I 03480000 JMP EC03 03481000 LDA ECS10 03482000 JSB COCS.,I 03483000 * 03484000 LDA EDS4 03485000 JSB CODS.,I 7Wþú 03486000 * 03487000 ISZ CACO WAS IT 5TH CARD? 03488000 JMP NE3C NO 03489000 JSB FI0.,I YES 03490000 JMP EC03 03491000 * 03492000 LDA ECS5 03493000 JSB COCS.,I 03494000 LDA EDS4 03495000 JSB CODS.,I 03496000 * 03497000 JSB MSGH,I OUTPUT H041 03498000 DEF H041 03499000 * 03500000 LDA ECS5 03501000 JSB COCS.,I 03502000 LDA EDS4 03503000 JSB CODS.,I 03504000 LDA M5 03505000 STA CACO 03506000 NE3D JSB RB0.,I 03507000 JMP EC03 03508000 * 03509000 LDA ECS12 03510000 JSB COCS.,I `vþú 03511000 * 03512000 LDA EDS4 03513000 JSB CODS.,I 03514000 * 03515000 ISZ CACO WAS IT 5TH CARD? 03516000 JMP NE3D NO 03517000 JSB FI0.,I YES 03518000 JMP EC03 03519000 * 03520000 LDA ECS5 03521000 JSB COCS.,I 03522000 LDA EDS4 03523000 JSB CODS.,I 03524000 *------------------------------------------------------------------* 03525000 * SUBTEST 2 * 03526000 *------------------------------------------------------------------* 03527000 * 03528000 EC03 JSB ISCM.,I INIT DEV FOR STACK CNTRL MODE 03529000 JSB MSGH,I OUTPUT H053 03530000 DEF H053 03531000 JSB MSGC,I OUTPUT H037 03532000 DEF H037 03533000 * 03534000 LDA ECS6 03535000 JSB COí$þúCS.,I 03536000 * 03537000 LDA EDS4 03538000 JSB CODS.,I 03539000 * 03540000 LDA M5 03541000 STA CACO 03542000 NE3A JSB RA1.,I 03543000 JMP ET03 03544000 LDA ECS7 03545000 JSB COCS.,I 03546000 * 03547000 LDA EDS4 03548000 JSB CODS.,I 03549000 * 03550000 ISZ CACO WAS IT 5TH CARD? 03551000 JMP NE3A NO 03552000 JSB FI1.,I YES 03553000 JMP ET03 03554000 * 03555000 LDA ECS6 03556000 JSB COCS.,I 03557000 * 03558000 LDA EDS4 03559000 JSB CODS.,I 03560000 Ö÷þú SKP 03561000 *------------------------------------------------------------------* 03562000 * SUBTEST 3 * 03563000 *------------------------------------------------------------------* 03564000 * 03565000 LDA ECS6 03566000 JSB COCS.,I 03567000 * 03568000 LDA EDS4 03569000 JSB CODS.,I 03570000 * 03571000 LDA M5 03572000 STA CACO 03573000 NE3B JSB RB2.,I 03574000 JMP ET03 03575000 LDA ECS8 03576000 JSB COCS.,I 03577000 * 03578000 LDA EDS4 03579000 JSB CODS.,I 03580000 * 03581000 ISZ CACO WAS IT 5TH CARD? 03582000 JMP NE3B NO 03583000 JSB FI2.,I YES 03584000 JMP ET03 035850™Dþú00 * 03586000 LDA ECS9 03587000 JSB COCS.,I 03588000 * 03589000 LDA EDS4 03590000 JSB CODS.,I 03591000 * 03592000 JSB MSGH,I OUTPUT H055 03593000 DEF H055 03594000 * 03595000 LDA ECS9 03596000 JSB COCS.,I 03597000 * 03598000 LDA EDS4 03599000 JSB CODS.,I 03600000 * 03601000 JMP TST03,I 03602000 * 03603000 ET03 JSB ERMS,I OUTPUT E054 03604000 DEF E054 03605000 JSB STRE.,I CHECK IF STATUS REPORT REQUIRED 03606000 JMP TST03,I 03607000 SKP 03608000 ******************************************************************** 03609000 * TEST 4 * þöþú 03610000 ******************************************************************** 03611000 * 03612000 TST04 EQU * 03613000 NOP 03614000 JSB CSM.,I CHECK STACK CNTRL MODE 03615000 CLA DETERMINE WAIT -FOR-FLAG METHOD 03616000 STA MOI FOR THIS TEST 03617000 *------------------------------------------------------------------* 03618000 * SUBTEST 1 - PUNCH * 03619000 *------------------------------------------------------------------* 03620000 LDB B6 03621000 JSB SWRT,I IS PU&PR TO BE SUPPRESSED? 03622000 JMP RS04 ON-YES,GOTO READ SECTION 03623000 * 03624000 JSB PUX.,I OFF-NO,PERFORM"PUX",ANY SER ERR? 03625000 JMP ET04 YES 03626000 * 03627000 CLA NO 03628000 STA BLI INDIC THAT CRDS ARE TO BE BLANK 03629000 LDA HPA. GET HPA POINTER 03630000 STA IP04 03631000 * 03632000 JSB RB2.,I FEED&READ ONE BL CARD,OK? 03633000 JMP ET04 NO 03634000 * õîþú 03635000 PY04 JSB PUY.,I YES,PERFORM"PUY",ANY SER ERR? 03636000 JMP ET04 YES 03637000 * 03638000 CLA NO,PREPARE PUBU FROM HPA 03639000 STA SHIFT 03640000 LDA ZERO 03641000 LDB D80 03642000 JSB AR2B.,I 03643000 IP04 NOP 03644000 DEF PUBU 03645000 DEF SHIFT 03646000 * 03647000 LDA WSIND IS LAST CRD IN WAIT STATION? 03648000 CPA D12 03649000 JMP LP04 YES 03650000 JSB QB2.,I NO;PUNCH&FEED,OK? 03651000 JMP ET04 NO 03652000 * 03653000 ISZ IP04 YES,INCREMENT HPA POINTER 03654000 JMP PY04 GOTO PROCESS NEXT CARD 03655000 * 03656000 LP04 JSB PI2.,I PUNCH&INHIF,OK? 03657000 JMP ET04 NO 03658000 FP04 EQU * 03659000 SKP µ:þú 03660000 *------------------------------------------------------------------* 03661000 * SUBTEST 2 - READ * 03662000 *------------------------------------------------------------------* 03663000 RS04 LDB B5 03664000 JSB SWRT,I IS READ TO BE SUPPRESSED? 03665000 JMP TST04,I ON-YES,EXIT FROM TEST 03666000 * 03667000 JSB RDX.,I OFF-NO,PERFORM"RDX",ANY SER ERR? 03668000 JMP ET04 YES 03669000 * 03670000 CCA 03671000 STA BLI IND CRDS ARE NOT TO BE BLANK 03672000 LDA HPA. 03673000 STA IR04 GET HPA POINTER 03674000 * 03675000 RY04 CLA LOAD PUBU WITH EXP DATA 03676000 STA SHIFT 03677000 LDA ZERO 03678000 LDB D80 03679000 JSB AR2B.,I 03680000 IR04 NOP 03681000 DEF PUBU 03682000 DEF SHIFT 03683000 * 03684000 JSB RA1.,I READ ONE CARD,OK? òÙþú 03685000 JMP ET04 NO 03686000 * 03687000 JSB RDY.,I YES,PERF"RDY",ANY SER ERR? 03688000 JMP ET04 YES 03689000 * 03690000 LDA WSIND NO 03691000 CPA D12 IS LAST CARD IN WAIT STATION? 03692000 JMP LR04 YES 03693000 * 03694000 ISZ IR04 NO,INCREMENT HPA POINTER 03695000 JMP RY04 GOTO PROCESS NEXT CARD 03696000 * 03697000 LR04 JSB FI1.,I REMOVE LAST CARD FROM W S,OK? 03698000 JMP ET04 NO 03699000 JMP TST04,I YES,EXIT FROM TEST 03700000 * 03701000 ET04 JSB ERMS,I OUTPUT E054 03702000 DEF E054 03703000 JSB STRE.,I CHECK IF STATUS REPORT REQUIRED 03704000 JMP TST04,I ERROR EXIT FROM TEST 03705000 SKP 03706000 ******************************************************************** 03707000 * TEST 5 * 03708000 ******************************************************************** 03709000 * …Dþú 03710000 TST05 EQU * 03711000 NOP 03712000 JSB CSM.,I CHECK STACK CNTRL MODE 03713000 CCA DETERMINE INTERRUPT METHOD 03714000 STA MOI FOR THIS TEST 03715000 *------------------------------------------------------------------* 03716000 * SUBTEST 1 - PUNCH AND PRINT * 03717000 *------------------------------------------------------------------* 03718000 LDB B6 03719000 JSB SWRT,I IS PU&PR TO BE SUPPRESSED? 03720000 JMP RS05 ON-YES,GOTO READ SECTION 03721000 * 03722000 JSB PUX.,I OFF-NO,PERFORM"PUX",ANY SER ERR? 03723000 JMP ET05 YES 03724000 * 03725000 CLA NO 03726000 STA BLI INDIC THAT CRDS ARE TO BE BLANK 03727000 LDA HPA. GET HPA POINTER 03728000 STA IP05 03729000 * 03730000 JSB RB2.,I FEED&READ ONE BL CARD,OK? 03731000 JMP ET05 NO 03732000 * 03733000 PY05 JSB PUY.,I YES,PERFORM"PUY",ANY SER ERR? 03734000 JMP ET05 YES ÝMþú 03735000 * 03736000 CLA NO,PREPARE PUBU FROM HPA 03737000 STA SHIFT 03738000 LDA ZERO 03739000 LDB D80 03740000 JSB AR2B.,I 03741000 IP05 NOP 03742000 DEF PUBU 03743000 DEF SHIFT 03744000 * 03745000 LDA WSIND IS LAST CRD IN WAIT STATION? 03746000 CPA D12 03747000 JMP LP05 YES 03748000 JSB QWB2.,I NO;PUNCH,PRINT&FEED,OK? 03749000 JMP ET05 NO 03750000 * 03751000 ISZ IP05 YES,INCREMENT HPA POINTER 03752000 JMP PY05 GOTO PROCESS NEXT CARD 03753000 * 03754000 LP05 JSB PWI2.,I PUNCH,PRINT&INHIF,OK? 03755000 JMP ET05 NO 03756000 FP05 EQU * 03757000 SKP 03758000 *------------------------------------------------------------------* 03759000 * SUBTEST 2 - ’üþúREAD * 03760000 *------------------------------------------------------------------* 03761000 RS05 LDB B5 03762000 JSB SWRT,I IS READ TO BE SUPPRESSED? 03763000 JMP TST05,I ON-YES,EXIT FROM TEST 03764000 * 03765000 JSB RDX.,I OFF-NO,PERFORM"RDX",ANY SER ERR? 03766000 JMP ET05 YES 03767000 * 03768000 CCA 03769000 STA BLI IND CRDS ARE NOT TO BE BLANK 03770000 LDA HPA. GET HPA POINTER 03771000 STA IR05 03772000 * 03773000 RY05 CLA LOAD PUBU WITH EXP DATA 03774000 STA SHIFT 03775000 LDA ZERO 03776000 LDB D80 03777000 JSB AR2B.,I 03778000 IR05 NOP 03779000 DEF PUBU 03780000 DEF SHIFT 03781000 * 03782000 JSB RA1.,I READ ONE CARD,OK? 03783000 JMP ET05 NO 03784000 * D0þú 03785000 JSB RDY.,I YES,PERF"RDY",ANY SER ERR? 03786000 JMP ET05 YES 03787000 * 03788000 LDA WSIND NO 03789000 CPA D12 IS LAST CARD IN WAIT STATION? 03790000 JMP LR05 YES 03791000 * 03792000 ISZ IR05 NO,INCREMENT HPA POINTER 03793000 JMP RY05 GOTO PROCESS NEXT CARD 03794000 * 03795000 LR05 JSB FI1.,I REMOVE LAST CARD FROM W S,OK? 03796000 JMP ET05 NO 03797000 JMP TST05,I YES,EXIT FROM TEST 03798000 * 03799000 ET05 JSB ERMS,I OUTPUT E054 03800000 DEF E054 03801000 JSB STRE.,I CHECK IF STATUS REPORT REQUIRED 03802000 JMP TST05,I ERROR EXIT FROM TEST 03803000 SKP 03804000 ******************************************************************** 03805000 * TEST 6 * 03806000 ******************************************************************** 03807000 * 03808000 TST06 EQU * 03809000 »þúNOP 03810000 JSB CSM.,I CHECK STACK CNTRL MODE 03811000 CLA DETERMINE WAIT -FOR-FLAG METHOD 03812000 STA MOI FOR THIS TEST 03813000 *------------------------------------------------------------------* 03814000 * SUBTEST 1 - PUNCH AND PRINT * 03815000 *------------------------------------------------------------------* 03816000 LDB B6 03817000 JSB SWRT,I IS PU&PR TO BE SUPPRESSED? 03818000 JMP RS06 ON-YES,GOTO READ SECTION 03819000 * 03820000 JSB PUX.,I OFF-NO,PERFORM"PUX",ANY SER ERR? 03821000 JMP ET06 YES 03822000 * 03823000 CLA NO 03824000 STA ROTA SET ROTATION FACTOR TO 0 03825000 STA BLI INDIC THAT CRDS ARE TO BE BLANK 03826000 * 03827000 JSB RB2.,I FEED&READ ONE BL CARD,OK? 03828000 JMP ET06 NO 03829000 * 03830000 PY06 JSB PUY.,I YES,PERFORM"PUY",ANY SER ERR? 03831000 JMP ET06 YES 03832000 * 03833000 LDA ROTA NO,PREPARE PUBU FROM HPA 03834000«åþú STA SHIFT 03835000 LDA AL63 03836000 LDB D80 03837000 JSB AR2B.,I 03838000 DEF HPA 03839000 DEF PUBU 03840000 DEF SHIFT 03841000 * 03842000 LDA WSIND IS LAST CRD IN WAIT STATION? 03843000 CPA D12 03844000 JMP LP06 YES 03845000 JSB QWB2.,I NO;PUNCH,PRINT&FEED,OK? 03846000 JMP ET06 NO 03847000 * 03848000 LDA ROTA YES 03849000 CPA D3 IS ROT FACTOR=3? 03850000 JMP *+3 YES 03851000 ISZ ROTA NO,INCREMENT ROT FACTOR 03852000 JMP PY06 GOTO PROCESS NEXT CARD 03853000 CLA RESET ROT FACTOR TO 0 03854000 STA ROTA 03855000 JMP PY06 GOTO PROCESS NEXT CARD 03856000 * 03857000 LP06 JSB PWI2.,I PUNCH,PRINT&INHIF,OK? 03858000 JMP ET06 NO b‹þú03859000 FP06 EQU * 03860000 SKP 03861000 *------------------------------------------------------------------* 03862000 * SUBTEST 2 - READ * 03863000 *------------------------------------------------------------------* 03864000 RS06 LDB B5 03865000 JSB SWRT,I IS READ TO BE SUPPRESSED? 03866000 JMP TST06,I ON-YES,EXIT FROM TEST 03867000 * 03868000 JSB RDX.,I OFF-NO,PERFORM"RDX",ANY SER ERR? 03869000 JMP ET06 YES 03870000 * 03871000 CLA NO 03872000 STA ROTA SET ROTATION FACTOR TO 0 03873000 CCA 03874000 STA BLI IND CRDS ARE NOT TO BE BLANK 03875000 * 03876000 RY06 LDA ROTA LOAD PUBU WITH EXP DATA 03877000 STA SHIFT 03878000 LDA AL63 03879000 LDB D80 03880000 JSB AR2B.,I 03881000 DEF HPA 03882000 DEF PUBU 03883000 DEF SHIFT 6Œþú 03884000 * 03885000 JSB RA1.,I READ ONE CARD,OK? 03886000 JMP ET06 NO 03887000 * 03888000 JSB RDY.,I YES,PERF"RDY",ANY SER ERR? 03889000 JMP ET06 YES 03890000 * 03891000 LDA WSIND NO 03892000 CPA D12 IS LAST CARD IN WAIT STATION? 03893000 JMP LR06 YES 03894000 * 03895000 LDA ROTA NO 03896000 CPA D3 IS ROT FACTOR=3? 03897000 JMP *+3 YES 03898000 ISZ ROTA NO,INCREMENT ROT FACTOR 03899000 JMP RY06 GOTO PROCESS NEXT CARD 03900000 CLA RESET ROT FACTOR TO 0 03901000 STA ROTA 03902000 JMP RY06 03903000 * 03904000 LR06 JSB FI1.,I REMOVE LAST CARD FROM W S,OK? 03905000 JMP ET06 NO 03906000 JMP TST06,I YES,EXIT FROM TEST 03907000 * 03908000 ET06 JSB ERMS,I OUTPUT E054 ˆþú 03909000 DEF E054 03910000 JSB STRE.,I CHECK IF STATUS REPORT REQUIRED 03911000 JMP TST06,I ERROR EXIT FROM TEST 03912000 SKP 03913000 ******************************************************************** 03914000 * TEST 7 * 03915000 ******************************************************************** 03916000 * 03917000 TST07 EQU * 03918000 NOP 03919000 JSB CSM.,I CHECK STACK CNTRL MODE 03920000 CCA DETERMINE INTERRUPT METHOD 03921000 STA MOI FOR THIS TEST 03922000 *------------------------------------------------------------------* 03923000 * SUBTEST 1 - PRINT * 03924000 *------------------------------------------------------------------* 03925000 LDB B6 03926000 JSB SWRT,I IS PU&PR TO BE SUPPRESSED? 03927000 JMP RS07 ON-YES,GOTO READ SECTION 03928000 * 03929000 JSB PUX.,I OFF-NO,PERFORM"PUX",ANY SER ERR? 03930000 JMP ET07 YES 03931000 * 03932000 CLA NO 03933000 STA ROTA SET ROTATION FACTOR TO 0 Pþú 03934000 STA BLI INDIC THAT CRDS ARE TO BE BLANK 03935000 * 03936000 JSB RB2.,I FEED&READ ONE BL CARD,OK? 03937000 JMP ET07 NO 03938000 * 03939000 PY07 JSB PUY.,I YES,PERFORM"PUY",ANY SER ERR? 03940000 JMP ET07 YES 03941000 * 03942000 LDA ROTA NO,PREPARE PUBU FROM HPA 03943000 STA SHIFT 03944000 LDA AL63 03945000 LDB D80 03946000 JSB AR2B.,I 03947000 DEF HPA 03948000 DEF PUBU 03949000 DEF SHIFT 03950000 * 03951000 LDA WSIND IS LAST CRD IN WAIT STATION? 03952000 CPA D12 03953000 JMP LP07 YES 03954000 JSB RWB2.,I NO;PRINT&FEED,OK? 03955000 JMP ET07 NO 03956000 * 03957000 LDA ROTA YES 03958000 CPA D3 IS ROT FACTOR=3? êþú 03959000 JMP *+3 YES 03960000 ISZ ROTA NO,INCREMENT ROT FACTOR 03961000 JMP PY07 GOTO PROCESS NEXT CARD 03962000 CLA RESET ROT FACTOR TO 0 03963000 STA ROTA 03964000 JMP PY07 GOTO PROCESS NEXT CARD 03965000 * 03966000 LP07 JSB WI2.,I PRINT&INHIF,OK? 03967000 JMP ET07 NO 03968000 FP07 EQU * 03969000 SKP 03970000 *------------------------------------------------------------------* 03971000 * SUBTEST 2 - READ * 03972000 *------------------------------------------------------------------* 03973000 RS07 LDB B5 03974000 JSB SWRT,I IS READ TO BE SUPPRESSED? 03975000 JMP TST07,I ON-YES,EXIT FROM TEST 03976000 * 03977000 JSB RDX.,I OFF-NO,PERFORM"RDX",ANY SER ERR? 03978000 JMP ET07 YES 03979000 * 03980000 CLA NO 03981000 STA ROTA SET ROTATION FACTOR TO 0 03982000 CCA 03983000 STA BLI CRDS ARE TO p…þúBE BLANK BUT 03984000 * DONT GIVE ERR MSG ABOUT IT 03985000 RY07 LDA ROTA LOAD PUBU WITH EXP DATA 03986000 STA SHIFT 03987000 LDA ZERO 03988000 LDB D80 03989000 JSB AR2B.,I 03990000 DEF ZERO 03991000 DEF PUBU 03992000 DEF SHIFT 03993000 * 03994000 JSB RA1.,I READ ONE CARD,OK? 03995000 JMP ET07 NO 03996000 * 03997000 JSB RDY.,I YES,PERF"RDY",ANY SER ERR? 03998000 JMP ET07 YES 03999000 * 04000000 LDA WSIND NO 04001000 CPA D12 IS LAST CARD IN WAIT STATION? 04002000 JMP LR07 YES 04003000 * 04004000 JMP RY07 NO,GOTO PROCESS NEXT CARD 04005000 * 04006000 LR07 JSB FI1.,I REMOVE LAST CARD FROM W S,OK? 04007000 JMP ET07 NO 04008000 JMP TST07,I YES,Ñ™þúEXIT FROM TEST 04009000 * 04010000 ET07 JSB ERMS,I OUTPUT E054 04011000 DEF E054 04012000 JSB STRE.,I CHECK IF STATUS REPORT REQUIRED 04013000 JMP TST07,I ERROR EXIT FROM TEST 04014000 SKP 04015000 ******************************************************************** 04016000 * TEST 8 * 04017000 ******************************************************************** 04018000 * 04019000 TST08 EQU * 04020000 NOP 04021000 JSB CSM.,I CHECK STACK CNTRL MODE 04022000 CLA DETERMINE WAIT -FOR-FLAG METHOD 04023000 STA MOI FOR THIS TEST 04024000 *------------------------------------------------------------------* 04025000 * SUBTEST 1 - PUNCH AND PRINT SEPARATE DATA * 04026000 *------------------------------------------------------------------* 04027000 LDB B6 04028000 JSB SWRT,I IS PU&PR TO BE SUPPRESSED? 04029000 JMP RS08 ON-YES,GOTO READ SECTION 04030000 * 04031000 JSB PUX.,I OFF-NO,PERFORM"PUX",ANY SER ERR? 04032000 JMP ET08 YES 04033000 * Ó‡þú 04034000 CLA NO 04035000 STA ROTA SET ROTATION FACTOR TO 0 04036000 STA BLI INDIC THAT CRDS ARE TO BE BLANK 04037000 * 04038000 JSB RB2.,I FEED&READ ONE BL CARD,OK? 04039000 JMP ET08 NO 04040000 * 04041000 PY08 JSB PUY.,I YES,PERFORM"PUY",ANY SER ERR? 04042000 JMP ET08 YES 04043000 * 04044000 CLA NO,PREPARE PUBU FROM FULL 04045000 STA SHIFT 04046000 LDA ZERO 04047000 LDB D80 04048000 JSB AR2B.,I 04049000 DEF FULL 04050000 DEF PUBU 04051000 DEF SHIFT 04052000 * 04053000 LDA ROTA 04054000 STA SHIFT 04055000 LDA AL63 PREPARE PRBU FROM HPA 04056000 LDB D80 04057000 JSB AR2B.,I 04058000 DE’pþúF HPA 04059000 DEF PRBU 04060000 DEF SHIFT 04061000 * 04062000 LDA WSIND IS LAST CRD IN WAIT STATION? 04063000 CPA D12 04064000 JMP LP08 YES 04065000 JSB QSB2.,I NO;PUNCH,PRINT SEP&FEED,OK? 04066000 JMP ET08 NO 04067000 * 04068000 LDA ROTA YES 04069000 CPA D3 IS ROT FACTOR=3? 04070000 JMP *+3 YES 04071000 ISZ ROTA NO,INCREMENT ROT FACTOR 04072000 JMP PY08 GOTO PROCESS NEXT CARD 04073000 CLA RESET ROT FACTOR TO 0 04074000 STA ROTA 04075000 JMP PY08 GOTO PROCESS NEXT CARD 04076000 * 04077000 LP08 JSB PSI2.,I PUNCH,PRINT SEP&INHIF,OK? 04078000 JMP ET08 NO 04079000 FP08 EQU * 04080000 * 04081000 *------------------------------------------------------------------* 04082000 * SUBTEST 2 - READ * 04083000 "ùþú*------------------------------------------------------------------* 04084000 RS08 LDB B5 04085000 JSB SWRT,I IS READ TO BE SUPPRESSED? 04086000 JMP TST08,I ON-YES,EXIT FROM TEST 04087000 * 04088000 JSB RDX.,I OFF-NO,PERFORM"RDX",ANY SER ERR? 04089000 JMP ET08 YES 04090000 * 04091000 CCA 04092000 STA BLI IND CRDS ARE NOT TO BE BLANK 04093000 * 04094000 RY08 CLA LOAD PUBU WITH EXP DATA 04095000 STA SHIFT 04096000 LDA ZERO 04097000 LDB D80 04098000 JSB AR2B.,I 04099000 DEF FULL 04100000 DEF PUBU 04101000 DEF SHIFT 04102000 * 04103000 JSB RA1.,I READ ONE CARD,OK? 04104000 JMP ET08 NO 04105000 * 04106000 JSB RDY.,I YES,PERF"RDY",ANY SER ERR? 04107000 JMP ET08 YES 04…çþú108000 * 04109000 LDA WSIND NO 04110000 CPA D12 IS LAST CARD IN WAIT STATION? 04111000 JMP LR08 YES 04112000 * 04113000 JMP RY08 NO,GOTO PROCESS NEXT CARD 04114000 * 04115000 LR08 JSB FI1.,I REMOVE LAST CARD FROM W S,OK? 04116000 JMP ET08 NO 04117000 JMP TST08,I YES,EXIT FROM TEST 04118000 * 04119000 ET08 JSB ERMS,I OUTPUT E054 04120000 DEF E054 04121000 JSB STRE.,I CHECK IF STATUS REPORT REQUIRED 04122000 JMP TST08,I ERROR EXIT FROM TEST 04123000 SKP 04124000 ******************************************************************** 04125000 * TEST 9 * 04126000 ******************************************************************** 04127000 * 04128000 TST09 EQU * 04129000 NOP 04130000 JSB CSM.,I CHECK STACK CNTRL MODE 04131000 CCA DETERMINE INTERRUPT METHOD 04132000 STA MOI FOR THIS TEST ‰þú 04133000 *------------------------------------------------------------------* 04134000 * SUBTEST 1 - PUNCH AND ATTEMPT TO PRINT * 04135000 *------------------------------------------------------------------* 04136000 LDB B6 04137000 JSB SWRT,I IS PU&PR TO BE SUPPRESSED? 04138000 JMP RS09 ON-YES,GOTO READ SECTION 04139000 * 04140000 JSB PUX.,I OFF-NO,PERFORM"PUX",ANY SER ERR? 04141000 JMP ET09 YES 04142000 * 04143000 CLA NO 04144000 STA BLI INDIC THAT CRDS ARE TO BE BLANK 04145000 LDA ALMF. GET ALMF POINTER 04146000 STA IP09 04147000 * 04148000 JSB RB2.,I FEED&READ ONE BL CARD,OK? 04149000 JMP ET09 NO 04150000 * 04151000 PY09 JSB PUY.,I YES,PERFORM"PUY",ANY SER ERR? 04152000 JMP ET09 YES 04153000 * 04154000 CLA NO,PREPARE PUBU FROM ALMF 04155000 STA SHIFT 04156000 LDA ZERO 04157000 LDB D80 0aþú 04158000 JSB AR2B.,I 04159000 IP09 NOP 04160000 DEF PUBU 04161000 DEF SHIFT 04162000 * 04163000 LDA WSIND IS LAST CRD IN WAIT STATION? 04164000 CPA D12 04165000 JMP LP09 YES 04166000 JSB QWB2.,I NO;PUNCH,PRINT&FEED,OK? 04167000 JMP ET09 NO 04168000 * 04169000 ISZ IP09 YES,INCREMENT ALMF POINTER 04170000 JMP PY09 GOTO PROCESS NEXT CARD 04171000 * 04172000 LP09 JSB PWI2.,I PUNCH,PRINT&INHIF,OK? 04173000 JMP ET09 NO 04174000 FP09 EQU * 04175000 SKP 04176000 *------------------------------------------------------------------* 04177000 * SUBTEST 2 - READ * 04178000 *------------------------------------------------------------------* 04179000 RS09 LDB B5 04180000 JSB SWRT,I IS READ TO BE SUPPRESSED? 04181000 JMP TST09,I ON-YES,EXIT FROM TEST 04182000 * uáþú 04183000 JSB RDX.,I OFF-NO,PERFORM"RDX",ANY SER ERR? 04184000 JMP ET09 YES 04185000 * 04186000 CCA 04187000 STA BLI IND CRDS ARE NOT TO BE BLANK 04188000 LDA ALMF. GET ALMF POINTER 04189000 STA IR09 04190000 * 04191000 RY09 CLA LOAD PUBU WITH EXP DATA 04192000 STA SHIFT 04193000 LDA ZERO 04194000 LDB D80 04195000 JSB AR2B.,I 04196000 IR09 NOP 04197000 DEF PUBU 04198000 DEF SHIFT 04199000 * 04200000 JSB RA1.,I READ ONE CARD,OK? 04201000 JMP ET09 NO 04202000 * 04203000 JSB RDY.,I YES,PERF"RDY",ANY SER ERR? 04204000 JMP ET09 YES 04205000 * 04206000 LDA WSIND NO 04207000 CPA D12 IS LAST CARD IN WAIT SkÅþúTATION? 04208000 JMP LR09 YES 04209000 * 04210000 ISZ IR09 NO,INCREMENT ALMF POINTER 04211000 JMP RY09 GOTO PROCESS NEXT CARD 04212000 * 04213000 LR09 JSB FI1.,I REMOVE LAST CARD FROM W S,OK? 04214000 JMP ET09 NO 04215000 JMP TST09,I YES,EXIT FROM TEST 04216000 * 04217000 ET09 JSB ERMS,I OUTPUT E054 04218000 DEF E054 04219000 JSB STRE.,I CHECK IF STATUS REPORT REQUIRED 04220000 JMP TST09,I ERROR EXIT FROM TEST 04221000 SKP 04222000 ******************************************************************** 04223000 * TEST 10 * 04224000 ******************************************************************** 04225000 * 04226000 TST10 EQU * 04227000 NOP 04228000 JSB CSM.,I CHECK STACK CNTRL MODE 04229000 CLA DETERMINE WAIT -FOR-FLAG METHOD 04230000 STA MOI FOR THIS TEST 04231000 *------------------------------------------------------------------* 04232000 * SUBTEST 1 - PUNCH AND ATtNþúTEMPT TO PRINT SEPARATE DATA * 04233000 *------------------------------------------------------------------* 04234000 LDB B6 04235000 JSB SWRT,I IS PU&PR TO BE SUPPRESSED? 04236000 JMP RS10 ON-YES,GOTO READ SECTION 04237000 * 04238000 JSB PUX.,I OFF-NO,PERFORM"PUX",ANY SER ERR? 04239000 JMP ET10 YES 04240000 * 04241000 CLA NO 04242000 STA ROTA SET ROTATION FACTOR TO 0 04243000 STA BLI INDIC THAT CRDS ARE TO BE BLANK 04244000 * 04245000 JSB RB2.,I FEED&READ ONE BL CARD,OK? 04246000 JMP ET10 NO 04247000 * 04248000 PY10 JSB PUY.,I YES,PERFORM"PUY",ANY SER ERR? 04249000 JMP ET10 YES 04250000 * 04251000 LDA ROTA NO,PREPARE PUBU FROM WCPA 04252000 STA SHIFT 04253000 LDA AL39 04254000 LDB D80 04255000 JSB AR2B.,I 04256000 DEF WCPA 04257000 DEF PUBU (íþú 04258000 DEF SHIFT 04259000 * 04260000 LDA D19 PREPARE PRBU FROM SCHB 04261000 LDB D80 04262000 JSB AR2B.,I 04263000 DEF SCHB 04264000 DEF PRBU 04265000 DEF SHIFT 04266000 * 04267000 LDA WSIND IS LAST CRD IN WAIT STATION? 04268000 CPA D12 04269000 JMP LP10 YES 04270000 JSB QSB2.,I NO;PUNCH,ATMPT PR SEP&FEED,OK? 04271000 JMP ET10 NO 04272000 * 04273000 JMP PY10 YES,GOTO PROCESS NEXT CARD 04274000 * 04275000 LP10 JSB PSI2.,I PUNCH,ATMPT PR SEP&INHIF,OK? 04276000 JMP ET10 NO 04277000 FP10 EQU * 04278000 SKP 04279000 *------------------------------------------------------------------* 04280000 * SUBTEST 2 - READ * 04281000 *------------------------------------------------------------------* 04282000 RS10 LDB B5 o@þú 04283000 JSB SWRT,I IS READ TO BE SUPPRESSED? 04284000 JMP TST10,I ON-YES,EXIT FROM TEST 04285000 * 04286000 JSB RDX.,I OFF-NO,PERFORM"RDX",ANY SER ERR? 04287000 JMP ET10 YES 04288000 * 04289000 CLA NO 04290000 STA ROTA SET ROTATION FACTOR TO 0 04291000 CCA 04292000 STA BLI IND CRDS ARE NOT TO BE BLANK 04293000 * 04294000 RY10 LDA ROTA LOAD PUBU WITH EXP DATA 04295000 STA SHIFT 04296000 LDA AL39 04297000 LDB D80 04298000 JSB AR2B.,I 04299000 DEF WCPA 04300000 DEF PUBU 04301000 DEF SHIFT 04302000 * 04303000 JSB RA1.,I READ ONE CARD,OK? 04304000 JMP ET10 NO 04305000 * 04306000 JSB RDY.,I YES,PERF"RDY",ANY SER ERR? 04307000 JMP +ÄþúET10 YES 04308000 * 04309000 LDA WSIND NO 04310000 CPA D12 IS LAST CARD IN WAIT STATION? 04311000 JMP LR10 YES 04312000 * 04313000 JMP RY10 NO,GOTO PROCESS NEXT CARD 04314000 * 04315000 LR10 JSB FI1.,I REMOVE LAST CARD FROM W S,OK? 04316000 JMP ET10 NO 04317000 JMP TST10,I YES,EXIT FROM TEST 04318000 * 04319000 ET10 JSB ERMS,I OUTPUT E054 04320000 DEF E054 04321000 JSB STRE.,I CHECK IF STATUS REPORT REQUIRED 04322000 JMP TST10,I ERROR EXIT FROM TEST 04323000 SKP 04324000 ORG 12000B 04325000 ******************************************************************** 04326000 * TEST 11 * 04327000 ******************************************************************** 04328000 * 04329000 TST11 EQU * 04330000 NOP 04331000 JSB CSM.,I CHECK STACK CNTRL MODE 04332000 “…þú CCA DETERMINE INTERRUPT METHOD 04333000 STA MOI FOR THIS TEST 04334000 *------------------------------------------------------------------* 04335000 * SUBTEST 1 - PUNCH AND ATTEMPT TO PRINT * 04336000 *------------------------------------------------------------------* 04337000 LDB B6 04338000 JSB SWRT,I IS PU&PR TO BE SUPPRESSED? 04339000 JMP RS11 ON-YES,GOTO READ SECTION 04340000 * 04341000 JSB PUX.,I OFF-NO,PERFORM"PUX",ANY SER ERR? 04342000 JMP ET11 YES 04343000 * 04344000 CLA NO 04345000 STA ROTA SET ROTATION FACTOR TO 0 04346000 STA BLI INDIC THAT CRDS ARE TO BE BLANK 04347000 * 04348000 JSB RB2.,I FEED&READ ONE BL CARD,OK? 04349000 JMP ET11 NO 04350000 * 04351000 PY11 JSB PUY.,I YES,PERFORM"PUY",ANY SER ERR? 04352000 JMP ET11 YES 04353000 * 04354000 LDA ROTA NO,PREPARE PUBU FROM SCHB 04355000 STA SHIFT 04356000 LDA D19 0435§%þú7000 LDB D80 04358000 JSB AR2B.,I 04359000 DEF SCHB 04360000 DEF PUBU 04361000 DEF SHIFT 04362000 * 04363000 LDA WSIND IS LAST CRD IN WAIT STATION? 04364000 CPA D12 04365000 JMP LP11 YES 04366000 JSB QWB2.,I NO;PUNCH ATMPT PR&FEED,OK? 04367000 JMP ET11 NO 04368000 * 04369000 JMP PY11 YES,GOTO PROCESS NEXT CARD 04370000 * 04371000 LP11 JSB PWI2.,I PUNCH ATMPT PR&INHIF,OK? 04372000 JMP ET11 NO 04373000 FP11 EQU * 04374000 SKP 04375000 *------------------------------------------------------------------* 04376000 * SUBTEST 2 - READ * 04377000 *------------------------------------------------------------------* 04378000 RS11 LDB B5 04379000 JSB SWRT,I IS READ TO BE SUPPRESSED? 04380000 JMP TST11,I ON-YES,EXIT FROM TEST 04381000 * ãÿþú 04382000 JSB RDX.,I OFF-NO,PERFORM"RDX",ANY SER ERR? 04383000 JMP ET11 YES 04384000 * 04385000 CLA NO 04386000 STA ROTA SET ROTATION FACTOR TO 0 04387000 CCA 04388000 STA BLI IND CRDS ARE NOT TO BE BLANK 04389000 * 04390000 RY11 LDA ROTA LOAD PUBU WITH EXP DATA 04391000 STA SHIFT 04392000 LDA D19 04393000 LDB D80 04394000 JSB AR2B.,I 04395000 DEF SCHB 04396000 DEF PUBU 04397000 DEF SHIFT 04398000 * 04399000 JSB RA1.,I READ ONE CARD,OK? 04400000 JMP ET11 NO 04401000 * 04402000 JSB RDY.,I YES,PERF"RDY",ANY SER ERR? 04403000 JMP ET11 YES 04404000 * 04405000 LDA WSIND NO 04406000 CPA D12 IS LAST CARD IN WAIT STATION? VQþú 04407000 JMP LR11 YES 04408000 * 04409000 JMP RY11 NO,GOTO PROCESS NEXT CARD 04410000 * 04411000 LR11 JSB FI1.,I REMOVE LAST CARD FROM W S,OK? 04412000 JMP ET11 NO 04413000 JMP TST11,I YES,EXIT FROM TEST 04414000 * 04415000 ET11 JSB ERMS,I OUTPUT E054 04416000 DEF E054 04417000 JSB STRE.,I CHECK IF STATUS REPORT REQUIRED 04418000 JMP TST11,I ERROR EXIT FROM TEST 04419000 SKP 04420000 ******************************************************************** 04421000 * TEST 12 - OPERATOR DESIGN * 04422000 ******************************************************************** 04423000 * 04424000 TST12 EQU * 04425000 NOP 04426000 JSB CSM.,I CHECK STACK CNTRL MODE 04427000 CCA DETERMINE INTERRUPT METHOD 04428000 STA MOI FOR OPERATOR DESIGN 04429000 * 04430000 CLA PREPARE PUBU FROM FULL(BUF X) 04431000 STA SHIFT ÿ¡þú 04432000 LDA ZERO 04433000 LDB D80 04434000 JSB AR2B.,I 04435000 DEF FULL 04436000 DEF PUBU 04437000 DEF SHIFT 04438000 * 04439000 CLA PREPARE PRBU FROM HPA(BUF Y) 04440000 STA SHIFT 04441000 LDA AL63 04442000 LDB D80 04443000 JSB AR2B.,I 04444000 DEF HPA 04445000 DEF PRBU 04446000 DEF SHIFT 04447000 * 04448000 JSB MSGC,I OUTPUT H115 04449000 DEF H115 04450000 WFCM JSB MSGH,I OUTPUT H116 AND WAIT FOR CMND 04451000 DEF H116 04452000 CLA 04453000 STA WSIND SET WSIND TO 0 04454000 LIA SW OFF-NO 04455000 AND CMSK 04456000 CPA CM0 READ IN X? ñ#þú 04457000 JMP CMRA YES 04458000 CPA CM1 NO;READ IN Y? 04459000 JMP CMRB YES 04460000 CPA CM2 NO;DISPLAY X? 04461000 JMP CMDA YES 04462000 CPA CM3 NO;DISPLAY Y? 04463000 JMP CMDB YES 04464000 CPA CM4 NO;PUNCH FROM X? 04465000 JMP CMPU YES 04466000 CPA CM5 NO;PRINT FROM X? 04467000 JMP CMPR YES 04468000 CPA CM6 NO;PUNCH&PRIN FROM X? 04469000 JMP CMPP YES 04470000 CPA CM7 NO;PUNCH&PRINT SEP FROM X&Y? 04471000 JMP CMPPS YES 04472000 CPA CM10 NO;STATUS REPORT? 04473000 JMP CSRE YES 04474000 CPA CM11 NO;EXIT? 04475000 JMP CEX YES 04476000 JSB MSGC,I NO,INPUT ERR,OUTPUT H121 04477000 DEF H121 04478000 JMP WFCM GOTO WAIT FOR CORRECT ORDER 04479000 * 04480000 CMRA JSB MSGC,I OUTPUT C0 04481000 DEF C0 º­þú 04482000 C0R ISZ WSIND 04483000 NOP 04484000 JSB RA1.,I READ ONE CARD,OK? 04485000 JMP ERCE NO,GOTO REPORT ERR IF FEED NOTOK 04486000 CLA YES,TRANSFER(RDBU)TO PUBU=BUF A 04487000 STA SHIFT 04488000 LDA D79 04489000 LDB D80 04490000 JSB AR2B.,I 04491000 DEF RDBU 04492000 DEF PUBU 04493000 DEF SHIFT 04494000 JSB FI1.,I REMOVE CARD FROM W S,OK? 04495000 JMP ERCE NO,GOTO REP ERR IF FD NOT OK 04496000 LDB B4 IS REPETITION REQUIRED? 04497000 JSB SWRT,I 04498000 JMP C0R ON-YES,EXEC ORDER AGAIN 04499000 JMP WFCM OFF-NO,GOTO WAIT FOR NEW ORDER 04500000 * 04501000 CMRB JSB MSGC,I OUTPUT C1 04502000 DEF C1 04503000 C1R ISZ WSIND 04504000 NOP 04505000 JSB RA1.,I READ ONE CARD,OK? 04506000 JMP ERCE NO,GOTO ùþúREPORT ERR IF FD NOT OK 04507000 CLA YES,TRANSFER(RDBU)TO PRBU=BUF B 04508000 STA SHIFT 04509000 LDA D79 04510000 LDB D80 04511000 JSB AR2B.,I 04512000 DEF RDBU 04513000 DEF PRBU 04514000 DEF SHIFT 04515000 JSB FI1.,I REMOVE CARD FROM W S,OK? 04516000 JMP ERCE NO,GOTO REP ERR IF FD NOT OK 04517000 LDB B4 IS REPETITION REQUIRED? 04518000 JSB SWRT,I 04519000 JMP C1R ON-YES,EXEC ORDER AGAIN 04520000 JMP WFCM OFF-NO,GOTO WAIT FOR NEW ORDER 04521000 * 04522000 CMDA JSB MSGC,I OUTPUT C2 04523000 DEF C2 04524000 C2R JSB MSGC,I OUTPUT H117 04525000 DEF H117 04526000 LDA PUBUA LOAD PUBU=BUF A POINTER 04527000 JSB OCO.,I 04528000 LDB B4 IS REPETITION REQUIRED? 04529000 JSB SWRT,I 04530000 JMP C2R ON-YES,EXEC ORDER AGAIN 04531000 JMP WFCM ÑþúOFF-NO,GOTO WAIT FOR NEW ORDER 04532000 * 04533000 CMDB JSB MSGC,I OUTPUT C3 04534000 DEF C3 04535000 C3R JSB MSGC,I OUTPUT H120 04536000 DEF H120 04537000 LDA PRBUA LOAD PRBU=BUF B POINTER 04538000 JSB OCO.,I 04539000 LDB B4 IS REPETITION REQUIRED? 04540000 JSB SWRT,I 04541000 JMP C3R ON-YES,EXEC ORDER AGAIN 04542000 JMP WFCM OFF-NO,GOTO WAIT FOR NEW ORDER 04543000 * 04544000 CMPU JSB MSGC,I OUTPUT C4 04545000 DEF C4 04546000 C4R ISZ WSIND 04547000 NOP 04548000 JSB RB2.,I FEED 1 CARD IN W S,OK? 04549000 JMP ERCE NO,GOTO REP ERR IF FD NOT OK 04550000 JSB PI2.,I YES,PUNCH CRD FROM A,OK? 04551000 JMP ERCE NO,GOTO REP ERR IF FD NOT OK 04552000 LDB B4 IS REPETITION REQUIRED? 04553000 JSB SWRT,I 04554000 JMP C4R ON-YES,EXEC ORDER AGAIN 04555000 JMP WFCM OFF-NO,GOTO WAIT FOR NEW ORDER 04556000 *  [þú 04557000 CMPR JSB MSGC,I OUTPUT C5 04558000 DEF C5 04559000 C5R ISZ WSIND 04560000 NOP 04561000 JSB RB2.,I FEED 1 CARD IN W S,OK? 04562000 JMP ERCE NO,GOTO REP ERR IF FD NOT OK 04563000 JSB WI2.,I YES,PRINT CARD FROM A,OK? 04564000 JMP ERCE NO,GOTO REP ERR IF FD NOT OK 04565000 LDB B4 IS REPETITION REQUIRED? 04566000 JSB SWRT,I 04567000 JMP C5R ON-YES,EXEC ORDER AGAIN 04568000 JMP WFCM OFF-NO,GOTO WAIT FOR NEW ORDER 04569000 * 04570000 CMPP JSB MSGC,I OUTPUT C6 04571000 DEF C6 04572000 C6R ISZ WSIND 04573000 NOP 04574000 JSB RB2.,I FEED 1 CARD IN W S,OK? 04575000 JMP ERCE NO,GOTO REP ERR IF FD NOT OK 04576000 JSB PWI2.,I YES,PUNCH&PRINT CARD FROM A 04577000 JMP ERCE NO,GOTO REP ERR IF FD NT OK 04578000 LDB B4 IS REPETITION REQUIRED? 04579000 JSB SWRT,I 04580000 JMP C6R ON-YES,EXEC ORDER AGAIN 04581000 Šþú JMP WFCM OFF-NO,GOTO WAIT FOR NEW ORDER 04582000 * 04583000 CMPPS JSB MSGC,I OUTPUT C7 04584000 DEF C7 04585000 C7R ISZ WSIND 04586000 NOP 04587000 JSB RB2.,I FEED 1 CARD IN W S,OK? 04588000 JMP ERCE NO,GOTO REP ERR IF FD NOT OK 04589000 JSB PSI2.,I YES,PUNCH&PRINT CARD SEP FR A&B 04590000 JMP ERCE NO,GOTO REP ERR IF FD NOT OK 04591000 LDB B4 IS REPETITION REQUIRED? 04592000 JSB SWRT,I 04593000 JMP C7R ON-YES,EXEC ORDER AGAIN 04594000 JMP WFCM OFF-NO,GOTO WAIT FOR NEW ORDER 04595000 * 04596000 CSRE JSB MSGC,I OUTPUT C10 04597000 DEF C10 04598000 C10R JSB STA.,I REPORT STATUS 04599000 LDB B4 IS REPETITION REQUIRED? 04600000 JSB SWRT,I 04601000 JMP C10R ON-YES,EXEC ORDER AGAIN 04602000 JMP WFCM OFF-NO,GOTO WAIT FOR NEW ORDER 04603000 * 04604000 CEX JSB MSGC,I OUTPUT C11 04605000 DEF C11 046060$ë\ZV00 JMP TST12,I 04607000 * 04608000 ERCE JSB ERMS,I OUTPUT E122 04609000 DEF E122 04610000 JMP WFCM 04611000 * 04612000 * 04613000 * 04614000 FWAA EQU * 04615000 END 04616000 ߇\ÿÿ ÿý¾Î ÿ12989-18004 1435 S 0147 DG-2894A RDR/PNCH              H0101 í6þú ª------------------------------------------------------------------ª ª         ÃHÅÃK ÉÆ ÒÅADY ÆÏÒ ÃÏMMAND AÆÔÅÒ ÆÅÅD ÒÅÑUÅSÔ            ª ª------------------------------------------------------------------ª       ÊMP ÆÉN ª------------------------------------------------------------------ª ª         ÃHÅÃK ÉÆ ÉNÔÅÒÒUPÔ ÏÃÃUÒÅD ÏN DAÔA ÃH ÆÏÒ ÌÏAD ÏUÔ BUÆÆ  ª ª------------------------------------------------------------------ª ×ÉPU  ÊSB ×AÉÔ       ÃÌÆ 0         ÅÒÒ¬NÏ ÉNÔ ÏN DAÔA ÃH¬ÔUÒN ÏÆÆ É S       ÊSB ÃÌÃV.¬É   ÉNSÅÒÔ ÃÏ̦ÃÒD NÏ.ÉN ÅÒÒ MSG       ÌDA BÃV².¬É       SÔA ÉÃÌÏ.¬É       ÊSB ÃÒÃV.¬É       ÌDA BÃV².¬É       SÔA ÉÃÒÏ.¬É       ÌDA ÃÏÌÃÔ     ÌÏAD ÃÏÌ.NÏ. ÉN A       ÌDB ×SÉND     ÌÏAD ÃÒD.NÏ. ÉN B       ÊSB ÅÒMS¬É    ÏUÔPUԠű0²       DÅÆ Å±0² ª  ÉBÒÔ  ÊSB SÔÒÅ.¬É   ÃHÅÃK ÉÆ SÔAÔUS ÒÅPÏÒÔ ÒÅÑ       ÊMP DÏDϬɠ   ÅÒÒÏÒ ÅØÉÔ ÆÒÏM DÏDÏ ÔÏ P+± ª------------------------------------------------------------------ª ª         ÃHÅÃK ÉÆ ÉNÔ ÏÃÃUÒÅD ÏN DAÔA ÃH Æ ÌÏAD PÒ BUÆÆ           ª ª------------------------------------------------------------------ª ×ÉPÒ  ÊSB ×AÉÔ       ÃÌÆ 0       ÊSB ÃÌÃV.¬É       ÌDA BÃV².¬É       SÔA ÉÃÌP.¬É       ÊSB ÃÒÃV.¬É       ÌDA BÃV².¬É       SÔA ÉÃÒP.¬É       ÌDA ÃÏÌÃÔ       ÌDA ×SÉND       ÊSB ÅÒMS¬É    ÏUÔPUԠű03       DÅÆ Å±03       ÊMP ÉBÒÔ      ABÏÒÔ ÔÅSÔ ª------------------------------------------------------------------ª ª         ÃHÅÃK ÉÆ ÉNPUÔ DAÔA AVAÉÌ ÉNÔ ÏÃÃUÒÅD ÏN DAÔA ÃH         ª ª------------------------------------------------------------------ª ×ÉÒD  ÊSB ×AÉÔ       ÃÌÆ 0         ÅÒÒ¬NÏ ÉNÔ       ÊSB ÃÌÃV.¬É   ÉNSÅÒÔ       ÌDA BÃV².¬É       SÔA ÉÃÌÉ.¬É       ÊSB ÃÒñ.¬É       ÌDA BÃV².¬É       SÔA ÉÃÒÉ.¬É       ÌDA ÃÏÌÃÔ       ÌDB ×SÉND       ÉNB       ÊSB ÅÒMS¬É    ÏUÔPUԠű0´       DÅÆ Å±0´       ÊMP ÉBÒÔ      ABÏÒÔ ÔÅSÔ ª------------------------------------------------------------------ª ª         ÃHÅÃK ÉÆ ÉNÔ ÏÃÃUÒÅD ÏN ÃMND ÃH(ÉN BUÆÆ ÆUÌÌ SÅÔ©        ª ª---------------ãÖþú---------------------------------------------------ª ×ÉÒà ÊSB ×AÉÔ       ÃÌÆ 0       ÊSB ÅÒMS¬É    ÏUÔPUԠű05       DÅÆ Å±05       ÊMP ÉBÒÔ ª------------------------------------------------------------------ª ª         UNÅØPÅÃÔÅD ÅÒÒ ÉNÔÅÒÒUPÔ ÏN ÃMND ÃH                      ª ª------------------------------------------------------------------ª ÃÅÒ   ÃÌÆ 0       ÊSB ÅÒMS¬É    ÏUÔPUԠű06       DÅÆ Å±06       ÊMP ÉBÒÔ       SKP ª------------------------------------------------------------------ª ª         SUBÒÏUÔÉNÅS USÅD BY AÃÔ AND ÉAÃÔ PÏÒÔÉÏNS                ª ª------------------------------------------------------------------ª ª  ª..................................................................ª ª         ÃHÅÃK ÉÆ ÒÅADY ÆÏÒ ÃÏMMAND BÅÆÏÒÅ ÆÅÅD ÒÅÑUÅSÔ ª..................................................................ª ÒÆÃB  NÏP       ÌDA M±        ÃHÅÃK ÒDY ÆÏÒ ÃMND SÔAÔ BÉÔ       ÌDB B5       ÊSB ÃSÔ×.¬É   ÉS ÉÔ SÅÔ ÉN ÔÉMÅ?       ÊMP ÒÆÃB¬É    YÅS¬ÏK       ÊSB ÅÒMS¬É    NϬÏUÔPUÔ Å065       DÅÆ Å065       ÊSB SÔÒÅ.¬É   ÃHÅÃK ÉÆ SÔAÔUS ÒÅPÏÒÔ ÒÅÑUÉÒÅD       ÉSZ ÒÆÃB       ÊMP ÒÆÃB¬É ª..................................................................ª ª         ÃHÅÃK ÉÆ ÒÅÔUÒN ÔÏ ÒÅADY ÆÏÒ ÃÏMMAND AÆÔÅÒ ÆÅÅD ÒÅÑ      ª ª..................................................................ª ÒÆÃA  NÏP ÒÃA   ÌDA M5       ÌDB B5       ÊSB ÃSÔ×.¬É   ÒÅADY ÆÏÒ ÃMND?       ÊMP ÒÆÃA¬É    YÅS¬ÏK ª        ÌDB B¸        NÏ       ÊSB DSÔ.¬É    ÉS SÔAÃKÅÒ ÆUÌÌ?       ÊMP SÆA       YÅS       ÊSB ÅÒMS¬É    NϬÏUÔPUÔ Å06±       DÅÆ Å06±       ÊSB SÔÒÅ.¬É   ÃHÅÃK ÉÆ SÔAÔUS ÒÅPÏÒÔ ÒÅÑUÉÒÅD ÅAÆ   ÉSZ ÒÆÃA      ÅÒÒÏÒ ÅØÉÔ ÔÏ P+²       ÊMP ÒÆÃA¬É ª  SÆA   ÊSB MSGH¬É    ÏUÔPUÔ H0´´       DÅÆ H0´´ ª        ÌDB B¸       ÊSB DSÔ.¬É    ÉS SÔAÃKÅÒ ÆUÌÌ?       ÊMP ª+²       YÅS¬ÅÒÒÏÒ       ÊMP ÒÃA       NϬÃHÅÃK ÒDY ÃÏND AGAÉN ª        ÊSB ÅÒMS¬É    ÏUÔPUÔ Å0´5       DÅÆ Å0´5       ÊSB SÔÒÅ.¬É   ÃHÅÃK ÉÆ SÔAÔUS ÒÅPÏÒÔ ÒÅÑUÉÒÅD       ÊMP ÅAÆ       ÅÒÒÏÒ S‰þúÅØÉÔ ÔÏ P+² ª..................................................................ª ª         ÆÅÅD ÒÅÑUÅSÔ                                             ª ª..................................................................ª ÆDÒÑ  NÏP       ÌDA ÃÃÔÒÌ       ÌDB DÃÔÒÌ ÃÉϲ  ÏÔA ÃMND DÉϲ  ÏÔB DAÔA ÃÉÏ3  SÔàÃMND¬Ã    ÆÅÅD ÒÅÑUÅSÔ ÃÉϱ5 ÃÌàÃMND¬Ã       ÊMP ÆDÒÑ¬É ª..................................................................ª ª         ÃHÅÃK ÉÆ ÏUÔPUÔ BUÆÆÅÒ AVAÉÌABÌÅ                         ª ª..................................................................ª ÏBUA  NÏP       ÌDA M±        ÃHÅÃK DAÔA ÆÌAG       ÊSB DÆ×.¬É    ÉS DAÔA ÆÌAG SÅÔ ÉN ÔÉMÅ?       ÊMP ÏBUA¬É    YÅS¬ÏK       ÊSB ÃÌÃV.¬É   NϬÉNS ÃÏ̦ÃÒD NÏ.ÉN ÅÒÒ MSG       ÌDA BÃV².¬É       SÔA ÃÌÏÆ.¬É       ÊSB ÃÒÃV.¬É       ÌDA BÃV².¬É       SÔA ÃÒÏÆ.¬É       ÌDA ÃÏÌÃÔ       ÌDB ×SÉND       ÊSB ÅÒMS¬É    ÏUÔPUÔ Å066       DÅÆ Å066       ÊSB SÔÒÅ.¬É   ÃHÅÃK ÉÆ SÔAÔUS ÒÅPÏÒÔ ÒÅÑUÉÒÅD       ÉSZ ÏBUA       ÊMP ÏBUA¬É    ÅÒÒÏÒ¬ÅØÉÔ ÔÏ P+² ª..................................................................ª ª         ÃHÅÃK ÉÆ PÒÉNÔ BUÆÆÅÒ AVAÉÌABÌÅ                          ª ª..................................................................ª PBUA  NÏP       ÌDA M±0       ÃHÅÃK DAÔA ÆÌAG       ÊSB DÆ×.¬É    ÉS DAÔA ÆÌAG SÅÔ ÉN ÔÉMÅ?       ÊMP PBUA¬É    YÅS¬ÏK¬ÅØÉÔ ÔÏ P+±       ÊSB ÃÌÃV.¬É   ÉNSÅÒÔ ÃÏÌ AND ÃÒD NÏ.ÉN ÅÒÒ MSG       ÌDA BÃV².¬É       SÔA ÃÌPÆ.¬É       ÊSB ÃÒÃV.¬É       ÌDA BÃV².¬É       SÔA ÃÒPÆ.¬É       ÌDA ÃÏÌÃÔ       ÌDB ×SÉND       ÊSB ÅÒMS¬É    ÏUÔPUÔ Å06·       DÅÆ Å06·       ÊSB SÔÒÅ.¬É   ÃHÅÃK ÉÆ SÔAÔUS ÒÅPÏÒÔ ÒÅÑUÉÒÅD       ÉSZ PBUA       ÊMP PBUA¬É    ÅÒÒÏÒ¬ÅØÉÔ ÔÏ P+² ª..................................................................ª ª         ÃHÅÃK ÉÆ ÉNPUÔ BUÆÆÅÒ ÆUÌÌ SÅÔ                           ª ª..................................................................ª ÉBÆS  NÏP       ÌDA M±0       ÃHÅÃK ÃMND ÆÌAG       ÊSB ÃÆ×.¬É    ÉS ÃMND bÜþúÆÌAG SÅÔ ÉN ÔÉMÅ?       ÊMP ÉBÆS¬É    YÅS¬ÏK       ÊSB ÅÒMS¬É    NϬÏUÔPUԠű00       DÅÆ Å±00       ÊSB SÔÒÅ.¬É   ÃHÅÃK ÉÆ SÔAÔUS ÒÅPÏÒÔ ÒÅÑUÉÒÅD       ÉSZ ÉBÆS       ÊMP ÉBÆS¬É       SKP ª..................................................................ª ª         ÃHÅÃK ÉÆ ÉNPUÔ DAÔA AVAÉÌABÌÅ                            ª ª..................................................................ª ÉBUA  NÏP       ÌDA M±        ÃHÅÃK DAÔA ÆÌAG       ÊSB DÆ×.¬É    ÉS DAÔA ÆÌAG SÅÔ ÉN ÔÉMÅ?       ÊMP ÉBUA¬É    YÅS¬ÏK¬ÅØÉÔ ÔÏ P+±       ÌDA ÏNÅ       NϬÆÉÒSÔ ÃÏÌUMN?       ÃPA ÃÏÌÃÔ       ÊMP ª+²       YÅS       ÊMP NMÃH      NÏ       ÉSZ PÉN       ÏNÅ MÏÒÅ ÃHANÃÅ?       ÊMP ª+²       YÅS       ÊMP NMÃH      NÏ       ÌDB B±±       ÉNPUÔ ÃHÅÃK ÏN?       ÊSB DSÔ.¬É       ÊMP ª+²       YÅS       ÊMP NMÃH      NÏ       ÌDB B´       ÊSB ÃSÔ.¬É    ÉS ÃÒD ÉN ×AÉÔ SÔ?       ÊMP ÉÃH       YÅS¬SÅÒ ÅÒÒ¬PÒÅP ÔÏ ABÏÒÔ       ÊSB ÅÒMS¬É    NϬPÉÃK ÆAÉÌUÒÅ       DÅÆ Å±±±      ÏUÔPUԠű±±       ÊSB SÔÒÅ.¬É   ÃHÅÃK ÉÆ SÔAÔUS ÒÅPÏÒÔ ÒÅÑUÉÒÅD       ÊSB MSGH¬É    ÏUÔPUÔ H±±²       DÅÆ H±±²       ÌDB B5       ÊSB ÃSÔ.¬É    ÒÅADY ÆÏÒ ÃMND?       ÊMP DÏAG      YÅS¬ÏK       ÊSB MSGH¬É    ÏUÔPUÔ H0´6       DÅÆ H0´6       ÊMP DÏAG      ¾¾¾¾ÔÒY ÔÏ PÉÃK AGAÉN¾¾¾¾ ÉÃH   ÊSB ÅÒMS¬É    ÏUÔPUԠű±3       DÅÆ Å±±3       ÊSB SÔÒÅ.¬É   ÃHÅÃK ÉÆ SÔAÔUS ÒÅPÏÒÔ ÒÅÑUÉÒÅD NMÃH  ÊSB ÃÌÃV.¬É   ÉNS ÃÏ̦ÃÒD NÏ.ÉN ÅÒÒ MSG       ÌDA BÃV².¬É       SÔA ÃÌÉÆ.¬É       ÊSB ÃÒñ.¬É       ÌDA BÃV².¬É       SÔA ÃÒÉÆ.¬É       ÌDA ÃÏÌÃÔ       ÌDB ×SÉND       ÉNB       ÊSB ÅÒMS¬É    ÏUÔPUԠű0±       DÅÆ Å±0±       ÊSB SÔÒÅ.¬É   ÃHÅÃK ÉÆ SÔAÔUS ÒÅPÏÒÔ ÒÅÑUÉÒÅD       ÉSZ ÉBUA       ÊMP ÉBUA¬É    ÅÒÒÏÒ¬ÅØÉÔ ÔÏ P+²       SKP ª½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½ª ª         SUBÒÏUÔÉNÅS ÃÌÃV¬ ÃÒÃV¬ AND ÃÒÃV±                        ª ª     ÔHÅSÅ SUBÒÏUÔÉNÅS ÃÏNVÅÒÔ ÃÏÌUMN NÏ. AND ÃAÒD NÏ. ÔÏ ASÃÉÉ.  ª ª     AÆÔÅÒ ÃAÌ̬ BÃV² ÃÏNÔAÉNS ² DÉGÉÔS ÉN ASÃÉÉ       ýIþú           ª ª½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½ª ª  ª     ÃAÌÌÉNG SÅÑUÅNÃÅ: ª  ª      ÊSB ÃÌÃV.¬É (ÏÒ ÃÒÃV.¬É ÏÒ ÃÒñ.¬É© ªP+±   ...           ÒÅÔUÒN ª  ÃÌÃV  NÏP       ÃÌÅ       ÌDA ÃÏÌÃÔ       ÌDB BÃVA       ÊSB É²AS¬É       ÊMP ÃÌÃV¬É ª  ÃÒÃV  NÏP       ÃÌÅ       ÌDA ×SÉND       ÌDB BÃVA       ÊSB É²AS¬É       ÊMP ÃÒÃV¬É ª  ÃÒÃV± NÏP       ÃÌÅ       ÌDA ×SÉND       ÉNA       ÌDB BÃVA       ÊSB É²AS¬É       ÊMP ÃÒÃV±¬É ª  BÃVA  DÅÆ BÃV ª  BÃV   NÏP       NÏP BÃV²  NÏP       SKP ª½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½ª ª         SUBÒÏUÔÉNÅS DSÔ AND ÃSÔ                                  ª ª     ÔHÅSÅ SUBÒÏUÔÉNÅS ÃHÅÃK ÉNDÉVÉDUAÌ SÔAÔUS BÉÔS ÏÆ            ª ª     DAÔA ÃH ÏÒ ÃMND ÃH                                           ª ª½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½ª ª  ª     ÃAÌÌÉNG SÅÑUÅNÃÅ: ª  ª      ÌDB BÉÔY      BÉÔ ÏÆ ÉNÔÅÒÅSÔ (Y½0¬±¬...¬±5© ª      ÊSB DSÔ.¬É (ÏÒ ÃSÔ.¬É© ªP+±   ...           ÒÅÔUÒN ÉÆ BÉÔ SÅÔ ÔÏ ± ªP+²   ...           ÒÅÔUÒN ÉÆ BÉÔ SÅÔ ÔÏ 0 ª  DSÔ   NÏP DÉÏ9  ÌÉA DAÔA      GÅÔ SÔAÔUS       AND B         AND BÉÔ MASK       SZA¬ÒSS       ÉS BÉÔ SÅÔ ÔÏ ±?       ÉSZ DSÔ       NÏ¬ÅØÉÔ ÔÏ P+² (BÉÔ½0©       ÊMP DSԬɠ    YÅS¬ÅØÉÔ ÔÏ P+± (BÉÔ½±© ª  ÃSÔ   NÏP ÃÉÏ´  ÌÉA ÃMND      GÅÔ SÔAÔUS       AND B         AND BÉÔ MASK       SZA¬ÒSS       ÉS BÉÔ SÅÔ ÔÏ ±?       ÉSZ ÃSÔ       NÏ¬ÅØÉÔ ÔÏ P+² (BÉÔ½0©       ÊMP ÃSԬɠ    YÅS¬ÅØÉÔ ÔÏ P+± (BÉÔ½±© ª  ª½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½ª ª         SUBÒÏUÔÉNÅ ×AÉÔ                                          ª ª     ÔHÉS SUBÒÏUÔÉNÅ ÉS ÅNÔÅÒÅD ×HÉÌÅ ×AÉÔÉNG ÆÏÒ ÉNÔÅÒÒUPÔ       ª ª     ÏN DAÔA ÃH ÏÒ ÃMND ÃH                                        ª ª½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½ª ª  ª     ÃAÌÌÉNG SÅÑUÅNÃÅ: ª  ª      ÊSB ×AÉÔ ªP+±   ...           ÅÒÒÏÒ ÒÅÔUÒN ª  ×AÉÔ  NÏP       ÌDA M±0       SÔA ÒNÒ C¢þú       ÃÌA ××    ÉSZ A         ÉS A ÒÅG ÆUÌÌ?       ÊMP ××        NÏ       ÉSZ ÒNÒ       YÅS»ÉS ×AÉÔÉNG SÔÉÌÌ ÒÅÑ?       ÊMP ××        YÅS       ÊMP ×AÉԬɠ   NϬÅÒÒÏÒ ÅØÉÔ       SKP ª½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½ª ª         SUBÒÏUÔÉNÅ ÔÏ ÅDÉÔ Å303± ÔÏ Å030                         ª ª½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½ª ª  ª     ÃAÌÌÉNG SÅÑUÅNÃÅ: ª  ª      ÊSB ÃSÅÒ.¬É ªP+±   ...           NÏÒMAÌ ÒÅÔUÒN ª  ÃSÅÒ  NÏP       SÔA SAVA      SÔÏÒÅ ÅØP ÃMND SÔ       SÔB SAVB      SÔÏÒÅ AÃÔ ÃMND SÔ       ÃÌA           ÅDÉÔ ÅÒÒ MSG ÔÏ Å030       SÔA SHÉÆÔ       ÌDA D´       ÌDB D5       ÊSB AÒ²B.¬É       DÅÆ ÅÅ030       DÅÆ Å303±       DÅÆ SHÉÆÔ       ÊSB ÅÒSÔ.¬É       ÊMP ÃSÅÒ¬É ª  ª½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½ª ª         SUBÒÏUÔÉNÅ ÔÏ ÅDÉÔ Å303± ÔÏ Å03±                         ª ª½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½ª ª  ª     ÃAÌÌÉNG SÅÑUÅNÃÅ: ª  ª      ÊSB DSÅÒ.¬É ªP+±   ...           NÏÒMAÌ ÒÅÔUÒN ª  DSÅÒ  NÏP       SÔA SAVA      SÔÏÒÅ ÅØP DAÔA SÔ       SÔB SAVB      SÔÏÒÅ AÃÔ DAÔA SÔ       ÃÌA           ÅDÉÔ ÅÒÒ MSG ÔÏ Å03±       SÔA SHÉÆÔ       ÌDA D´       ÌDB D5       ÊSB AÒ²B.¬É       DÅÆ ÅÅ03±       DÅÆ Å303±       DÅÆ SHÉÆÔ       ÊSB ÅÒSÔ.¬É       ÊMP DSÅÒ¬É       SKP ª½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½ª ª         SUBÒÏUÔÉNÅ ÅÒSÔ                                          ª ª     ÔHÉS SUBÒÏUÔÉNÅ ÃÏNVÅÒÔS SÔAÔUS ÔÏ ASÃÉÉ AND ÏUÔPUÔS         ª ª     ÅÒÒÏÒ MÅSSAGÅ. BÅÆÏÒÅ ÃAÌ̬ SAVA MUSÔ ÃÏNÔAÉN ÅØP SÔAÔUS     ª ª     AND SAVB AÃÔ SÔAÔUS                                          ª ª½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½ª ª  ª     ÃAÌÌÉNG SÅÑUÅNÃÅ: ª  ª      ÊSB ÅÒSÔ.¬É ªP+±   ...         NÏÒMAÌ ÒÅÔUÒN ª  ÅÒSÔ  NÏP       ÌDA ÏNÅ       ÉNÉÔ BÅØ BUÆÆ ÆÏÒ ÅØP SÔAÔUS       ÌDB D±±       ÊSB AÒ²B.¬É       DÅÆ ÉNSÔA       DÅÆ “œþúBÅØ       DÅÆ SHÉÆÔ ª        ÌDA ÏNÅ       ÉNÉÔ BAàBUÆÆ ÆÏÒ AÃÔ SÔAÔUS       ÌDB D±±       ÊSB AÒ²B.¬É       DÅÆ ÉNSÔA       DÅÆ BAà       DÅÆ SHÉÆÔ ª        ÌDB SAVA      ÃÏNVÅÒÔ ÅØP SÔAÔUS ÔÏ ASÃÉÉ       ÌDA BÅØ.       ÊSB SÃAN.¬É ª        ÌDB SAVB      ÃÏNVÅÒÔ AÃÔ SÔAÔUS ÔÏ ASÃÉÉ       ÌDA BAÃ.       ÊSB SÃAN.¬É       ÌDA SAVA      ÒÅÔUÒN SÔAÔUS ÔÏ A AND B       ÌDB SAVB       ÊSB ÅÒMS¬É    ÏUÔPUÔ Å030 ÏÒ Å03±       DÅÆ Å303±       ÊMP ÅÒSÔ¬É       SKP ª½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½ª ª         SUBÒÏUÔÉNÅS ÃÏÃS AND ÃÏDS                                ª ª     ÔHÅSÅ SUBÒÏUÔÉNÅS ÃÏMPAÒÅ ÃMND ÃH AND DAÔA ÃH SÔAÔUS         ª ª     ÒÅPÏÒÔ ÅÒÒÏÒ¬ ÉÆ NÅÃÅSSAÒY                                   ª ª½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½ª ª  ª         ÃAÌÌÉNG SÅÑUÅNÃÅ: ª  ª      ÌDA ÅÃSØ (ÏÒ ÅDSØ© ÌÏAD ÅØP ÃMND (ÏÒ DAÔA© SÔ ÉN A ª      ÊSB ÃÏÃS.¬É (ÏÒ ÃÏDS.¬É© ªP+±   ...           NÏÒMAÌ ÒÅÔUÒN ª  ÃÏÃS   NÏP ÃÉÏ06 ÌÉB ÃMND      ÌÏAD AÃÔ ÃMND SÔ ÉN B       ÃPA B         ÉS ÃMND SÔAÔUS ÏK?       ÊMP ÃÏÃS¬É    YÅS¬ÅØÉÔ       ÊSB ÃSÅÒ.¬É   NϬÒÅPÏÒÔ ÅÒÒÏÒ       ÊMP ÃÏÃS¬É ª  ÃÏDS  NÏP DÉÏ3² ÌÉB DAÔA      ÌÏAD AÃÔ DAÔA SÔ ÉN B       ÃPA B         ÉS DAÔA SÔAÔUS ÏK?       ÊMP ÃÏDS¬É    YÅS¬ÅØÉÔ       ÊSB DSÅÒ.¬É   NϬÒÅPÏÒÔ ÅÒÒÏÒ       ÊMP ÃÏDS¬É       SKP ª½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½ª ª         SUBÒÏUÔÉNÅ ÉSÃM                                          ª ª     ÔHÉS SUBÒÏUÔÉNÅ ÉNÉÔÉAÔÅS DÅVÉÃÅ ÆÏÒ SÔAÃKÅÒ ÃÏNÔÒÏÌ MÏDÅ    ª ª½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½ª ª  ª     ÃAÌÌÉNG SÅÑUÅNÃÅ: ª  ª      ÊSB ÉSÃM.¬É ªP+±   ...           NÏÒMAÌ ÒÅÔUÒN ª  ÉSÃM  NÏP       ÃÌÆ 0 DÉÏ33 ÃÌàDAÔA ÃÉÏ0· ÃÌàÃMND ÃÉÏ0¸ ÃÌÆ ÃMND DÉÏ3´ ÃÌÆ DAÔA       ÌDA SÃM ÃÉÏ09 ÏÔA ÃMND       ÌDA ÃBÉN DÉÏ35 ÏÔA DAÔA       ÊMP ÉSÃM¬É ª  ª½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½ª ª         SUBÒÏUÔÉNÅ É„ÌþúSÏM                                          ª ª     ÔHÉS SUBÒÏUÔÉNÅ ÉNÉÔÉAÔÅS DÅVÉÃÅ ÆÏÒ SÔAÃKÅÒ ÏVÅÒÆÌÏ× MÏDÅ   ª ª½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½ª ª  ª     ÃAÌÌÉNG SÅÑUÅNÃÅ: ª  ª      ÊSB ÉSÏM.¬É ªP+±   ...          NÏÒMAÌ ÒÅÔUÒN ª  ÉSÏM  NÏP       ÃÌÆ 0 DÉÏ36 ÃÌàDAÔA ÃÉϱ0 ÃÌàÃMND ÃÉϱ± ÃÌÆ ÃMND DÉÏ3· ÃÌÆ DAÔA       ÌDA ZÅÒÏ ÃÉϱ² ÏÔA ÃMND       ÌDA ÃBÉN DÉÏ3¸ ÏÔA DAÔA       ÊMP ÉSÏM¬É       SKP ª½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½ª ª         SUBÒÏUÔÉNÅ DAÃÏ                                          ª ª     ÔHÉS SUBÒÏUÔÉNÅ ÃÏMPAÒÅS ÅØPÅÃÔÅD AND AÃÔUAÌ DAÔA (AÆÔÅÒ     ª ª     ÒÅAD© AND ÒÅPÏÒÔS ÅÒÒÏÒ¬ ÉÆ NÅÃÅSSAÒY. BÅÆÏÒÅ ÃAÌ̬ PUBU     ª ª     MUSÔ ÃÏNÔAÉN ÅØP DAÔA AND ÒDBU MUSÔ ÃÏNÔAÉN AÃÔ DAÔA.        ª ª     ÉÆ (BÌÉ©½0¬ ÃAÒD ÉS ÔÏ BÅ BÌANK» ÉÆ NÏÔ¬ ÃAÒD ÉS NÏÔ ÔÏ      ª ª     BÅ BÌANK.                                                    ª ª½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½ª ª  ª     ÃAÌÌÉNG SÅÑUÅNÃÅ: ª  ª      ÊSB DAÃÏ.¬É ªP+±   ...           NÏÒMAÌ ÒÅÔUÒN ªP+²   ...           ÅÒÒÏÒ ÒÅÔUÒN ª  DAÃÏ  NÏP       ÌDA PUBUA       SÔA ÅØPÏ       ÌDA ÒDBUA       SÔA AÃPÏ       ÌDA ÏNÅ       SÅÔ ÃÏÌÃÔ ÔÏ ±       SÔA ÃÏÌÃÔ       ÌDA AÃPÏ¬É       AND B±²       ÉSÏÌAÔÅ ÒÅAD ÃHÅÃK BÉÔ       SZA¬ÒSS       ÒÅAD ÃHÅÃK ÏN?       ÊMP ÃAG       NÏ       ÊSB ÅÒMS¬É    YÅS¬ÏUÔPUԠű²´       DÅÆ Å±²´       ÊSB SÔÒÅ.¬É   ÉS SÔAÔUS ÒÅPÏÒÔ ÒÅÑUÉÒÅD? ÃAG   ÌDB ÅØPÏ¬É       ÌDA AÃPÏ¬É       AND MSK±²       ÃPA B         ÉS ÅØP DAÔA ÅÑUAÌ ÔÏ AÃÔ DAÔA?       ÊMP ª+²       YÅS       ÊMP DÅÒ       NÏ ÃND   ÌDA ÃÏÌÃÔ       ÃPA D¸0       ×AS ¸0 ÃÏÌS ÃÏMPAÒÅD?       ÊMP DAÃϬɠ   YÅS¬ÅØÉÔ ÔÏ P+±       ÉSZ ÃÏÌÃÔ     NÏ       ÉSZ ÅØPÏ       ÉSZ AÃPÏ       ÊMP ÃAG DÅÒ   SÔB ÅØDA      SÔÏÒÅ ÅØP DAÔA       SÔA AÃDA      SÔÏÒÅ AÃÔ DAÔA       ÌDA BÌÉ       SZA           ÉS ÃAÒD ÔÏ BÅ BÌANK?       ÊMP NMS       NÏN-ZÅÒϬNÏ       ÊSB ÅÒMS¬É    ZÅÒϬYÅS¬ÏUÔPUÔ Ãwþúű0·       DÅÆ Å±0·       ÊSB SÔÒÅ.¬É   ÉS SÔAÔUS ÒÅPÏÒÔ ÒÅÑUÉÒÅD?       ÉSZ DAÃÏ       ÊMP DAÃϬɠ   ÉÆ NÏN-BÌ¬ÅØÉÔ ÔÏ P+² ª  NMS   ÊSB ÃÌÃV.¬É   ÉNSÅÒÔ ÃÏÌ NÏ.ÉN Å±±0       ÌDA BÃV².¬É       SÔA ÅÃÌ.¬É       ÊSB ÃÒÃV.¬É       ÌDA BÃV².¬É   ÉNSÅÒÔ ÃÒD NÏ ÉN Å±±0       SÔA ÅÃÒ.¬É ª        ÃÌA       SÔA SHÉÆÔ       ÌDA ÏNÅ       ÉNÉÔ DÅØ BUÆÆ ÆÏÒ ÅØP DAÔA       ÌDB D±±       ÊSB AÒ²B.¬É       DÅÆ ÉNSÔA       DÅÆ DÅØ       DÅÆ SHÉÆÔ ª        ÌDA ÏNÅ       ÌDB D±±       ÉNÉÔ DAàBUÆÆ ÆÏÒ AÃÔ DAÔA       ÊSB AÒ²B.¬É       DÅÆ ÉNSÔA       DÅÆ DAà       DÅÆ SHÉÆÔ       ÌDB ÅØDA      ÃÏNVÅÒÔ ÅØP DAÔA ÔÏ ASÃÉÉ       ÌDA DÅØ.       ÊSB SÃAN.¬É ª        ÌDB AÃDA      ÃÏNVÅÒÔ AÃÔ DAÔA ÔÏ ASÃÉÉ       ÌDA DAÃ.       ÊSB SÃAN.¬É ª        ÌDA D²        ÅDÉԠű±0       ÌDB D3       ÊSB AÒ²B.¬É       DÅÆ ÅØP       DÅÆ DÅØ       DÅÆ SHÉÆÔ ª        ÌDA D²       ÌDB D3       ÊSB AÒ²B.¬É       DÅÆ AÃD       DÅÆ DAà       DÅÆ SHÉÆÔ ª        ÌDA ÃÏÌÃÔ     ÌÏAD ÃÏÌÃÔ ÉN A       ÌDB ×SÉND     ÌÏAD ÃÒD NÏ ÉN B ª        ÊSB ÅÒMS¬É    ÏUÔPUԠű±0       DÅÆ Å±±0       ÊSB SÔÒÅ.¬É   ÉS SÔAÔUS ÒÅPÏÒÔ ÒÅÑUÉÒÅD?       ÊMP ÃND       GÏÔÏ ÔÅSÔ ÉÆ ¸0 ÃÏÌS ×ÅÒÅ ÃÏMPAÒÅD       SKP ª½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½ª ª         SUBÒÏUÔÉNÅ ÏÃÏ                                           ª ª     ÔHÉS SUBÒÏUÔÉNÅ ÃÏNVÅÒÔS ¸0 ±²-BÉÔ DAÔA ×ÏÒDS (ÃÏÌUMNS©      ª ª     ÏÆ A BUÆÆÅÒ (PUBU½BUƠج PÒBU½BUÆ Y© ÆÒÏM ÏÃÔAÌ ÔÏ ASÃÉÉ     ª ª     AND DÉSPÌAYS ÔHÅM ÏN ÔÔY.                                    ª ª½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½ª ª  ª     ÃAÌÌÉNG SÅÑUÅNÃÅ: ª  ª      ÌDA BUÆ.      BUÆÆÅÒ PÏÉNÔÅÒ(PUBUA ÏÒ PÒBUA© ª      ÊSB ÏÃÏ.¬É ªP+±   ...           NÏÒMAÌ ÒÅÔUÒN ª  ÏÃÏ   NÏP       SÔA PÏN       SÔÏÒÅ BUÆ PÏÉNÔÅÒ(ÏÆ PUBU ÏÒ PÒBU©       ÌDA M¸0       SÅÔ GÒÅAÔ ÌÏÏP ÃNÔÒ ÔÏ ¸0       SÔA GÌÏ ÒVA   ÌDA M±0       SÅÔ SMAÌÌ ÌÏÏP ÃNÔÒ ÔÏ ±0       SÔA SÌÏ       ÌDA BUD.      GÅÔ BU)Õ<:6D PÏÉNÔÅÒ       SÔA VAPÏ NÏà  ÃÌÅ           ÃÏNVÅÒÔ ± ÃÏÌUMN ÔÏ ÏÃÔAÌ       ÌDA PÏN¬É       ÌDB BUÏÃ.       ÊSB Ï²AS¬É       ÌDA BU´M.¬É       SÔA VAPÏ¬É       ÉSZ VAPÏ       ÌDA BU´Ì.¬É       SÔA VAPÏ¬É       ÉSZ SÌÏ       ×AS ±0 ÃÏÌS ÃÏNVÅÒÔÅD?       ÊMP ª+²       NÏ       ÊMP DÉS       YÅS¬GÏÔÏ DÉSPÌAY ±0 ÃÏÌS       ÉSZ GÌÏ       ÉNÃÒÅMÅNÔ GÌÏ BY ±       ÉSZ PÏN       ÉNÃÒÅMÅNÔ PÏN BY ±       ÉSZ VAPÏ      ÉNÃÒÅMÅNÔ VAPÏ BY ²       ÉSZ VAPÏ       ÊMP NÏà      GÏÔÏ ÃÏNVÅÒÔ NÅØÔ ÃÏÌUMN DÉS   ÊSB MSGìɠ   DÉSPÌAY ±0 ÃÏÌS ÏN ÔÔY       DÅÆ HBUD       ÉSZ GÌÏ       ×AS ¸0 ÃÏÌS ÃÏNV AND DÉSPÌ?       ÊMP ª+²       NϬÉNàPÏN¦ÒÅSÅÔ SÌϦVAPÏ       ÊMP ÏÃϬɠ    YÅS¬ÅØÉÔ       ÉSZ PÏN       ÊMP ÒVA ª  BUÏà NÏP BU´M  NÏP BU´Ì  NÏP ª  BUÏÃ. DÅÆ BUÏà BU´M. DÅÆ BU´M BU´Ì. DÅÆ BU´Ì ƒu<ÿÿ ÿý ÿ12989-18005 1435 S 0147 DG-2894A RDR/PNCH              H0101 î6þú       SKP ª½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½ª ª         SUBÒÏUÔÉNÅ ×SÃH                                          ª ª     ÔHÉS SUBÒÏUÔÉNÅ ÃHÅÃKS ÃAÒD ÉN ×AÉÔ SÔAÔÉÏN¬ÒÅADY ÆÏÒ        ª ª     ÃMND¬ AND SÔAÃKÅÒ ÆUÌÌ ÃÏNDÉÔÉÏNS. ÅÒÒÏÒ MÅSSAGÅS AÒÅ GÉVÅN  ª ª     ÉÆ ANY ÏÆ ÔHÅ ÃÏNDÉÔÉÏNS ÃAN NÏÔ BÅ ÒÅMÏVÅD.                 ª ª½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½ª ª  ª     ÃAÌÌÉNG SÅÑUÅNÃÅ: ª  ª      ÊSB ×SÃH.¬É ªP+±   ...           ÅÒÒÏÒ ÒÅÔUÒN ªP+²   ...           NÏÒMAÌ ÒÅÔUÒN ª  ×SÃH  NÏP       ÌDB B´       ÊSB ÃSÔ.¬É    ÉS ÃAÒD ÉN ×AÉÔ SÔAÔÉÏN?       ÊMP ª+²       YÅS       ÊMP ÒDÃH      NÏ       ÊSB MSGH¬É    ÏUÔPUÔ H050       DÅÆ H050       ÌDB B´       ÊSB ÃSÔ.¬É    ÉS ÃAÒD ÉN ×AÉÔ SÔAÔÉÏN?       ÊMP ª+²       YÅS       ÊMP ÒDÃH      NÏ       ÊSB ÅÒMS¬É    ÏUÔPUÔ Å05±       DÅÆ Å05±       ÊSB SÔÒÅ.¬É   ÃHÅÃK ÉÆ SÔAÔUS ÒÅPÏÒÔ ÒÅÑUÉÒÅD       ÊMP ×SÃH¬É    ÅÒÒÏÒ ÅØÉÔ ÒDÃH  ÌDB B5       ÊSB ÃSÔ.¬É    ÒÅADY ÆÏÒ ÃMND?       ÊMP ÒDÏK      YÅS       ÌDB B±5       NÏ       ÊSB DSÔ.¬É    ÉS ÉNPUÔ BUÆÆÅÒ ÆUÌÌ?       ÊMP ÔÃÌB      YÅS SÆU   ÌDB B¸        NÏ       ÊSB DSÔ.¬É    ÉS SÔAÃKÅÒ ÆUÌÌ?       ÊMP ª+²       YÅS       ÊMP ÃMAN      NÏ       ÊSB MSGH¬É    ÏUÔPUÔ H0´´       DÅÆ H0´´       ÌDB B¸       ÊSB DSÔ.¬É    ÉS SÔAÃKÅÒ ÆUÌÌ?       ÊMP ª+²       YÅS       ÊMP ÒDÃH      NÏ       ÊSB ÅÒMS¬É    ÏUÔPUÔ Å0´5       DÅÆ Å0´5       ÊSB SÔÒÅ.¬É   ÃHÅÃK ÉÆ SÔAÔUS ÒÅPÏÒÔ ÒÅÑUÉÒÅD       ÊMP ×SÃH¬É    ÅÒÒÏÒ ÅØÉÔ ÔÃÌB  ÌDA B±5       ÔÒY ÔÏ ÃÌÅAÒ ÉNPUÔ BUÆÆÅÒ DÉÏ´± ÏÔA DAÔA       ÌDB B±5       ÊSB DSÔ.¬É    ÉS ÉNPUÔ BUÆÆÅÒ ÆUÌÌ?       ÊMP ª+²       YÅS¬GÏÔÏ ÃÌÅAÒ MANUAÌÌY       ÊMP SÆU       NϬGÏÔÏ ÃHÅÃK SÔAÃKÅÒ ÃÏND ÃMAN  ÊSB MSGH¬É    ÏUÔPUÔ H0´6       DÅÆ H0´6       ÌDB B5       ÊSB ÃSÔ.¬É    ÒÅADY ÆÏÒ ÃMND?       ÊMP ÒDÏK      YÅS       ÊSB ÅÒMS¬É    NϬÏUÔPUÔ Å0´·       DÅÆ Å0´·       ÊSB SÔÒÅ.¬É   ÃHÅÃK ÉÆ SÔAÔUS ÒÅPÏÒÔ ÒÅÑUÉÒÅD       ÊMP ×SÃH¬É    ÅÒÒÏÒ ÅØÉÔ ÒDÏK@ßþú  ÉSZ ×SÃH       ÊMP ×SÃH¬É    NÏÒMAÌ ÅØÉÔ       SKP ª½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½ª ª         SUBÒÏUÔÉNÅ PUØ                                           ª ª½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½ª ª  ª         ÃAÌÌÉNG SÅÑUÅNÃÅ: ª  ª      ÊSB PUØ.¬É ªP+±   ...           ÅÒÒÏÒ ÒÅÔUÒN ªP+²   ...           NÏÒMAÌ ÒÅÔUÒN ª  PUØ   NÏP       ÊSB ×SÃH.¬É   ÉS ×SÃH ÃHÅÃK ÏK?       ÊMP PUجɠ    NϬÅÒÒÏÒ ÅØÉÔ ÔÏ P+± ª        ÌDB B±       ÊSB ÃSÔ.¬É    ÉS HÏP-² ÅMPÔY?       ÊMP ª+²       ÏN-YÅS       ÊMP P×S0      ÏÆÆ-NϬÏK       ÊSB MSGH¬É    ÏUÔPUÔ H056       DÅÆ H056       ÌDB B±       ÊSB ÃSÔ.¬É    ÉS HÏP-² ÅMPÔY?       ÊMP ª+²       ÏN-YÅS¬ÅÒÒÏÒ       ÊMP P×S0      ÏÆÆ-NϬÏK       ÊSB ÅÒMS¬É    ÏUÔPUÔ Å05·       DÅÆ Å05·       ÊSB SÔÒÅ.¬É   ÃHÅÃK ÉÆ SÔAÔUS ÒÅPÏÒÔ ÒÅÑUÉÒÅD       ÊMP PUجɠ    ÅÒÒÏÒ ÅØÉÔ ÔÏ P+± ª  P×S0  ÃÌA       SÔA ×SÉND     SÅÔ ×SÉND ÔÏ 0       ÉSZ PUØ       ÊMP PUجɠ    NÏÒMAÌ ÅØÉÔ ÔÏ P+²       SKP ª½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½ª ª         SUBÒÏUÔÉNÅ ÒDØ                                           ª ª½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½ª ª  ª         ÃAÌÌÉNG SÅÑUÅNÃÅ: ª  ª      ÊSB ÒDØ.¬É ªP+±   ...           ÅÒÒÏÒ ÒÅÔUÒN ªP+²   ...           NÏÒMAÌ ÒÅÔUÒN ª  ÒDØ   NÏP       ÊSB ×SÃH.¬É   ÉS ×SÃH ÃHÅÃK ÏK?       ÊMP ÒDجɠ    NϬÅÒÒÏÒ ÅØÉÔ ÔÏ P+± ª        ÌDB B3²¸5     YÅS¬ÉS ÌÏÏP ÏN ÔÅSÔ¬DÉAG¬ÏÒ SUPP       ÊSB S×ÒԬɠ     ÉNÔÅÒVÅNÔ¬ÏÒ SUPP PUNÃH ÒÅÑ?       ÊMP ª+3       ÏN-YÅS¬NÏ MÅSSAGÅ       ÊSB MSGH¬É    ÏÆÆ-NϬÏUÔPUÔ H06²       DÅÆ H06² ª        ÌDB B9       ÊSB DSÔ.¬É    ÉS HÏP-± ÅMPÔY?       ÊMP ª+²       ÏN-YÅS       ÊMP Ò×S0      ÏÆÆ-NϬÏK       ÊSB MSGH¬É    ÏUÔPUÔ H063       DÅÆ H063       ÌDB B9       ÊSB DSÔ.¬É    ÉS HÏP-± ÅMPÔY?       ÊMP ª+²       ÏN-YÅS¬ÅÒÒÏÒ       ÊMP Ò×S0      ÏÆÆ-NϬÏK       ÊSB ÅÒMS¬É    ÏUÔPUÔ Å06´       DÅÆ Å06´       ÊSB SÔÒÅ.¬É   Y;þúÃHÅÃK ÉÆ SÔAÔUS ÒÅPÏÒÔ ÒÅÑUÉÒÅD       ÊMP ÒDجɠ    ÅÒÒÏÒ ÅØÉÔ ÔÏ P+± ª  Ò×S0  ÃÌA       SÔA ×SÉND     SÅÔ ×SÉND ÔÏ 0       ÉSZ ÒDØ       ÊMP ÒDجɠ    NÏÒMAÌ ÅØÉÔ ÔÏ P+²       SKP ª½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½ª ª         SUBÒÏUÔÉNÅ PUY                                           ª ª½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½ª ª  ª         ÃAÌÌÉNG SÅÑUÅNÃÅ: ª  ª      ÊSB PUY.¬É ªP+±   ...           ÅÒÒÏÒ ÒÅÔUÒN ªP+²   ...           NÏÒMAÌ ÒÅÔUÒN ª  PUY   NÏP       ÌDA M3       SÔA ÅPU       SÅÔ ÅPU ÃNÔÒ ÔÏ -3 ª        ÉSZ ×SÉND     ÉNÃÒÅMÅNÔ ×SÉND ª        ÃÌA           ÃÌÅAÒ PUBU ÆÏÒ BÌ ÃAÒD ÃÏMPAÒÅ       SÔA SHÉÆÔ       ÌDA ZÅÒÏ       ÌDB D¸0       ÊSB AÒ²B.¬É       DÅÆ ZÅÒÏ       DÅÆ PUBU       DÅÆ SHÉÆÔ ª  ÔÒAG  ÌDB B´       ÊSB ÃSÔ.¬É    ÉS ÃAÒD ÉN ×AÉÔ SÔAÔÉÏN?       ÊMP ÒPY       ÏN-YÅS¬ÏK       ÊSB ÅÒMS¬É    ÏÆÆ-NϬÅÒÒÏÒ¬ÏUÔPUÔ Å060       DÅÆ Å060       ÊSB SÔÒÅ.¬É   ÃHÅÃK ÉÆ SÔAÔUS ÒÅPÏÒÔ ÒÅÑUÉÒÅD       ÊMP PUY¬É     ÅÒÒÏÒ ÅØÉÔ ÔÏ P+± ª  ÒPY   ÌDB B5       ÊSB ÃSÔ.¬É    ÒÅADY ÆÏÒ ÃMND?       ÊMP H²PY      YÅS¬ÏK ª        ÌDB B¸        NÏ       ÊSB DSÔ.¬É    ÉS SÔAÃKÅÒ ÆUÌÌ?       ÊMP SÆP       YÅS       ÊSB ÅÒMS¬É    NϬÏUÔPUÔ Å06±       DÅÆ Å06±       ÊSB SÔÒÅ.¬É   ÃHÅÃK ÉÆ SÔAÔUS ÒÅPÏÒÔ ÒÅÑUÉÒÅD       ÊMP PUY¬É     ÅÒÒÏÒ ÅØÉÔ ÔÏ P+± ª  SÆP   ÊSB MSGH¬É    ÏUÔPUÔ H0´´       DÅÆ H0´´ ª        ÌDB B¸       ÊSB DSÔ.¬É    ÉS SÔAÃKÅÒ ÆUÌÌ?       ÊMP ª+²       YÅS¬ÅÒÒÏÒ       ÊMP ÒPY       NϬÃHÅÃK ÒDY ÃÏND AGAÉN ª        ÊSB ÅÒMS¬É    ÏUÔPUÔ Å0´5       DÅÆ Å0´5       ÊSB SÔÒÅ.¬É   ÃHÅÃK ÉÆ SÔAÔUS ÒÅPÏÒÔ ÒÅÑUÉÒÅD       ÊMP PUY¬É     ÅÒÒÏÒ ÅØÉÔ ÔÏ P+± ª  H²PY  ÌDB B±       ÊSB ÃSÔ.¬É    ÉS HÏP-² ÅMPÔY?       ÊMP ª+²       ÏN-YÅS       ÊMP ×ÃPY      ÏÆÆ-NϬÏK       ÌDA ×SÉND     ÉS ÌASÔ ÃAÒD ÉN × S?       ÃPA D±²       ÊMP ×ÃPY      YÅS¬DÏNÔ ×ÏÒÒY ÔHAÔ HÏP-² ÅMPÔY       ÊSB MSGH¬É    NϬÏUÔPUÔ H056       DÅÆ H056 ª        ÌDB B±       ÊSB ÃS`þúÔ.¬É    ÉS HÏP-² ÅMPÔY?       ÊMP ª+²       ÏN-YÅS¬ÅÒÒÏÒ       ÊMP ÒPY       ÏÆÆ-NϬÃHÅÃK ÒDY ÃÏND AGAÉN ª        ÊSB ÅÒMS¬É    ÏUÔPUÔ Å05·       DÅÆ Å05·       ÊSB SÔÒÅ.¬É   ÃHÅÃK ÉÆ SÔAÔUS ÒÅPÏÒÔ ÒÅÑUÉÒÅD       ÊMP PUY¬É     ÅÒÒÏÒ ÅØÉÔ ÔÏ P+± ª  ×ÃPY  ÊSB DAÃÏ.¬É   ÉS ÃÒD ÉN × S BÌANK?       ÊMP ÃÏPU      YÅS¬ÏK¬PÒÅP ÅØÉÔ ÔÏ P+²       ÉSZ ÅPU       NϬÅÒÒ¬×AS ÉÔ ÌASÔ AÔÔÅMPÔ?       ÊMP ª+²       NϬÃÏNÔÉNUÅ       ÊMP PUY¬É     YÅS ÅÒÒ ÅØÉÔ ÔÏ P+±       ÊSB MSGH¬É    ÏUÔPUÔ H±±´       DÅÆ H±±´       ÊSB ÒB².¬É    ÆÅÅD¦ÒÅAD ± BÌ ÃÒD¬ÏK?       ÊMP PUY¬É     NϬÅÒÒ ÅØÉÔ ÔÏ P+±       ÊMP ÔÒAG      YÅS ÃÏPU  ÉSZ PUY       ÊMP PUY¬É     NÏÒMAÌ ÅØÉÔ ÔÏ P+²       SKP ª½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½ª ª         SUBÒÏUÔÉNÅ ÒDY                                           ª ª½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½ª ª  ª         ÃAÌÌÉNG SÅÑUÅNÃÅ: ª  ª      ÊSB ÒDY.¬É ªP+±   ...           ÅÒÒÏÒ ÒÅÔUÒN ªP+²   ...           NÏÒMAÌ ÒÅÔUÒN ª  ÒDY   NÏP ª        ÉSZ ×SÉND     ÉNÃÒÅMÅNÔ ×SÉND ª        ÌDB B´       ÊSB ÃSÔ.¬É    ÉS ÃAÒD ÉN ×AÉÔ SÔAÔÉÏN?       ÊMP ÒÒY       ÏN-YÅS¬ÏK       ÊSB ÅÒMS¬É    ÏÆÆ-NϬÅÒÒ¬ÏUÔPUÔ Å060       DÅÆ Å060       ÊSB SÔÒÅ.¬É   ÃHÅÃK ÉÆ SÔAÔUS ÒÅPÏÒÔ ÒÅÑUÉÒÅD       ÊMP ÒDY¬É     ÅÒÒÏÒ ÅØÉÔ ÔÏ P+± ª  ÒÒY   ÌDB B5       ÊSB ÃSÔ.¬É    ÒÅADY ÆÏÒ ÃMND?       ÊMP H±ÒY      YÅS¬ÏK ª        ÌDB B¸        NÏ       ÊSB DSÔ.¬É    ÉS SÔAÃKÅÒ ÆUÌÌ?       ÊMP SÆÒ       YÅS       ÊSB ÅÒMS¬É    ÏUÔPUÔ Å06±       DÅÆ Å06±       ÊSB SÔÒÅ.¬É   ÃHÅÃK ÉÆ SÔAÔUS ÒÅPÏÒÔ ÒÅÑUÉÒÅD       ÊMP ÒDY¬É     ÅÒÒÏÒ ÅØÉÔ ÔÏ P+± ª  SÆÒ   ÊSB MSGH¬É    ÏUÔPUÔ H0´´       DÅÆ H0´´ ª        ÌDB B¸       ÊSB DSÔ.¬É    ÉS SÔAÃKÅÒ ÆUÌÌ?       ÊMP ª+²       YÅS¬ÅÒÒÏÒ       ÊMP ÒÒY       NϬÃHÅÃK ÒDY ÃÏND AGAÉN ª        ÊSB ÅÒMS¬É    ÏUÔPUÔ Å0´5       DÅÆ Å0´5       ÊSB SÔÒÅ.¬É   ÃHÅÃK ÉÆ SÔAÔUS ÒÅPÏÒÔ ÒÅÑUÉÒÅD       ÊMP ÒDY¬É     ÅÒÒÏÒ ÅØÉÔ ÔÏ P+± ª  H±ÒY  ÌDB B9       ÊSB DSÔ.¬É"íþú    ÉS HÏP-± ÅMPÔY?       ÊMP ª+²       ÏN-YÅS       ÊMP ×ÃÒY      ÏÆÆ-NϬÏK       ÌDA ×SÉND     ÉS ÌASÔ ÃAÒD ÉN × S?       ÃPA D±²       ÊMP ×ÃÒY      YÅS¬DÏNÔ ×ÏÒÒY ÔHAÔ HÏP-± ÅMPÔY       ÊSB MSGH¬É    NϬÏUÔPUÔ H063       DÅÆ H063       ÌDB B9       ÊSB DSÔ.¬É    ÉS HÏP-± ÅMPÔY?       ÊMP ª+²       ÏN-YÅS¬ÅÒÒÏÒ       ÊMP ÒÒY       ÏÆÆ-NϬÃHÅÃK ÒDY ÃÏND AGAÉN ª        ÊSB ÅÒMS¬É    ÏUÔPUÔ Å06´       DÅÆ Å06´       ÊSB SÔÒÅ.¬É   ÃHÅÃK ÉÆ SÔAÔUS ÒÅPÏÒÔ ÒÅÑUÉÒÅD       ÊMP ÒDY¬É     ÅÒÒÏÒ ÅØÉÔ ÔÏ P+± ª  ×ÃÒY  ÊSB DAÃÏ.¬É   ÉS ÃÒD ÉN × S ÏK(ÅØP½AÃÔ©?       NÏP           YÅS¬ÏK¬ÅØÉÔ ÔÏ P+²       ÉSZ ÒDY       NÏ¬ÅØÉÔ ÔÏ P+² ANY×AY       ÊMP ÒDY¬É ª  ª½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½ª ª         SUBÒÏUÔÉNÅ ÃSM                                           ª ª     ÔHÉS SUBÒÏUÔÉNÅ ÃHÅÃKS ÉÆ ÔHÅ DÅVÉÃÅ ÌASÔ ÏPÅÒAÔÉÏN ×AS ÉN   ª ª     SÔAÃKÅÒ ÃÏNÔÒÏÌ MÏDÅ. ÉÆ NÏÔ¬ ÃÌÅAÒ ÉS ÒÅÑUÅSÔÅD.            ª ª½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½ª ª  ª         ÃAÌÌÉNG SÅÑUÅNÃÅ: ª  ª      ÊSB ÃSM.¬É ªP+±   ...           NÏÒMAÌ ÒÅÔUÒN ª  ÃSM   NÏP ÃÉϲ² ÌÉA ÃMND      GÅÔ ÃÏNÔÒÏÌ BÉÔS       AND B±²       SZA           ×AS DÅV ÉN SÔÃK ÃNÔÒÌ MÏDÅ?       ÊMP ÃSM¬É     YÅS¬ÏK¬ÅØÉÔ       ÊSB ÉSÃM.¬É   NϬÉNÉÔ DÅV Æ SÔ ÃNÔÒÌ MÏDÅ       ÊSB MSGH¬É    ÏUÔPUÔ H053       DÅÆ H053       ÊMP ÃSM¬É     ÅØÉÔ       SKP ª½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½ª ª         AÃÔÉÏN SUBÒÏUÔÉNÅS                                       ª ª     ÔHÅSÅ SUBÒÏUÔÉNÅS ÒÅAÌÉZÅ AÌÌ ÔHÅ ÏPÅÒAÔÉÏNS ÏÆ ÔHÅ          ª ª     PÒÉNÔÉNG ÒÅADÅÒ PUNÃH USÅD ÉN ÔHÉS DÉAGNÏSÔÉÃ. SYMBÏÌS       ª ª     ÉN ÔHÅ NAMÅ ÏÆ ÅAÃH SUBÒÏUÔÉNÅ DÅSÃÒÉBÅ ÅAÃH ÏPÅÒAÔÉÏN       ª ª     AS ÆÏÌÌÏ×S:                                                  ª ª       Ò...ÒÅAD                                                   ª ª       P...PUNÃH                                                  ª ª       Ñ...ÒÅAD AND PUNÃH                                €þú         ª ª       ×...PÒÉNÔ (×ÒÉÔÅ© ÆÒÏM ÏUÔPUÔ BUÆÆÅÒ                       ª ª       S...PÒÉNÔ (SÅPAÒAÔÅ PÒÉNÔ DAÔA© ÆÒÏM PÒÉNÔ BUÆÆÅÒ          ª ª       Æ...ÆÅÅD (NÏ ÒÅAD¬ PUNÃH¬ ÏÒ PÒÉNÔ©                        ª ª                                                                  ª ª       A...USÅ HÏPPÅÒ ±                                           ª ª       B...USÅ HÏPPÅÒ ²                                           ª ª       É...ÉNHÉBÉÔ ÉNPUÔ ÆÅÅD                                     ª ª                                                                  ª ª       0...SÔAÃKÅÒ ÏVÅÒÆÌÏ× MÏDÅ                                  ª ª       ±...USÅ SÔAÃKÅÒ ±                                          ª ª       ²...USÅ SÔAÃKÅÒ ²                                          ª ª½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½½ª ª  ª     ÃAÌÌÉNG SÅÑUÅNÃÅ: ª  ª      ÊSB VØYZ.¬É   (VØYZ SÔAND ÆÏÒ SYMBÏÌS ÅØPÌAÉNÅD ABÏVÅ© ªP+±   ...           ÅÒÒÏÒ ÒÅÔUÒN ªP+²   ...           NÏÒMAÌ ÒÅÔUÒN ª  ÒB²   NÏP       ÌDA H²S²       ÃÌB       ÊSB DÏDÏ.¬É       DÅà¸0       ÊMP ÒB²¬É       ÉSZ ÒB²       ÊMP ÒB²¬É ª  Ñ×B²  NÏP       ÌDA Ñ×B²K       ÃÌB       ÊSB DÏDÏ.¬É       DÅà¸0       ÊMP Ñ×B²¬É       ÉSZ Ñ×B²       ÊMP Ñ×B²¬É ª  P×ɲ  NÏP       ÌDA Ñ×B²K       ÌDB ÉNHÉÆ       ÊSB DÏDÏ.¬É       DÅà0       ÊMP P×ɲ¬É       ÉSZ P×ɲ       ÊMP P×ɲ¬É ª  ÒA±   NÏP       ÌDA SÃM       ÃÌB       ÊSB DÏDÏ.¬É       DÅà¸0       ÊMP ÒA±¬É       ÉSZ ÒA±       ÊMP ÒA±¬É ª  ÆÉ±   NÏP       ÌDA SÃM       ÌDB ÉNHÉÆ       ÊSB DÏDÏ.¬É       DÅà0       ÊMP ÆÉ±¬É       ÉSZ ÆÉ±       ÊMP ÆÉ±¬É ª  ª  Pɲ   NÏP       ÌDA PɲK       ÌDB ÉNHÉÆ       ÊSB DÏDÏ.¬É       DÅà0       ÊMP Pɲ¬É       ÉSZ Pɲ       ÊMP Pɲ¬É ª  ×ɲ   NÏP       ÌDA ×ɲK       ÌDB ÉNHÉÆ       ÊSB DÏDÏ.¬É       DÅà0       ÊMP ×ɲ¬É       ÉSZ ×ɲ       ÊMP ×ɲ¬É ª  PSɲ  NÏP       ÌDA PSɲK       ÌDB ÉNHÉÆ       ÊSB DÏDÏ.¬É       0þúDÅà0       ÊMP PSɲ¬É       ÉSZ PSɲ       ÊMP PSɲ¬É ª  ÒA0   NÏP       ÃÌA       ÃÌB       ÊSB DÏDÏ.¬É       DÅà¸0       ÊMP ÒA0¬É       ÉSZ ÒA0       ÊMP ÒA0¬É ª  ÆÉ0   NÏP       ÃÌA       ÌDB ÉNHÉÆ       ÊSB DÏDÏ.¬É       DÅà0       ÊMP ÆÉ0¬É       ÉSZ ÆÉ0       ÊMP ÆÉ0¬É ª  ÒB0   NÏP       ÌDA H²SÏM       ÃÌB       ÊSB DÏDÏ.¬É       DÅà¸0       ÊMP ÒB0¬É       ÉSZ ÒB0       ÊMP ÒB0¬É ª  ª  ÆÉ²   NÏP       ÌDA H²S²       ÌDB ÉNHÉÆ       ÊSB DÏDÏ.¬É       DÅà0       ÊMP ÆÉ²¬É       ÉSZ ÆÉ²       ÊMP ÆÉ²¬É ª  ÑB²   NÏP       ÌDA PɲK       ÃÌB       ÊSB DÏDÏ.¬É       DÅà¸0       ÊMP ÑB²¬É       ÉSZ ÑB²       ÊMP ÑB²¬É ª  Ò×B²  NÏP       ÌDA ×ɲK       ÃÌB       ÊSB DÏDÏ.¬É       DÅà¸0       ÊMP Ò×B²¬É       ÉSZ Ò×B²       ÊMP Ò×B²¬É ª  ÑSB²  NÏP       ÌDA PSɲK       ÃÌB       ÊSB DÏDÏ.¬É       DÅà¸0       ÊMP ÑSB²¬É       ÉSZ ÑSB²       ÊMP ÑSB²¬É       SKP ªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªª ª         MÅSSAGÅS                                                 ª ªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªª ª  ZBMA0 ASà±3¬   ÆÏÒ DAÔA ÃH (HÉ PÒÉÏÒ©¯ ZBMA± ASà±3¬   ÆÏÒ ÃMND ÃH (ÌÏ PÒÉÏÒ©¯ Å303± ASà5¬Å03Ø ØØØØ       ASà5¬SÔAÔUS ÅÒÒ       ÏÃÔ 6´±²       ASà´¬    ÅØP: BÅØ   BSS ±±       ÏÃÔ 6´±²       ASà´¬    AÃÔ: BAà  BSS ±±       AS౬¯ ÅÅ030 ASà5¬Å030 ÃMND ÅÅ03± ASà5¬Å03± DAÔA H03²  AS౸¬H03² ÃÌÅAÒ DÅVÉÃŬSÔAÃKÅÒS¬HÏPPÅÒS»       ASà±±¬PÒÅSS SÔÏP¬SÔAÒÔ¬ÒUN¯ H033  ASà±0¬H033 PÒÅSS SÔÏP¬ÒUN¯ H03´  ASà±±¬H03´ PÒÅSS SÔAÒÔ¬ÒUN¯ H035  ASà±·¬H035 ÌÏAD HÏP-± ×ÉÔH ± BÌANK ÃAÒD»       ASà±²¬PÒÅSS SÔÏP ²Ø¬SÔAÒÔ¬ÒUN¯ H036  ASà±·¬H036 ÌÏAD HÏP-² ×ÉÔH ± BÌANK ÃAÒD»       ASà±²¬PÒÅSS SÔÏP ²Ø¬SÔAÒÔ¬ÒUN¯ H03·  ASà±6¬H03· SÔAÃKÅÒ ÃÏNÔÒÏÌ MÏDÅ ÃHÅÃK       ASà´¬ÆÏÌÌÏ×S¯ H0´0  ASà±6¬H0´0 SÔAÃKÅÒ ÏVÅÒÆÌÏ× MÏDÅ ÃHÅÃK       ASà5¬ ÆÏÌÌÏ×S¯ H0´±  ASà±9¬H0´± ÅØÔÅND SÔAÃK-± AÒM ÔÏ ÌÉMÉÔ»PÒÅSS   Uþú    ASà3¬ ÒUN¯ H0´²  ASà±9¬H0´² ÅØÔÅND SÔAÃK-² AÒM ÔÏ ÌÉMÉÔ»PÒÅSS       ASà3¬ ÒUN¯ H0´3  ASà±3¬H0´3 PÒÅSS SÔÏP¬SÔAÒÔ¬ÒUN¯ H0´´  ASà±5¬H0´´ SÔAÃKÅÒ ÆUÌ̬UNÌÏAD»PÒÅSS       ASฬ SÔÏP¬SÔAÒÔ¬ÒUN¯ Å0´5  ASà±5¬Å0´5 SÔAÔUS SHÏ×S SÔAÃKÅÒ ÆUÌÌ       ASà9¬ AÆÔÅÒ UNÌÏAD(ª©¯ H0´6  AS౸¬H0´6 NÏÔ ÒÅADY ÆÏÒ ÃMND»ÃÌÅAÒ DÅVÉÃÅ       ASà±±¬¬PÒÅSS SÔÏP¬SÔAÒÔ¬ÒUN¯ Å0´·  ASà²0¬Å0´· NÏÔ ÒÅADY ÆÏÒ ÃMND AÆÔÅÒ ÃÌÅAÒ(ª©¯ H050  ASà±3¬H050 ÃAÒD ÉN ×AÉÔ SÔAÔÉÏN»       ASà±·¬ÃÌÅAÒ DÅVÉÃŬPÒÅSS SÔÏP¬SÔAÒÔ¬ÒUN¯ Å05±  ASà±9¬Å05± SÔAÔUS SHÏ×S ÃAÒD ÉN ×AÉÔ SÔAÔÉÏN       ASฬAÆÔÅÒ ÃÌÅAÒ(ª©¯ H05²  ASà±·¬H05² ÌÏAD HÏP-±¦² ×ÉÔH BÌANK ÃAÒDS       ASà±3¬»PÒÅSS SÔÏP ²Ø¬SÔAÒÔ¬ÒUN¯ H053  ASà±9¬H053 ÃÌÅAÒ DÅVÉÃŬSÔAÃKÅÒS»PÒÅSS SÔÏP¬       ASà5¬SÔAÒÔ¬ÒUN¯ Å05´  ASà±±¬Å05´ ÔÅSÔ ABÏÒÔÅD(ª©¯ H055  ASà±0¬H055 ÃÌÅAÒ SÔAÃKÅÒS»       ASà±±¬PÒÅSS SÔÏP¬SÔAÒÔ¬ÒUN¯ H056  ASà±9¬H056 HÏP-² ÅMPÔY¬ÌÏAD ×ÉÔH BÌANK ÃAÒDS       ASà±3¬»PÒÅSS SÔÏP ²Ø¬SÔAÒÔ¬ÒUN¯ Å05·  ASà±9¬Å05· SÔAÔUS SHÏ×S HÏP-² ÅMPÔY AÆÔÅÒ ÌÏ       ASà3¬AD(ª©¯ Å060  ASà±9¬Å060 NÏ ÃAÒD AÒÒÉVÅD ÉN ×AÉÔ SÔAÔÉÏN(ª       AS౬©¯ Å06±  AS౸¬Å06± NÏ ÒÅÔUÒN ÔÏ ÒÅADY ÆÏÒ ÃMND(ª©¯ H06²  ASà±9¬H06² ÌÏAD HÏP-± ×ÉÔH ÔÅSÔ ÃAÒDS»PÒÅSS       ASà9¬SÔÏP ²Ø¬SÔAÒÔ¬ÒUN¯ H063  ASà±9¬H063 HÏP-± ÅMPÔY¬ÌÏAD ×ÉÔH ÔÅSÔ ÃAÒDS»       ASà±²¬PÒÅSS SÔÏP ²Ø¬SÔAÒÔ¬ÒUN¯ Å06´  ASà±9¬Å06´ SÔAÔUS SHÏ×S HÏP-± ÅMPÔY AÆÔÅÒ ÌÏ       ASà3¬AD(ª©¯ Å065  AS౸¬Å065 NÏÔ ÒÅADY ÆÏÒ ÃMND BÅÆÏÒÅ ÆÅÅD       ASà´¬ÒÅÑ(ª©¯ Å066  ASà±9¬Å066 ÌÏAD ÏUÔ BUÆÆ ÅÒÒ» DAÔA ÆÌAG NÏÔ       ASà´¬SÅÔ(ÃÏÌ: ÃÌÏUÆ BSS ±       ASà3¬¬ ÃÒD: ÃÒÏUÆ BSS ±       ASà3¬©(ª©¯ Å06·  ASà±9¬Å06· ÌÏAD PÒÉNÔ BUÆÆ ÅÒÒ» DAÔA ÆÌAG NÏ       ASà5¬Ô SÅÔ(ÃÏÌ: ÃÌPÒÆ BSS ±       ASà3¬¬ ÃÒD: ÃÒPÒÆ BSS ±       ASà3¬©(ª©¯ ű00  ASà±9¬Å±00 ÉN BUÆÆ ÆUÌÌ (ÃMND ÆÌAG© NÏÔ SÅÔ(       ASಬª©¯ ű0±  ASà±9¬Å±0± UNÌÏAD ÉN BUÆÆ ÅÒÒ» DAÔA ÆÌAG NÏÔ       ASà5¬ SÅÔ (ÃÏÌ: ÃÌÉNÆ BSS ±       ASà3¬¬ ÃÒD: ÃÒÉNÆ BSS ±       ASà3¬©(ª©¯ ű0²  ASà±9¬Å±0² ÌÏAD ÏUÔ BUÆÆ ÅÒÒ»NÏ-Ôþú ÉNÔ ÏN DAÔA       ASà´¬ÃH (ÃÏÌ: ÉÃÌÏ  BSS ±       ASà3¬¬ ÃÒD: ÉÃÒÏ  BSS ±       ASà3¬©(ª©¯ ű03  ASà±9¬Å±03 ÌÏAD PÒÉNÔ BUÆÆ ÅÒÒ»NÏ ÉNÔ ÏN DAÔ       ASà5¬A ÃH (ÃÏÌ: ÉÃÌP  BSS ±       ASà3¬¬ ÃÒD: ÉÃÒP  BSS ±       ASà3¬©(ª©¯ ű0´  ASà±9¬Å±0´ UNÌÏAD ÉN BUÆÆ ÅÒÒ»NÏ ÉNÔ ÏN DAÔA       ASà´¬ ÃH(ÃÏÌ: ÉÃÌÉ  BSS ±       ASà3¬¬ÃÒD: ÉÃÒÉ  BSS ±       ASà3¬©(ª©¯ ű05  AS౸¬Å±05 ÉN BUÆÆ ÆUÌÌ NÏÔ SÅÔ»NÏ ÉNÔ ÏN       ASà6¬ÃMND ÃH(ª©¯ ű06  ASà±5¬Å±06 UNÅØP ÉNÔ ÏN ÃMND ÃH(ª©¯ ű0·  ASà²0¬Å±0· NÏN-BÌANK ÃAÒD ÉN ×AÉÔ SÔAÔÉÏN(ª©¯ ű±0  ASà±3¬Å±±0 DAÔA ÃÏMPAÒÅ ÅÒÒ(ÃÏÌ: ÅÃÌ   BSS ±       ASà3¬¬ÃÒD: ÅÃÒ   BSS ±       ASಬ©(ª©       ÏÃÔ 6´±²       AS౬ DÅØ   BSS ±±       ÏÃÔ 6´±²       AS౬ DAà  BSS ±±       AS౬¯ ÅØP   ASà3¬  ÅØP: AÃD   ASà3¬  AÃÔ: ű±±  ASà±±¬Å±±± PÉÃK ÆAÉÌUÒÅ(ª©¯ H±±²  ASà±6¬H±±² ÃÏÒÒÅÃÔ HÏP ÃÏND¬ÃÌÅAÒ DÅV»       ASà±±¬PÒÅSS SÔÏP¬SÔAÒÔ¬ÒUN¯ ű±3  ASà±0¬Å±±3 ÉNPUÔ ÃHÅÃK(ª©¯ H±±´  ASà±6¬H±±´ ÃÌÅAÒ DÅV¬ÒÅMÏVÅ NÏN-BÌ ÃÒD       ASà±±¬»PÒÅSS SÔÏP¬SÔAÒÔ¬ÒUN¯ H±±5  ASà±5¬H±±5 ÏPÅÒAÔÏÒ DÅSÉGN ÆÏÌÌÏ×S¯ H±±6  ASà´¬H±±6 À¯ H±±·  ASฬH±±· BUÆÆÅÒ Ø:¯ H±²0  ASฬH±²0 BUÆÆÅÒ Y:¯ HBUD  ASಬ BUD   AS౸¬AAAA  AAAA  AAAA  AAAA  AAAA  AAAA       ASà±²¬AAAA  AAAA  AAAA  AAAA¯ H±²±  ASà±3¬H±²± ÏÒDÅÒ NÏÔ ÒÅÃÏGNÉZÅD¯ ű²²  ASà±´¬Å±²² ÅÒÒ ÉN ÏÒDÅÒ ÅØÅÃUÔÉÏN¯ H±²3  ASà6¬H±²3 SÔAÔUS       ÏÃÔ 6´±²       ASà´¬   ÃMND: BUÆÃ  BSS ±±       ÏÃÔ 6´±²       ASà´¬   DAÔA: BUÆD  BSS ±±       AS౬¯ ű²´  ASà±0¬Å±²´ ÒÅAD ÃHÅÃK(ª©¯ Ã0    ASಬ:0¯ ñ    ASಬ:±¯ ò    ASಬ:²¯ Ã3    ASಬ:3¯ ô    ASಬ:´¯ Ã5    ASಬ:5¯ Ã6    ASಬ:6¯ ÷    ASಬ:·¯ ñ0   ASಬ:±0¯ ñ±   ASಬ:±±¯       SKP ªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªª ª         ÔÅSÔ 0                                                   ª ªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªª ª  ÔSÔ0  NÏP       ÊSB ÔS00.¬É   DÏ BASÉàɯϠÆÏÒ DAÔA ÃH       ÊSB MSGìɠ   APÃ<:6PÅND ÉDÅNÔÉÆÉÃAÔÉÏN       DÅÆ ZBMA0       ÏÆ DAÔA ÃH (HÉ PÒÉÏÒ©       ÊMP ÔSÔ0¬É ª  ªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªª ª         ÔÅSÔ ±                                                   ª ªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªª ª  ÔSÔ0± ÅÑU ª       NÏP       ÌDA SÃM ÃÉϱ3 ÏÔA ÃMND      BÅGÉN ×ÉÔH SÔAÃK ÃNÔÒÌ MÏDÅ       ÌDA ÉNHÉÆ       ÉÏÒ ÃÌBÆ DÉÏ39 ÏÔA DAÔA       ÌDA USSà     GÅÔ ÃÅÌÌ ÌÏÃAÔÉÏN       AND SÃMSK       ÏÆ ÃMND ÃH (ÌÏ PÒÉÏÒ©       ÉNA       ÊSB ZBÉÏ.¬É   DÏ BASÉàɯϠÆÏÒ ÃMND ÃH       ÊSB MSGìɠ   APPÅND ÉDÅNÔÉÆÉÃAÔÉÏN       DÅÆ ZBMA±       ÏÆ ÃMND ÃH (ÌÏ PÒÉÏÒ©       ÊMP ÔSÔ0±¬É ª  è.<ÿÿ ÿý ÿ12989-18006 1435 S 0147 DG-2894A RDR/PNCH              H0101 ï6þú ªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªª ª         ÔÅSÔ ²                                                   ª ªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªª ª  ÔSÔ0² ÅÑU ª       NÏP       ÌDB B¸A±²       ÊSB S×ÒԬɠ   ÉS BÉÔ ¸ ÏÒ ±² ÏN?       ÊMP ÔSÔ0²¬É   YÅS¬ÅÌÉM ÏPÅÒ ÉNÔÅÒV (ÅØÉÔ©       ÊSB ÉSÃM.¬É   NϬÃÏNÔ¬ÉNÉÔ DÅV ÆÏÒ SÔAÃK Ã MÏD ÃÉϱ¸ SÔàÃMND¬Ã ÃÉϱ9 ÃÌàÃMND¬Ã ª------------------------------------------------------------------ª ª         SUBÔÅSÔ ±                                                ª ª------------------------------------------------------------------ª       ÊSB MSGH¬É    ÏUÔPUÔ H03²       DÅÆ H03²       ÌDA ÅÃS±      ÌÏAD ÅØP ÃMND SÔAÔ ÉN A       ÊSB ÃÏÃS.¬É   ÃÏMPAÒÅ ÃMND SÔAÔUS ª        ÌDA ÅDS±      ÌÏAD ÅØP DAÔA SÔAÔUS ÉN A       ÊSB ÃÏDS.¬É   ÃÏMPAÒÅ DAÔA SÔAÔUS ª------------------------------------------------------------------ª ª         SUBÔÅSÔ ²                                                ª ª------------------------------------------------------------------ª       ÊSB MSGH¬É    ÏUÔPUÔ H033       DÅÆ H033       ÌDA ÅÃS²      ÌÏAD ÅØP ÃMND SÔAÔUS ÉN A       ÊSB ÃÏÃS.¬É   ÃÏMPAÒÅ ÃMND SÔAÔUS ª        ÌDA ÅDS±      ÌÏAD ÅØP DAÔA SÔAÔUS ÉN A       ÊSB ÃÏDS.¬É   ÃÏMPAÒÅ DAÔA SÔAÔAÔUS ª------------------------------------------------------------------ª ª         SUBÔÅSÔ 3                                                ª ª------------------------------------------------------------------ª       ÊSB MSGH¬É    ÏUÔPUÔ H03´       DÅÆ H03´       ÌDA ÅÃS±      ÌÏAD ÅØP ÃMND SÔAÔUS ÉN A       ÊSB ÃÏÃS.¬É   ÃÏMPAÒÅ ÃMND SÔAÔUS ª        ÌDA ÅDS±      ÌÏAD ÅØP DAÔA SÔAÔUS ÉN A       ÊSB ÃÏDS.¬É   ÃÏMPAÒÅ DAÔA SÔAÔUS ª------------------------------------------------------------------ª ª         SUBÔÅSÔ ´                                                ª ª------------------------------------------------------------------ª       ÊSB MSGH¬É    ÏUÔPUÔ H035       DÅÆ H035       ÌDA ½¥þúÅÃS±      ÌÏAD ÅØP ÃMND SÔAÔUS ÉN A       ÊSB ÃÏÃS.¬É   ÃÏMPAÒÅ ÃMND SÔAÔUS ª        ÌDA ÅDS´      ÌÏAD ÅØP DAÔA SÔAÔUS ÉN A       ÊSB ÃÏDS.¬É   ÃÏMPAÒÅ DAÔA SÔAÔUS ª------------------------------------------------------------------ª ª         SUBÔÅSÔ 5                                                ª ª------------------------------------------------------------------ª       ÊSB MSGH¬É    ÏUÔPUÔ H036       DÅÆ H036       ÌDA ÅÃS6      ÌÏAD ÅØP ÃMND SÔAÔUS ÉN A       ÊSB ÃÏÃS.¬É   ÃÏMPAÒÅ ÃMND SÔAÔUS ª        ÌDA ÅDS´      ÌÏAD ÅØP DAÔA SÔAÔUS ÉN A       ÊSB ÃÏDS.¬É   ÃÏMPAÒÅ DAÔA SÔAÔUS ª------------------------------------------------------------------ª ª         SUBÔÅSÔ 6                                                ª ª------------------------------------------------------------------ª       ÊSB MSGìɠ   ÏUÔPUÔ H03·       DÅÆ H03· ª        ÊSB MSGH¬É    ÏUÔPUÔ H0´±       DÅÆ H0´±       ÌDA ÅDS²      ÌÏAD ÅØP DAÔA SÔAÔUS ÉN A       ÊSB ÃÏDS.¬É   ÃÏMPAÒÅ DAÔA SÔAÔUS ª        ÌDA ÅÃS3      ÌÏAD ÅØP ÃMND SÔAÔUS ÉN A       ÊSB ÃÏÃS.¬É   ÃÏMPAÒÅ ÃMND SÔAÔUS ª------------------------------------------------------------------ª ª         SUBÔÅSÔ ·                                                ª ª------------------------------------------------------------------ª       ÊSB MSGH¬É    ÏUÔPUÔ H0´3       DÅÆ H0´3 ª        ÊSB MSGH¬É    ÏUÔPUÔ H0´²       DÅÆ H0´²       ÌDA ÅDS²      ÌÏAD ÅØP DAÔA SÔAÔUS ÉN A       ÊSB ÃÏDS.¬É   ÃÏMPAÒÅ DAÔA SÔAÔUS ª        ÌDA ÅÃS3      ÌÏAD ÅØP ÃMND SÔAÔUS ÉN A       ÊSB ÃÏÃS.¬É   ÃÏMPAÒÅ ÃMND SÔAÔUS ª------------------------------------------------------------------ª ª         SUBÔÅSÔ ¸                                                ª ª------------------------------------------------------------------ª       ÊSB MSGH¬É    ÏUÔPUÔ H0´3       DÅÆ H0´3 ª        ÊSB ÉSÏM.¬É   ÉNÉÔ DÅV ÆÏÒ SÔAÃK ÏVÅÒÆÌ MÏDÅ ÃÉϲ0 SÔàÃMND¬Ã ÃÉϲ± ÃÌàÃMND¬Ã       ÊSB MSGìɠ   ÏUÔPUÔ H0´0       DÅÆ H0´0 ª        ÊSB MSGH¬É    ÏUd þúÔPUÔ H0´±       DÅÆ H0´±       ÌDA ÅDS´      ÌÏAD ÅØP DAÔA SÔ ÉN A       ÊSB ÃÏDS.¬É   ÃÏMPAÒÅ DAÔA SÔ ª        ÌDA ÅÃS5      ÌÏAD ÅØP ÃMND SÔ ÉN A       ÊSB ÃÏÃS.¬É   ÃÏMPAÒÅ ÃMND SÔ ª------------------------------------------------------------------ª ª         SUBÔÅSÔ 9                                                ª ª------------------------------------------------------------------ª       ÊSB MSGH¬É    ÏUÔPUÔ H0´²       DÅÆ H0´²       ÌDA ÅDS²      ÌÏAD ÅØP DAÔA SÔ ÉN A       ÊSB ÃÏDS.¬É   ÃÏMPAÒÅ ÃMND SÔAÔUS ª        ÌDA ÅÃS´      ÌÏAD ÅØP ÃMND SÔ ÉN A       ÊSB ÃÏÃS.¬É   ÃÏMPAÒÅ ÃMND SÔ ª        ÊSB MSGH¬É    ÏUÔPUÔ H0´3       DÅÆ H0´3 ª        ÌDA ÅDS´      ÌÏAD ÅØP DAÔA SÔ ÉN A       ÊSB ÃÏDS.¬É   ÃÏMPAÒÅ DAÔA SÔ ª        ÌDA ÅÃS5      ÌÏAD ÅØP ÃMND SÔ ÉN A       ÊSB ÃÏÃS.¬É   ÃÏMPAÒÅ ÃMND SÔ ª        ÊMP ÔSÔ0²¬É   ÅØÉÔ ÆÒÏM ÔÅSÔ ²       SKP ªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªª ª         ÔÅSÔ 3                                                   ª ªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªª ª  ÔSÔ03 ÅÑU ª       NÏP       ÌDB B¸A±²     ÉS BÉÔ ¸ ÏÒ ±² ÏN?       ÊSB S×ÒÔ¬É       ÊMP ÔSÔ03¬É   YÅS¬ÅÌÉM ÏPÅÒ ÉNÔÅÒV(ÅØÉÔ©       ÊSB ×SÃH.¬É   AÒÅ ÉNÉÔÉAÌ ÃÏNDÉÔÉÏNS ÏK?       ÊMP ÅÔ03      NÏ ª------------------------------------------------------------------ª ª         SUBÔÅSÔ ±                                                ª ª------------------------------------------------------------------ª       ÊSB ÉSÏM.¬É   YÅS¬ÉNÉÔ DÅV ÆÏÒ SÔAÃK ÏVÅÒÆÌ M ª        ÊSB MSGH¬É    ÏUÔPUÔ H05²       DÅÆ H05²       ÊSB MSGìɠ   ÏUÔPUÔ H0´0       DÅÆ H0´0       ÌDA ÅÃS5       ÊSB ÃÏÃS.¬É       ÌDA ÅDS´       ÊSB ÃÏDS.¬É       ÌDA M5       SÔA ÃAÃÏ NÅ3à ÃÌA       SÔA MÏÉ       DÉÒÅÃÔ DÏDÏ ÔÏ ×AÉÔ-ÆÏÒ-ÆÌAG M       ÊSB ÒA0.¬É       ÊMP ÅÃ03       ÌDA ÅÃS±0       ÊSB ÃÏÃS.¬É ª        ÌDA ÅDS´       ÊSB ÃÏDS.¬É ª        ÉSZ ÃAÃÏ      ×AS ÉÔ 5ÔH ÃAÒD?       ÊMP NÅ3à     NÏ     Àþú  ÊSB ÆÉ0.¬É    YÅS       ÊMP ÅÃ03 ª        ÌDA ÅÃS5       ÊSB ÃÏÃS.¬É       ÌDA ÅDS´       ÊSB ÃÏDS.¬É ª        ÊSB MSGH¬É    ÏUÔPUÔ H0´±       DÅÆ H0´± ª        ÌDA ÅÃS5       ÊSB ÃÏÃS.¬É       ÌDA ÅDS´       ÊSB ÃÏDS.¬É       ÌDA M5       SÔA ÃAÃÏ NÅ3D  ÊSB ÒB0.¬É       ÊMP ÅÃ03 ª        ÌDA ÅÃS±²       ÊSB ÃÏÃS.¬É ª        ÌDA ÅDS´       ÊSB ÃÏDS.¬É ª        ÉSZ ÃAÃÏ      ×AS ÉÔ 5ÔH ÃAÒD?       ÊMP NÅ3D      NÏ       ÊSB ÆÉ0.¬É    YÅS       ÊMP ÅÃ03 ª        ÌDA ÅÃS5       ÊSB ÃÏÃS.¬É       ÌDA ÅDS´       ÊSB ÃÏDS.¬É ª------------------------------------------------------------------ª ª         SUBÔÅSÔ ²                                                ª ª------------------------------------------------------------------ª ª  ÅÃ03  ÊSB ÉSÃM.¬É   ÉNÉÔ DÅV ÆÏÒ SÔAÃK ÃNÔÒÌ MÏDÅ       ÊSB MSGH¬É    ÏUÔPUÔ H053       DÅÆ H053       ÊSB MSGìɠ   ÏUÔPUÔ H03·       DÅÆ H03· ª        ÌDA ÅÃS6       ÊSB ÃÏÃS.¬É ª        ÌDA ÅDS´       ÊSB ÃÏDS.¬É ª        ÌDA M5       SÔA ÃAÃÏ NÅ3A  ÊSB ÒA±.¬É       ÊMP ÅÔ03       ÌDA ÅÃS·       ÊSB ÃÏÃS.¬É ª        ÌDA ÅDS´       ÊSB ÃÏDS.¬É ª        ÉSZ ÃAÃÏ      ×AS ÉÔ 5ÔH ÃAÒD?       ÊMP NÅ3A      NÏ       ÊSB ÆÉ±.¬É    YÅS       ÊMP ÅÔ03 ª        ÌDA ÅÃS6       ÊSB ÃÏÃS.¬É ª        ÌDA ÅDS´       ÊSB ÃÏDS.¬É       SKP ª------------------------------------------------------------------ª ª         SUBÔÅSÔ 3                                                ª ª------------------------------------------------------------------ª ª        ÌDA ÅÃS6       ÊSB ÃÏÃS.¬É ª        ÌDA ÅDS´       ÊSB ÃÏDS.¬É ª        ÌDA M5       SÔA ÃAÃÏ NÅ3B  ÊSB ÒB².¬É       ÊMP ÅÔ03       ÌDA ÅÃS¸       ÊSB ÃÏÃS.¬É ª        ÌDA ÅDS´       ÊSB ÃÏDS.¬É ª        ÉSZ ÃAÃÏ      ×AS ÉÔ 5ÔH ÃAÒD?       ÊMP NÅ3B      NÏ       ÊSB ÆÉ².¬É    YÅS       ÊMP ÅÔ03 ª        ÌDA ÅÃS9       ÊSB ÃÏÃS.¬É ª        ÌDA ÅDS´       ÊSB ÃÏDS.¬É ª        ÊSB MSGH¬É    ÏUÔPUÔ H055       DÅÆ H055 ª §Mþú       ÌDA ÅÃS9       ÊSB ÃÏÃS.¬É ª        ÌDA ÅDS´       ÊSB ÃÏDS.¬É ª        ÊMP ÔSÔ03¬É ª  ÅÔ03  ÊSB ÅÒMS¬É    ÏUÔPUÔ Å05´       DÅÆ Å05´       ÊSB SÔÒÅ.¬É   ÃHÅÃK ÉÆ SÔAÔUS ÒÅPÏÒÔ ÒÅÑUÉÒÅD       ÊMP ÔSÔ03¬É       SKP ªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªª ª         ÔÅSÔ ´                                                   ª ªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªª ª  ÔSÔ0´ ÅÑU ª       NÏP       ÊSB ÃSM.¬É    ÃHÅÃK SÔAÃK ÃNÔÒÌ MÏDÅ       ÃÌA           DÅÔÅÒMÉNÅ ×AÉÔ -ÆÏÒ-ÆÌAG MÅÔHÏD       SÔA MÏÉ         ÆÏÒ ÔHÉS ÔÅSÔ ª------------------------------------------------------------------ª ª         SUBÔÅSÔ ± - PUNÃH                                        ª ª------------------------------------------------------------------ª       ÌDB B6       ÊSB S×ÒԬɠ   ÉS PU¦PÒ ÔÏ BÅ SUPPÒÅSSÅD?       ÊMP ÒS0´      ÏN-YÅS¬GÏÔÏ ÒÅAD SÅÃÔÉÏN ª        ÊSB PUØ.¬É    ÏÆÆ-NϬPÅÒÆÏÒM"PUØ"¬ANY SÅÒ ÅÒÒ?       ÊMP ÅÔ0´      YÅS ª        ÃÌA           NÏ       SÔA BÌÉ       ÉNDÉàÔHAÔ ÃÒDS AÒÅ ÔÏ BÅ BÌANK       ÌDA HPA.      GÅÔ HPA PÏÉNÔÅÒ       SÔA ÉP0´ ª        ÊSB ÒB².¬É    ÆÅÅD¦ÒÅAD ÏNÅ BÌ ÃAÒD¬ÏK?       ÊMP ÅÔ0´      NÏ ª  PY0´  ÊSB PUY.¬É    YÅS¬PÅÒÆÏÒM"PUY"¬ANY SÅÒ ÅÒÒ?       ÊMP ÅÔ0´      YÅS ª        ÃÌA           NϬPÒÅPAÒÅ PUBU ÆÒÏM HPA       SÔA SHÉÆÔ       ÌDA ZÅÒÏ       ÌDB D¸0       ÊSB AÒ²B.¬É ÉP0´  NÏP       DÅÆ PUBU       DÅÆ SHÉÆÔ ª        ÌDA ×SÉND     ÉS ÌASÔ ÃÒD ÉN ×AÉÔ SÔAÔÉÏN?       ÃPA D±²       ÊMP ÌP0´      YÅS       ÊSB ÑB².¬É    NÏ»PUNÃH¦ÆÅÅD¬ÏK?       ÊMP ÅÔ0´      NÏ ª        ÉSZ ÉP0´      YÅS¬ÉNÃÒÅMÅNÔ HPA PÏÉNÔÅÒ       ÊMP PY0´      GÏÔÏ PÒÏÃÅSS NÅØÔ ÃAÒD ª  ÌP0´  ÊSB Pɲ.¬É    PUNÃH¦ÉNHÉÆ¬ÏK?       ÊMP ÅÔ0´      NÏ ÆP0´  ÅÑU ª       SKP ª------------------------------------------------------------------ª ª         SUBÔÅSÔ ² - ÒÅAD                                         ª ª------------------------------------------------------------------ª ÒS0´À?þú  ÌDB B5       ÊSB S×ÒԬɠ   ÉS ÒÅAD ÔÏ BÅ SUPPÒÅSSÅD?       ÊMP ÔSÔ0´¬É   ÏN-YÅS¬ÅØÉÔ ÆÒÏM ÔÅSÔ ª        ÊSB ÒDØ.¬É    ÏÆÆ-NϬPÅÒÆÏÒM"ÒDØ"¬ANY SÅÒ ÅÒÒ?       ÊMP ÅÔ0´      YÅS ª        ÃÃA       SÔA BÌÉ       ÉND ÃÒDS AÒÅ NÏÔ ÔÏ BÅ BÌANK       ÌDA HPA.       SÔA ÉÒ0´      GÅÔ HPA PÏÉNÔÅÒ ª  ÒY0´  ÃÌA           ÌÏAD PUBU ×ÉÔH ÅØP DAÔA       SÔA SHÉÆÔ       ÌDA ZÅÒÏ       ÌDB D¸0       ÊSB AÒ²B.¬É ÉÒ0´  NÏP       DÅÆ PUBU       DÅÆ SHÉÆÔ ª        ÊSB ÒA±.¬É    ÒÅAD ÏNÅ ÃAÒD¬ÏK?       ÊMP ÅÔ0´      NÏ ª        ÊSB ÒDY.¬É    YÅS¬PÅÒÆ"ÒDY"¬ANY SÅÒ ÅÒÒ?       ÊMP ÅÔ0´      YÅS ª        ÌDA ×SÉND     NÏ       ÃPA D±²       ÉS ÌASÔ ÃAÒD ÉN ×AÉÔ SÔAÔÉÏN?       ÊMP ÌÒ0´      YÅS ª        ÉSZ ÉÒ0´      NϬÉNÃÒÅMÅNÔ HPA PÏÉNÔÅÒ       ÊMP ÒY0´      GÏÔÏ PÒÏÃÅSS NÅØÔ ÃAÒD ª  ÌÒ0´  ÊSB ÆÉ±.¬É    ÒÅMÏVÅ ÌASÔ ÃAÒD ÆÒÏM × S¬ÏK?       ÊMP ÅÔ0´      NÏ       ÊMP ÔSÔ0´¬É   YÅS¬ÅØÉÔ ÆÒÏM ÔÅSÔ ª  ÅÔ0´  ÊSB ÅÒMS¬É    ÏUÔPUÔ Å05´       DÅÆ Å05´       ÊSB SÔÒÅ.¬É   ÃHÅÃK ÉÆ SÔAÔUS ÒÅPÏÒÔ ÒÅÑUÉÒÅD       ÊMP ÔSÔ0´¬É   ÅÒÒÏÒ ÅØÉÔ ÆÒÏM ÔÅSÔ       SKP ªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªª ª         ÔÅSÔ 5                                                   ª ªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªª ª  ÔSÔ05 ÅÑU ª       NÏP       ÊSB ÃSM.¬É    ÃHÅÃK SÔAÃK ÃNÔÒÌ MÏDÅ       ÃÃA           DÅÔÅÒMÉNÅ ÉNÔÅÒÒUPÔ MÅÔHÏD       SÔA MÏÉ         ÆÏÒ ÔHÉS ÔÅSÔ ª------------------------------------------------------------------ª ª         SUBÔÅSÔ ± - PUNÃH AND PÒÉNÔ                              ª ª------------------------------------------------------------------ª       ÌDB B6       ÊSB S×ÒԬɠ   ÉS PU¦PÒ ÔÏ BÅ SUPPÒÅSSÅD?       ÊMP ÒS05      ÏN-YÅS¬GÏÔÏ ÒÅAD SÅÃÔÉÏN ª        ÊSB PUØ.¬É    ÏÆÆ-NϬPÅÒÆÏÒM"PUØ"¬ANY SÅÒ ÅÒÒ?       ÊMP ÅÔ05      YÅS ª        ÃÌA           NÏ       SÔA BÌÉ       ÉNDÉàÔHAÔ ÃÒDS AÒÅ ÔÏ BÅ BÌANK       ÌDA HPA.      GÅÔ HPA PÏÉNÔÅÒ       SÔA ÉP05 ª        ÊSB ÒB².¬É    ÆÅÅD¦ÒÅAD 8þúÏNÅ BÌ ÃAÒD¬ÏK?       ÊMP ÅÔ05      NÏ ª  PY05  ÊSB PUY.¬É    YÅS¬PÅÒÆÏÒM"PUY"¬ANY SÅÒ ÅÒÒ?       ÊMP ÅÔ05      YÅS ª        ÃÌA           NϬPÒÅPAÒÅ PUBU ÆÒÏM HPA       SÔA SHÉÆÔ       ÌDA ZÅÒÏ       ÌDB D¸0       ÊSB AÒ²B.¬É ÉP05  NÏP       DÅÆ PUBU       DÅÆ SHÉÆÔ ª        ÌDA ×SÉND     ÉS ÌASÔ ÃÒD ÉN ×AÉÔ SÔAÔÉÏN?       ÃPA D±²       ÊMP ÌP05      YÅS       ÊSB Ñ×B².¬É   NÏ»PUNÃH¬PÒÉNÔ¦ÆÅÅD¬ÏK?       ÊMP ÅÔ05      NÏ ª        ÉSZ ÉP05      YÅS¬ÉNÃÒÅMÅNÔ HPA PÏÉNÔÅÒ       ÊMP PY05      GÏÔÏ PÒÏÃÅSS NÅØÔ ÃAÒD ª  ÌP05  ÊSB P×ɲ.¬É   PUNÃH¬PÒÉNÔ¦ÉNHÉÆ¬ÏK?       ÊMP ÅÔ05      NÏ ÆP05  ÅÑU ª       SKP ª------------------------------------------------------------------ª ª         SUBÔÅSÔ ² - ÒÅAD                                         ª ª------------------------------------------------------------------ª ÒS05  ÌDB B5       ÊSB S×ÒԬɠ   ÉS ÒÅAD ÔÏ BÅ SUPPÒÅSSÅD?       ÊMP ÔSÔ05¬É   ÏN-YÅS¬ÅØÉÔ ÆÒÏM ÔÅSÔ ª        ÊSB ÒDØ.¬É    ÏÆÆ-NϬPÅÒÆÏÒM"ÒDØ"¬ANY SÅÒ ÅÒÒ?       ÊMP ÅÔ05      YÅS ª        ÃÃA       SÔA BÌÉ       ÉND ÃÒDS AÒÅ NÏÔ ÔÏ BÅ BÌANK       ÌDA HPA.      GÅÔ HPA PÏÉNÔÅÒ       SÔA ÉÒ05 ª  ÒY05  ÃÌA           ÌÏAD PUBU ×ÉÔH ÅØP DAÔA       SÔA SHÉÆÔ       ÌDA ZÅÒÏ       ÌDB D¸0       ÊSB AÒ²B.¬É ÉÒ05  NÏP       DÅÆ PUBU       DÅÆ SHÉÆÔ ª        ÊSB ÒA±.¬É    ÒÅAD ÏNÅ ÃAÒD¬ÏK?       ÊMP ÅÔ05      NÏ ª        ÊSB ÒDY.¬É    YÅS¬PÅÒÆ"ÒDY"¬ANY SÅÒ ÅÒÒ?       ÊMP ÅÔ05      YÅS ª        ÌDA ×SÉND     NÏ       ÃPA D±²       ÉS ÌASÔ ÃAÒD ÉN ×AÉÔ SÔAÔÉÏN?       ÊMP ÌÒ05      YÅS ª        ÉSZ ÉÒ05      NϬÉNÃÒÅMÅNÔ HPA PÏÉNÔÅÒ       ÊMP ÒY05      GÏÔÏ PÒÏÃÅSS NÅØÔ ÃAÒD ª  ÌÒ05  ÊSB ÆÉ±.¬É    ÒÅMÏVÅ ÌASÔ ÃAÒD ÆÒÏM × S¬ÏK?       ÊMP ÅÔ05      NÏ       ÊMP ÔSÔ05¬É   YÅS¬ÅØÉÔ ÆÒÏM ÔÅSÔ ª  ÅÔ05  ÊSB ÅÒMS¬É    ÏUÔPUÔ Å05´       DÅÆ Å05´       ÊSB SÔÒÅ.¬É   ÃHÅÃK ÉÆ SÔAÔUS ÒÅPÏÒÔ ÒÅÑUÉÒÅD       ÊMP ÔSÔ05¬É   ÅÒÒÏÒ ÅØÉÔ ÆÒÏM ÔÅSÔ       SKP ªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªª ª       Ÿ­þú  ÔÅSÔ 6                                                   ª ªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªª ª  ÔSÔ06 ÅÑU ª       NÏP       ÊSB ÃSM.¬É    ÃHÅÃK SÔAÃK ÃNÔÒÌ MÏDÅ       ÃÌA           DÅÔÅÒMÉNÅ ×AÉÔ -ÆÏÒ-ÆÌAG MÅÔHÏD       SÔA MÏÉ         ÆÏÒ ÔHÉS ÔÅSÔ ª------------------------------------------------------------------ª ª         SUBÔÅSÔ ± - PUNÃH AND PÒÉNÔ                              ª ª------------------------------------------------------------------ª       ÌDB B6       ÊSB S×ÒԬɠ   ÉS PU¦PÒ ÔÏ BÅ SUPPÒÅSSÅD?       ÊMP ÒS06      ÏN-YÅS¬GÏÔÏ ÒÅAD SÅÃÔÉÏN ª        ÊSB PUØ.¬É    ÏÆÆ-NϬPÅÒÆÏÒM"PUØ"¬ANY SÅÒ ÅÒÒ?       ÊMP ÅÔ06      YÅS ª        ÃÌA           NÏ       SÔA ÒÏÔA      SÅÔ ÒÏÔAÔÉÏN ÆAÃÔÏÒ ÔÏ 0       SÔA BÌÉ       ÉNDÉàÔHAÔ ÃÒDS AÒÅ ÔÏ BÅ BÌANK ª        ÊSB ÒB².¬É    ÆÅÅD¦ÒÅAD ÏNÅ BÌ ÃAÒD¬ÏK?       ÊMP ÅÔ06      NÏ ª  PY06  ÊSB PUY.¬É    YÅS¬PÅÒÆÏÒM"PUY"¬ANY SÅÒ ÅÒÒ?       ÊMP ÅÔ06      YÅS ª        ÌDA ÒÏÔA      NϬPÒÅPAÒÅ PUBU ÆÒÏM HPA       SÔA SHÉÆÔ       ÌDA AÌ63       ÌDB D¸0       ÊSB AÒ²B.¬É       DÅÆ HPA       DÅÆ PUBU       DÅÆ SHÉÆÔ ª        ÌDA ×SÉND     ÉS ÌASÔ ÃÒD ÉN ×AÉÔ SÔAÔÉÏN?       ÃPA D±²       ÊMP ÌP06      YÅS       ÊSB Ñ×B².¬É   NÏ»PUNÃH¬PÒÉNÔ¦ÆÅÅD¬ÏK?       ÊMP ÅÔ06      NÏ ª        ÌDA ÒÏÔA      YÅS       ÃPA D3        ÉS ÒÏÔ ÆAÃÔÏÒ½3?       ÊMP ª+3       YÅS       ÉSZ ÒÏÔA      NϬÉNÃÒÅMÅNÔ ÒÏÔ ÆAÃÔÏÒ       ÊMP PY06      GÏÔÏ PÒÏÃÅSS NÅØÔ ÃAÒD       ÃÌA           ÒÅSÅÔ ÒÏÔ ÆAÃÔÏÒ ÔÏ 0       SÔA ÒÏÔA       ÊMP PY06      GÏÔÏ PÒÏÃÅSS NÅØÔ ÃAÒD ª  ÌP06  ÊSB P×ɲ.¬É   PUNÃH¬PÒÉNÔ¦ÉNHÉÆ¬ÏK?       ÊMP ÅÔ06      NÏ ÆP06  ÅÑU ª       SKP ª------------------------------------------------------------------ª ª         SUBÔÅSÔ ² - ÒÅAD                                         ª ª------------------------------------------------------------------ª ÒS06  ÌDB B5       ÊSB S×ÒԬɠ   ÉS ÒÅAD ÔÏ BÅ SUPPÒÅSSÅD?       ÊMP ÔSÔ06¬É   ÏN-YÅS¬ÅØÉÔ ÆÒÏM ÔÅSÔ ª        ÊSB ÒDØ.7þú¬É    ÏÆÆ-NϬPÅÒÆÏÒM"ÒDØ"¬ANY SÅÒ ÅÒÒ?       ÊMP ÅÔ06      YÅS ª        ÃÌA           NÏ       SÔA ÒÏÔA      SÅÔ ÒÏÔAÔÉÏN ÆAÃÔÏÒ ÔÏ 0       ÃÃA       SÔA BÌÉ       ÉND ÃÒDS AÒÅ NÏÔ ÔÏ BÅ BÌANK ª  ÒY06  ÌDA ÒÏÔA      ÌÏAD PUBU ×ÉÔH ÅØP DAÔA       SÔA SHÉÆÔ       ÌDA AÌ63       ÌDB D¸0       ÊSB AÒ²B.¬É       DÅÆ HPA       DÅÆ PUBU       DÅÆ SHÉÆÔ ª        ÊSB ÒA±.¬É    ÒÅAD ÏNÅ ÃAÒD¬ÏK?       ÊMP ÅÔ06      NÏ ª        ÊSB ÒDY.¬É    YÅS¬PÅÒÆ"ÒDY"¬ANY SÅÒ ÅÒÒ?       ÊMP ÅÔ06      YÅS ª        ÌDA ×SÉND     NÏ       ÃPA D±²       ÉS ÌASÔ ÃAÒD ÉN ×AÉÔ SÔAÔÉÏN?       ÊMP ÌÒ06      YÅS ª        ÌDA ÒÏÔA      NÏ       ÃPA D3        ÉS ÒÏÔ ÆAÃÔÏÒ½3?       ÊMP ª+3       YÅS       ÉSZ ÒÏÔA      NϬÉNÃÒÅMÅNÔ ÒÏÔ ÆAÃÔÏÒ       ÊMP ÒY06      GÏÔÏ PÒÏÃÅSS NÅØÔ ÃAÒD       ÃÌA           ÒÅSÅÔ ÒÏÔ ÆAÃÔÏÒ ÔÏ 0       SÔA ÒÏÔA       ÊMP ÒY06 ª  ÌÒ06  ÊSB ÆÉ±.¬É    ÒÅMÏVÅ ÌASÔ ÃAÒD ÆÒÏM × S¬ÏK?       ÊMP ÅÔ06      NÏ       ÊMP ÔSÔ06¬É   YÅS¬ÅØÉÔ ÆÒÏM ÔÅSÔ ª  ÅÔ06  ÊSB ÅÒMS¬É    ÏUÔPUÔ Å05´       DÅÆ Å05´       ÊSB SÔÒÅ.¬É   ÃHÅÃK ÉÆ SÔAÔUS ÒÅPÏÒÔ ÒÅÑUÉÒÅD       ÊMP ÔSÔ06¬É   ÅÒÒÏÒ ÅØÉÔ ÆÒÏM ÔÅSÔ       SKP ªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªª ª         ÔÅSÔ ·                                                   ª ªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªª ª  ÔSÔ0· ÅÑU ª       NÏP       ÊSB ÃSM.¬É    ÃHÅÃK SÔAÃK ÃNÔÒÌ MÏDÅ       ÃÃA           DÅÔÅÒMÉNÅ ÉNÔÅÒÒUPÔ MÅÔHÏD       SÔA MÏÉ         ÆÏÒ ÔHÉS ÔÅSÔ ª------------------------------------------------------------------ª ª         SUBÔÅSÔ ± - PÒÉNÔ                                        ª ª------------------------------------------------------------------ª       ÌDB B6       ÊSB S×ÒԬɠ   ÉS PU¦PÒ ÔÏ BÅ SUPPÒÅSSÅD?       ÊMP ÒS0·      ÏN-YÅS¬GÏÔÏ ÒÅAD SÅÃÔÉÏN ª        ÊSB PUØ.¬É    ÏÆÆ-NϬPÅÒÆÏÒM"PUØ"¬ANY SÅÒ ÅÒÒ?       ÊMP ÅÔ0·      YÅS ª        ÃÌA           NÏ       SÔA ÒÏÔA      SÅÔ ÒÏÔAÔÉÏN ÆAÃÔÏÒ ÔÏ 0       SÔA BÌÉ       ÉNDÉàÔHAÔ ÃÝ×<:6ÒDS AÒÅ ÔÏ BÅ BÌANK ª        ÊSB ÒB².¬É    ÆÅÅD¦ÒÅAD ÏNÅ BÌ ÃAÒD¬ÏK?       ÊMP ÅÔ0·      NÏ ª  PY0·  ÊSB PUY.¬É    YÅS¬PÅÒÆÏÒM"PUY"¬ANY SÅÒ ÅÒÒ?       ÊMP ÅÔ0·      YÅS ª        ÌDA ÒÏÔA      NϬPÒÅPAÒÅ PUBU ÆÒÏM HPA       SÔA SHÉÆÔ       ÌDA AÌ63       ÌDB D¸0       ÊSB AÒ²B.¬É       DÅÆ HPA       DÅÆ PUBU       DÅÆ SHÉÆÔ ª        ÌDA ×SÉND     ÉS ÌASÔ ÃÒD ÉN ×AÉÔ SÔAÔÉÏN?       ÃPA D±²       ÊMP ÌP0·      YÅS       ÊSB Ò×B².¬É   NÏ»PÒÉNÔ¦ÆÅÅD¬ÏK?       ÊMP ÅÔ0·      NÏ ª        ÌDA ÒÏÔA      YÅS       ÃPA D3        ÉS ÒÏÔ ÆAÃÔÏÒ½3?       ÊMP ª+3       YÅS       ÉSZ ÒÏÔA      NϬÉNÃÒÅMÅNÔ ÒÏÔ ÆAÃÔÏÒ       ÊMP PY0·      GÏÔÏ PÒÏÃÅSS NÅØÔ ÃAÒD       ÃÌA           ÒÅSÅÔ ÒÏÔ ÆAÃÔÏÒ ÔÏ 0       SÔA ÒÏÔA       ÊMP PY0·      GÏÔÏ PÒÏÃÅSS NÅØÔ ÃAÒD ª  ÌP0·  ÊSB ×ɲ.¬É    PÒÉNÔ¦ÉNHÉÆ¬ÏK?       ÊMP ÅÔ0·      NÏ ÆP0·  ÅÑU ª +<ÿÿ ÿý! ÿ12989-18007 1435 S 0147 DG-2894A RDR/PNCH              H0101 ð6þú       SKP ª------------------------------------------------------------------ª ª         SUBÔÅSÔ ² - ÒÅAD                                         ª ª------------------------------------------------------------------ª ÒS0·  ÌDB B5       ÊSB S×ÒԬɠ   ÉS ÒÅAD ÔÏ BÅ SUPPÒÅSSÅD?       ÊMP ÔSÔ0·¬É   ÏN-YÅS¬ÅØÉÔ ÆÒÏM ÔÅSÔ ª        ÊSB ÒDØ.¬É    ÏÆÆ-NϬPÅÒÆÏÒM"ÒDØ"¬ANY SÅÒ ÅÒÒ?       ÊMP ÅÔ0·      YÅS ª        ÃÌA           NÏ       SÔA ÒÏÔA      SÅÔ ÒÏÔAÔÉÏN ÆAÃÔÏÒ ÔÏ 0       ÃÃA       SÔA BÌÉ       ÃÒDS AÒÅ ÔÏ BÅ BÌANK BUÔ ª                                     DÏNÔ GÉVÅ ÅÒÒ MSG ABÏUÔ ÉÔ ÒY0·  ÌDA ÒÏÔA      ÌÏAD PUBU ×ÉÔH ÅØP DAÔA       SÔA SHÉÆÔ       ÌDA ZÅÒÏ       ÌDB D¸0       ÊSB AÒ²B.¬É       DÅÆ ZÅÒÏ       DÅÆ PUBU       DÅÆ SHÉÆÔ ª        ÊSB ÒA±.¬É    ÒÅAD ÏNÅ ÃAÒD¬ÏK?       ÊMP ÅÔ0·      NÏ ª        ÊSB ÒDY.¬É    YÅS¬PÅÒÆ"ÒDY"¬ANY SÅÒ ÅÒÒ?       ÊMP ÅÔ0·      YÅS ª        ÌDA ×SÉND     NÏ       ÃPA D±²       ÉS ÌASÔ ÃAÒD ÉN ×AÉÔ SÔAÔÉÏN?       ÊMP ÌÒ0·      YÅS ª        ÊMP ÒY0·      NϬGÏÔÏ PÒÏÃÅSS NÅØÔ ÃAÒD ª  ÌÒ0·  ÊSB ÆÉ±.¬É    ÒÅMÏVÅ ÌASÔ ÃAÒD ÆÒÏM × S¬ÏK?       ÊMP ÅÔ0·      NÏ       ÊMP ÔSÔ0·¬É   YÅS¬ÅØÉÔ ÆÒÏM ÔÅSÔ ª  ÅÔ0·  ÊSB ÅÒMS¬É    ÏUÔPUÔ Å05´       DÅÆ Å05´       ÊSB SÔÒÅ.¬É   ÃHÅÃK ÉÆ SÔAÔUS ÒÅPÏÒÔ ÒÅÑUÉÒÅD       ÊMP ÔSÔ0·¬É   ÅÒÒÏÒ ÅØÉÔ ÆÒÏM ÔÅSÔ       SKP ªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªª ª         ÔÅSÔ ¸                                                   ª ªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªª ª  ÔSÔ0¸ ÅÑU ª       NÏP       ÊSB ÃSM.¬É    ÃHÅÃK SÔAÃK ÃNÔÒÌ MÏDÅ       ÃÌA           DÅÔÅÒMÉNÅ ×AÉÔ -ÆÏÒ-ÆÌAG MÅÔHÏD       SÔA MÏÉ         ÆÏÒ ÔHÉS ÔÅSÔ ª------------------------------------------------------------------ª ª         SUBÔÅSÔ ± - PUNÃH AND PÒÉNÔ SÅPAÒAÔÅ DAÔA                ª ª------------------------------------------------------------------ª       ÌDB B6       ÊSB S×ÒԬɠ   ÉS PU¦PÒ ÔÏ BÅ SUPPÒÅSSÅD?       ÊMP ÒS0¸      ÏN-YÅS¬GÏÔÏþúÏ ÒÅAD SÅÃÔÉÏN ª        ÊSB PUØ.¬É    ÏÆÆ-NϬPÅÒÆÏÒM"PUØ"¬ANY SÅÒ ÅÒÒ?       ÊMP ÅÔ0¸      YÅS ª        ÃÌA           NÏ       SÔA ÒÏÔA      SÅÔ ÒÏÔAÔÉÏN ÆAÃÔÏÒ ÔÏ 0       SÔA BÌÉ       ÉNDÉàÔHAÔ ÃÒDS AÒÅ ÔÏ BÅ BÌANK ª        ÊSB ÒB².¬É    ÆÅÅD¦ÒÅAD ÏNÅ BÌ ÃAÒD¬ÏK?       ÊMP ÅÔ0¸      NÏ ª  PY0¸  ÊSB PUY.¬É    YÅS¬PÅÒÆÏÒM"PUY"¬ANY SÅÒ ÅÒÒ?       ÊMP ÅÔ0¸      YÅS ª        ÃÌA           NϬPÒÅPAÒÅ PUBU ÆÒÏM ÆUÌÌ       SÔA SHÉÆÔ       ÌDA ZÅÒÏ       ÌDB D¸0       ÊSB AÒ²B.¬É       DÅÆ ÆUÌÌ       DÅÆ PUBU       DÅÆ SHÉÆÔ ª        ÌDA ÒÏÔA       SÔA SHÉÆÔ       ÌDA AÌ63      PÒÅPAÒÅ PÒBU ÆÒÏM HPA       ÌDB D¸0       ÊSB AÒ²B.¬É       DÅÆ HPA       DÅÆ PÒBU       DÅÆ SHÉÆÔ ª        ÌDA ×SÉND     ÉS ÌASÔ ÃÒD ÉN ×AÉÔ SÔAÔÉÏN?       ÃPA D±²       ÊMP ÌP0¸      YÅS       ÊSB ÑSB².¬É   NÏ»PUNÃH¬PÒÉNÔ SÅP¦ÆÅÅD¬ÏK?       ÊMP ÅÔ0¸      NÏ ª        ÌDA ÒÏÔA      YÅS       ÃPA D3        ÉS ÒÏÔ ÆAÃÔÏÒ½3?       ÊMP ª+3       YÅS       ÉSZ ÒÏÔA      NϬÉNÃÒÅMÅNÔ ÒÏÔ ÆAÃÔÏÒ       ÊMP PY0¸      GÏÔÏ PÒÏÃÅSS NÅØÔ ÃAÒD       ÃÌA           ÒÅSÅÔ ÒÏÔ ÆAÃÔÏÒ ÔÏ 0       SÔA ÒÏÔA       ÊMP PY0¸      GÏÔÏ PÒÏÃÅSS NÅØÔ ÃAÒD ª  ÌP0¸  ÊSB PSɲ.¬É   PUNÃH¬PÒÉNÔ SÅP¦ÉNHÉÆ¬ÏK?       ÊMP ÅÔ0¸      NÏ ÆP0¸  ÅÑU ª ª  ª------------------------------------------------------------------ª ª         SUBÔÅSÔ ² - ÒÅAD                                         ª ª------------------------------------------------------------------ª ÒS0¸  ÌDB B5       ÊSB S×ÒԬɠ   ÉS ÒÅAD ÔÏ BÅ SUPPÒÅSSÅD?       ÊMP ÔSÔ0¸¬É   ÏN-YÅS¬ÅØÉÔ ÆÒÏM ÔÅSÔ ª        ÊSB ÒDØ.¬É    ÏÆÆ-NϬPÅÒÆÏÒM"ÒDØ"¬ANY SÅÒ ÅÒÒ?       ÊMP ÅÔ0¸      YÅS ª        ÃÃA       SÔA BÌÉ       ÉND ÃÒDS AÒÅ NÏÔ ÔÏ BÅ BÌANK ª  ÒY0¸  ÃÌA           ÌÏAD PUBU ×ÉÔH ÅØP DAÔA       SÔA SHÉÆÔ       ÌDA ZÅÒÏ       ÌDB D¸0       ÊSB AÒ²B.¬É       DÅÆ ÆUÌÌ       DÅÆ PUBU       DÅÆ SHÉÆÔ ª        ÊSB ÒA±.¬É    ÒÅAD ÏNÅ ÃAÒD¬ÏK?       ÊMP ÅÔ0¸      NÏ ª        ÊSB ÒDY.¬É    YÅS¬PÅÒÆ"ÒDY"¬ANY SÅÒ ÅÒÒ?       ÊMMêþúP ÅÔ0¸      YÅS ª        ÌDA ×SÉND     NÏ       ÃPA D±²       ÉS ÌASÔ ÃAÒD ÉN ×AÉÔ SÔAÔÉÏN?       ÊMP ÌÒ0¸      YÅS ª        ÊMP ÒY0¸      NϬGÏÔÏ PÒÏÃÅSS NÅØÔ ÃAÒD ª  ÌÒ0¸  ÊSB ÆÉ±.¬É    ÒÅMÏVÅ ÌASÔ ÃAÒD ÆÒÏM × S¬ÏK?       ÊMP ÅÔ0¸      NÏ       ÊMP ÔSÔ0¸¬É   YÅS¬ÅØÉÔ ÆÒÏM ÔÅSÔ ª  ÅÔ0¸  ÊSB ÅÒMS¬É    ÏUÔPUÔ Å05´       DÅÆ Å05´       ÊSB SÔÒÅ.¬É   ÃHÅÃK ÉÆ SÔAÔUS ÒÅPÏÒÔ ÒÅÑUÉÒÅD       ÊMP ÔSÔ0¸¬É   ÅÒÒÏÒ ÅØÉÔ ÆÒÏM ÔÅSÔ       SKP ªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªª ª         ÔÅSÔ 9                                                   ª ªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªª ª  ÔSÔ09 ÅÑU ª       NÏP       ÊSB ÃSM.¬É    ÃHÅÃK SÔAÃK ÃNÔÒÌ MÏDÅ       ÃÃA           DÅÔÅÒMÉNÅ ÉNÔÅÒÒUPÔ MÅÔHÏD       SÔA MÏÉ         ÆÏÒ ÔHÉS ÔÅSÔ ª------------------------------------------------------------------ª ª         SUBÔÅSÔ ± - PUNÃH AND AÔÔÅMPÔ ÔÏ PÒÉNÔ                   ª ª------------------------------------------------------------------ª       ÌDB B6       ÊSB S×ÒԬɠ   ÉS PU¦PÒ ÔÏ BÅ SUPPÒÅSSÅD?       ÊMP ÒS09      ÏN-YÅS¬GÏÔÏ ÒÅAD SÅÃÔÉÏN ª        ÊSB PUØ.¬É    ÏÆÆ-NϬPÅÒÆÏÒM"PUØ"¬ANY SÅÒ ÅÒÒ?       ÊMP ÅÔ09      YÅS ª        ÃÌA           NÏ       SÔA BÌÉ       ÉNDÉàÔHAÔ ÃÒDS AÒÅ ÔÏ BÅ BÌANK       ÌDA AÌMÆ.     GÅÔ AÌMÆ PÏÉNÔÅÒ       SÔA ÉP09 ª        ÊSB ÒB².¬É    ÆÅÅD¦ÒÅAD ÏNÅ BÌ ÃAÒD¬ÏK?       ÊMP ÅÔ09      NÏ ª  PY09  ÊSB PUY.¬É    YÅS¬PÅÒÆÏÒM"PUY"¬ANY SÅÒ ÅÒÒ?       ÊMP ÅÔ09      YÅS ª        ÃÌA           NϬPÒÅPAÒÅ PUBU ÆÒÏM AÌMÆ       SÔA SHÉÆÔ       ÌDA ZÅÒÏ       ÌDB D¸0       ÊSB AÒ²B.¬É ÉP09  NÏP       DÅÆ PUBU       DÅÆ SHÉÆÔ ª        ÌDA ×SÉND     ÉS ÌASÔ ÃÒD ÉN ×AÉÔ SÔAÔÉÏN?       ÃPA D±²       ÊMP ÌP09      YÅS       ÊSB Ñ×B².¬É   NÏ»PUNÃH¬PÒÉNÔ¦ÆÅÅD¬ÏK?       ÊMP ÅÔ09      NÏ ª        ÉSZ ÉP09      YÅS¬ÉNÃÒÅMÅNÔ AÌMÆ PÏÉNÔÅÒ       ÊMP PY09      GÏÔÏ PÒÏÃÅSS NÅØÔ ÃAÒD ª  ÌP09  ÊSB P×ɲ.¬É   PUNÃH¬PÒÉNÔ¦ÉNHÉÆ¬ÏK?       ÊMP ÅÔ09      NÏ ÆP09  ÅÑU ª   È\þú    SKP ª------------------------------------------------------------------ª ª         SUBÔÅSÔ ² - ÒÅAD                                         ª ª------------------------------------------------------------------ª ÒS09  ÌDB B5       ÊSB S×ÒԬɠ   ÉS ÒÅAD ÔÏ BÅ SUPPÒÅSSÅD?       ÊMP ÔSÔ09¬É   ÏN-YÅS¬ÅØÉÔ ÆÒÏM ÔÅSÔ ª        ÊSB ÒDØ.¬É    ÏÆÆ-NϬPÅÒÆÏÒM"ÒDØ"¬ANY SÅÒ ÅÒÒ?       ÊMP ÅÔ09      YÅS ª        ÃÃA       SÔA BÌÉ       ÉND ÃÒDS AÒÅ NÏÔ ÔÏ BÅ BÌANK       ÌDA AÌMÆ.     GÅÔ AÌMÆ PÏÉNÔÅÒ       SÔA ÉÒ09 ª  ÒY09  ÃÌA           ÌÏAD PUBU ×ÉÔH ÅØP DAÔA       SÔA SHÉÆÔ       ÌDA ZÅÒÏ       ÌDB D¸0       ÊSB AÒ²B.¬É ÉÒ09  NÏP       DÅÆ PUBU       DÅÆ SHÉÆÔ ª        ÊSB ÒA±.¬É    ÒÅAD ÏNÅ ÃAÒD¬ÏK?       ÊMP ÅÔ09      NÏ ª        ÊSB ÒDY.¬É    YÅS¬PÅÒÆ"ÒDY"¬ANY SÅÒ ÅÒÒ?       ÊMP ÅÔ09      YÅS ª        ÌDA ×SÉND     NÏ       ÃPA D±²       ÉS ÌASÔ ÃAÒD ÉN ×AÉÔ SÔAÔÉÏN?       ÊMP ÌÒ09      YÅS ª        ÉSZ ÉÒ09      NϬÉNÃÒÅMÅNÔ AÌMÆ PÏÉNÔÅÒ       ÊMP ÒY09      GÏÔÏ PÒÏÃÅSS NÅØÔ ÃAÒD ª  ÌÒ09  ÊSB ÆÉ±.¬É    ÒÅMÏVÅ ÌASÔ ÃAÒD ÆÒÏM × S¬ÏK?       ÊMP ÅÔ09      NÏ       ÊMP ÔSÔ09¬É   YÅS¬ÅØÉÔ ÆÒÏM ÔÅSÔ ª  ÅÔ09  ÊSB ÅÒMS¬É    ÏUÔPUÔ Å05´       DÅÆ Å05´       ÊSB SÔÒÅ.¬É   ÃHÅÃK ÉÆ SÔAÔUS ÒÅPÏÒÔ ÒÅÑUÉÒÅD       ÊMP ÔSÔ09¬É   ÅÒÒÏÒ ÅØÉÔ ÆÒÏM ÔÅSÔ       SKP ªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªª ª         ÔÅSÔ ±0                                                  ª ªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªª ª  ÔSÔ±0 ÅÑU ª       NÏP       ÊSB ÃSM.¬É    ÃHÅÃK SÔAÃK ÃNÔÒÌ MÏDÅ       ÃÌA           DÅÔÅÒMÉNÅ ×AÉÔ -ÆÏÒ-ÆÌAG MÅÔHÏD       SÔA MÏÉ         ÆÏÒ ÔHÉS ÔÅSÔ ª------------------------------------------------------------------ª ª         SUBÔÅSÔ ± - PUNÃH AND AÔÔÅMPÔ ÔÏ PÒÉNÔ SÅPAÒAÔÅ DAÔA     ª ª------------------------------------------------------------------ª       ÌDB B6       ÊSB S×ÒԬɠ   ÉS PU¦PÒ ÔÏ BÅ SUPPÒÅSSÅD?       ÊMP ÒS±0      ÏN-YÅS¬GÏÔÏ ÒÅAD SÅÃÔÉÏN ª        ÊSB PUØ.¬É  ]hþú  ÏÆÆ-NϬPÅÒÆÏÒM"PUØ"¬ANY SÅÒ ÅÒÒ?       ÊMP ÅÔ±0      YÅS ª        ÃÌA           NÏ       SÔA ÒÏÔA      SÅÔ ÒÏÔAÔÉÏN ÆAÃÔÏÒ ÔÏ 0       SÔA BÌÉ       ÉNDÉàÔHAÔ ÃÒDS AÒÅ ÔÏ BÅ BÌANK ª        ÊSB ÒB².¬É    ÆÅÅD¦ÒÅAD ÏNÅ BÌ ÃAÒD¬ÏK?       ÊMP ÅÔ±0      NÏ ª  PY±0  ÊSB PUY.¬É    YÅS¬PÅÒÆÏÒM"PUY"¬ANY SÅÒ ÅÒÒ?       ÊMP ÅÔ±0      YÅS ª        ÌDA ÒÏÔA      NϬPÒÅPAÒÅ PUBU ÆÒÏM ×ÃPA       SÔA SHÉÆÔ       ÌDA AÌ39       ÌDB D¸0       ÊSB AÒ²B.¬É       DÅÆ ×ÃPA       DÅÆ PUBU       DÅÆ SHÉÆÔ ª        ÌDA D±9       PÒÅPAÒÅ PÒBU ÆÒÏM SÃHB       ÌDB D¸0       ÊSB AÒ²B.¬É       DÅÆ SÃHB       DÅÆ PÒBU       DÅÆ SHÉÆÔ ª        ÌDA ×SÉND     ÉS ÌASÔ ÃÒD ÉN ×AÉÔ SÔAÔÉÏN?       ÃPA D±²       ÊMP ÌP±0      YÅS       ÊSB ÑSB².¬É   NÏ»PUNÃH¬AÔMPÔ PÒ SÅP¦ÆÅÅD¬ÏK?       ÊMP ÅÔ±0      NÏ ª        ÊMP PY±0      YÅS¬GÏÔÏ PÒÏÃÅSS NÅØÔ ÃAÒD ª  ÌP±0  ÊSB PSɲ.¬É   PUNÃH¬AÔMPÔ PÒ SÅP¦ÉNHÉÆ¬ÏK?       ÊMP ÅÔ±0      NÏ ÆP±0  ÅÑU ª       SKP ª------------------------------------------------------------------ª ª         SUBÔÅSÔ ² - ÒÅAD                                         ª ª------------------------------------------------------------------ª ÒS±0  ÌDB B5       ÊSB S×ÒԬɠ   ÉS ÒÅAD ÔÏ BÅ SUPPÒÅSSÅD?       ÊMP ÔSÔ±0¬É   ÏN-YÅS¬ÅØÉÔ ÆÒÏM ÔÅSÔ ª        ÊSB ÒDØ.¬É    ÏÆÆ-NϬPÅÒÆÏÒM"ÒDØ"¬ANY SÅÒ ÅÒÒ?       ÊMP ÅÔ±0      YÅS ª        ÃÌA           NÏ       SÔA ÒÏÔA      SÅÔ ÒÏÔAÔÉÏN ÆAÃÔÏÒ ÔÏ 0       ÃÃA       SÔA BÌÉ       ÉND ÃÒDS AÒÅ NÏÔ ÔÏ BÅ BÌANK ª  ÒY±0  ÌDA ÒÏÔA      ÌÏAD PUBU ×ÉÔH ÅØP DAÔA       SÔA SHÉÆÔ       ÌDA AÌ39       ÌDB D¸0       ÊSB AÒ²B.¬É       DÅÆ ×ÃPA       DÅÆ PUBU       DÅÆ SHÉÆÔ ª        ÊSB ÒA±.¬É    ÒÅAD ÏNÅ ÃAÒD¬ÏK?       ÊMP ÅÔ±0      NÏ ª        ÊSB ÒDY.¬É    YÅS¬PÅÒÆ"ÒDY"¬ANY SÅÒ ÅÒÒ?       ÊMP ÅÔ±0      YÅS ª        ÌDA ×SÉND     NÏ       ÃPA D±²       ÉS ÌASÔ ÃAÒD ÉN ×AÉÔ SÔAÔÉÏN?       ÊMP ÌÒ±0      YÅS ª        ÊMP ÒY±0      NϬGÏÔÏ PÒÏÃÅSS NÅØÔ ÃAÒD ª  ÌÒ±0  ÊSB ÆÉ±.¬É    ÒÅMÏVÅ ÌASÔ ÃAÒD ÆÒÏM × S¬Á-þúÏK?       ÊMP ÅÔ±0      NÏ       ÊMP ÔSÔ±0¬É   YÅS¬ÅØÉÔ ÆÒÏM ÔÅSÔ ª  ÅÔ±0  ÊSB ÅÒMS¬É    ÏUÔPUÔ Å05´       DÅÆ Å05´       ÊSB SÔÒÅ.¬É   ÃHÅÃK ÉÆ SÔAÔUS ÒÅPÏÒÔ ÒÅÑUÉÒÅD       ÊMP ÔSÔ±0¬É   ÅÒÒÏÒ ÅØÉÔ ÆÒÏM ÔÅSÔ       SKP       ÏÒG ±²000B ªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªª ª         ÔÅSÔ ±±                                                  ª ªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªª ª  ÔSÔ±± ÅÑU ª       NÏP       ÊSB ÃSM.¬É    ÃHÅÃK SÔAÃK ÃNÔÒÌ MÏDÅ       ÃÃA           DÅÔÅÒMÉNÅ ÉNÔÅÒÒUPÔ MÅÔHÏD       SÔA MÏÉ         ÆÏÒ ÔHÉS ÔÅSÔ ª------------------------------------------------------------------ª ª         SUBÔÅSÔ ± - PUNÃH AND AÔÔÅMPÔ ÔÏ PÒÉNÔ                   ª ª------------------------------------------------------------------ª       ÌDB B6       ÊSB S×ÒԬɠ   ÉS PU¦PÒ ÔÏ BÅ SUPPÒÅSSÅD?       ÊMP ÒS±±      ÏN-YÅS¬GÏÔÏ ÒÅAD SÅÃÔÉÏN ª        ÊSB PUØ.¬É    ÏÆÆ-NϬPÅÒÆÏÒM"PUØ"¬ANY SÅÒ ÅÒÒ?       ÊMP ÅÔ±±      YÅS ª        ÃÌA           NÏ       SÔA ÒÏÔA      SÅÔ ÒÏÔAÔÉÏN ÆAÃÔÏÒ ÔÏ 0       SÔA BÌÉ       ÉNDÉàÔHAÔ ÃÒDS AÒÅ ÔÏ BÅ BÌANK ª        ÊSB ÒB².¬É    ÆÅÅD¦ÒÅAD ÏNÅ BÌ ÃAÒD¬ÏK?       ÊMP ÅÔ±±      NÏ ª  PY±±  ÊSB PUY.¬É    YÅS¬PÅÒÆÏÒM"PUY"¬ANY SÅÒ ÅÒÒ?       ÊMP ÅÔ±±      YÅS ª        ÌDA ÒÏÔA      NϬPÒÅPAÒÅ PUBU ÆÒÏM SÃHB       SÔA SHÉÆÔ       ÌDA D±9       ÌDB D¸0       ÊSB AÒ²B.¬É       DÅÆ SÃHB       DÅÆ PUBU       DÅÆ SHÉÆÔ ª        ÌDA ×SÉND     ÉS ÌASÔ ÃÒD ÉN ×AÉÔ SÔAÔÉÏN?       ÃPA D±²       ÊMP ÌP±±      YÅS       ÊSB Ñ×B².¬É   NÏ»PUNÃH AÔMPÔ PÒ¦ÆÅÅD¬ÏK?       ÊMP ÅÔ±±      NÏ ª        ÊMP PY±±      YÅS¬GÏÔÏ PÒÏÃÅSS NÅØÔ ÃAÒD ª  ÌP±±  ÊSB P×ɲ.¬É   PUNÃH AÔMPÔ PÒ¦ÉNHÉÆ¬ÏK?       ÊMP ÅÔ±±      NÏ ÆP±±  ÅÑU ª       SKP ª------------------------------------------------------------------ª ª         SUBÔÅSÔ ² - ÒÅAD                                         ª ª------------------------------------------------------------------ª ÒS±±  ÌDB B5       ÊSB S×ÒԬɠ á£þú  ÉS ÒÅAD ÔÏ BÅ SUPPÒÅSSÅD?       ÊMP ÔSÔ±±¬É   ÏN-YÅS¬ÅØÉÔ ÆÒÏM ÔÅSÔ ª        ÊSB ÒDØ.¬É    ÏÆÆ-NϬPÅÒÆÏÒM"ÒDØ"¬ANY SÅÒ ÅÒÒ?       ÊMP ÅÔ±±      YÅS ª        ÃÌA           NÏ       SÔA ÒÏÔA      SÅÔ ÒÏÔAÔÉÏN ÆAÃÔÏÒ ÔÏ 0       ÃÃA       SÔA BÌÉ       ÉND ÃÒDS AÒÅ NÏÔ ÔÏ BÅ BÌANK ª  ÒY±±  ÌDA ÒÏÔA      ÌÏAD PUBU ×ÉÔH ÅØP DAÔA       SÔA SHÉÆÔ       ÌDA D±9       ÌDB D¸0       ÊSB AÒ²B.¬É       DÅÆ SÃHB       DÅÆ PUBU       DÅÆ SHÉÆÔ ª        ÊSB ÒA±.¬É    ÒÅAD ÏNÅ ÃAÒD¬ÏK?       ÊMP ÅÔ±±      NÏ ª        ÊSB ÒDY.¬É    YÅS¬PÅÒÆ"ÒDY"¬ANY SÅÒ ÅÒÒ?       ÊMP ÅÔ±±      YÅS ª        ÌDA ×SÉND     NÏ       ÃPA D±²       ÉS ÌASÔ ÃAÒD ÉN ×AÉÔ SÔAÔÉÏN?       ÊMP ÌÒ±±      YÅS ª        ÊMP ÒY±±      NϬGÏÔÏ PÒÏÃÅSS NÅØÔ ÃAÒD ª  ÌÒ±±  ÊSB ÆÉ±.¬É    ÒÅMÏVÅ ÌASÔ ÃAÒD ÆÒÏM × S¬ÏK?       ÊMP ÅÔ±±      NÏ       ÊMP ÔSÔ±±¬É   YÅS¬ÅØÉÔ ÆÒÏM ÔÅSÔ ª  ÅÔ±±  ÊSB ÅÒMS¬É    ÏUÔPUÔ Å05´       DÅÆ Å05´       ÊSB SÔÒÅ.¬É   ÃHÅÃK ÉÆ SÔAÔUS ÒÅPÏÒÔ ÒÅÑUÉÒÅD       ÊMP ÔSÔ±±¬É   ÅÒÒÏÒ ÅØÉÔ ÆÒÏM ÔÅSÔ       SKP ªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªª ª         ÔÅSÔ ±² - ÏPÅÒAÔÏÒ DÅSÉGN                                ª ªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªª ª  ÔSÔ±² ÅÑU ª       NÏP       ÊSB ÃSM.¬É    ÃHÅÃK SÔAÃK ÃNÔÒÌ MÏDÅ       ÃÃA           DÅÔÅÒMÉNÅ ÉNÔÅÒÒUPÔ MÅÔHÏD       SÔA MÏÉ         ÆÏÒ ÏPÅÒAÔÏÒ DÅSÉGN ª        ÃÌA           PÒÅPAÒÅ PUBU ÆÒÏM ÆUÌÌ(BUÆ Ø©       SÔA SHÉÆÔ       ÌDA ZÅÒÏ       ÌDB D¸0       ÊSB AÒ²B.¬É       DÅÆ ÆUÌÌ       DÅÆ PUBU       DÅÆ SHÉÆÔ ª        ÃÌA           PÒÅPAÒÅ PÒBU ÆÒÏM HPA(BUÆ Y©       SÔA SHÉÆÔ       ÌDA AÌ63       ÌDB D¸0       ÊSB AÒ²B.¬É       DÅÆ HPA       DÅÆ PÒBU       DÅÆ SHÉÆÔ ª        ÊSB MSGìɠ   ÏUÔPUÔ H±±5       DÅÆ H±±5 ׯÃM  ÊSB MSGH¬É    ÏUÔPUÔ H±±6 AND ×AÉÔ ÆÏÒ ÃMND       DÅÆ H±±6       ÃÌA       SÔA ×SÉND     SÅÔ ×SÉND ÔÏ 0       ÌÉA S×        ÏÆÆ-NÏ       AND ÃMSK       ÃPA ÃM0       ÒÅAD ÉN Ø?       ÊMP ÃMÒA      ðþúYÅS       ÃPA ÃM±       NÏ»ÒÅAD ÉN Y?       ÊMP ÃMÒB      YÅS       ÃPA ÃM²       NÏ»DÉSPÌAY Ø?       ÊMP ÃMDA      YÅS       ÃPA ÃM3       NÏ»DÉSPÌAY Y?       ÊMP ÃMDB      YÅS       ÃPA ÃM´       NÏ»PUNÃH ÆÒÏM Ø?       ÊMP ÃMPU      YÅS       ÃPA ÃM5       NÏ»PÒÉNÔ ÆÒÏM Ø?       ÊMP ÃMPÒ      YÅS       ÃPA ÃM6       NÏ»PUNÃH¦PÒÉN ÆÒÏM Ø?       ÊMP ÃMPP      YÅS       ÃPA ÃM·       NÏ»PUNÃH¦PÒÉNÔ SÅP ÆÒÏM Ø¦Y?       ÊMP ÃMPPS     YÅS       ÃPA ÃM±0      NÏ»SÔAÔUS ÒÅPÏÒÔ?       ÊMP ÃSÒÅ      YÅS       ÃPA ÃM±±      NÏ»ÅØÉÔ?       ÊMP ÃÅØ       YÅS       ÊSB MSGìɠ   NϬÉNPUÔ ÅÒÒ¬ÏUÔPUÔ H±²±       DÅÆ H±²±       ÊMP ×ÆÃM      GÏÔÏ ×AÉÔ ÆÏÒ ÃÏÒÒÅÃÔ ÏÒDÅÒ ª  ÃMÒA  ÊSB MSGìɠ   ÏUÔPUÔ Ã0       DÅÆ Ã0 Ã0Ò   ÉSZ ×SÉND       NÏP       ÊSB ÒA±.¬É    ÒÅAD ÏNÅ ÃAÒD¬ÏK?       ÊMP ÅÒÃÅ      NϬGÏÔÏ ÒÅPÏÒÔ ÅÒÒ ÉÆ ÆÅÅD NÏÔÏK       ÃÌA           YÅS¬ÔÒANSÆÅÒ(ÒDBU©ÔÏ PUBU½BUÆ A       SÔA SHÉÆÔ       ÌDA D·9       ÌDB D¸0       ÊSB AÒ²B.¬É       DÅÆ ÒDBU       DÅÆ PUBU       DÅÆ SHÉÆÔ       ÊSB ÆÉ±.¬É    ÒÅMÏVÅ ÃAÒD ÆÒÏM × S¬ÏK?       ÊMP ÅÒÃÅ      NϬGÏÔÏ ÒÅP ÅÒÒ ÉÆ ÆD NÏÔ ÏK       ÌDB B´        ÉS ÒÅPÅÔÉÔÉÏN ÒÅÑUÉÒÅD?       ÊSB S×ÒÔ¬É       ÊMP Ã0Ò       ÏN-YÅS¬ÅØÅàÏÒDÅÒ AGAÉN       ÊMP ×ÆÃM      ÏÆÆ-NϬGÏÔÏ ×AÉÔ ÆÏÒ NÅ× ÏÒDÅÒ ª  ÃMÒB  ÊSB MSGìɠ   ÏUÔPUԠñ       DÅÆ Ã± ñҠ  ÉSZ ×SÉND       NÏP       ÊSB ÒA±.¬É    ÒÅAD ÏNÅ ÃAÒD¬ÏK?       ÊMP ÅÒÃÅ      NϬGÏÔÏ ÒÅPÏÒÔ ÅÒÒ ÉÆ ÆD NÏÔ ÏK       ÃÌA           YÅS¬ÔÒANSÆÅÒ(ÒDBU©ÔÏ PÒBU½BUÆ B       SÔA SHÉÆÔ       ÌDA D·9       ÌDB D¸0       ÊSB AÒ²B.¬É       DÅÆ ÒDBU       DÅÆ PÒBU       DÅÆ SHÉÆÔ       ÊSB ÆÉ±.¬É    ÒÅMÏVÅ ÃAÒD ÆÒÏM × S¬ÏK?       ÊMP ÅÒÃÅ      NϬGÏÔÏ ÒÅP ÅÒÒ ÉÆ ÆD NÏÔ ÏK       ÌDB B´        ÉS ÒÅPÅÔÉÔÉÏN ÒÅÑUÉÒÅD?       ÊSB S×ÒÔ¬É       ÊMP Ã±Ò       ÏN-YÅS¬ÅØÅàÏÒDÅÒ AGAÉN       ÊMP ×ÆÃM      ÏÆÆ-NϬGÏÔÏ ×AÉÔ ÆÏÒ NÅ× ÏÒDÅÒ ª  ÃMDA  ÊSB MSGìɠ   ÏUÔPUԠò       DÅÆ Ã² òҠ  ÊSB MSGìɠ   ÏUÔPUÔ H±±·       DÅÆ H±±·       ÌDA PUBUA     ÌÏAD PUBU½ÂþúBUÆ A PÏÉNÔÅÒ       ÊSB ÏÃÏ.¬É       ÌDB B´        ÉS ÒÅPÅÔÉÔÉÏN ÒÅÑUÉÒÅD?       ÊSB S×ÒÔ¬É       ÊMP Ã²Ò       ÏN-YÅS¬ÅØÅàÏÒDÅÒ AGAÉN       ÊMP ×ÆÃM      ÏÆÆ-NϬGÏÔÏ ×AÉÔ ÆÏÒ NÅ× ÏÒDÅÒ ª  ÃMDB  ÊSB MSGìɠ   ÏUÔPUÔ Ã3       DÅÆ Ã3 Ã3Ò   ÊSB MSGìɠ   ÏUÔPUÔ H±²0       DÅÆ H±²0       ÌDA PÒBUA     ÌÏAD PÒBU½BUÆ B PÏÉNÔÅÒ       ÊSB ÏÃÏ.¬É       ÌDB B´        ÉS ÒÅPÅÔÉÔÉÏN ÒÅÑUÉÒÅD?       ÊSB S×ÒÔ¬É       ÊMP Ã3Ò       ÏN-YÅS¬ÅØÅàÏÒDÅÒ AGAÉN       ÊMP ×ÆÃM      ÏÆÆ-NϬGÏÔÏ ×AÉÔ ÆÏÒ NÅ× ÏÒDÅÒ ª  ÃMPU  ÊSB MSGìɠ   ÏUÔPUԠô       DÅÆ Ã´ ôҠ  ÉSZ ×SÉND       NÏP       ÊSB ÒB².¬É    ÆÅÅD ± ÃAÒD ÉN × S¬ÏK?       ÊMP ÅÒÃÅ      NϬGÏÔÏ ÒÅP ÅÒÒ ÉÆ ÆD NÏÔ ÏK       ÊSB Pɲ.¬É    YÅS¬PUNÃH ÃÒD ÆÒÏM A¬ÏK?       ÊMP ÅÒÃÅ      NϬGÏÔÏ ÒÅP ÅÒÒ ÉÆ ÆD NÏÔ ÏK       ÌDB B´        ÉS ÒÅPÅÔÉÔÉÏN ÒÅÑUÉÒÅD?       ÊSB S×ÒÔ¬É       ÊMP Ã´Ò       ÏN-YÅS¬ÅØÅàÏÒDÅÒ AGAÉN       ÊMP ×ÆÃM      ÏÆÆ-NϬGÏÔÏ ×AÉÔ ÆÏÒ NÅ× ÏÒDÅÒ ª  ÃMPÒ  ÊSB MSGìɠ   ÏUÔPUÔ Ã5       DÅÆ Ã5 Ã5Ò   ÉSZ ×SÉND       NÏP       ÊSB ÒB².¬É    ÆÅÅD ± ÃAÒD ÉN × S¬ÏK?       ÊMP ÅÒÃÅ      NϬGÏÔÏ ÒÅP ÅÒÒ ÉÆ ÆD NÏÔ ÏK       ÊSB ×ɲ.¬É    YÅS¬PÒÉNÔ ÃAÒD ÆÒÏM A¬ÏK?       ÊMP ÅÒÃÅ      NϬGÏÔÏ ÒÅP ÅÒÒ ÉÆ ÆD NÏÔ ÏK       ÌDB B´        ÉS ÒÅPÅÔÉÔÉÏN ÒÅÑUÉÒÅD?       ÊSB S×ÒÔ¬É       ÊMP Ã5Ò       ÏN-YÅS¬ÅØÅàÏÒDÅÒ AGAÉN       ÊMP ×ÆÃM      ÏÆÆ-NϬGÏÔÏ ×AÉÔ ÆÏÒ NÅ× ÏÒDÅÒ ª  ÃMPP  ÊSB MSGìɠ   ÏUÔPUÔ Ã6       DÅÆ Ã6 Ã6Ò   ÉSZ ×SÉND       NÏP       ÊSB ÒB².¬É    ÆÅÅD ± ÃAÒD ÉN × S¬ÏK?       ÊMP ÅÒÃÅ      NϬGÏÔÏ ÒÅP ÅÒÒ ÉÆ ÆD NÏÔ ÏK       ÊSB P×ɲ.¬É   YÅS¬PUNÃH¦PÒÉNÔ ÃAÒD ÆÒÏM A       ÊMP ÅÒÃÅ      NϬGÏÔÏ ÒÅP ÅÒÒ ÉÆ ÆD NÔ ÏK       ÌDB B´        ÉS ÒÅPÅÔÉÔÉÏN ÒÅÑUÉÒÅD?       ÊSB S×ÒÔ¬É       ÊMP Ã6Ò       ÏN-YÅS¬ÅØÅàÏÒDÅÒ AGAÉN       ÊMP ×ÆÃM      ÏÆÆ-NϬGÏÔÏ ×AÉÔ ÆÏÒ NÅ× ÏÒDÅÒ ª  ÃMPPS ÊSB MSGìɠ   ÏUÔPUԠ÷       DÅÆ Ã· ÷Ҡ  ÉSZ ×SÉND       NÏP       ÊSB ÒB².¬É    ÆÅÅD ± ÃAÒD ÉN × S¬ÏK?       ÊMP ÅÒÃÅ      NϬGÏÔÏ ÒÅP ÅÒÒ ÉÆ ÆD NÏÔ ÏK       ÊSB PSɲ.¬É   YÅS¬PUNÃH¦PÒÉNÔ ÃAÒD SÅPNU<:6 ÆÒ A¦B       ÊMP ÅÒÃÅ      NϬGÏÔÏ ÒÅP ÅÒÒ ÉÆ ÆD NÏÔ ÏK       ÌDB B´        ÉS ÒÅPÅÔÉÔÉÏN ÒÅÑUÉÒÅD?       ÊSB S×ÒÔ¬É       ÊMP Ã·Ò       ÏN-YÅS¬ÅØÅàÏÒDÅÒ AGAÉN       ÊMP ×ÆÃM      ÏÆÆ-NϬGÏÔÏ ×AÉÔ ÆÏÒ NÅ× ÏÒDÅÒ ª  ÃSÒÅ  ÊSB MSGìɠ   ÏUÔPUԠñ0       DÅÆ Ã±0 ñ0Ò  ÊSB SÔA.¬É    ÒÅPÏÒÔ SÔAÔUS       ÌDB B´        ÉS ÒÅPÅÔÉÔÉÏN ÒÅÑUÉÒÅD?       ÊSB S×ÒÔ¬É       ÊMP Ã±0Ò      ÏN-YÅS¬ÅØÅàÏÒDÅÒ AGAÉN       ÊMP ×ÆÃM      ÏÆÆ-NϬGÏÔÏ ×AÉÔ ÆÏÒ NÅ× ÏÒDÅÒ ª  ÃÅØ   ÊSB MSGìɠ   ÏUÔPUԠñ±       DÅÆ Ã±±       ÊMP ÔSÔ±²¬É ª  ÅÒÃÅ  ÊSB ÅÒMS¬É    ÏUÔPUԠű²²       DÅÆ Å±²²       ÊMP ×ÆÃM ª  ª  ª  Æ×AA  ÅÑU ª       ÅND ™?<ÿÿ ÿý" ÿ12989-18008 1449 S 0122 HP 2894A DOS III B - DVR 34             H0101 œ,þú ASMB¬B¬Ì¬Ô¬Ã       HÅD ªªªªªDVÒ3´:  A DÏS  DÒÉVÅÒ ÆÏÒ ÔHÅ HP²¸9´ªªªªª       NAM DVÒ3´¬´       ÅNÔ É.3´¬Ã.3´ É.3´  NÏP       ÌDB É.3´   GÅÔ ÒÅÔÒUN ADDÒÅSS       SÔB Ã.3´   AND SÔÏÒÅ ÉÔ A×AY       ÌDB .3     SÅÔ ÃÏDÅ ÆÏÒ BAD ÃÏMPÌÅÔÉÏN       SÔB BADÃÏ  SÔÏÒÅ ÉÔ A×AY       ÉNB        SÅÔ ÃÏDÅ ÆÏÒ GÏÏD ÃÏMPÌÅÔÉÏN       SÔB ÏKÃÏM  SÔÏÒÅ ÉÔ A×AY       ÊSB SÅÔÉÏ  ÃÏNÆÉGUÒÅ ÉÏ ÉNSÔÒUÃÔÉÏNS       ÊSB SÔAÔS  GÅÔ SÔAÔUS AND ÃHÅÃK ÒÅADY       ÌDA ÅÑÔ9¬É ÃHÅÃK ÒÅÑUÅSÔ ÃÏDÅ       AND .±·B   ÉSÏÌAÔÅ ÆUNÃÔÉÏN ÆÉÅÌD       ÃPA .±     ÉS ÉÔ A ÒÅAD?       ÊMP ÉÒÅAD  YÅS   GÏ SÔAÒÔ ÒÅAD       ÃPA .²     ÉS ÉÔ A ×ÒÉÔÅ?       ÊMP É×ÒÉÔ  YÅS  GÏ SÔAÒÔ ×ÒÉÔÅ ª  ª        ÃÏNÔÒÏÌ ÒÅÑUÅSÔ PÒÏÃÅSSÏÒ ª  ÉÃÔÒÌ ÌDA ÅÑÔ9¬É       AÌÆ¬AÌÆ    GÅÔ ÆUNÃÔÉÏN ÃÏDÅ       ÒA̬ÒAÌ    ÉN ÒÉGHÔ MÏSÔ BÉÔS       AND .±·B   AND ÃÌÅAN ÏUÔ ÒÅSÔ ÏÆ ×ÏÒD       SZA¬ÒSS    ÉS ÉÔ A ÃÌÅAÒ?o       ÊMP ÃÌÅAÒ  YÅS   ÔHÅN GÏ ÃÌÅAÒ       ÃPA .6     ÉS ÉÔ A DYNAMÉàSÔAÔUS ÒÅÑUÅSÔ?       ÊMP DYNSÔ  YÅS   GÏ GÅÔ SÔAÔUS       ÃPA .·     ÉS ÉÔ A SÅÔ ÅÏÔ?       SÔA ÅÑÔ6¬É YÅS¬ ÔHÅN SÅÔ ÆÉÒSÔ ÔÉMÅ ÏÒ ÅÒÒÏÒ BÉÔ       ÃPA .±·B   ÉS ÉÔ AN ÅØÔÅNDÅD ÆUNÃÔÉÏN ÒÅÑUÅSÔ?       ÊMP ÅØÆUN  YÅS   GÏ GÅÔ ÅØÔÅNDÅD ÆUNÃÔÉÏN. ÉÏKÅØ ÌDA ÏKÃÏM  GÏÏD ÅØÉÔ ÉÅØÉÔ ÊMP É.3´¬É ª  ª     ÃÌÅAÒ ÒÅÑUÅSÔ PÒÏÃÅSSÏÒ ÃÌÅAÒ ÃÌA        ÃÌÅAN ÏUÔ ÉNÔÅÒNAÌ ÆÌAGS ×ÏÒD UPÏN ÃÌÅAÒ       SÔA ÅÑÔ±´¬É ZÅÒÏ ÏUÔ ÔÒANSMÉSSÉÏN ÌÏG ÃÌÒ×S ÉÏÒ .BÉÔÆ  ÃÏMÅ HÅÒÅ ÔÏ ÃÌÅAÒ ÔHÅ ×AÉÔ SÔAÔÉÏN       SÔA ÅÑÔ6¬É AND SÔÏÒÅ ÉÔ ÉNÔÏ ÉNÔÅÒNAÌ ÆÌAGS       ÃÌB        SÅÔ UP ÆÏÒ PÌAÉN ÆÅÅD ÉÆÅÃÏ ÊSB ÆÅÅD   GÏ ÆÅÅD       ÊMP ÃÆÏMÉ  AND GÏ ÃÌÅAÒ ÃÏNÔÒÏÌ ÔÏ SÔÏP ÆÅÅD ª  ª     DYNAMÉàSÔAÔUS PÒÏÃÅSSÏÒ ª  DYNSÔ ÌDA ÒÑÃNÔ  ÌÏAD NÏ. ÏÆ PAÒMS       ÃPA .´     DÏÅS NÏ ÏÆ PAÒMS ½  ´?       ÊMP DYNÏK  YÅS  ÔHÅN ÃÏNÔÉNUÅ ÉBADØ ÌDA .²     NÏ ÔHÅN ÉÔ ÉS ÉMPÒÏPÅÒ       ÊMP ÉÅØÉÔ  AND GÏ ÅØÉÔ DYNÏK ÌDA ÅÑÔ5¬É GÅÔ ÔHÅ SÔAÔUS       ÌDB ÅÑÔ±±¬É GÅÔ ÔHÅ ADDÒ. ÏÆ ×HÅÒÅ ÉÔ GÏÅS       SÔA B¬É    AND SÔÏÒÅ ÉÔ A×AY       ÊMP ÉÏKÅØ  GÏ ÅØÉÔ GÏÏD.       SKP ª  ª     ÅØÔÅNDÅD ÆUNÃÔÉÏN 2‡þúPÒÏÃÅSSÏÒ ª  ÅØÆUN ÌDB ÅÑÔ±0¬É GÅÔ ÅØÔÅNDÅD ÆUNÃÔÉÏN ÃÏDÅ       ÌDA ÅÑÔ6¬É  GÅÔ ÉNÔÅÒNAÌ ÆÌAGS ×ÏÒD       SZB¬ÒSS     ÉÆ ÉÔ ÉS A ÆÅÅD ÒÅÑUÅSÔ       ÊMP ÉÆÅDÏ   ÔHÅN GÏ ÆÅÅD       ÃPB .±      ÉS ÉÔ SÅÔ SÔAÃKÅÒ SÅÌÅÃÔ MÏDÅ?       ÊMP SSMÏD   YÅS  ÔHÅN GÏ SÅÔ ÔHÅ MÏDÅ       ÃPB .²      ÉS ÉÔ SÅÔ SÔAÃKÅÒ ÏVÅÒÆÌÏ× MÏDÅ? SÏMÏD ÉÏÒ .BÉÔÅ   YÅS¬ ÔHÅN SÅÔ SÔAÃKÅÒ ÏVÅÒÆÌÏ× MÏDÅ       ÃPB .3      ÉS ÉÔ AN ÉNHÉBÉÔ ÉNPUÔ ÒÅÑÅSÔ? ÉNHÉN ÉÏÒ .BÉÔÆ   YÅS¬ ÔHÅN SÅÔ BÉÔ ±5¬ÔHÅ ÉNHÉBÉÔ ÉNPUÔ BÉÔ       ÃPB .´      ÅNABÌÅ PUNÃHÉNG ÏN PUNÃHÅD ÃAÒDS? ÅNPÏP ÉÏÒ .BÉÔD   YÅS¬ ÔHÅN SÅÔ BÉÔ ±3¬ ÔHÅ PÏP BÉÔ.       ÃPB .5       ÉS ÉÔ A ÒÅÑUÅSÔ ÔÏ ÃÌÅAÒ ÔHÅ ×AÉÔ SÔAÔÉÏN?       ÊMP ÃÌÒ×S    YÅS  ÔHÅN GÏ ÃÌÅAÒ ×AÉÔ SÔAÔÉÏN. ÅØÆÅØ SÔA ÅÑÔ6¬É   SÔÏÒÅ A×AY ÆÌAGS ×ÏÒD       ÊMP ÉÏKÅØ    GÏ DÏNÅ. ª  ª     ÃÏNÔÒÏÌ ÆUNÃÔÉÏN HANDÌÅÒÅS ª  ª  ª     SÅÔ SÔAÃKÅÒ SÅÌÅÃÔ MÏDÅ ª  SSMÏD ÉÏÒ .BÉÔÅ    ÃHÅÃK BÉÔ ±´       ØÏÒ .BÉÔÅ    ÔUÒN ÉÔ ÏÆÆ       ÊMP ÅØÆÅØ    AND GÏ ÅØÉÔ ª  ª  ª  ª  ª  ª        SKP ª  ª     ÆÅÅD ÒÏUÔÉNÅ    ÆÅÅDS A ÃAÒD ÉÆ ÒÅÑUÅSÔÅD ª  ÆÅÅD  NÏP       ÊSB ÅAÔBÌ  GÏ ÃHÅÃK ÉÆ ÃAÒD ÉS BÌANK.  ÅAÔ BÌANKS.       ÌDA .BÉÔÆ  ÌÏAD ÃÌÅAÒ BUÆÆÅÒ ÆUÌÌ ÃÏMMAND .ÉÏ33 ÏÔA ÌÏS    AND ÏUÔPUÔ ÉÔ ÔÏ ÌÏ× SÅÌÅÃÔ ÃÏDÅ ÃHKÉÉ ÌDA ÅÑÔ6¬É GÅÔ ÉNÔÅÒNAÌ ÆÌAGS ×ÏÒD       SSA¬ÒSS    ÃHÅÃK ÔHÅ ÉNHÉBÉÔ ÉNPUÔ BÉÔ       ÊMP ÅNÒÅD  ÉÔS NÏÔ ÏN       ÉÏÒ .BÉÔB  DÉSABÌÅ ÉNPUÔ ÃÏMMAND ÔÏ DAÔA ÃHANNÅÌ       ØÏÒ .BÉÔÆ  AND ÃÌÅAÒ BUÆÆÅÒ ÆUÌÌ ÏN ÉNPUÔ ÅNÒÅD ØÏÒ ÅÑÔ6¬É ÃÌÅAN ÏUÔ ÒÅSÔ ÏÆ ×ÏÒD .ÉÏ3² ÏÔA ÌÏS    ÅNABÌÅ ÒÅAD       SÔB ÔÅMP±  SAVÅ B DUÒÉNG SÔAÔUS ÃAÌÌ       ÊSB SÔAÔS  GÏ UPDAÔÅ SÔAÔUS BÉÔS       ÌDB ÔÅMP±  GÅÔ B BAÃK       ÌDA ÅÑÔ5¬É GÅÔ ÆUÌÌ PSÅUDÏ SÔAÔUS       AÌÆ¬AÌÆ    GÅÔ SÔAÃKÅÒ ÆUÌÌ BÉÔ       ÒA̬ÒAÌ    ×HÅÒÅ ÉÔ ÃAN BÅ ÔÅSÔÅD       SÌA¬ÒAÌ    ÉS HÏPPÅÒ ÆUÌÌ?       ÊMP NÒÅDY  YÅS   ÔHÅN GÏ NÏÔ ÒÅADY       ÒAÌ        ÃHÅÃK HÏPPÅÒ ² BÉÔ ÔÏ SÅÅ ÉÆ ÅMPÔY       SSA¬ÒSS    ÉS HÏPPÅÒ Ô×Ï ÅMPÔY?       ÊMP ÃHKH±  NÏ    ÔHÅN GÏ ÃHÅÃK HÏPPÅÒ ÏNÅ ÃHKH² ÌDA ÅÑÔ9¬É HÏPPÅÒ ² ÉS ÅMPÔY ÉS ÉÔ SÅÌÅÃã–þúÔÅD?       AÌÆ¬ÒAÌ    GÅÔ HÏPPÅÒ SÅÌÅÃÔ BÉÔ       SSA        ×AS HÏPPÅÒ ² SÅÌÅÃÔÅD?       ÊMP ÒÅÊÅà YÅS  ÔHÅN GÏ ÒÅÊÅÃÔ ÒÅÑUÅSÔ ÃHKH± ÌDA ÅÑÔ5¬É GÅÔ ÆUÌÌ SÔAÔUS ÉN ÔHÅ A ÒÅG.       AND .¸     ÉSÏÌAÔÅ HÏPPÅÒ ± ÅMPÔY BÉÔ       SZA¬ÒSS    ÉS HÏPPÅÒ ÏNÅ ÅMPÔY?       ÊMP ÆÅÅDS  NÏ   ÔHÅN GÏ ÆÅÅD ÃHÒÅÑ ÌDA ÅÑÔ9¬É ÃHÅÃK ÔÏ SÅÅ ÉÆ HÏPPÅÒ ± ÉS ÒÅÑUÅSÔÅD       AÌÆ¬ÒAÌ    GÅÔ HÏPPÅÒ SÅÌÅÃÔ BÉÔ ×HÅÒÅ ÉÔ ÃAN BÅ ÔÅSÔÅD       SSA¬ÒSS    ÉS HÏPPÅÒ ÏNÅ SÅÌÅÃÔÅD?       ÊMP ÒÅÊÅà YÅS ÔHÅN GÏ ÒÅÊÅÃÔ ÒÅÑUÅSÔ ÆÅÅDS ÌDA ÅÑÔ9¬É ÌÏAD ÒÅÑUÅSÔ ÃÏNÔÒÏÌ ×ÏÒD       AÌÆ        ÃHÅÃK SÔAÃKÅÒ SÅÌÅÃÔ BÉÔ       SSA        ÉS SÔAÃKÅÒ ² SÅÌÅÃÔÅD?       ADB .BÉÔB  YÅS ÔHÅN SÅÔ BÉÔ ±± ÉN ÃÏNÔÒÏÌ       SÌA        ÉS SPD SPÅÃÉÆÉÅD?       ADB .BÉÔA  YÅS ÔHÅN SÅÔ BÉÔ ±0 ÉN ÃÏNÔÒÏÌ ×ÏÒD       ÒAÌ        ÌÏÏK AÔ HÏPPÅÒ SÅÌÅÃÔ       SSA        ÉS HÏPPÅÒ Ô×Ï SÅÌÅÃÔÅD       ADB .BÉÔÆ  YÅS  ÔHÅN SÅÔ BÉÔ ±5 ÉN ÃÏNÔÒÏÌ ×ÏÒD       ÌDA ÅÑÔ6¬É ÌÏAD ÉNÔÅÒNAÌ ÆÌAGS ×ÏÒD       ÒAÌ        GÅÔ ÔÏ SÔAÃKÅÒ MÏDÅ BÉÔ       SSA¬ÒSS    ÉS BÉÔ ZÅÒÏ?       ADB .BÉÔà  YÅS ÔHÅN SÔAÃKÅÒ SÅÌÅÃÔ MÏDÅ ÉS SPÅÃÉÆÉÅD .ÉÏñ ÏÔB HÉS    ÏUÔPUÔ ÔHÅ ÃÏNÔÒÏÌ ×ÏÒD ÔÏ ÔHÅ HÉSÅÌÅÃÔ       ÊSB ÆÉÌÌ   GÏ ÆÉÌÌ ×ÉÔH BÌANKS ÉÆ NÅÃÅSSAÒY .ÉÏD± SÔàHÉS¬Ã   SÅÔ ÃÏNÔÒÏÌ ÏN HÉ SÅÌÅÃÔ ÃHANNÅÌ       ÊMP ÆÅÅD¬É ÒÅÔUÒN ÔÏ ÃAÌÌÅÒ ª        SKP ª  ÒÅÊÅàÌDA ÅÑÔ6¬É ÌÏAD ÉNÔÅÒNAÌ ÆÌAGS ×ÏÒD       AND .±     ÉSÏÌAÔÅ ÆÉÒSÔ ÔÉMÅ ÏÒ MUÌÔÉPÌÅ ÅÒÒÏÒ BÉÔ       ÉÏÒ .²´0B  SÅÔ ÏP ÒÅÊÅÃÔÅD AND ÅÏÆ BÉÔS       ÊSB SÔSÔS  GÏ ÉNÃÌUDÅ ÔHÅM ÉN ÔHÅ SÔAÔUS       SÌA        ÉÆ DÅVÉÃÅ ÉS NÏÔ ÒÅADY       ÊMP ÃÒÊÅà ÔHÅN GÏ NÏÔ ÒÅADY       ÉSZ ÅÑÔ6¬É SÅÔ MUÌÔÉPÌÅ ÅÒÒÏÒ BÉÔ       ÊMP ÃÅÆÅØ  AND ÒÅÔUÒN ÔÏ DÏS ª  ª     ÆÉÌÌ ÒÏUÔÉNÅ ÔÏ ÆÉÌÌ A ×AÉÔÉNG ÏUÔPUÔ BUÆÆÅÒ ª  ÆÉÌÌ  NÏP       ÃÃÅ        ÉNDÉÃAÔÅ ÆÉÒSÔ ÔÉMÅ ÔHÒU ÌÏÆÉÌ ÅÑU ª      NÏ ÔHÅN GÏ DÏ SÏMÅ ÉÏ       ÊSB ÃKÒDY  ÉÆ DÅVÉÃÅ ÉS ÒÅADY       ÊMP ÆÉÌ̬ɠÔHÅN ÒÅÔUÒN ÔÏ ÃAÌÌÅÒ       ÊSB ÌÉA    GÏ ÒÅAD DÅVÉÃÅ ÆÌAG       AND .BÉÔÅ  ÉSÏÌAÔÅ DÅVÉÃÅ ÆÌAG       SZA¬ÒSS    ÉÆ ÆÌAG ÉS SÅÔ       SÅZ¬ÃÌÅ    ÏÒ  ÔHÉÄHþúS ÉS ÔHÅ ÆÉÒSÔ ÔÉMÅ ÔHÒU .ÉÏ´± SÔàÌÏS¬Ã  ÔHÅN ÏUÔPUÔ ÔÏ ÆÉÌÌ BUÆÆÅÒ       ÊMP ÌÏÆÉÌ  GÏ SÅÅ ÉÆ ×Å'ÒÅ ÒÅADY YÅÔ ª  ª  ª     ÃKÒDY ÃHÅÃKS ÔHÅ ÒÅADY ÆÏÒ ÃÏMMAND BÉÔ ª  ÃKÒDY NÏP .ÉÏB3 ÌÉA HÉS    ÒÅAD ÔHÅ HÉGH SÅÌÅÃÔ ÃHANNÅÌ       AND .BÉÔ5  GÅÔ "ÒÅADY ÆÏÒ ÃÏMMAND" BÉÔ       SZA¬ÒSS    ÉÆ DÅVÉÃÅ ÉS NÏÔ ÒÅADY ÔHÅN       ÉSZ ÃKÒDY  SÅÔ BAD ÒÅÔUÒN       ÊMP ÃKÒDY¬É AND ÒÅÔUÒN ÔÏ ÃAÌÌÅÒ ª  ª     ÉÒÅAD SÅÔS UP ÆÏÒ A ÒÅAD ÒÅÑUÅSÔ ª  ª  ÉÒÅAD ÃÌB        ÃÏNÆÉGUÒÅ ÃÏMMAND ÔÏ HÉ SÅÌÅÃÔ ÃÏDÅ       SÔB ÅÑÔ±´¬É ÆÉÒSÔ ZÅÒÏ ÏUÔ ÔHÅ ÔÒANSMÉSSÉÏN ÌÏG       ÌDA ÅÑÔ9¬É  ÃHÅÃK ÆÏÒ BÉNAÒY ÒÅAD       AND .±00B  PÉÃK ÏUÔ BÉNAÒY BÉÔ 6  M       SZA¬ÒSS    ÉÆ NÏÔ BÉNAÒY       ÊMP ÉÒASà ÔHÅN SKÉP ÃHÅÃK ÆÏÒ BYÔÅ ÌÅNGÔH ÉÒBNY ÌDA ÅÑÔ±±¬É GÅÔ ÔHÅ ÌÅNGÔH ÏÆ BUÆÆÅÒ       SSA         ÉÆ ÉÔ ÉS ÉN BYÔÅS       ÊMP ÉBADØ   ÔHÅN ÔAKÅ BAD ÅØÉÔ ÔÏ DÏS .Éϲ± ÅÑU ª ÉÒASàÌÉA ÌÏS    ÃHÅÃK ÒÅADÉNÅSS ÏÆ ÌÏ SÅÌÅÃÔ ÃÏDÅ       SSA        ÉÆ ÉNPUÔ BUÆÆÅÒ ÉS ÆUÌÌ       ÊMP ÃÆÏMÉ  ÔHÅN GÏ ÔÏ ÃÏNÔÉNUAÔÉÏN ÉÆÅDÏ ÌDA ÅÑÔ6¬É ÃHÅÃK ÉNHÉBÉÔ ÉNPUÔ BÉÔ       SSA        ÉÆ ÉÔ ÉS ÏN       ÊMP ÒÅÊÅà ÔHÅN ÒÅÊÅÃÔ ÒÅÑUÅSÔ       ÊSB ÆÅÅD   ÅÌSÅ GÏ ÆÅÅD A ÃAÒD ÉÃÏNÔ ÃÌA        ÃÏNÔÉNUAÔÉÏN ÒÅÔUÒN ÔÏ DÏS       ÊMP ÉÅØÉÔ  AND ÅØÉÔ ÔÏ DÏS ª  ª  ª     É×ÒÉÔ SÅÔS UP ÆÏÒ A ×ÒÉÔÅ ÒÅÑUÅSÔ ª  É×ÒÉÔ ÃÌB        SÅÔ UP ÃÏMMAND ÔÏ HÉ SÅÌÅÃÔ ÃÏDÅ       SÔB ÅÑÔ±´¬É ZÅÒÏ ÏUÔ ÔHÅ ÔÒANSMÉSSÉÏN ÌÏG       ÌDA ÅÑÔ9¬É GÅÔ ÒÅÑUÅSÔ ÃÏNÔÒÏÌ ×ÏÒD       AÌÆ¬AÌÆ    ÃHÅÃK ÆÏÒ PUNÃH AND PÒÉNÔ BÉÔS       ÒAÒ         PÏSÉÔÉÏN P BÉÔ       SÌA¬ÒSS     ÉÆ P½0 ÔHÅN       ADB .BÉÔÅ   ÅNABÌÅ PUNÃH       ÒA̬ÒAÌ     PÏSÉÔÉÏN M BÉÔ 6       SSA         ÉÆ M½± ÔHÅN       ÊMP ÉBNÒY   GÏ BÉNAÒY ÃHÅÃK ÉASÃÉ ÒAÒ         ÅÌSÅ ASÃÉÉ       SÌA¬ÒSS     ÉÆ K½0 ÔHÅN       ADB .BÉÔD   ÅNABÌÅ PÒÉNÔÉNG       ÊMP ÉׯÅD   AND GÏ ÆÅÅD A ÃAÒD ÉBNÒY ÒAÒ¬SÌA     ÉÆ K½± ÔHÅN       ADB .BÉÔD   ÅNABÌÅ PÒÉNÔÉNG       ÌDA ÅÑÔ±±¬É ÃHÅÃK BUÆÆÅÒ ÌÅNGÔH       SSA         ÉÆ ÒÅÑUÅSÔ ÉS ÆÏÒ BYÔÅS       ÊMP ÉBADØ   ÔHÅN ÔAKÅ BAD ÅØÉÔ ÔÏ DÏS ÉׯÅD ÌDA ÅÑÔ5¬É GÅÔºòþú ÆUÌÌ PSÅUDÏ SÔAÔUS       AND .´     ÃHÅÃK ×AÉÔ SÔAÔÉÏN       SZA¬ÒSS    ÉÆ ÔHÅÒÅ ÉS A ÃAÒD ÉN ÔHÅ ×AÉÔ SÔAÔÉÏN       ÊMP ÉÆÅÃÏ  ÔHÅN GÏ SÅÔ PÒÉNÔ AND PUNÃH AND GÏ ÔÏ Ã. S.       ÊSB ÃKÒDY  ÉÆ DÅVÉÃÅ ÉS ÒÅADY       ÃÌB        ÔHÅN ÉSSUÅ PÌAÉN ÆÅÅD       ÊMP ÉÆÅDÏ  ÅÌSÅ GÏ ÆÅÅD A ÃAÒD AND ÒÅÔUÒN ÔÏ DÏS ª  ª  ª     ÅAÔBÌ  ÅAÔS A ÃAÒD ÔHAÔ ÉS ÒÅSÉDÅNÔ ÉN ÔHÅ DÅVÉÃÅ ª            ÒÅAD BUÆÆÅÒ UNÔÉÌ BUÆÆÅÒ ÆUÌÌ GÏÅS ÌÏ× ª  ª  ÅAÔBÌ NÏP ÉBÌNK ÌDA ÅÑÔ6¬É  GÅÔ ÉNÔÅÒNAÌ ÆÌAG ×ÏÒD       AND ½B±6···· ÔUÒN ÏÆÆ NÏÔ BÌANK BÉÔ SÅÔBÌ SÔA ÅÑÔ6¬É  AND PUÔ ÉNÔÅÒNAÌ ÆÌAGS BAÃK ÅAÔS  ÊSB ÌÉA     GÏ ÒÅAD A ÃHAÒAÃÔÅÒ       SSA¬ÒSS     ÉÆ BUÆÆÅÒ ÅMPÔY       ÊMP ÅAÔB̬ɠÒÅÔUÒN ÔÏ ÃAÌÌÅÒ       AND ½B····  GÅÔ ÃÏÌUMNS ÏÆ ÃAÒD       SZA¬ÒSS     ÉÆ ÃAÒD ÉS BÌANK ÔHÅN       ÊMP ÅAÔS     ÔHÅN ÅAÔ SÏMÅ MÏÒÅ ÃHAÒAÃÔÅÒS NÏÔBÌ ÌDA ÅÑÔ6¬É  GÅÔ ÉNÔÅÒNAÌ ÆÌAG ×ÏÒD       ÉÏÒ .BÉÔà  SÅÔ BÉÔ ±² ÔÏ ÉNDÉÃAÔÅ NÏÔ BÌANK       ÊMP SÅÔBÌ   AND SÔÏÒÅ ÉÔ A×AY ª  ª        SKP ª  ª  ª    SÅÔÉÏ ÃÏNÆÉGUÒÅS ÔHÅ ÉÏ ÉNSÔÒUÃÔÉÏNS ª  SÅÔÉÏ NÏP       ÌDA ÅÑÔ3¬É  ÌÏAD ÔHÅ ÃHANNÅÌ NUMBÅÒ       AND .··B    ÉSÏÌAÔÅ ÉÔ       ÌDB A       PUÔ ÉÔ ÉN B AÌSÏ       ÉÏÒ ÌÉAÉ    PUÔ ÔÏGÅÔHÅÒ A ÌÉA ÉNSÔÒUÃÔÉÏN       ÃPA .Éϲ±   ÉÆ ÔHÅ A ÒÅGÉSÔÅÒ ½ AN ÌÉA ÉNSÔÒUÃÔÉÏN       ÊMP SÅÔÉϬɠÔHÅN ×Å'ÒÅ AÌÒÅADY ÃÏNÆÉGUÒÅD       SÔA .Éϲ±   ÅÌSÅ ×Å'ÒÅ NÏÔ ÃÏNÆÉGUÒÅD AND MUSÔ DÏ ÉÔ       SÔA .Éϲ²       SÔA .Éϲ3 ª        ADA .±00B   MAKÅ AN ÏÔA ÉNSÔÒUÃÔÉÏN       SÔA .ÉÏ3±   AND SÔÏÒÅ ÉÔ A×AY       SÔA .ÉÏ3²       SÔA .ÉÏ33 ª        ADA .±±00   MAKÅ AN SÔìàÉNSÔÒUÃÔÉÏN       SÔA .ÉÏ´±   AND SÔÏÒÅ ÉÔ A×AY       SÔA .ÉÏ´²       SÔA .ÉÏ´3 ª        ÉÏÒ .BÉÔB   MAKÅ A ÃÌàÉNSÔÒUÃÔÉÏN       SÔA .ÉÏ5±   AND SÔÏÒÅ ÉÔ A×AY       SÔA .ÉÏ5² ª  ª     ÃÏNÆÉGUÒÅ ÔHÅ HÉGH SÅÌÅÃÔ ÃHANNÅÌ ª        ÌDA B       GÅÔ ÌÏSÅÌ BAÃK       ÉNA         MAKÅ ÉÔ HÉGH       ÉÏÒ ÌÉAÉ    MAKÅ A ÌÉA HÉS ÉNSÔÒUÃÔÉÏN       SÔA .ÉÏB²       SÔA .ÉÏB3 ª        ADA .´±00   MAKÅ AN ÏÔB HÉS ÉNSÔÒUÃÔÉÏN       SÔA .ÉÏñ   AND SÔÏÒÅ šþúÉÔ A×AY ª        ØÏÒ .BÉÔB   ÔUÒN ÏÆÆ B BÉÔ       ADA .±±00   MAKÅ AN SÔàHÉS¬Ã ÉNSÔÒUÃÔÉÏN       SÔA .ÉÏD±   AND SÔÏÒÅ ÉÔ A×AY ª        ÉÏÒ .BÉÔB   MAKÅ A ÃÌàHÉS  ÉNSÔÒUÃÔÉÏN       SÔA .ÉÏű   AND SÔÏÒÅ ÉÔ A×AY       ÊMP SÅÔÉϬɠAND GÏ BAÃK ÔÏ ÃAÌÌÅÒ ª  ª  ª  ª  ª        SKP ª  ª  ª     SÔAÔS PUÔS ÔÏGÅÔHÅÒ A SÏÆÔ×AÒÅ PSUÅDÏ SÔAÔUS ª           ÆÒÏM ÉNÆÏÒMAÔÉÏN ÏBÔAÉNÅD ÆÒÏM BÏÔH ÔHÅ ª           HÉGH AND ÌÏ× SÅÌÅÃÔ ÃHANNÅÌS.  ÉÔ ÉS PÏSSÉBÌÅ ª           ÔHAÔ ÔHÅ ÌÏ× SÅÌÅÃÔ ÃHANNÅÌ ×ÉÌÌ NÏÔ HAVÅ SÔAÔUS ª           ÉNÆÏ AVAÉÌABÌÅ.  ÉÆ SÏ ÔHÅ ÉNÆÏÒMAÔÉÏN ÆÒÏM ÉÔ ª           ÉS NÏÔ UPDAÔÅD. ª  SÔAÔS NÏP .Éϲ² ÅÑU ª ÃKÌÏS ÌÉA ÌÏS     ÒÅAD ÔHÅ ÌÏ× SÅÌÅÃÔ ÃHANNÅÌ       ÌDB A       ÃÏPY ÉÔ ÔÏ ÔHÅ A ÒÅGÉSÔÅÒ       ÃÌA         ÃÌÅAÒ ÔHÅ A ÒÅGÉSÔÅÒ       SÔA ÅÑÔ5¬É  AND ÃÌÅAN ÏUÔ ÔHÅ SÔAÔUS       SSB         ÉÆ SÔAÔUS ÉS NÏÔ AVAÉÌABÌÅ ÏN ÌÏ× SÅÌ. ÃÏDÅ       ÊMP ÃKHÉS   ÔHÅN GÏ ÃHÅÃK ÔHÅ HÉ SÅÌÅÃÔ ÃÏDÅ       BÌÆ         PÏSÉÔÉÏN ÉNPUÔ ÃHÅÃK BÉÔ       SSB         ÉÆ ÉNPUÔ ÃHÅÃK       ÉÏÒ .BÉÔ¸   ÔHÅN SÅÔ ÉÔ ÉN ÔHÅ SÔAÔUS       SÌB         ÉÆ ÒÅAD ÃHÅÃK       ÉÏÒ .²      ÔHÅN SÅÔ ÉÔ ÉN ÔHÅ SÔAÔUS       ÒB̬ÒBÌ     PÏSÉÔÉÏN HÏPPÅÒ ± BÉÔS       SSB         ÉÆ HÏPPÅÒ ± ÉS ÅMPÔY       ÉÏÒ .¸      ÔHÅN SÅÔ ÉÔ ÉN ÔHÅ SÔAÔUS       SÌB         ÉÆ ÔHÅÒÅ ÉS AN ÏUÔPUÔ ÃHÅÃK       ÉÏÒ .BÉÔ9   ÔHÅN SÅÔ ÉÔ ÉN ÔHÅ SÔAÔUS       ÒBÌ         PÏSÉÔÉÏN SÔAÃKÅÒ ÆUÌÌ BÉÔ       SSB         ÉÆ SÔAÃKÅÒ ÉS ÆUÌÌ       ÉÏÒ .±00B   ÔHÅN SÅÔ BÉÔ ÉN ÔHÅ SÔAÔUS       SÔA ÅÑÔ5¬É ÃKHÉS ÅÑU ª .ÉÏB² ÌÉA HÉS     ÒÅAD ÔHÅ HÉGH SÅÌÅÃÔ ÃHANNÅÌ       ÌDB A       PUÔ A ÉN B       AND ½B±··000 AND ÏUÔ HÉ BÉÔS       ÒBÒ¬SÌB¬ÒBÒ PÏSÉÔÉÏN HÏPPÅÒ ² BÉÔ ÉÆ ÉÔ ÉS ÅMPÔY       ÉÏÒ .BÉÔ´   ÔHÅN SÅÔ ÔHÅ BÉÔ ÉN ÔHÅ SÔAÔUS       ÒBÒ¬ÒBÒ     PÏSÉÔÉÏN ×AÉÔ SÔAÔÉÏN BÉÔ       SÌB¬ÒSS     ÉÆ ×AÉÔ SÔAÔÉÏN ÉS NÏÔ ÆUÌÌ       ÉÏÒ .´      ÔHÅN SÅÔ ÔHÅ BÉÔ ÉN ÔHÅ SÔAÔUS       ÒBÒ¬ÒBÒ     PÏSÉÔÉÏN ÒÅADY BÉÔ       SÌB¬ÒSS     ÉÆ NÏÔ ÒÅADY SNÒÅD ÉÏÒ .±      ÔHÅN SÅÔ NÏÔ ÒÅADY BÉÔ       ÊSB SÔSÔS   GÏ ÃÏMBÉNÅNþú SÔAÔS       SÌA¬ÒSS     ÉÆ ÒÅADY       ÊMP SÔAÔS¬É ÔHÅN ÒÅÔUÒN ÔÏ ÃAÌÌÅÒ       ÌDA BADÃÏ   ÌÏAD BAD ÃÏMPÌÅÔÉÏN ÃÏDÅ       ÊMP Ã.3´¬É  AND GÏ BAÃK ÔÏ DÏS NÒÅDY ÌDA ÅÑÔ5¬É  GÅÔ SÔAÔUS       ÊMP SNÒÅD   AND GÏ SÅÔ NÏÔ ÒÅADY BÉÔ ª        SKP ª             SÔSÔS    SÔÏÒÅS     ÔHÅ SÔAÔUS ª  SÔSÔS NÏP       ÉÏÒ ÅÑÔ5¬É  ÉNÃÌUDÅ ÒÅSÔ ÏÆ SÔAÔUS       SÔA ÅÑÔ5¬É  SÔÏÒÅ A×AY ÃÏMPÏSÅD SÔAÔUS       AND ÒHAÌÆ   GÅÔ ÌÏ×ÅÒ HAÌÆ ÏÆ ×ÏÒD       SÔA B       SAVÅ ÔHÅ ÌÏ×ÅÒ HAÌÆ SÔAÔUS       ÌDA ÅÑÔ´¬É  GÅÔ ÔHÅ SHÏÒÔ SÔAÔUS       AND ÌHAÌÆ   GÅÔ UPPÅÒ HAÌÆ ÏÆ ÅÑÔ´       ÉÏÒ B       PUÔ ÉN ÔHÅ ÌÏ×ÅÒ HAÌÆ ÏÆ ÔHÅ SÔAÔUS       SÔA ÅÑÔ´¬É  SÔÏÒÅ A×AY ÔHÅ SÔAÔUS       ÊMP SÔSÔS¬É ÒÅÔUÒN ÔÏ ÃAÌÌÅÒ ª        SKP ª  Ã.3´  NÏP       ÃÌB         SÅÔ UP ÃÏMPÌÅÔÉÏN ÃÏDÅS       SÔB ÏKÃÏM   GÏÏD ÃÏMPÌÅÔÉÏN ÉS A ZÅÒ0       ÉNB         BAD ÃÏMPÌÅÔÉÏN ÉS ÏNÅ       SÔB BADÃÏ   SÔÏÒÅ A×AY BAD ÃÏMPÌÅÔÉÏN       ÌDB Ã.3´    SÅÔ UP PÏSSÉBÌÅ ÅÒÒÏÒ ÏUÔ ÆÒÏM SÔAÔS       ÉNB         SÅÔ ÃÏNÔÉNUAÔÉÏN ÒÅÔUÒN AÆÔÅÒ ÆÅÅD       SÔB É.3´    SÏ ÔHAÔ ÉÔ ÃAN ÒÅÔUÒN ÔÏ DÏS ÔHÒU É.3´       ÊSB SÅÔÉÏ   ÃÏNÆÉGUÒÅ É-Ï ÉNSÔÒUÃÔÉÏNS       ÌDA ÅÑÔ±3¬É ÃHÅÃK ÆÏÒ ÃÏMPÌÅÔÉÏN ÆÒÏM ×ÒÉÔÅ       ÃPA ÒHAÌÆ   ÉÆ ÉÔ ÉS A ÃÏMPÌÅÔÉÏN ÆÒÏM A ×ÒÉÔÅ       ÊMP ÃÏKÅØ   ÔHÅN ×Å'ÒÅ DÏNÅ PUNÃHÉNG GÏ ÔÏ DÏS ÃÆÏMÉ ÊSB SÔAÔS   GÅÔ SÔAÔUS AND ÃHÅÃK ÉÆ DÅVÉÃÅ ÉS UP       ÌDA ÅÑÔ±0¬É SÅÔ UP ÆÏÒ ×ÒÉÔÅ ÏÒ ÒÅAD ÃÏMPÌÅÔÉÏN       SÔA ÅÑÔ±²¬É SAVÅ BUÆÆÅÒ ADDÒÅSS       ÌDA ÅÑÔ±±¬É ÃHÅÃK ÌÅNGÔH ÔÏ SÅÅ ÉÆ ÃHAÒAÃÔÅÒ ÏÒ ×ÏÒDS       SSA¬ÒSS     ÉÆ ÌÅNGÔH ÉS PÏSÉÔÉVÅ       ÃMA¬ÉNA¬SZA ÔHÅN NÅGAÔÅ ÉÔ.       ÒSS         ÉÆ ÉÔ ÉS ZÅÒÏ       ÊMP ÃÏKÅØ   ÔHÅN ×Å'ÒÅ DÏNÅ.  ÔAKÅ ÏK ÃÏMPÌÅÔÉÏN.       SÔA ÅÑÔ±3¬É SAVÅ NÅGAÔÉVÅ ÌÅNGÔH       ÃÌA         ÃÌÅAÒ ÏUÔ ÔÒANSMÉSSÉÏN ÃÏUNÔ       SÔA ÅÑÔ±´¬É USÅ ÅÑÔ±´ ÔÏ ÃÏUNÔ UP UNÔÉÌ DÏNÅ.       SÔA ÔÅMP´   ÉNÔÉAÌÉZÅ NÏN-BÌANK ÃÏUNÔÅÒ       ÌDA ÅÑÔ9¬É  ÃHÅÃK ÒÅÑUÅSÔ ×ÏÒD       AND .±·B    ÉSÏÌAÔÅ ÆUNÃÔÉÏN ÃÏDÅ       ÃPA .±      ÉÆ ÉÔ ÉS A ÒÅAD ÒÅÑUÅSÔ       ÊMP ÃÒÅAD   ÔHÅN GÏ ÔÏ ÒÅAD ÃÏMPÌÅÔÉÏN HANDÌÅÒ    3þú    ÃPA .²      ÉÆ ÉÔ ÉS A ×ÒÉÔÅ ÒÅÑUÅSÔ       ÊMP Ã×ÒÉÔ   ÔHÅN ÊUMP ÔÏ ×ÒÉÔÅ ÃÏMPÌÅÔÉÏN HANDÌÅÒ ÃÏKÅØ ÊSB SÔAÔS   GÏ GÅÔ UPDAÔÅD SÔAÔUS BÅÆÏÒÅ ×Å ÌÅAVÅ       ÌDA ÅÑÔ6¬É  ÌÏAD ÉNÔÅÒNAÌ ÆÌAGS ×ÏÒD       AND NBÉÔÆ   ÃÌÅAÒ ÉNHÉBÉÔ ÉNPUÔ AND MUÌÔÉPÌÅ ÅÒÒÏÒ BÉÔS       SÔA ÅÑÔ6¬É  AND SÔÏÒÅ ÉÔ BAÃK ÃÅÆÅØ ÌDB ÅÑÔ±´¬É ÌÏAD ÔHÅ ÔÒANSMÉSSÉÏN ÌÏG       ÉNB         ÃHANGÅ ÆÒÏM PÏSSÉBÌÅ BYÔÅ ÃÏUNÔ       ÃÌŬÅÒB     ÔÏ ×ÏÒD ÃÏUNÔ       ÌDA ÅÑÔ9¬É  GÅÔ ÔHÅ ÒÅÑUÅSÔ ÆUNÃÔÉN ×ÏÒD       AND .±00B   ÉSÏÌAÔÅ ÔHÅ BÉNAÒY BÉÔ:  BÉÔ 6       ADA .ND±    BÉAS BÉÔ UP ÔÏ ÔHÅ SÉGN BÉÔ       ØÏÒ ÅÑÔ±±¬É ØÏÒ ÔHÅ SÉGN BÉÔS       SSA¬ÒSS     ÉÆ NÏÔ(ASÃÉÉ AND ×ÏÒD ÃÏUNÔ©       ÌDB ÅÑÔ±´¬É ÔHÅN GÅÔ ÔHÅ ÏÔHÅÒ ÃÏUNÔ BAÃK       SÔB ÅÑÔ±´¬É AND SÔÏÒÅ ÉÔ A×AY       ÌDA ÏKÃÏM   ÌÏAD A ×ÉÔH GÏDD ÃÏMPÌÅÔÉÏN ÃÏDÅ       SÔA ÅÑÔ±3¬É ÃÌÅAÒ ×ÒÉÔÅ ÃÏNÔÉNUAÔÉÏN ÆÌAG .ÉÏű ÃÌàHÉS     ÃÌÅAÒ ÏN HÉSÅÌÅÃÔ ÃÏDÅ .ÉÏ5± ÃÌàÌÏS     ÃÌÅAÒ ÏN ÌÏSÅÌÅÃÔ ÃÏDÅ ÃÅØÉÔ ÊMP Ã.3´¬É  ÅØÉÔ ÔÏ DÏS ÃBADØ ÊSB SÔAÔS   BAD ÅØÉÔ ÆÒÏM ÃÏMPÌÅÔÉÏN SÅÃÔÉÏN ÃÒÊÅàÌDA BADÃÏ   GÅÔ BAD ÃÏMPÌÅÔÉÏN ÃÏDÅ       SÔA ÏKÃÏM   AND SÔÏÒÅ ÉÔ A×AY ÉN GÏÏD ÃÏMPÌÅÔÉÏN ÃÏDÅ       ÊMP ÃÅÆÅØ   ÅØÉÔ ÔÏ DÏS ª  ª        SKP ª  ª     ÃÒÅAD HANDÌÅS ÔHÅ ÒÅADÉNG ÏÆ ÃAÒDS ª  ÃÒÅAD ÌDA ÅÑÔ9¬É  GÅÔ ÒÅÑUÅSÔ ÃÏNÔÒÏÌ ×ÏÒD       AÌÆ¬AÌÆ     PÏSÉÔÉÏN BÉÔ 6       ÒAÌ         ÉNÔÏ ÔHÅ SÉGN BÉÔ       SSA¬ÒSS     ÉÆ BÉÔ 6 ÉS ZÅÒÏ       ÊMP ÃÒASà  ÔHÅN GÏ DÏ AN ASÃÉÉ ÒÅAD ª  ª  ª     ÃÒBÉN  DÏÅS ÔHÅ ÃHÏÏSÉNG BÅÔ×ÅÅN ÃÏÌUMN AND PAÃKÅD ª  ÃÒBÉN ÌDB ÅÑÔ±²¬É GÅÔ BUÆÆÅÒ ADDÒÅSS ÉNÔÏ B       SÌA         ÉÆ V(BÉÔ·© ÉS ÏNÅ       ÊMP ÃÒPBÉ   ÔHÅN ÒÅAD ÉS PAÃKÅD BÉNAÒY ª  ª  ª     ÃÒÃBÉ DÏÅS ÔHÅ ÃÏÌUMN BÉNAÒY ÒÅADÉNG ª  ÃÒÃBÉ ÊSB ÃÒÌÉA   ÅÌSÅ ÒÅAD ÉS ÃÏÌUMN BÉNAÒY. ÒÅAD A ÃÏÌUMN       ÊSB BÉNSZ   GÏ ÉNÃÒÅMÅNÔ ÃÏUNÔÅÒS AND PÏÉNÔÅÒS       ÊMP ÃÒÃBÉ     ÌÏÏP UNÔÉÌ DÏNÅ ª  ª  ª  ª     ÃÒPBÉ  DÏÅS ÔHÅ PAÃKÅD BÉNAÒY ÒÅADÉNG ª  ÃÒPBÉ ÊSB ÃÒÌÉA   ÒÅAD A ÃÏÌUMN       AÌÆ         PÏSÉÔÉÏN ÉÔ ÉN BÉÔS ±5-´       SÔA ÔÅMP±   AND SAVÅ ÉÔ       ÊSB ÃÒÌÉA   ÒÅAD A ÃÏÌUMNþúN       AÌÆ¬AÌÆ     PÏSÉÔÉÏN ÉÔ       SÔA ÔÅMP²   AND SÔÏÒÅ ÉÔ       AND .±·B    GÅÔ UPPÅÒ BÉÔS ÉN BÉÔS 3-0       ÉÏÒ ÔÅMP±   GÅÔ BÉÔS ÆÒÏM PÒÅVÉÏUS ÒÅAD       ÊSB BÉNSZ   SÔÏÒÅ ÉÔ AND ÉNÃÒÅMÅNÔ PÏÉNÔÅÒS       ÌDA ÔÅMP²   GÅÔ BÉÔS ÆÒÏM PÒÅVÉÏUS ÒÅAD       AND ÌHAÌÆ   GÅÔ ÌÅÆÔ HAÌÆ ÏÆ ×ÏÒD       SÔA ÔÅMP±   AND SÔÏÒÅ ÉÔ A×AY       ÊSB ÃÒÌÉA   ÒÅAD NÅØÔ ÃÏÌUMN       AÌÆ¬AÌÆ     PÏSÔÉÏN UPPÅÒ BÉÔS ÉN BÉÔS ·-0       AÌÆ         ÏNÌY ±² BÉÔS ÒÅAD ÔHÏUGH       SÔA ÔÅMP²   SAVÅ ÔHÅ ×ÏÒD       AND ÒHAÌÆ   GÅÔ ÏNÌY ÔHÅ ÒÉGHÔ HAÌÆ       ÉÏÒ ÔÅMP±   PUÔ ÔHÅ ÔÏÔAÌ ×ÏÒD ÔÏGÅÔHÅÒ       ÊSB BÉNSZ   AND GÏ SÔÏÒÅ ÉÔ AND ÉNÃÒÅMÅNÔ PÏÉNÔÅÒS       ÌDA ÔÅMP²   GÅÔ BÉÔS ÆÒÏM ÌASÔ ÒÅAD BAÃK       AND UPÑÔÒ   GÅÔ ÌÅÆÔ ÑUAÒÔÅÒ ×ÏÒD       SÔA ÔÅMP±   SAVÅ ÔHÅ ×ÏÒD       ÊSB ÃÒÌÉA   AND ÒÅAD ÔHÅ NÅØÔ ÃÏÌUMN       ÉÏÒ ÔÅMP±   PUÔ ÔÏGÅÔHÅÒ A ×HÏÌÅ ×ÏÒD       ÊSB BÉNSZ   SÔÏÒÅ ÉÔ ÉN USÅÒ BUÆÆÅÒ AND ÉNÃÒ. PNÔÒS       ÊMP ÃÒPBÉ   ÌÏÏP UNÔÉÌ DÏNÅ ª  ª  ª  ª     ÃÒASàÒÅADS ÔHÅ HÏÌÌÅÒÉÔH ÃÏDÅ AND ÃÏNVÅÒÔS ÔÏ ASÃÉÉ ª  ÃÒASàÌDA ÅÑÔ±±¬É ÌÏAD ÌÅNGÔH ÏÆ ÒÅAD       SSA         ÉÆ ÌÅNGÔH ÉS NÅGAÔÉVÅ       ÊMP SÃD×N   ÔHÅN ×Å NÅÅD NÏÔ MÏDÉÆY ÉÔ       ÃMA¬ÉNA     ÅÌSÅ ÉÔ ÉS A ×ÏÒD ÃÏUNÔ       AÌS         ÃÏNVÅÒÔ ÔÏ NÅGAÔÉVÅ BYÔÅ ÃÏUNÔ SÃD×N SÔA ÅÑÔ±3¬É AND SÔÏÒÅ ÉÔ A×AY ÉN ÃÏUNÔ DÏ×N       ÌDA ÅÑÔ±²¬É ÌÏAD ADDÒÅSS ÏÆ BUÆÆÅÒ       ÃÌŬÅÌA     AND ÃÏNVÅÒÔ ÔÏ BYÔÅ ADDÒÅSS       SÔA ÔÅMP3   ÃANÔ USÅ ÅÑÔ±² BÅÃAUSÅ ÏÆ ÉNDÉÒÅÃÔ       ÃÌA         ÃÌÅAÒ A AND ÉNÉÔÉAÌÉZÅ       SÔA ÔÅMP²   ÃÏÌUMN ÃÏUNÔÅÒ ÌÏÏP  ÊSB ÃÒÌÉA   GÅÔ A ÃÏÌUMN ÆÒÏM ÔHÅ ÃAÒD       ÃÌB         ÃÌÅAÒ ÏUÔ ÔABÌÅ DÉSPÌAÃÅMÅNÔ       SÔA ÔÅMP5   SAVÅ ÃÏÌUMN       SZA¬ÒSS     ÉÆ ÃÏÌUMN ÉS BÌANK       ÊMP BÌANK   ÔHÅN SKÉP ÔÒANSÌAÔÉÏN NBÌNK AND .···B   GÅÔ ÌÏ×ÅÒ NÉNÅ BÉÔS ÏÆ ÃÏÌUMN       SZA¬ÒSS     ÉÆ BÉÔS ±-9 AÒÅ BÌANK       ÊMP BÉÔ¸    ÔHÅN ÃHÅÃK  BÉÔS ±²-0       ÃPA .´0²B   ÉÆ ¸-± PUNÃH       ÊMP BADÃV   ÔHÅN GÏ NÏÔ ÒÅADY       ÌDB .9      ÌÏAD A ×ÅÉGHÔ ÆÏÒ  9 PUNÃH       SÌA¬AÒS     ÉÆ BÉÔ 9 ÉS SÅÔ BÉÔ9  ÊMP SÅÔ }Vþú    ÔHÅN SKÉP ÒÅSÔ AND GÏ ÔÏ SÅÔ       ÌDB .·      ÌÏAD ×ÅÉGHÔ ÆÏÒ · PUNÃH       AÒS¬SÌA¬AÒS SKÉP BÉÔ ¸.  ÉÆ BÉÔ · ÉS SÅÔ BÉÔ·  ÊMP SÅÔ     ÔHÅN SKÉP ÒÅSÔ AND GÏ ÔÏ SÅÔ       ÌDB .6      ÌÏAD ×ÅÉGHÔ ÆÏÒ 6 PUNÃH       SÌA¬AÒS     ÉÆ BÉÔ 6 ÉS SÅÔ BÉÔ6  ÊMP SÅÔ     ÔHÅN SKÉP ÒÅSÔ AND GÏ ÔÏ SÅÔ       ÌDB .5      ÌÏAD ×ÅÉGHÔ ÆÏÒ 5 PUNÃH       SÌA¬AÒS     ÉÆ BÉÔ 5 ÉS SÅÔ BÉÔ5  ÊMP SÅÔ     ÔHÅN SKÉP ÒÅSÔ AND GÏ ÔÏ SÅÔ       ÌDB .´      ÌÏAD ×ÅÉGHÔ ÆÏÒ ´ PUNÃH       SÌA¬AÒS     ÉÆ BÉÔ ´ ÉS SÅÔ BÉÔ´  ÊMP SÅÔ     ÔHÅN SKÉP ÒÅSÔ AND GÏ ÔÏ SÅÔ       ÌDB .3      ÌÏAD ×ÅÉGHÔ ÆÏÒ 3 PUNÃH       SÌA¬AÒS     ÉÆ BÉÔ 3 ÉS SÅÔ BÉÔ3  ÊMP SÅÔ     ÔHÅ SKÉP ÒÅSÔ AND GÏ ÔÏ SÅÔ       ÌDB .²      ÌÏAD ×ÅÉGHÔ ÆÏÒ ² PUNÃH       SÌA¬AÒS     ÉÆ BÉÔ ² ÉS SÅÔ BÉÔ²  ÊMP SÅÔ     ÔHÅN SKÉP ÒÅSÔ AND GÏ ÔÏ SÅÔ       ÌDB .±      ÌÏAD ×ÅÉGHÔ ÆÏÒ ± PUNÃH       SÌA¬AÒS     ÉÆ BÉÔ ± ÉS SÅÔ BÉÔ±  ÊMP SÅÔ     ÔHÅN SKÉP ÔÏ SÅÔ       ÃÌB         ÉÆ ×Å GÏÔ HÅÒÅ ÏNÌY BÉÔ ¸ ×AS SÅÔ ª  SÅÔ   SZA         ÉÆ ANY ÏÔHÅÒ BÉÔS AÒÅ ÏN       ÊMP BADÃV   ÔHÅN ÉNVAÌÉD HÏÌÌÅÒÉÔH GÏ NÏÔ ÒÅADY ª  BÉÔ¸  ÌDA ÔÅMP5   GÅÔ ÃÏÌUMN BAÃK       ÒAÒ¬SÌA¬ÒAÌ PÏSÔÉÏN BÉÔ ¸. ÉÆ ÉÔ ÉS SÅÔ       ADB .¸      ÔHÅN ADD ¸ ÔÏ ÔABÌÅ DÉSPÌAÃÅMÅNÔ.       SÔB ÔÅMP±   SAVÅ ÔABÌÅ DÉSPÌAÃÅMÅNÔ ÃHKHÉ ÃÌB         ÃÌÅAÒ DÉSPÌAÃÅMÅNÔ       AND ½B·000  ÌÏÏK AÔ ÃÏÌUMNS ±²¬±±¬AND 0       SZA¬ÒSS     ÉÆ ÔHÅY AÒÅ ZÅÒÏ       ÊMP ÅNDÃV   ÔHÅN GÏ ÔÏ ÔHÅ ÅND ÏÆ ÃÏNVÅÒSÉÏN BÉÔ±² ÃPA .BÉÔB   ÉÆ BÉÔ ±² ÉS SÅÔ       ÌDB .60B    ÌÏAD DÉSPÌAÃÅMÅNÔ ×ÉÔH A ´¸ BÉÔ±± ÃPA .BÉÔA   ÉÆ BÉÔ ±± ÉS SÅÔ       ÌDB .²0B    ÌÏAD DÉSPÌAÃÅMÅNÔ ×ÉÔH A ±6 BÉÔ0  ÃPA .BÉÔ9   ÉÆ BÉÔ 0 ÉS SÅÔ       ÌDB .´0B    ÌÏAD DÉSPÌAÃÅMÅNÔ ×ÉÔH A 3²       SZB¬ÒSS     ÉÆ ÔHÅÒÅ ×AS MÏÒÅ ÔHAN ± ZÏNÅ PUNÃHÅD       ÊMP BADÃV   ÔHÅN GÏ NÏÔ ÒÅADY ÅNDÃV ADB ÔÅMP±   ADD UP DÉSPÌAÃÅMÅNÔS BÌANK ÉSZ ÔÅMP²   ÉNÃÒÅMÅNÔ ÃÏÌUMN ÃÏUNÔÅÒ       ÌDA ÔÅMP²   GÅÔ ÉÔ ÉNÔÏ A ÒÅGÉSÔÅÒ       SZB         ÉÆ ÔHÅ ÃHAÒAÃÔÅÒ ÉS NÏÔ BÌANK       SÔA ÅÑÔ±´¬É ÔHÅN UPDAÔÅ ÔHÅ ÌASÔ NÏN-BÌANK ÃÏUNÔÅÒ       ÌDA B ‚þú      ÃÏNVÅÒÔ BYÔÅ DÉSPÌAÃÅMÅNÔ ÔÏ ×ÏÒD DÉSPÌAÃÅMÅNÔ       AÒS         BY SHÉÆÔÉNG ÉÔ ÒÉGHÔ       ADA ÔABHA   ADD ÉN ADDÒÅSS ÏÆ HÏÌÌÅÒÉÔH ÔÏ ASÃÉÉ ÔABÌÅ       ÌDA A¬É     GÅÔ ×ÏÒD ÆÒÏM ÔABÌÅ       SÌB¬ÒSS     ÉÆ ÔHÅ BYÔÅ ADDÒÅSS ÉS ÅVÅN       AÌÆ¬AÌÆ     GÅÔ ÔHÅ ÌÅÆÔ BYÔÅ ÏÆ ×ÏÒD ÆÒÏM ÔABÌÅ       AND ÒHAÌÆ   ÃÌÅAÒ ÏUÔ BÉÔS ±5-9       ÌDB ÔÅMP3   GÅÔ BUÆÆÅÒ BYÔÅ ADDÒÅSS ÉN B ÒÅGÉSÔÅÒ ª  ª            SÔÏÒÅ ÔHÅ BYÔÅ ÉN A AÔ ÔHÅ BYÔÅ ADDÒÅSS ÉN B ª  SÔÏÒB ÃÌŬÅÒB     ÃÏNVÅÒÔ BUÆÆÅÒ ADÒ ÔÏ ×ÏÒD ADÒ       SÔA ÔÅMP5   SAVÅ BYÔÅ       ÌDA B¬É     GÅÔ ÃUÒÒÅNÔ ×ÏÒD ÉN BUÆÆÅÒ ÉNÔÏ A       SÅZ¬ÒSS     ÉÆ BYÔÅ ADDÒÅSS ×AS ÅVÅN       AÌÆ¬AÌÆ     ÔHÅN ÒÏÔAÔÅ BYÔÅS ÏÆ BUÆÆÅÒ ×ÏÒD       AND ÌHAÌÆ   GÅÔ ÌÅÆÔ ÏÒ ÒÉGHÔ HAÌÆ ÏÆ BUÆÆÅÒ ×ÏÒD       ÉÏÒ ÔÅMP5   PUÔ BYÔÅ ÆÒÏM BUÆÆÅÒ AND BYÔÅ ÒÅAD ÔÏGÅGÔHÅÒ       SÅZ¬ÒSS     ÉÆ BYÔÅ ADDÒÅSS ×AS ÅVÅN       AÌÆ¬AÌÆ     ÔHÅN ÒÏÔAÔÅ BYÔÅS ÏÆ ×ÏÒD ÔÏ BÅ SÔÏÒÅD SÔÏÒÅ SÔA B¬É     SÔÏÒÅ ×ÏÒD BAÃK ÉNÔÏ BUÆÆÅÒ ÏÆ USÅÒ ª  ª  ª        ÉSZ ÔÅMP3   ÉNÃÒÅMÅNÔ BUÆÆÅÒ BYÔÅ ADDÒÅSS       ÉSZ ÅÑÔ±3¬É ÉNÃÒÅMÅNÔ ÃÏUNÔ DÏ×N.  ÉÆ ÉÔS NÏÔ ZÅÒÏ       ÊMP ÌÏÏP    ÔHÅN GÏ ÃÏNVÅÒÔ NÅØÔ ÃÏÌUMN ª  ª            AÌÌ ÒÅADS ÅØÉÔ ÔHÒÏUGH ÃNBÌK ÔÏ ÃHÅÃK ÉÆ ÃAÒD ×AS BÌANK ª  ÃNBÌK ÊSB ÅAÔBÌ   GÏ ÆÉNÉSH UP ÒÅADÉNG ÃAÒD       ÌDA ÅÑÔ6¬É  GÅÔ ÉNÔÅÒNAÌ ÆÌAGS ×ÏÒD       ÌDB ÔÅMP´   ÌÏAD NÏN BÌANK ÃÏUNÔ       SZB         ÉÆ ÃAÒD ÉS NÏÔ BÌANK       ÉÏÒ .BÉÔà  ÔHÅN ÔUÒN NÏÔ BÌANK BÉÔ ÏN       SÔA ÅÑÔ6¬É  SÔÏÒÅ ÉNÔÅÒNAÌ ÆÌAGS ×ÏÒD       ÊMP ÃÏKÅØ   AND ÒÅÔUÒN ÔÏ DÏS ª  ª            ÉÆ ÔHÅÒÅ ÉS A BAD HÏÌÌÅÒÉÔH ÃÏDÅ ÔHÅN ÅØÉÔ HÅÒÅ ª  BADÃV ÌDA .²      SÅÔ BAD HÏÌÌÅÒÉÔH BÉÔ       ÊMP SNÒÅD   AND GÏ SÅÔ NÏÔ ÒÅADY ª  ª  ª  ª  ª  ª     ÒÏUÔÉNÅS USÅD BY ÒÅAD SÅÃÔÉÏN ª  ÌÉA   NÏP         ÒÅAD ÔHÅ ÌÏ× SÅÌÅÃÔ ÃHANNÅÌ ÌÉAÌ  ÅÑU ª       ÌÏÏP ÔÏ HÅÒÅ ÉÆ NÏ DAÔA ÒÅADY .Éϲ3 ÌÉA ÌÏS     ÒÅAD ÔHÅ ÌÏ×S SÅÌÅÃÔ ÃHANNÅÌ       SSA¬ÒSS     ÉÆ DAÔA BUÆÆÅÒ ÉS ÅMPÔY       ÊMP ÌÉA¬É   ÔHÅN GÏ BAÃK ÔÏ ÃAÌÌÅÒ       ÒAÌ         ÅÌSÅ ÌÏÏK AÔ DAÔA ÒÅADY ÆÌAG       SSA¬ÒSS     ÉÆ DAÔA ÑþúÉS NÏÔ ÒÅADY       ÊMP ÌÉAÌ    ÔHÅN ÌÏÏP ÔHÒÏUGH ÒÅAD UNÔÉÌ ÒÅADY       ÒAÒ         ÒÅSÔÏÒÅ ×ÏÒD ÒÅAD ÔÏ UNDÏ ÔHÅ ÒAÌ .ÉÏ´² SÔàÌÏS¬Ã   ÒÅÑUÅSÔ MÏÒÅ DAÔA .ÉÏ5² ÃÌàÌÏS     ÃÌÅAÒ ÃÏNÔÒÏÌ ÏN ÌÏ× SUBÃHANNÅÌ(GÌÉÔÃH©       ÊMP ÌÉA¬É   ÒÅÔUÒN ÔÏ ÃAÌÌÅÒ ª  ª  ª     ÃÒÌÉA  ÒÅADS ÔHÅ ÌÏ× SÅÌÅÃÔ ÃHANNÅÌ AND ÃHÅÃKS ÆÏÒ DAÔA PÒÅSÅNÔ ª  ÃÒÌÉA NÏP       ÊSB ÌÉA     ÒÅAD ÔHÅ ÌÏ× SÅÌÅÃÔ ÃHANNÅÌ       SSA¬ÒSS     ÉÆ DAÔA ÉS NÏÔ PÒÅSÅNÔ       ÊMP ÃNBÌK   GÏ ÃHÅÃK ÉÆ ÃAÒD ×AS BÌANK       AND ½B····  GÅÔ DAÔA BÉÔS ÏNÌY       SZA         ÉÆ ÃÏÌUMN ÉS NÏÔ BÌANK       ÉSZ ÔÅMP´   ÔHÅN ÉNÃÒÅMÅNÔ NÏN-BÌANK ÃÏUNÔÅÒ       ÊMP ÃÒÌÉA¬É AND ÒÅÔUÒN ÔÏ ÃAÌÌÅÒ ª  ª  ª     BÉNSZ  ÉNÃÒÅMÅNÔS PÏÉNÔÅÒS AND ÃHÅÃKS ÆÏÒ ÃÏMPÌÅÔÉÏN ª            ÉÔ AÌSÏ SÔÏÒÅS ÔHÅ ×ÏÒD A×AY ÉN ÔHÅ USÅÒ BUÆÆÅÒ ª  BÉNSZ NÏP       SÔA B¬É     SÔÏÒÅ ÔHÅ ×ÏÒD ÊUSÔ ÒÅAD ÉN ÔHÅ USÅÒ BUÆÆÅÒ       ÉSZ ÅÑÔ±²¬É ÉNÃÒÅMÅNÔ BUÆÆÅÒ ×ÏÒD ADDÒÅSS       ÉNB         DÉÔÔÏ       SZA         ÉÆ ÔHÅ ×ÏÒD SÔÏÒÅD ÉS NÏN-ZÅÒÏ ÔHÅN       ÉSZ ÅÑÔ±´¬É ÉNÃÒÅMÅNÔ ÔHÅ ÔÒANSMÉSSÉÏN ÃÏUNÔ       ÉSZ ÅÑÔ±3¬É ÉNÃÒÅMÅNÔ ÔHÅ ÃÏUNÔ DÏ×N       ÊMP BÉNSZ¬É ÒÅÔUÒN ÔÏ ÃAÌÌÅÒ       ÊMP ÃNBÌK   GÏ ÃHÅÃK ÉÆ BÌANK AND ÒÅÔUÒN ÔÏ DÏS ª  ª  ª        SKP ª  ª  ª     Ã×ÒÉÔ  ÔHÅ ×ÒÉÔÅ ÃÏMPÌÅÔÉÏN SÅÃÔÉÏN ª  Ã×ÒÉÔ ÌDA ÅÑÔ5¬É  GÅÔ ÆUÌÌ PSÅUDÏ SÔAÔUS       AND ½B60000 ÃHÅÃK ÔÏ SÅÅ ÔHAÔ PÒÉNÔ ÏÒ PUNÃH ×AS ÅNABÌÅD       SZA¬ÒSS     ÉÆ ÔHÅY ×ÅÒÅN'Ô       ÊMP É×ÒÉÔ   ÔHÅN ÊUMP ÔÏ É×ÒÉÔ BÅÃAUSÅ ² ÆÅÅDS ×ÅÒÅ NÅÅDÅD       ÌDA ÅÑÔ6¬É  ÌÏAD ÉNÔÅÒNAÌ ÆÌAGS ×ÏÒD       AÌÆ         PÏSÉÔÉÏN PÏP AND NÏÔ BÌANK BÉÔS       AND .3      ÉSÏÌAÔÅ ÔHÅM       ÃPA .±      ÉÆ PÏP¬NÏÔ BÌANK ½ ±       ÊMP NÒÅDY   ÔHÅN PÏP ÉS NÏÔ ÅNABÌÅD AND ÃAÒD ÉS NÏÔ BÌANK       ÌDA .ND¸0   ÌÏAD A MÉNUS ¸0       SÔA ÔÅMP5   SÔÏÒÅ ÉÔ ÉN ÔÅMP5 ÆÏÒ USÅ ÉN ÆÉÌÌÉNG PUNÃH BUÆÆÅÒ       ÌDA ÅÑÔ9¬É  GÅÔ ÒÅÑUÅSÔ ÃÏNÔÒÏÌ ×ÏÒD       AND .±00B   ÌÏÏK AÔ M BÉÔ 6       SZA         ÉÆ M ÉS ÏNÅ       ÊMP Ã×BNY   ÔHÅN GÏ ÔÏ ÔHÅ BÉNAÒY ×ÒÉÔÅÒ ª  ª  ª     Ã×ASà×ÒÉÔÅS A BUÆÆÅÒ ÉN ASÃÉÉ-HÏÌÌÅÒÉÔH ÆÏÒMAÔ ìþúª  Ã×ASàÌDA .D´0    ÅÌSÅ SÅÔ UP ASÃÉÉ ×ÒÉÔÅ.  SPD BUÆÆÅÒ DÉSPÌAÃÅMÅNÔ       SÔA SPDÏÆ   ÉS ´0 DÏ×N ÆÒÏM PUNÃH BUÆÆÅÒ       ÌDA ÅÑÔ±±¬É ÌÏAD BUÆÆÅÒ ÌÅNGHÔ       ÌDB ÅÑÔ±3¬É ÌÏAD ÃÏUNÔ DÏ×N       SSA¬ÒSS     ÉÆ BUÆÆÅÒ ÌÅNGÔH ÉS PÏSÉÔÉVÅ       BÌS         ÔHÅN ÒÅÑUÅSÔ ÉN ×ÏÒDS.  DÏUBÌÅ BYÔÅ ÃÏUNÔ       SÔB ÅÑÔ±3¬É SÔÏÒÅ BYÔÅ ÃÏUNÔ (NÅGAÔÉVÅ©       ÌDB ÅÑÔ±²¬É GÅÔ ×ÏÒD BUÆÆÅÒ ADDÒÅSS ÉNÔÏ B ÒÅGÉSÔÅÒ       ÃÌŬÅÌB     ÃÏNVÅÒÔ ÉÔ ÔÏ A BYÔÅ ADDÒÅSS Ã×AÌP ÊSB ÏÔASà  GÏ ÏUÔ PUÔ ÔHÅ BYÔÅ       ÊSB Ã×ÉSZ   GÏ ÉNÃÒÅMÅNÔ PÏÉNÔÅÒS AND ÃHÅÃK ÉÆ DÏNÅ       ÊMP Ã×AÌP   GÏ GÅÔ NÅØÔ BYÔÅ ÔÏ BÅ ÏUÔPUÔ ª  ª  ª     Ã×BNY  ÃHÏÏSÅS BÅÔ×ÅÅN ÃÏÌUMN BÉNAÒY AND PAÃKÅD BÉNAÒY ª  Ã×BNY ÌDB ÅÑÔ±²¬É SÅÔ UP BUÆÆÅÒ ADDÒÅSS       ÌDA ÅÑÔ9¬É  ÌÏAD ÒÅÑUÅSÔ ÃÏNÔÒÏÌ ×ÏÒD       AND .²00B   ÃHÅÃK V BÉÔ ·       SZA         ÉÆ V ÉS ÏNÅ       ÊMP Ã×PBÉ   ÔHÅN GÏ ×ÒÉÔÅ PAÃKÅD BÉNAÒY ª  ª  ª     Ã×ÃBÉ ×ÒÉÔÅS A BUÆÆÅÒ ÉN ÃÏÌUMN BÉNAÒY ÆÏÒMAÔ ª        ÌDA .D¸0    ÅÌSÅ SÅÔ UP ÆÏÒ ÃÏÌUMN BÉNAÒY       SÔA SPDÏÆ   SÔÏÒÅ ÏÆÆSÅÔ ÏÆ PÒÉNÔ BUÆÆÅÒ ÆÒÏM PUNÃH BUÆÆÅÒ Ã×ÃBÉ ÌDA B¬É     ÌÏAD ×ÏÒD ÆÒÏM USÅÒ BUÆÆÅÒ       AND ½B····  GÅÔ ÃÏÌUMN BÉÔS       ÊSB ÏÔA     ÏUÔPUÔ ÔHÅ ×ÏÒD ÔÏ ÔHÅ ÌÏ× SÅÌÅÃÔ ÃHANNÅÌ       ÊSB Ã×ÉSZ   ÉNÃÒÅMÅNÔ PÏÉNÔÅÒS  AND ÃHÅÃK ÉÆ DÏNÅ       ÊMP Ã×ÃBÉ   ÌÏÏP UNÔÉÌ DÏNÅ ª  ª  ª     Ã×PBÉ  ×ÒÉÔÅS ÔHÅ USÅÒ BUÆÆÅÒ ÉN PAÃKÅD BÉNAÒY ÆÏÒMAÔ ª  Ã×PBÉ ÌDA .D60       SÔA SPDÏÆ   SÔÏÒÅ PUNÃH AND PÒÉNÔ BUÆÆÅÒ ÏÆÆSÅÔ       ÌDA B¬É     ÌÏAD ×ÏÒD ÆÒÏM BUÆÆÅÒ       AÌÆ¬AÌÆ     PÏSÉÔÉÏN ÉÔS UPPÅÒ BÉÔS ÉNÔÏ BÉÔS ±±-0       AÌÆ       AND ½B····  GÅÔ ÒÉD ÏÆ BÉÔS ±5-±²       ÊSB ÏÔA     AND ÏUÔPUÔ ÔHÅ ×ÏÒD       ÌDA B¬É     GÅÔ ×ÏÒD BAÃK AGAÉN       AND .±·B    GÅÔ ÉÔS ÌÏ×ÅÒ ´ BÉÔS       AÌÆ¬AÌÆ     MÏVÅ ÔHÅM ÉNÔÏ BÉÔS ±±-9       SÔA ÔÅMP±   AND SAVÅ ÔHÅM ÆÏÒ ÌAÔÅÒ       ÉNB         ÉNÃÒÅMÅNÔ BUÆÆÅÒ ADDÒÅSS       ÉSZ ÔÅMP5   ÉNÃÒÅMÅNÔ ÃÏÌUMN ÃÏUNÔ       ÌDA B¬É     GÅÔ NÅØÔ ×ÏÒD ÆÒÏM BUÆÆÅÒ       SÔA ÔÅMP3   SÔÏÒÅ ÉÔ ÆÏÒ ÌAÔÅÒ USÅ       AÌÆ¬AÌÆ     ÒÏÔAÔÅ ÌÅÆÔ AND ÒÉGHÔ BYÔÅ       ÜþúAND ÒHAÌÆ   GÅÔ ÒÉD ÏÆ BÉÔS ±5-9       ÊSB ÃPBÏA   GÏ ÏUÔPUÔ A ÃÏÌUMN       ÌDA ÔÅMP3   GÅÔ BAÃK ÌASÔ ×ÏÒD       AND ÒHAÌÆ   GÅÔ ÒÉD ÏÆ BÉÔS ±5-9 ÔHÅY'VÅ BÅÅN ×ÒÉÔÔÅN       AÌÆ         MÏVÅ ÌHAÌÆ UP ´ BÉÔS       SÔA ÔÅMP±   SÔÏÒÅ ÌÅÆÔ ²¯3 ÏÆ ÃÏÌUMN       ÌDA B¬É     GÅÔ NÅØÔ ×ÏÒD ÆÒÏM BUÆÆÅÒ       SÔA ÔÅMP3   SÔÏÒÅ ÉÔ A×AY ÆÏÒ ÌAÔÅÒ USÅ       AÌÆ         MÏVÅ UPPÅÒ ´ BÉÔS ÔÏ ÌÏ×ÅÒ ´ BÉÔS       AND .±·B    AND GÅÔ ÒÉD ÏÆ ÒÅSÔ ÏÆ BÉÔS       ÊSB ÃPBÏA   GÏ ÏUÔPUÔ A ÃÏÌUMN       ÌDA ÔÅMP3   GÅÔ ×ÏÒD BAÃK       AND ½B····  GÅÔ ÌÏ×ÅÒ ±² BÉÔS       SÔA ÔÅMP±   PUÔ ÔHÅM A×AY ÆÏÒ USÅ BY ÃPBÏA       ÊSB ÃPBÏA   GÏ ÏUÔPUÔ ÔHÅ ÃÏÌUMN       ADB .ND±    DÅÃÒÅMÅNÔ B       ÊMP Ã×PBÉ   GÏ DÏ NÅØÔ 3 ×ÏÒDS ª        SKP ª  ª  ª     ÒÏUÔÉNÅS USÅD BY ×ÒÉÔÅ SÅGMÅNÔS ª  ª     ÃPBÏA  ÃÏMBÉNÅS ÔHÅ ÌÅÆÔ PAÒÔ ÆÒÏM ÔÅMP± AND ÔHÅ ª            ÒÉGHÔ PAÒÔ ÆÒÏM ÔHÅ A ÒÅGÉSÔÅÒ ÔÏ MAKÅ ª            A ÃÏÌUMN.  ÉÔ ÃHÅÃKS ÉÆ ÔHÅ ÒÅÑUÅSÔ ÉS ÃÏM- ª            PÌÅÔÅ ÉN ÔHÅ MÉDDÌÅ ÏÆ ÃÏÌUMN AND ÉÆ SÏ ª            DÏÅS NÏÔ ÃÏMPÌÅÔÅ ÔHÅ ÃÏÌUMN BUÔ DÏÅS ÏUÔPUÔ ª            ÉÔ. ª  ÃPBÏA NÏP       SÔA ÔÅMP²   SÔÏÒÅ ÒÉGHÔ PAÒÔ ÏÆ ×ÏÒD       ÌDA ÅÑÔ±3¬É ÌÏAD ÃÏUNÔ DÏ×N       ÃMA¬SZA     ÉÆ ÃÏUNÔ DÏ×N ÉS NÏÔ -±       ÌDA ÔÅMP²   ÔHÅN GÅÔ ÒÉGHÔ PAÒÔ ÏÆ ÃÏÌ.(ÆÒÏM NÅØÔ ×ÏÒD ÉN BUÆ©       ÉÏÒ ÔÅMP±   GÅÔ ÌÅÆÔ PAÒÔ ÏÆ ÃÏÌUMN       ÊSB ÏÔA     ÏUÔPUÔ ÔHÅ ÃÏÌUMN       ÊSB Ã×ÉSZ   ÉNÃÒÅMÅNÔ PÏÉNÔÅÒS AND ÃHÅÃK ÉÆ DÏNÅ       ÊMP ÃPBÏA¬É ÒÅÔUÒN ÔÏ ÃAÌÌÅÒ ª  ª  ª      Ã×ÉSZ  ÉNÃÒÅMÅNÔS PÏÉNÔÅÒS AND ÃHÅÃKS ÆÏÒ ÃÏMPÌÅÔÉÏN ª  Ã×ÉSZ NÏP          ÅNÔÅÒ ×ÉÔH A ÊSB       ÉSZ ÔÅMP5   ÉNÃÒÅMÅNÔ ÃÏÌUMN ÃÏUNÔÅÒ       ÒSS         ÉÆ ÉÔ GÏÅS ÔÏ ZÅÒÏ       ÊMP ÃÆÉÌÌ  GÏ ÃHÅÃK ÆÏÒ SPD       ÉSZ ÅÑÔ±´¬É ÉNÃÒÅMÅNÔ ÔHÅ ÔÒANSMÉSSÉÏN ÌÏG       ÉNB         ÉNÃÒÅMÅNÔ ÔHÅ BUÆÆÅÒ PÏÉNÔÅÒ       ÉSZ ÅÑÔ±3¬É ÉNÃÒÅMÅNÔ ÔHÅ ÃÏUNÔ DÏ×N. ÉÆ ×Å'ÒÅ NÏÔ DÏNÅ       ÊMP Ã×ÉSZ¬É ÔHÅN GÏ BAÃK ÔÏ ÃAÌÌÅÒ       ÊMP ÃÆÉÌÌ   ÅÌSÅ GÏ ÆÉÌÌ BUÆÆÅÒ AND ÃHÅÃK ÆÏÒ SPD ª  ª  ª       ÃÏNAH ÃÏNVÅÒÔS ÔHÅ ÃÏNÔÅNÔS ÏÆ ÔHÅ A ÒÅGÉSÔÅÒ ª           òûþú  ÆÒÏM ASÃÉÉ ÔÏ HÏÌÌÅÒÉÔH ÒÅÔUÒNÅD ÉN ÔHÅ A ÒÅGÉSÔÅÒ ª  ÃÏNAH NÏP       ÃPA .D96    ÏNÌY NÏN-VAÌÉD ASÃÉÉ BÅÔ×ÅÅN 3²-±²²(BASÅ ±0©       ÊMP ÃÏBAD   ÉÆ 96 ÔHÅN ÔAKÅ BAD ÅØÉÔ       ADA .ND3±   ADD A NÅGAÔÉVÅ 3±       SSA         ÉÆ ÃHAÒAÃÔÅÒ ÉS ÌÅSS ÔHAN 3±       ÊMP ÃÏBAD   ÔHÅN ÔAKÅ BAD ÅØÉÔ       ADA .ND9²   ÉÆ ÃHAÒAÃÔÅÒ ÉS GÒÅAÔÅÒ ÔHAN ±²²       SSA¬ÒSS    (×HÉÃH ÉS UPPÅÒ ÌÉMÉÔ ÏÆ SMAÌÌ ÌÅÔÔÅÒS©       ÊMP ÃÏBAD   ÔHÅN ÔAKÅ BAD ÅØÉÔ       ADA .D²6    BÉAS UP ÔÏ ÃHÅÃK ÆÏÒ SMAÌÌ ÌÅÔÔÅÒS       SSA¬ÒSS     ÉÆ ÉÔ ÉS A SMAÌÌ ÌÅÔÔÅÒ       ADA .ND3²   BÉAS ÉÔ ÔÏ MAKÅ ÉÔ APPÅAÒ AS A ÃAPÉÔAÌ       ADA .D65    BÉAS SÏ ÔHAÔ BÌANK ÉS 0 DÉSPÌAÃÅMÅNÔ ÉN ÔABÌÅ       ADA ÔABAH   ADD ÉN ADDÒÅSS ÏÆ ASÃÉÉ ÔÏ HÏÌÌÅÒÉÔH ÔABÌÅ       ÌDA A¬É     ÌÏAD HÏÌÌÅÒÉÔH ÃÏDÅ ÆÒÏM ÔABÌÅ       ÊMP ÃÏNAH¬É ÒÅÔUÒN ÔÏ ÃAÌÌÅÒ ÃÏBAD ÃÌA           ÏN BAD ÅØÉÔ ÏUÔPUÔ A BÌANK       ÊMP ÃÏNAH¬É ÒÅÔUÒN ÔÏ USÅÒ ª  ª  ª       ÏÔA   ÏUÔPUÔS ÔÏ ÔHÅ ÌÏ× SÅÌÅÃÔ ÃÏDÅ ª  ÏÔA   NÏP .ÉÏ3± ÏÔA ÌÏS     ÏUÔPUÔ ÃÏÌUMN ÔÏ ÔHÅ ÌÏ× SÅÌÅÃÔ ÃHANNÅÌ ÌÏÔA  ÅÑU ª       ÌÏÏP ÔÏ HÅÒÅ UNÔÉÌ ÒÅADY       ÊSB ÌÉA     GÏ ÒÅAD ÔHÅ ÌÏ× SÅÌÅÃÔ ÃÏDÅ       AND .BÉÔÅ   ÌÏÏK AÔ ÆÌAG BÉÔ       SZA¬ÒSS     ÉÆ ÉÔ ÉS NÏÔ ÒÅADY       ÊMP ÌÏÔA    ÔHÅN ÌÏÏP UNÔÉÌ ÒÅADY .ÉÏ´3 SÔàÌÏS¬Ã   SÅÔ DAÔA AVAÉÌABÌÅ ÌÉNÅ       ÊMP ÏÔA¬É   ÒÅÔUÒN ÔÏ ÃAÌÌÅÒ ª  ª  ª       ÃÆÉÌÌ  ÆÉÌÌS UP ÔHÅ ÏUÔPUÔ BUÆÆÅÒ ÉÆ NÅÃÅSSAÒY ª              ÔHÅN ÉÔ ÃHÅÃKS ÆÏÒ SÅPAÒAÔÅ PÒÉNÔ DAÔA ª              ÉÆ ÉÔ ÉS PÒÅSÅNÔ ÉÔ ÔHÅN ÏUÔPUÔS ÉÔ ª  ÃÆÉÌÌ NÏP       ÃÌA         ÃÌÅAÒ A       ÃPA ÔÅMP5   ÉS ÔHÅ ÃÏÌUMN ÃÏUNÔ DÏ×N ÔÏ ZÅÒÏ?       ÊMP ÃKSPD   YÅS  ÔHÅN GÏ ÃHÅÃK SPD       ÊSB ÏÔA     GÏ ÏUÔPUÔ A BÌANK       ÉSZ ÔÅMP5   ÉÆ ÔÅMP5<¾0       ÊMP ª-²     ÔHÅN ×Å'ÒÅ NÏÔ DÏNÅ.  GÏ ÏUÔPUÔ A BÌANK ÃKSPD ÌDA ÅÑÔ9¬É  ÌÏAD ÒÅÑUÅSÔ ÃÏNÔÒÏÌ ×ÏÒD       AND .BÉÔà  ÉÆ SPD BÉÔ ±² ÉS SÅÔ       SZA¬ÒSS     ÉÆ SPD BÉÔ ±² ÉS NÏÔ SÅÔ       ÊMP Ã×ÒÅØ   GÏ ÅØÉÔ ÔÏ DÏS UNÔÉÌ DÏNÅ PUNÃHÉNG.       ÌDB ÅÑÔ±0¬É GÅÔ ÏÒÉGÉNAÌ BUÆÆÅÒ ADDÒÅSS       ADB SPDÏÆ   ADD ÔÏ ÉÔ ÔHÅ ÏÆÆSÅÔ ÆÒÏM ÔHŸ•þúÅ PUNÃH BUÆÆÅÒ       ÃÌŬÅÌB     ÃÏNVÅÒÔ ADDÒÅSS ÔÏ BYÔÅ ADDÒÅSS       ÌDA .ND¸0   ÌÏAD A -¸0       SÔA ÔÅMP5   AND SÔÏÒÅ ÉÔ ÆÉÌUP ÊSB ÏÔASà  GÏ ÏUÔPUÔ ÔHÅ BYÔÅ ÏÆ ÔHÅ PÒÉNÔ BUÆÆÅÒ       ÉNB         ÔHÅN ÉNÃÒÅMÅNÔ ÔHÅ BUÆÆÅÒ ADDÒÅSS       ÉSZ ÔÅMP5   ÉNÃÒÅMÅNÔ ÔHÅ ÃÏUNÔ DÏ×N. AÒÅ ×Å DÏNÅ?       ÊMP ÆÉÌUP   NϬ ÔHÅN ÌÏÏP UNÔÉÌ DÏNÅ Ã×ÒÅØ ÌDA ÒHAÌÆ   SÅÔ ×ÒÉÔÅ ÃÏMPÌÅÔÉÏN       SÔA ÅÑÔ±3¬É BY ÅÑUAÔÉNG ÅÑÔ±3 ÔÏ 3··B       ÌDA ÅÑÔ6¬É  GÅÔ ÉNÔÅÒNAÌ ÆÌAGS ×ÏÒDUNÔÉÌ DÏNÅ PUNÃHÉNG       SSA         ÉÆ ÉNHÉBÉÔ ÉNPUÔ ÉS SÅÔ       ÊMP ÃÏKÅØ   ÔHÅN ÅØÉÔ ÔÏ DÏS NÏ× ×Å'ÒÅ DÏNÅ       ÊMP ÉÃÏNÔ   ÅÌSÅ GÏ ×AÉÔ ÔÉÌÌ ÔHÅ NÅØÔ ÃAÒD ÉS ÆÅD ª  ª  ª     ÏÔASàÏUÔPUÔS A BYÔÅ ÆÒÏM ÔHÅ BYÔÅ ADDÒÅSS ª           ÔHAÔ ÉS ÃÏNÔAÉNÅD ÉN ÔHÅ B ÒÅGÉSÔÅÒ UPÏN ª           ÅNÔÒY ª  ÏÔASàNÏP       ÌDA B       GÅÔ BYÔÅ ADDÒÅSS ÉNÔÏ A ÒÅG.       ÃÌŬÅÒA     ÃÏNVÅÒÔ ÔÏ ×ÏÒD ADDÒÅSS. SAVÅ BYÔÅ NÏ. ÉN Å       ÌDA A¬É     GÅÔ ×ÏÒD ÃÏNÔAÉNÉNG BYÔÅ SPÅÃÉÆÉÅD       SÅZ¬ÒSS     ÉÆ ÌÅÆÔ BYÔÅ ÉS SPÅÃÉÆÉÅD       AÌÆ¬AÌÆ     ÔHÅN MÏVÅ ÉÔ ÔÏ ÔHÅ ÒÉGHÔ BYÔÅ       AND ÒHAÌÆ   GÅÔ ÒÉGHÔ HAÌÆ ÏÆ ×ÏÒD       ÊSB ÃÏNAH   GÏ ÃÏNVÅÒÔ ÆÒÏM ASÃÉÉ ÔÏ HÏÌÌÅÒÉÔ       ÊSB ÏÔA     AND ÏUÔPUÔ ÔHÅ ÃÏÌUMN       ÊMP ÏÔASìɠÒÅÔUÒN ÔÏ ÃAÌÌÅÒ ª  ª        SKP ª  ª     DAÔA SÅÃÔÉÏN ÏÆ DÒÉVÅÒ ª  ª  ª     HÏÌÌÅÒÉÔH ÔÏ ASÃÉÉ ÔABÌÅ ª  ÔABHA DÅÆ ª+±       ASà±6¬ ±²3´56·¸9:£À'½"-ÊKÌMNÏPÑÒ!$ª©»Ý       ASà±6¬0¯SÔUVרYZ\¬¥_¾?¦ABÃDÅÆGHÉÛ.<(+Þ ª  ª  ª  ª  ª      ASÃÉÉ ÔÏ HÏÌÌÅÒÉÔH ÔABÌÅ ª  ÔABAH DÅÆ ª+±       ÏÃÔ 0000  SPAÃÅ       ÏÃÔ ´006  !       ÏÃÔ 0006  "       ÏÃÔ 0±0²  £       ÏÃÔ ²±0²  $       ÏÃÔ ±0´²  ¥ .BÉÔB ÏÃÔ ´000  ¦       ÏÃÔ 00²²  '       ÏÃÔ ´0²²  (       ÏÃÔ ²0²²  ©       ÏÃÔ ²0´²  ª       ÏÃÔ ´0±²  +       ÏÃÔ ±±0²  ¬ .BÉÔA ÏÃÔ ²000  -       ÏÃÔ ´±0²  .       ÏÃÔ ±´00  ¯ .BÉÔ9 ÏÃÔ ±000  0 .BÉÔ¸ ÏÃÔ 0´00  ± .BÉÔ· ÏÃÔ 0²00  ² .BÉÔ6 ÏÃÔ 0±00  3 .BÉÔ5 ÏÃÔ 00´0  ´ .BÉÔ´ ÏÃÔ 00²0  5 .BÉÔ3 ÏÃÔ 00±0  6 .BÉÔ² ÏÃÔ 000´  · .BÉÔ± ÏÃÔ 000²  ¸ .BÉÔ0 ÏÃÔ 000±  9       ÏÃðþþúÔ 0²0²  :       ÏÃÔ ²0±²  »       ÏÃÔ ´0´²  <       ÏÃÔ 00±²  ½       ÏÃÔ ±0±²  ¾       ÏÃÔ ±006  ?       ÏÃÔ 00´²  À       ÏÃÔ ´´00  A       ÏÃÔ ´²00  B .´±00 ÏÃÔ ´±00  Ã       ÏÃÔ ´0´0  D       ÏÃÔ ´0²0  Å       ÏÃÔ ´0±0  Æ       ÏÃÔ ´00´  G       ÏÃÔ ´00²  H       ÏÃÔ ´00±  É       ÏÃÔ ²´00  Ê       ÏÃÔ ²²00  K       ÏÃÔ ²±00  Ì       ÏÃÔ ²0´0  M       ÏÃÔ ²0²0  N       ÏÃÔ ²0±0  Ï       ÏÃÔ ²00´  P       ÏÃÔ ²00²  Ñ       ÏÃÔ ²00±  Ò       ÏÃÔ ±²00  S .±±00 ÏÃÔ ±±00  Ô       ÏÃÔ ±0´0  U       ÏÃÔ ±0²0  V       ÏÃÔ ±0±0  ×       ÏÃÔ ±00´  Ø       ÏÃÔ ±00²  Y       ÏÃÔ ±00±  Z       ÏÃÔ ´²0²  Û       ÏÃÔ ±²0²  \       ÏÃÔ ²²0²  Ý       ÏÃÔ ²006  Þ       ÏÃÔ ±0²²  _ ª  .BÉÔàÏÃÔ ±0000 .BÉÔD ÏÃÔ ²0000 .BÉÔÅ ÏÃÔ ´0000 .BÉÔÆ ÏÃÔ ±00000 NBÉÔÆ ÏÃÔ 0····6 ª  ÌÉAÉ  ÌÉA 0      USÅD ÔÏ ÃÏNÆÉGUÒÅ ÉÏ ÉNSÔÒUÃÔÉÏNS ª  ÔÅMP± ÏÃÔ 0 ÔÅMP² ÏÃÔ 0 ÔÅMP3 ÏÃÔ 0 ÔÅMP´ ÏÃÔ 0 ÔÅMP5 ÏÃÔ 0 ÏKÃÏM ÏÃÔ 0     USÅD ÔÏ KÅÅP ÔHÅ GÏÏD ÃÏMPÌÅÔÉÏN ÃÏDÅ BADÃÏ ÏÃÔ 0     USÅD ÔÏ KÅÅP ÔHÅ BAD ÃÏMPÌÅÔÉÏN ÃÏDÅ UPÑÔÒ ÏÃÔ ±·0000 UPPÅÒ ÑUAÒÔÅÒ ×ÏÒD .···B ÏÃÔ ···    USÅD ÔÏ AND ÏUÔ ÒÏ×S ±-9 ÏÆ A ÃÏÌUMN .²´0B ÏÃÔ ²´0    USÅD ÔÏ SÅÔ ÅÏÆ AND ÏPÅÒAÔÉÏN ÒÅÊÅÃÔÅD BÉÔS .´0²B ÏÃÔ ´0²    USÅD ÔÏ ÃHÅÃK ÆÏÒ ¸-± PUNÃH .60B  ÏÃÔ 60     USÅD AS ÔABÌÅ ÏÆÆSÅÔ ÆÏÒ ±² PUNÃH .²0B  ÅÑU .BÉÔ´  USÅD AS ÔABÌÅ ÏÆÆSÅÔ ÆÏÒ ±± PUNÃH .´0B  ÅÑU .BÉÔ5  USÅD AS ÔABÌÅ ÏÆÆSÅÔ ÆÏÒ 0 PUNÃH .ND¸0 DÅà-¸0    USÅD ÔÏ ÃÏUNÔ ÃÏÌUMNS ÏUÔPUÔ .D¸0  DÅà¸0     PUNÃH BUÆÆÅÒ ÏÆÆSÅÔ ÆÏÒ ÃÏÌUMN BÉNAÒY .D´0  DÅà´0     PUNÃH BUÆÆÅÒ ÏÆÆSÅÔ ÆÏÒ ASÃÉÉ ×ÒÉÔÅ .D60  DÅà60     PUNÃH BUÆÆÅÒ ÏÆÆSÅÔ ÆÏÒ PAÃKÅD BÉNAÒY .²00B ÅÑU .BÉÔ·  USÅD ÔÏ ÃHÅÃK V BÉÔ ÏÆ ÃÏNÔÒÏÌ ×ÏÒD .D96  DÅà96     USÅD ÉN ÃHÅÃKÉNG ASÃÉÉ ÃÏNVÅÒSÉÏN ÔÏ HÏÌ. .ND3± DÅà-3±    USÅD ÉN ÃHÅÃKÉNG ASÃÉÉ ÔÏ HÏÌÌÅÒÉÔH ÃÏNV. .ND9² DÅà-9²    USÅD ÉN ÃHÅÃKÉNG ASÃÉÉ ÔÏ HÏÌ. ÃÏNVÅÒSÉÏN .D²6  DÅà²6     USÅD ÉN ASÃÉÉ ÔÏ HÏÌÌÅÒÉÔH ÃÏNVÅÒSÉÏN .ND3² ÅÑU ··B    USÅD ÉN ASÃÉÉ ÔÏ HÏÌÌÅÒÉÔH ÃÏNVÅÒSÉÏN .D65  DÅà65     USÅD ÉN ASÃÉÉ ÔÏ HÏÌÌnÈljfÅÒÉÔH ÃÏNVÅÒSÉÏN SPDÏÆ ÏÃÔ 0      SÅÔ BY DÉÆÆÅÒÅNÔ ×ÒÉÔÅS ÔÏ PÏÉNÔ ÔÏ SPD BUÆÆÅÒ .±´0B ÅÑU .D96   USÅD ÔÏ ÃHÅÃK ÒÅADY AND ÒÅADY ÆÏÒ ÃÏMMAND BÉÔS ..    ÅÑU 53B .ND±0 ÅÑU ..-±0 .ND9  ÅÑU ..-9 .ND¸  ÅÑU ..-¸ .ND·  ÅÑU ..-· .ND6  ÅÑU ..-6 .ND5  ÅÑU ..-5 .ND´  ÅÑU ..-´ .ND3  ÅÑU ..-3 .ND²  ÅÑU ..-² .ND±  ÅÑU ..-± .0    ÅÑU .. .±    ÅÑU ..+± .²    ÅÑU ..+² .3    ÅÑU ..+3 .´    ÅÑU ..+´ .5    ÅÑU ..+5 .6    ÅÑU ..+6 .·    ÅÑU ..+· .¸    ÅÑU ..+¸ .9    ÅÑU ..+9 .±0   ÅÑU ..+±0 .±00B ÅÑU ..+±² .±·B  ÅÑU ..+±3 .3·B  ÅÑU ..+±´ .··B  ÅÑU ..+±5 .±··B ÅÑU ..+±6 ÒHAÌÆ ÅÑU ..+±· ÌHAÌÆ ÅÑU ..+±¸ ...   ÅÑU ²0²B ÅÑÔ±  ÅÑU ...+± ÅÑÔ²  ÅÑU ...+² ÅÑÔ3  ÅÑU ...+3 ÅÑÔ´  ÅÑU ...+´ ÅÑÔ5  ÅÑU ...+5 ÅÑÔ6  ÅÑU ...+6 ÅÑÔ·  ÅÑU ...+· ÅÑÔ¸  ÅÑU ...+¸ ÅÑÔ9  ÅÑU ...+9 ÅÑÔ±0 ÅÑU ...+±0 ÅÑÔ±± ÅÑU ...+±± ÅÑÔ±² ÅÑU ...+±² ÅÑÔ±3 ÅÑU ...+±3 ÅÑÔ±´ ÅÑU ...+±´ ÅÑÔ±5 ÅÑU ...+±5 ÅÑÔ±6 ÅÑU ...+±6 ÅÑÔ±· ÅÑU ...+±· ÒÑÃNÔ ÅÑU ...+±¸ ÌÏS   ÅÑU 9 HÉS   ÅÑU ±0 A     ÅÑU 0 B     ÅÑU ± ª  ª        ÅND élÿÿ ÿý+ ÿ12996-18001 1541 S 0122 12996A LP SUBSYSTEM DIAGNOSTIC             H0101 ,þúASMB,A,B,L,C HED GENERAL OPERATING PROCEDURE ORG 0 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 * (SUPPRESS ALL OPERATOR INTERVENTION) * 11 = SUPRESS ERROR MESSAGES * 10 = SUPRESS NON-ERROR MESSAGES * 9 = GO TO USER CONTROL SECTION * AT END OF PRESENT TEST * 8= SUPPRESS OPERATOR INTERVENTION TESTS * 7 = SUPPRESS LP MESSAGES * 6 * = REFER TO PSEUDO OPDESIGN * 0 * NOTE: STANDARD RUN SHOULD BE WITH SW. REG. = 0 * USER CONTROL WILL ASK FOR A 32 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 * * 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 * * CONTROL PROGRAM HALT MESSAGES * * 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 RESERVED * 102071 RESERVED * 102070 RESERVED * * 106077 TRAP CELL HALT * * * <‚þúHED PROGRAM ORGANIZATION CHART * ******************************************* * * CONFIGURATOR 100B * * * LINKAGE TABLE * * ******************************************* * * EXECUTIVE 130B * * * LINKAGE * * ******************************************* * * CONSTANTS 150B * * * AND * * * STORAGE * * ******************************************* * * 2000B * * * EXECUTIVE CONTROL * * * * * ******************************************* * * IF USED * * * BASIC I/O TESTS (TEST 00) * * * ZCEND * * ******************************************* * * TABLE OF TEST POINTERS * * * TABLE OF I/O INSTR POINTERS * * ******************************************* * * * * * * * * * * * * * * * * * MAIN DIAGNOSTICS (1-31) * * * * * * * * * * * * * * * * * ******************************************* HED CONFIGURATOR LINKAGE TABLE A EQU 0 A REGISTER REFERENCE B EQU 1 B REGIÛþúSTER REFERENCE SW EQU 1 SWITCH REGISTER REFERENCE INTP EQU 0 INTERRUPT CHANNEL REFERENCE * ññ * 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 NOP 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 DSNL BSS 1 DIAGNOSTIC SERIAL NUMBER FMTR BSS 1 FORMATTER * * * CONTROL LINKAGE AND DATA REFERENCES * *ñ CFIG DEF ZCONF CONFIGURATION SECTION MSGC DEF ZMSGC MESSAGE WITH NO HALT MSGH DEF ZMSGH MESSAGE WITH HALT ERMS DEF ZERMS ERROR MESSAGE SWRT DEF ZSWRT SWITCH REGISTER CHECK ROUTINE TSTN OCT 0 CURRENT TEST NUMBER EXRT DEF ZEXRT RETURN TO CONTROL PROGRAM NOP RESERVED HED EXECUTIVE CONTROL ORG 2000B ZSTEX CLC INTP,C TURN I/O SYSTEM OFF JSB MSGC,I DO CRLF DEF ZRTLF LDA HDMP GET INTRODUCTORY MESSAGE STA *+2 JSB MSGC,I OUT PUT IT NOP CLA CLEAR PASS STA ZEOLC COUNT LDB ZSW9 CHECK FOR USER SELECTION REQ JSB SWRT,I JMP ZUSR IT'S USERS CHOICE ZNUSR LDA STDA GET STANDARD TEST RUN LDB STDB * JMP ZEXC * ZUSR LDA ZSINA RETRIEVE PREVIOUS RUN LDB ZSý>þúINB HLT 75B WAIT FOR USER INPUT NOP NOP NOP ZEXC STA ZUINA SAVE STB ZUINB USER STA ZSINA INPUT STB ZSINB PROGRAM LDB ZSW9 CHECK IF SW9 IS DOWN JSB SWRT,I JMP ZUSR NO GO AND WAIT CCA SET TEST NUMBER STA TSTN =-1 CLA STA ZTSTA CLEAR TEST RUN FLAG SKP ZEXCL LDA ZUINA RESTORE A REG. LDB ZUINB RESTORE B REG. ERA,RAL ROTATE ERB FIRST ERA TEST BIT STA ZUINA SAVE POSITIONS STB ZUINB ISZ TSTN MOVE TEST UP ONE NOP ZXCL1 LDA TSTN ADA TSTP GET IT'S LDA A,I ADDRESS CPA Z.M1 IS IT END OF LIST JMP ZEOL YES LDB ZUINB SSB,RSS SHOULD IT BE RUN? JMP ZEXCL NO STA ZTSTA YES - SAVE TEST ADDRESS JSB ZITCH INITIALIZE TRAP CELL HALTS JSB ZTSTA,I GO DO TEST ZEXRT LDA TSTN DISPLAY TEST NUMBER IF HALTED LDB ZSW15 CHECK FOR HALT AT END OF TEST JSB SWRT,I HLT 76B YES WAIT FOR OPERATOR LDB ZSW9 CHECK FOR ABORT JSB SWRT,I JMP ZUSR YES LDB ZSW13 CHECK FOR LOOP ON ROUTINE JSB SWRT,I JMP ZXCL1 YES - LOOP JMP ZEXCL CONTINUE * ZEOL LDA ZTSTA CHECK IF ANY TESTS WERE RUN SZA,RSS ? JMP ZNUSR NO SO PICK UP STANDARD RUN LDA ZEOLC UP DATE PASS COUNT INA STA ZEOLC CCE LDB ZPSCA GET PASS COUNT ADB Z.2 ADDRESS JSB O2AS,I CONVERT IT JSB MSGC,I CALL PRINT ROUTINE ZPSCA DEF ZPSC LDB ZSW12 CHECK FOR LOOP ON DIAG. JSB SWRT,I JMP *+3 YES LDA ZEOLC HLT 77B NO WAIT AND DISPLAY PASS COUNT LDA ZSINA RESTORE ORIGINAL LDB ZSINB PROGRAM JMP ZEXC \ þú DO IT ALL AGAIN * ññ SKP * MESSAGE OUTPUT WITH OUT HALT * ZMSGC NOP ENTRY JSB ZMSG OUTPUT MESSAGE OCT 2000 SWITCH 10 CHECK JMP ZMSGC,I RETURN TO CALLER * * MESSAGE OUTPUT WITH HALT * ZMSGH NOP ENTRY JSB ZMSG OUTPUT MESSAGE OCT 2000 SWITCH 10 CHECK LDA ZHLT GET HALT CODE STA *+2 PUT IT IN PLACE LDA ZSAVA RESTORE A REGISTER NOP HALT FOR DISPLAY JMP ZMSGH,I RETURN TO CALLER * * ERROR MESSAGE WITH HALT * ZERMS NOP ENTRY JSB ZMSG OUTPUT MESSAGE OCT 4000 SWITCH 11 CHECK CLA LDB ZSW14 CHECK SWR BIT 14 TO SUPPRESS JSB SWRT,I HALT STA *+3 PUT HALT IN PLACE LDA ZSAVA RESTORE A & B LDB ZSAVB ZHLT NOP WAIT FOR OPERATOR JMP ZERMS,I RETURN TO CALLER SKP * OUTPUT MESSAGE * ZMSG NOP STA ZSAVA SAVE A AND B REGISTERS STB ZSAVB LDB ZMSG,I GET SWITCH REGISTER BIT LDA ZMSG ADA Z.M2 DECREMENT RETURN ADDRESS STA ZMSG JSB SWRT,I CHECK TO SUPPRESS MESSAGE JMP ZMSG0 YES LDA ZMSG,I CHECK IF ERROR LDA A,I LDA A,I IF SO ALF,ALF AND Z.177 CPA ZA.E JSB ZCFTN CHECK TO OUTPUT TEST NUMBER LDA ZMSG,I NO RETRIEVE FORMAT LDB A,I ADDRESS CLA,CLE JSB FMTR,I ZMSG0 LDA ZMSG,I CONVERT HALT CODE LDB A,I FROM ASCII STRING CCA,CCE JSB AS2N,I STA ZN2AO SAVE RESULT AND Z.300 DECODE LDB ZH2 HALT CODE CPA Z.100 LDB ZH6 CPA Z.200 LDB ZH3 CPA Z.300 LDB ZH7 LDA ZN2AO GET HALT NUMBER AND Z.77 IOR B STA ZHLT SAVE IT ISZ ZMSG,I ADJUST RETURN POINTERS ISZ ZMSG ‘%þúISZ ZMSG ISZ ZMSG LDA ZSAVA RESTORE A AND B REGISTERS LDB ZSAVB JMP ZMSG,I SKP ZCFTN NOP LDA TSTN GET TEST NUMBER CPA ZCFTT IS IT THE SAME ONE? JMP ZCFTN,I YES SKIP OUTPUT STA ZCFTT NO - THEN UPDATE IT JSB ZN2AO CONVERT IT STA ZTSTN PUT IT IN STRING CLA DO A CRLF JSB SLOP,I CLA,CLE INDICATE START OF FORMAT LDB ZTSTF JSB FMTR,I JMP ZCFTN,I RETURN * * * * ZSAVA NOP ZSAVB NOP ZEOLC NOP ZTSTA NOP ZSINA NOP ZSINB NOP ZUINA NOP ZUINB NOP ZBTMP NOP PŠ Z.2 OCT 2 Z.7 OCT 7 Z.10 OCT 10 Z.60 OCT 60 Z.77 OCT 77 Z.177 OCT 177 Z.M1 DEC -1 Z.M2 DEC -2 ZD100 DEC -100 ZIOM OCT 177700 ZSW15 OCT 100000 ZSW14 OCT 40000 ZSW13 OCT 20000 ZSW12 OCT 10000 ZS812 OCT 010400 ZSW9 OCT 1000 Z.100 OCT 100 Z.200 OCT 200 Z.300 OCT 300 ZH2 OCT 102000 ZH6 OCT 106000 ZH3 OCT 103000 ZH7 OCT 107000 ZCFTT DEC -1 ZTSTF DEF *+1 ASC 3,TEST ZTSTN ASC 2,XX// ZRTLF ASC 1,// ZPSC ASC 6,PASS XXXXXX/ ZA.E OCT 105 HED GENERAL ROUTINES * * ZN2AO NOP STA ZIOAD SAVE NUMBER AND Z.7 CONVERT FIRST IOR Z.60 NUMBER STA B SAVE IT LDA ZIOAD GET RAR,RAR SECOND RAR NUMBER AND Z.7 CONVERT IOR Z.60 IT ALF,ALF MOVE TO UPPER HALF IOR B ADD LOWER JMP ZN2AO,I AND RETURN * * * *ñ * SWITCH REGISTER CHECK * ZSWRT NOP STA ZN2AO SAVE A REGISTER LIA SW GET SWITCH REG. AND B MASK OUT BIT SZA,RSS IS IT UP? ISZ ZSWRT NO LDA ZN2AO RESTORE A REGISTER LIB SW LET B = SWITCH REGISTER JMP ZSWRT,I RETURN TO CALLER * ññ * * * INITIALIZE TRAP CELL HALTS * ZITCH NOP LDA ZTSH GET STARTING TRAP CELL HAL„ÿþúT LDB Z.2 GET FIRST TRAP CELL LOCATION ZTSHL STA B,I PUT IT IN PLACE CPB Z.77 AM I FINISHED JMP ZITCH,I YES INB NEXT ADDRESS JMP ZTSHL * ZTSH OCT 106077 * * ññ * *ñ SKP * PUT JSB INSTRUCTION IN TRAP CELL * ZTCJI NOP LDB ZJSBI GET INSTRUCTION STB ZIOSC,I PUT IT IN TRAP CELL LDA ZTCJI,I GET LOCATION STA 3B SAVE IT FOR JSB INSTRUCTION ISZ ZTCJI ADJUST RETURN JMP ZTCJI,I RETURN TO CALLER * ñññû ZJSBI JSB 3B,I JSB INSTRUCTION * * * INITIALIZE SELECT CODE I/O INSTRUCTIONS * ññ ZISC NOP STA ZIOSC SAVE SELECT CODE STB ZIOAD SAVE TABLE ADDRESS ZIOL LDB ZIOAD,I GET ADDRESS OF LOCATION CPB Z.M1 IS IT THE TERMINATOR JMP ZISC,I YES RETURN TO CALLER LDA B,I NO - GET CONTENTS AND ZIOM MASK OFF OLD SELECT CODE IOR ZIOSC ADD IN NEW SELECT CODE STA B,I RESTORE IT ISZ ZIOAD MOVE TO NEXT ADDRESS JMP ZIOL DO IT * ññ ZIOSC NOP ZIOAD NOP * * * * SKP * CONFIGURATION SECTION * ZCONF CLC INTP,C TURN I/O SYSTEM OFF LIA SW GET SELECT CODE AND OPTIONS STA USSC SAVE THEM AND Z.77 ELIMINATE OPTIONS LDB A CMB,INB CHECK THAT SC > 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 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 f*þú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 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 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<¢<:6 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 j£<ÿÿ ÿý$ ÿ12996-18002 1541 S 0122 12996A LP SUBSYSTEM DIAGNOSTIC             H0101 -þú 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 CLF INTP TURN OFF ONTPS ZBS72 SFS CH 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 SKP 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 JMP ZBIO,I RETURN TO CALLER * ZBI70 NOP CONTROL FAILED CLF INTP TURN OFF INTPS INA JMP ZB70 * ññ 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 08,H025 BI-O COMP/ SKP 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 DEF ZBS42 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 * ~iþú HED BASE PAGE TABLES AND LINKS ORG 126B DSN OCT 105104 DIAGNOSTIC SERIAL NUMBER ORG 140B IOIP DEF IOID POINTER TO I/O INSTRUCTIONS LIST TSTP DEF TSTD POINTER TO TEST LIST HDMP DEF HDMS POINTER TO HEADER MESSAGE STDA OCT 177 STDB OCT 0 * ORG 150B HDMS EQU * ASC 16,HP 9866 LINE PRINTER DIAGNOSTIC/ IOID EQU * DEF SC00 DEF SC01 DEF SC02 DEF SC03 DEF SC04 DEF SC05 DEF SC06 DEF SC07 DEF SC08 DEF SC09 DEF SC10 DEF SC11 DEF SC12 DEF SC13 DEF SC14 DEF SC15 DEF SC16 DEF SC17 DEF DMAC1 DEC -1 END-OF-LIST * TSTD EQU * DEF TST.0 BASIC I/O DEF TST01 STATUS & BUFFER CLEAR DEF TST02 CHARACTER SET DEF TST03 TRIANGLE PRINT & OVER BUFFER FULL DEF TST04 NON-PRINTING CHARACTERS DEF TST05 WORST CASE PATTERN DEF TST06 DMA TEST DEF TST07 PSEUDO OPDESIGN DEC -1 SKP * .12 OCT 12 .37 OCT 37 .40 OCT 40 .177 OCT 177 D300 DEC 300 BIT9 OCT 1000 BT812 OCT 10400 DM10 DEC -10 DM60 DEC -60 DM80 DEC -80 SLASH OCT 57 AA OCT 101 BFCLB OCT 100200 BIT7 OCT 200 LCHR OCT 176 * CNTR NOP TMP NOP FCHR NOP CHR NOP * * * * *ñ * * * CLEAR CHARACTER IN INTERFACE * BEFORE DOING BASIC I/O * *ñ TST.0 EQU * * NOP CLA SC00 OTA CH JSB *+2,I JMP *-4,I DEF TST00 HED COMMON ROUTINES * OUTPUT A REG * TIME OUT = E027 FLAG TIME OUT (CHR) * *ñ OTCHR NOP LDB INCHR SET TRAP CELL JSB SC01 STB CH SC02 OTA CH OUTPUT CHARACTER CLA,INA SET FOR MAX OF 1MS STF INTP TURN ON INTERRUPTS SC03 STC CH,C JSB TMRR,I GO WAIT CLC INTP,C LONG ENOUGH E027 JSB ERMS,I REPORT TIME OUT $§þú DEF ER27 LDB BIT9 CHECK IF ABORT JSB SWRT,I JMP EXRT,I YES JMP OTCHR,I RETURN * ññ ER27 ASC 13,E027 FLAG TIME OUT (CHR)/ * *ñ INCHR JSB *+1 NOP INTERRUPT LOCATION CLF INTP TURN OFF INTERRUPTS JMP OTCHR,I * * * OUTPUT PRINT COMMAND * TIME OUT = E030 FLAG TIME OUT (CMD) * OTCMD NOP LDA .12 USE LF AS PRINT COMMAND LDB INCMD SET TRAP CELL JSB SC04 STB CH SC05 OTA CH OUTPUT PRINT COMMAND LDA D300 SET FOR MAX OF 300MS STF INTP TURN ON INTERRUPTS SC06 STC CH,C JSB TMRR,I GO WAIT CLC INTP,C LONG ENOUGH E030 JSB ERMS,I REPORT TIME OUT DEF ER30 LDB BIT9 CHECK IF ABORT JSB SWRT,I JMP EXRT,I YES JMP OTCMD,I RETURN * ññ ER30 ASC 13,E030 FLAG TIME OUT (CMD)/ * INCMD JSB *+1 NOP INTERRUPT LOCATION CLF INTP TURN OFF INTERRUPTS JMP OTCMD,I SKP * OUTPUT A MESSAGE TO THE LINE PRINTER * *ñ OTMSG NOP LDB BIT7 GET BIT 7 JSB SWRT,I SUPPRESS MESSAGES JMP OTMSX JSB CFOP CHECK FOR OUT OF PAPER LDA OTMSG,I GET POINTER TO MESSAGE RAL CONVERT TO BYTE ADDRESS STA TMP SAVE IT OTMS0 LDB TMP GET A CHARACTER CLE,ERB LDA B,I SEZ,RSS ALF,ALF AND .177 CPA SLASH END-OF-MESSAGE JMP *+4 YES JSB OTCHR NO OUTPUT CHARACTER ISZ TMP MOVE TO NEXT CHARACTER JMP OTMS0 DO IT JSB OTCMD PRINT LINE OTMSX ISZ OTMSG JMP OTMSG,I RETURN * * CHECK FOR LP OUT OF PAPER * CFOP NOP SC07 LIA CH GET STATUS SLA,RSS IF BIT 0 IS CLEAR JMP CFOP,I THEN IT'S READY E031 JSB ERMS,I NOT THEN REPORT IT DEF *+2 AS OUT OF PAPER JMP CFOP,I LÌþú CONTINUE * *ñ ASC 11,E031 LP OUT OF PAPER/ * HED L.P. TESTS * THIS TEST CHECKS THE PAPER OUT STATUS * AND THE BUFFER CLEAR COMMAND * TST01 EQU * * STBF NOP ENTRY FROM EXEC LDB BT812 CHECK TO SUPPRESS JSB SWRT,I PAPER OUT STATUS CHECK JMP BFCT YES GO TO BUFFER CLEAR CHECK H100 JSB MSGH,I TELL OPERATOR TO DEF STPOM REMOVE PAPER FROM L.P. SC08 LIA CH GET STATUS SLA BIT 0 SHOULD BE HIGH JMP *+3 OK E032 JSB ERMS,I NO TELL OPERATOR DEF ER32 THAT STATUS IS IN ERROR H101 JSB MSGH,I TELL OPERATOR TO DEF STPIM READY STALL THE PAPER SC09 LIA CH GET STATUS SLA,RSS BIT 0 SHOULD BE LOW JMP *+3 OK E033 JSB ERMS,I NO TELL OPERATOR DEF ER33 THAT STATUS IS IN ERROR BFCT JSB OTMSG OUTPUT TO LP DEF STPMM TITLE JSB OTMSG OUTPUT LP DEF NLSBB NEXT LINE SHOULD BE BLANK LDA DM80 SET FOR 80 CHARACTERS STA CNTR LDA AA GET ASCII A JSB OTCHR OUTPUT IT ISZ CNTR DONE? JMP *-3 NO LDA BFCLB GET BUFFER CLEAR BIT (7) SC10 OTA CH OUTPUT IT CLA SC11 OTA CH CLEAR COMMAND JSB OTCMD OUTPUT PRINT COMMAND JMP STBF,I RETURN TO EXEC * ññ STPOM ASC 14,H100 REMOVE PAPER FROM L.P./ STPIM ASC 11,H101 LOAD L.P. PAPER/ ER32 ASC 19,E032 STATUS IS LOW AND SHOULD BE HIGH/ ER33 ASC 19,E033 STATUS IS HIGH AND SHOULD BE LOW/ STPMM ASC 15,STATUS & BUFFER CLEAR TEST 01/ NLSBB ASC 13,NEXT LINE SHOULD BE BLANK/ SKP * THIS TEST WILL OUTPUT 60 LINES * OF CYCLIC CHARACTERS * TST02 EQU * * *ñ CYCL NOP ENTRY FROM EXEC JSB OTMSG TELL OPERATOR WHAT TEST DEF CYCLM LDA DM60 SET 60 STA TMP LINES LDA .40 START WITH Ảþú SPACE STA FCHR SAVE FIRST CHARACTER CYCL0 JSB CFOP CHECK FOR OUT OF PAPER LDA FCHR STA CHR AND CHR INCREMENT LDA DM80 SET FOR 80 CHARACTERS STA CNTR CYCL1 LDA CHR GET THE CHARACTER CPA LCHR CHECK IF LAST CHARACTER LDA .40 YES RESET TO FIRST STA CHR JSB OTCHR GIVE IT TO L.P. ISZ CHR MOVE TO NEXT CHARACTER ISZ CNTR 80 CHRS OUT JMP CYCL1 NO JSB OTCMD OUTPUT PRINT COMMAND ISZ FCHR MOVE TO NEXT CHARACTER ISZ TMP 60 LINES JMP CYCL0 NO JMP CYCL,I YES RETURN TO EXEC * CYCLM ASC 17,CYCLIC PATTERN TEST 02 (60 LINES)/ SKP * TRIANGLE & OVER BUFFER FULL * TST03 EQU * * TROV NOP JSB OTMSG TELL OPERATOR WHAT TEST DEF TRM TRIANGLE PATTERN & OVER BUFFER FULL LDA DM80 START WITH 80 CHARACTERS STA CNTR TRL0 JSB CFOP CHECK FOR OUT OF PAPER LDA CNTR SET FOR SPACES CMA,INA ADA DM80 ARS DIVIDE BY 2 STA TMP SAVE AS COUNTER TRL1 LDA TMP SZA,RSS DONE? JMP TRC ISZ TMP NO - COUNT SPACE NOP LDA .40 OUTPUT SPACE JSB OTCHR JMP TRL1 DO NEXT ONE * TRC LDA CNTR OUTPUT STA TMP CHARACTER LDA .H "H" JSB OTCHR ISZ TMP JMP *-3 JSB OTCMD DO A PRINT COMMAND ISZ CNTR ISZ CNTR DONE TRIANGLE? JMP TRL0 NO SKP * *ñ OVBF JSB OTMSG TELL OPERATOR DEF NLSBA NEXT LINE SHOULD BE ALL A'S LDA DM80 STA CNTR OUTPUT 80 A'S JSB CFOP CHECK FOR OUT OF PAPER LDA AA JSB OTCHR ISZ CNTR JMP *-3 LDA DM80 OUTPUT 80 H'S STA CNTR LDA .H JSB OTCHR ISZ CNTR JMP *-3 JSB OTCMD DO A PRINT COMMAND úûþú JMP TROV,I * * ññ TRM ASC 21,TRIANGLE PRINT & OVER BUFFER FULL TEST 03/ NLSBA ASC 14,NEXT LINE SHOULD BE ALL A'S/ SKP * THIS TEST OUTPUTS ALL NON-PRINTING CHARACTERS * THEN OUTPUTS A PRINT COMMAND * TST04 EQU * * NPC NOP JSB OTMSG OUTPUT MESSAGE TO PRINTER DEF NPCM NON-PRINTING CHARACTER TEST JSB OTMSG OUTPUT DEF NLSBB NEXT LINE SHOULD BE BLANK LDA .177 START WITH LAST CHR STA CHR LDA DM80 SET FOR 80 CHARACTERS STA CNTR JSB CFOP CHECK FOR OUT-OF-PAPER NPC0 LDA CHR GET CHARACTER INA INCREMENT IT CPA .40 IS THIS THE FIRST PRINT LDA .177 YES - SKIP TO LAST+1 AND .177 ROUND TO ZERO CPA .12 SKIP PRINT COMMAND INA STA CHR JSB OTCHR OUTPUT IT TO LP ISZ CNTR DONE 80? JMP NPC0 NO JSB OTCMD YES ATTEMPT PRINT JMP NPC,I * NPCM ASC 16,NON-PRINTING CHARACTER TEST 04/ SKP * OUTPUT WORST CASE PATTERN * E H I $ # * TST05 EQU * * WCP NOP ENTRY FROM EXEC JSB OTMSG OUTPUT MESSAGE TO PRINTER DEF WCPM WORST CASE PATTERN TEST LDA .E GET CHARACTER E JSB WCPR OUTPUT IT LDA .H GET CHARACTER H JSB WCPR OUTPUT IT LDA .I GET CHARACTER I JSB WCPR OUTPUT IT LDA .$ GET CHARACTER $ JSB WCPR OUTPUT IT LDA .# GET CHARACTER # JSB WCPR OUTPUT IT JMP WCP,I RETURN * WCPM ASC 14,WORST CASE PATTERN TEST 05/ * WCPR NOP STA CHR SAVE CHARACTER LDA DM10 SET FOR 10 LINES STA TMP WCPR0 LDA DM80 AND 80 CHARACTERS STA CNTR JSB CFOP CHECK FOR OUT-OF-PAPER LDA CHR GET CHARACTER JSB OTCHR OUTPUT IT ISZ CNTR DONE 80 CH_gþúARACTERS? JMP *-3 JSB OTCMD OUTPUT PRINT COMMAND ISZ TMP DONE 10 LINES? JMP WCPR0 NO JMP WCPR,I YES-RETURN * ñññû .E OCT 105 .H OCT 110 .I OCT 111 .$ OCT 44 .# OCT 43 SKP * THIS TEST MAKES OUTPUTS USING DMA * *ñ TST06 EQU * * DMA NOP LDA CPTO CHECK IF DMA IS AVAILABLE RAR,RAR SLA,RSS ? JMP DMA,I NOT AVAILABLE ABORT TEST JSB OTMSG OUTPUT MESSAGE TO PRINTER DEF DMAM DMA CYCLIC PATTERN TEST (60 LINES) LDA DM60 SET FOR 60 LINES STA TMP LDA .40 START WITH A SPACE STA FCHR SAVE FIRST CHARACTER DMA0 LDA DM80 STA CNTR 80 CHARACTER PATTERN JSB CFOP CHECK FOR OUT OF PAPER LDB DMABF GET POINTER TO BUFFER LDA FCHR GET CHARACTER DMA1 CPA LCHR CHECK IF LAST CHARACTER LDA .40 YES - RESET TO FIRST STA B,I PUT IT IN BUFFER INA MOVE TO NEXT CHARACTER INB MOVE TO NEXT LOCATION ISZ CNTR DONE 80 CHARACTERS JMP DMA1 NO LDA DMAC1 GET CONTROL WORD OTA 6 LDA DMABF GET ADDRESS INA MOVE PAST FIRST CHARACTER CLC 2 PREPAIR DMA FOR ADDRESS OTA 2 OUTPUT ADDRESS LDA DM80 GET COUNT STC 2 PREPAIR DMA FOR COUNT OTA 2 OUTPUT COUNT LDA INDMA SET DMA INTERRUPT TRAP STA 6 LDA IEDMA SET LP INTERRUPT SC12 STA CH LDA DMABF,I GET FIRST CHARACTER SC13 OTA CH SC14 STC CH,C START L.P. STC 6,C AND DMA STF INTP TURN ON INTERRUPTS CLA,INA SET 2MS MAX INA JSB TMRR,I GO WAIT CLC INTP,C LONG ENOUGH E034 JSB ERMS,I TELL OPERATOR THAT DEF DMAE1 DMA TIMED OUT JMP DMA,I RETURN TO EXEC SKP DMAM ASC 22,DMA-DCPC TEST 06 (CYCLIœ'þúC PATTERN 60 LINES)/ DMAE1 ASC 10,E034 DMA TIMED OUT/ * ñññû DMAC1 OCT 100000 DMABF DEF *+1 BSS 80 OCT 12 ADD PRINT TO END OF BUFFER * IEDMA JSB *+1 LINE PRINTER INTERRUPT NOP CLC INTP,C TURN OFF I/O E035 JSB ERMS,I TELL OPERATOR THAT DEF DMAE2 LP INTERRUPTED BEFORE DMA JMP DMA,I RETURN * ññ DMAE2 ASC 17,E035 L.P. INTERRUPTED BEFORE DMA/ * INDMA JSB *+1 DMA INTERRUPT NOP CLF 6 CLEAR DMA FLAG FOR PRIORITY STRING LDA INLPC SET L.P. COMPLETION ADDRESS SC17 STA CH LDA D300 GET MAX OF 300 MILLSEC JSB TMRR,I CLF INTP LONG ENOUGH E036 JSB ERMS,I REPORT ERROR DEF DMAE3 JMP DMA,I RETURN TO EXEC * ññ DMAE3 ASC 15,E036 L.P. TIMED OUT AFTER DMA ASC 05,TRANSFER/ * *ñ INLPC JSB *+1 L.P. COMPLETION INTERRUPT NOP CLF INTP TURN OFF INTERRUPTS ISZ FCHR MOVE TO NEXT CHARACTER ISZ TMP DONE 60 LINES? JMP DMA0 NO JMP DMA,I YES RETURN TO EXEC SKP * PSEUDO OPERATOR DESIGN * * SWITCH REGISTER MEANING * * 0 = OUTPUT CYCLIC PATTERN * 1 = OUTPUT ONE CHARACTER * 2 = OUTPUT CLEAR BUFFER * 3 = OUTPUT PRINT COMMAND * 4 = LOOP ON SECTION * * TST07 EQU * * POD NOP ENTRY FROM EXEC LDA .40 SET FIRST STA FCHR CHARACTER JSB MSGC,I TELL OPERATOR TO DEF PODM MAKE SWR SELECTION PODL OCT 106002 WAIT FOR HIM LDB .37 JSB SWRT,I CHECK TO EXIT JMP *+2 JMP POD,I YES-ALL SWITCHES DONWN LDB SW0.1 CHECK TO OUTPUT ANY CHARACTERS JSB SWRT,I JSB PODOT YES - OUTPUT LDA BFCLB LDB SW2 CHECK FOR CLEAR BUFFER JSB SWRT,I SC15 OTA CH YES CLA SC16 OTA CH LDB SW3 CHECK TO PRINT JSB ¯Ñ<:6SWRT,I JSB OTCMD YES LDB SW4 CHECK TO LOOP JSB SWRT,I JMP PODL+1 YES JMP PODL NO HALT * PODM ASC 14,H102 MAKE SWR SELECTION FOR ASC 08,PSEUDO OPDESIGN/ * ññ SW0.1 OCT 3 SW0 OCT 1 SW1 OCT 2 SW2 OCT 4 SW3 OCT 10 SW4 OCT 20 * SKP * OUTPUT TO LP * * PODOT NOP LDB SW1 CHECK IF A'SINGLE CHARACTER JSB SWRT,I JMP PODOC SINGLE CHARACTER LDA FCHR STA CHR SET FIRST CHARACTER LDA DM80 SET FOR 80 CHARACTERS STA CNTR PODO1 LDA CHR GET CHARACTER CPA LCHR IS IT LAST CHARACTER LDA .40 YES RESET TO FIRST STA CHR JSB OTCHR GIVE IT TO L.P. ISZ CHR MOVE TO NEXT CHARACTER ISZ CNTR 80 CHRS OUT? JMP PODO1 NO JMP PODOX INCREMENT CHARACTER * PODOC LDA DM80 SET FOR 80 CHRS STA CNTR LDA FCHR GET CHARACTER JSB OTCHR GIVE IT TO LP ISZ CNTR 80 CHRS OUT? JMP *-3 NO LDB SW0 CHECK TO INCREMENT CHR JSB SWRT,I JMP *+2 YES JMP PODOT,I PODOX LDA FCHR GET CHARACTER INA INCREMENT IT CPA LCHR IS IT THE LAST LDA .40 YES RESET TO FIRST STA FCHR JMP PODOT,I RETURN * * FWAA EQU ZCEND * END È$<ÿÿ ÿý% ÿ13020-80001 E S 0122 HP 9TRACK MAG TAPE INTERFACE DIAGNOSTIC             H0101 úKþú ASMB¬A¬B¬Ì¬Ã          ±30²0 ÒÅV Å (± ÊUNÅ ·² - ÊÃG©       HÅD ªªª HP·9·0¯±3±¸± DÉAGNÏSÔÉàPÒÏGÒAM¬ ±30²0 ÒÅV D ªªª        ÏÒG ²B  SUP        ÏÃÔ 0¬0        HÌÔ ´¬Ã        HÌÔ 5¬Ã        ÏÃÔ 0¬0        ÏÃÔ 0¬0¬0¬0¬0¬0¬0        ÏÃÔ 0¬0¬0¬0¬0¬0¬0  UNS  SPà±        ÏÒG ±00B A      ÅÑU 0 B      ÅÑU ± S×ÒG   ÅÑU ± DAÔA   ÅÑU 0 ÃMMD   ÅÑU 0 ÔÔY    ÅÑU ±0²B       ÊMP ÉNÉÔZ     GÏ ÔÏ ÉNÉÔÉAÌÉZAÔÉÏN ÒÏUÔÉNÅ       ÏÒG ±05B       ABS MASK+3    ÆÉÒSÔ ×ÏÒD AVAÉÌABÌÅ       ÏÒG ±±0B  SPà±  SUP  SPà± SPAÃÅ AS౬ ÃÏMMA AS౬¬ SÔPÅÑ AS౬S½ ÃHNÅÑ AS౬ý GDÅÑ  AS౬G½ BDÅÑ  AS౬B½       SPà± AÒÅG  BSS ± BÒÅG  BSS ± BAD   BSS ± ÃMÃNÔ BSS ± ÃNÔ±  BSS ± ÃÏUNÔ BSS ± ÃYÃÔ  BSS ± DGÃNÔ BSS ± GÏÏD  BSS ± ÌBÆ   BSS ²5 ÌÃNÔ  BSS ± Ò×ÃNÔ BSS ± SÅÑ   BSS ± SÔAÔU BSS ± SÔÏP  BSS ± ÔBUƱ BSS ± ÔBUƲ BSS ± ÔBUÆ3 BSS ± ÔBUÆ´ BSS ± ÔBUÆ5 BSS ± ÔBUÆ6 BSS ± ÔÉMÅ  BSS ± ÔÃHÃÔ BSS ± ×ÒDÃN BSS ±       SPà± AÃñ  DÅà± MUS±K DÅà-±000 MU±00 DÅà-±00 MUS±0 DÅà-±0 MUS±  DÅà-± MUS²  DÅà-² MUS3  DÅà-3 MUS´  DÅà-´ MUS5  DÅà-5 MUS6  DÅà-6 MUS¸  DÅà-¸ MUS9  DÅà-9 MUS±± DÅà-±± MUS±² DÅà-±² MUS±3 DÅà-±3 MUS²3 DÅà-²3 MUS²6 DÅà-²6 MUS3± DÅà-3± MUS33 DÅà-33 MU±9´ DÅà-±9´ MU500 DÅà-500 MUSPG DÅà-±0²´ MUS5K DÅà-5000 PÏS6  DÅà6 PÏS±0 DÅà±0 PÏS±² DÅà±² PÏS±¸ DÅ౸ PÏS²0 DÅà²0 PÏS²´ DÅ಴ PÏS69 DÅà69 PÏS·9 DÅà·9 P9999 DÅà9999       SPà± ADD±  DÅÆ ÉNÔÒ± ADD²  DÅÆ ÉNÔÒ² ADÃM± DÅÆ ÃMMD±¬É ADDÔ  DÅÆ ÉNÉÔZ ADDÔ± DÅÆ DAÔA±¬É AUSÅÌ DÅÆ AÔSÅÌ ÃÃÆÌÔ DÅÆ ÃÆÌÔ ÃÌÒDÌ DÅÆ ÃÌÒÔ0 ÃÃÔS  DÅÆ MUS±K ÃMÃHÆ DÅÆ ÃMÃHÔ ÃMDS0 DÅÆ ×Ãà ÃMDS± DÅÆ GAP ÃYÃÏM DÅÆ .MSG´ ÃYMSG DÅÆ .MSG´ ÅNÏÆÔ DÅÆ .MSG6 ÆÌMSG DÅÆ .MSG¸ .ÌBÆ  DÅÆ ÌBÆ DÉAG  DÅÆ MDÉAG DÔPÔN DÅÆ DAÔPÔ DÔPAÔ DÅÆ DAÔPÔ ÉÒGDÌ DÅÆ ÉÒGÔ0 ÉÒGÔÌ DÅÆ ÉÒGÔ± MÉSÆÌ DÅÆ MSÆÌG MSG0  DÅÆ .MSG0 MSG±  DÅÆ .MSG± MSG²  DÅÆ .MSG² MSG3  DÅÆ .MSG3 MSG5  DÅÆ .MSG5 MSG·  DÅÆ .MSG· MSG¸  DÅÆ .MSG¸ MSG9  DÅÆ .MSG9 MSG±0 DÅÊÎþúÆ .MG±0 MSG±± DÅÆ .MS±± MSG±² DÅÆ .MS±² .MASK DÅÆ MASK ÏPÔ´  DÅÆ .ÏPÔ´ ÏPÔ5  DÅÆ .ÏPÔ5 ÏPÔ6  DÅÆ .ÏPÔ6 ÏPÔ·  DÅÆ .ÏPÔ· Ò×MSG DÅÆ .MSG· ÒDSDÌ DÅÆ ÒDSD ÒDYÔM DÅÆ ÒDYÔ ÒÅÃYÌ DÅÆ ÒÅÃYà SÌBÆ  DÅÆ ÌBÆ SÔÔBÌ DÅÆ .SÔÔB SÔÔB. DÅÆ .SÔÔB SÔÏÒÅ DÅÆ .SÔÏÒ ÔÅSÔ  DÅÆ ÔÅSÔ. ÔMPÒD DÅÆ .ÔMPÒ Ô±±   DÅÆ ÃÌÒÔ0 Ô±²   DÅÆ .± Ô±3   DÅÆ .² Ô±´   DÅÆ .3 Ô²±   DÅÆ .´ Ô²²   DÅÆ .5 Ô²3   DÅÆ .6 Ô²´   DÅÆ .· Ô3±   DÅÆ .±0 Ô3²   DÅÆ .±± Ô33   DÅÆ .±² Ô3´   DÅÆ .±3 .×ÒÅN DÅÆ ×ÒÅNB ×ÒSDÌ DÅÆ ×ÒSÔ0       SPà± ADDÒ  NÏP ÃÃSÔ  NÏP ÃMà  NÏP DGBUÆ NÏP DÔà  NÏP ÉÏ    NÏP ÌPÃYàNÏP SÅÌÃÔ NÏP ÔBUÆ· NÏP ÔBUƸ NÏP  SPà± ASÃZ  ÏÃÔ 30060 ÃKBÒD ÏÃÔ ´36·´ MSKÃÒ ÏÃÔ ±··´00 ÌÆ    ÏÃÔ 0 HÌÔ55 ÏÃÔ ±0²055 MSKBZ ÏÃÔ ´00 MSK0  ÏÃÔ ±· MSK±  ÏÃÔ ±00 MSK²  ÏÃÔ ±000 MSK3  ÏÃÔ ±···00 MSK´  ÏÃÔ 6·· MSK5  ÏÃÔ ± MSK6  ÏÃÔ ²00 MSK·  ÏÃÔ ´0 MSK¸  ÏÃÔ ²000 MSK9  ÏÃÔ 3000 MSK±0 ÏÃÔ 3·· MSK±± ÏÃÔ ··· MSK±² ÏÃÔ ··´00 MSK±3 ÏÃÔ ·0000 MSK±´ ÏÃÔ ·· MSK±5 ÏÃÔ ²0 ÏDDNÏ ÏÃÔ ´000 ÒDDMA ÏÃÔ ±²0000 ×ÒDMA ÏÃÔ ²0000 ÏNÅÔK ÏÃÔ ´0±  SPà± AÔSÅÌ ÅÑU ª SÌ0   ÏÃÔ ±´00 S̱   ÏÃÔ ²´00 S̲   ÏÃÔ ´´00 SÌ3   ÏÃÔ ±0´00 ×Ãà  ÏÃÔ 3± ׯM   ÏÃÔ ²±± ÒÒÆ   ÏÃÔ ²3 ÆSÒ   ÏÃÔ 3 ÆSÆ   ÏÃÔ ²03       ÏÃÔ ±±0 GAP   ÏÃÔ ±5 BSÒ   ÏÃÔ ´± BSÆ   ÏÃÔ ²´± ÒÅ×   ÏÃÔ ±0± Ò×Ï   ÏÃÔ ±05 ÃÌÒ   ÏÃÔ ±±0 GÆM   ÏÃÔ ²±5 ÒÆÆ   ÏÃÔ ²²3  SPà± ÔÒAD± ÊSB ADD±¬É ÔÒAD² ÊSB ADD²¬É  UNS  HÅD ·9·0  DÉAGNÏSÔÉà -DMA ÔÒANSÆÅÒ ÔÅSÔ- ±30²0-9000± ª  ª    --------------------- ª  ª    ÔHÅ PÒÏGÒAM ×ÒÉÔÅS A ²0´¸ BYÔÅ ÒÅÃÏÒD¬ ÔHÅN BAÃKS SPAÃÅS ª    AND ÒÅADS ÔHÅ ÒÅÃÏÒD Ô×ÉÃÅ.   AÆÔÅÒ ÅAÃH ÒÅAD ÔHÅ S×ÉÔÃH ª    ÒÅGÉSÔÅÒ BYÔÅ ÉS ÃÏMPAÒÅD ×ÉÔH ÅAÃH BYÔÅ ÒÅAD ÉNÔÏ ÔHÅ ª    ÃÏÒÅ BUÆÆÅÒ. ª  ª    ÉÆ DAÔA ÅÒÒÏÒS ÏÃÃUÒ¬ ÔHÅ PÒÏGÒAM HAÌÔS ×ÉÔH ±0²055B ÉN ª    ÔHÅ 'Ô' ÒÅGÉSÔÅÒ AND ÔHÅ 'A' ÒÅGÉSÔÅÒ ×ÉÌÌ ÃÏNÔAÉN ÔHÅ ª    ×ÏÒD ÉN ÅÒÒÏÒ. ª  ª    SÅÔÔÉNG S×ÉÔÃH ±5 ÔÏ ÏNÅ ÏN ÔHÅ S×ÉÔÃH ÒÅGÉSÔÅÒ¬ BÒÉNGS ª    ÔHÅ PÒÏGÒAM ÔÏ A NÏÒMAÌ HAÌÔ¬ 'Ô' ÒÅGÉSÔÅÒ ½ ±0²0·6B. ª    ÏÔHÅÒ ×ÉSÅ ÔHÅ PÒÏG@ýþúÒAM ÃÏNÔÉNUÅS ÔÒANSÆÅÒÒÉNG ÒÅÃÏÒDS UN- ª    ÔÉÌ AN ÅND-ÏÆ-ÔAPÅ ÉS DÅÔÅÃÔÅD¬ AÔ ×HÉÃH ÔÉMÅ ÔHÅ ÔAPÅ ÉS ª    AUÔÏMAÔÉÃAÌÌY ÒÅ×ÏUND.  SPà±       ÏÒG 500B DMAÔÒ ÌDA MUSPG     BUÆÆÅÒ ×ÏÒD ÃÏUNÔ ÏÆ ±0²´ ×ÏÒDS       SÔA ÃÏUNÔ       ÌÉA S×ÒG      ÃHÅÃK ÔHÅ S×ÉÔÃH ÒÅGÉSÔÅÒ       SSA           ÉS S×ÉÔÃH ±5 SÅÔ ?       HÌÔ ·6B       YÅS       AND MSK±0     NϬ GÅÔ ÔHÅ BYÔÅ AND ÆÏÒM ÔHÅ       SÔA AÒÅG      -×ÏÒD       AÌÆ¬AÌÆ       ÉÏÒ AÒÅG       SÔA BÒÅG      SAVÅ ×ÏÒD ÆÏÒ DAÔA ÃHÅÃK       ÌDB SÔÏÒÅ     GÅÔ ÔHÅ S.A. ÏÆ ÔHÅ ÃÏÒÅ BUÆÆÅÒ       SÔA B¬É       ÆÉÌÌ ÔHÅ ÃÏÒÅ BUÆÆÅÒ ×ÉÔH ÔHÅ       ÉNB           -PAÔÔÅÒN       ÉSZ ÃÏUNÔ       ÊMP ª-3       ÌDA ÒDDMA     GÅÔ ÔHÅ DMA ÃÏNÔÒÏÌ ×ÏÒD       ÉÏÒ DÔà      PUÔ ÉN ÔHÅ S.Ã. ÏÆ ÔHÅ ÃÏNÔÒÏÌÌÅÒ       ÏÔA 6         ÏUÔ PUÔ ÔHÅ ÃÏNÔÒÏÌ ×ÏÒD       ÃÌಠ        SÅÔ UP ÔHÅ DMA BUÆÆÅÒ ADDÒÅSS       ÌDA SÔÏÒÅ     ÃÏÒÅ BUÆÆÅÒ S.A.       ÏÔA ²         ÏUÔ PUÔ ÔHÅ ADDÒÅSS ÔÏ ÔHÅ DMA       SÔಠ        SÅÔ UP ÔHÅ DMA ×ÏÒD ÃÏUNÔÅÒ       ÌDA MUSPG     ±0²´ ×ÏÒDS       ÏÔA ²         ÏUÔ PUÔ ÔÏ ÔHÅ DMA ÃHANNÅÌ       ÌDA ×Ãà      SÔAÒÔ ÔHÅ UNÉÔ ×ÉÔH A ×ÒÉÔÅ       ÊSB AÃMMD     -ÃÏMMAND       ÊSB ÃÌÆDÔ     ÃÌÅAÒ ÔHÅ DAÔA ÆÌAG       SÔà6¬Ã       SÔAÒÔ ÔHÅ DMA       ÊSB ÆÌG×Ô     ×AÉÔ ÆÏÒ ÔHÅ ÔÒANSÆÅÒ ÔÏ ÆÉNÉSH       ÃÌà6         ÔUÒN ÏÆÆ ÔHÅ DMA       SÔÆ 6       ÊSB BAÃKÒ     ÒÅPÏSÉÔÉÏN ÔHÅ ÒÅÃÏÒD ÆÏÒ ÒÅADÉNG       ÌDA MUSPG     ÃÌÅAÒ ÔHÅ ÃÏÒÅ BUÆÆÅÒ ¦ ÌÏAD       SÔA ÃÏUNÔ     -ÉÔ ×ÉÔH HAÌÔS (55©       ÌDB HÌÔ55       ÌDA SÔÏÒÅ     ÃÏÒÅ BUÆÆÅÒ S.A.       SÔB A¬É       SÔAÒÔ ÆÉÌÌÉNG ÔHÅ BUÆÆÅÒ       ÉNA       ÉSZ ÃÏUNÔ     ÉNÃÒÅMÅNÔ ÔHÅ BUÆÆÅÒ ÃÏUNÔ       ÊMP ª-3       ÆÉNÉSH ÆÉÌÌÉNG ÔHÅ BUÆÆÅÒ       ÃÌಠ        SÅÔ UP ÆÏÒ ÔHÅ DMA ÒÅAD       ÌDA SÔÏÒÅ     BUÆÆÅÒ S.A.       ÃÌB¬ÉNB       ÒBÒ       ÉÏÒ B         PUÔ ÉN ÔHÅ ÔÒANSÆÅÒ DÉÒÅÃÔÉÏN BÉÔ       ÏÔA ²       SÔಠ        SÅÔ UP ÔHÅ ×ÏÒD ÃÏUNÔÅÒ       ÌDA MUSPG     ±0²´ ×ÏÒDS       ÏÔA ²       ÊSB ÃÌÆDÔ     ÃÌÅAÒ ÔHÅ DAÔA ÆÌAG       ÊSB ÆÌG×Ô ¶þú    ×AÉÔ ÆÏÒ ÔHÅ BAÃKSPAÃÅ ÔÏ ÆÉNÉSH       ÌDA ÒÒÆ       SÔAÒÔ ÔHÅ ÒÅAD ÏPÅÒAÔÉÏN       ÊSB AÃMMD     ÏUÔPUÔ ÔHÅ ÃÏMMAND       ÌDA MUSPG     SÅÔ ÔHÅ NÅØÔ ÏPÅÒAÔÉÏN'S ×ÏÒD       SÔA ÃÏUNÔ     -ÃÏUNÔÅÒ ×HÉÌÅ ×AÉÔÉNG       ÌDB SÔÏÒÅ     GÅÔ ÔHÅ BUÆÆÅÒ S.A.       ÊSB ÃÌÆDÔ     ÃÌÅAÒ ÔHÅ DAÔA ÆÌAG       SÔà6¬Ã       SÔAÒÔ ÔHÅ DMA       SÆS 6       ÊMP ª-±       ×AÉÔ ÆÏÒ ÔHÅ ÒÅAD ÔÏ ÆÉNÉSH ÒÅÌÏD ÌDA B¬É       GÅÔ ÔHÅ BUÆÆÅÒ ×ÏÒD       ÃPA BÒÅG      DAÔA ×ÏÒD USÅD ÌASÔ       ÊMP ª+²       YÅS¬ ÃÏNÔÉNUÅ DÉSPÌAYÉNG       HÌÔ 55B       ÅÒÒÏÒ HAÌÔ       ÉNB           MÏVÅ ÔHÅ BUÆÆÅÒ PÏÉNÔÅÒ AHÅAD       ÉSZ ÃÏUNÔ     ÉNÃÒÅMÅNÔ ÔHÅ ×ÏÒD ÃÏUNÔÅÒ       ÊMP ÒÅÌÏD     GÏ BAÃK ¦ GÅÔ ÔHÅ NÅØÔ ×ÏÒD       ÊSB ÆÌG×Ô     MAKÅ SUÒÅ ÔHÅ DÒÉVÅ ÉS ÒÅADY       ÊSB BAÃKÒ     BAÃK SPAÃÅ ÔHÅ SAMÅ ÒÅÃÏÒD       ÊSB ÆÌG×Ô     -AND ÒÅ-ÒÅAD ÉÔ       ÌDA ÒÒÆ       SÔAÒÔ ÔHÅ ÒÅAD ÏPÅÒAÔÉÏN       ÊSB AÃMMD     ÏUÔPUÔ ÔHÅ ÃÏMMAND       ÌDA SÔÏÒÅ     SÅÔ UP ÔHÅ ÒÅAD BUÆÆÅÒ       ÃÌB¬ÉNB       ÒBÒ       ÉÏÒ B         SÅÔ ÔHÅ DMA DÉÒÅÃÔÉÏN BÉÔ       ÃÌಠ      ÏÔA ²       ÌDA MUSPG     SÅÔ ÔHÅ DMA ×ÏÒD ÃÏUNÔÅÒ       SÔಠ      ÏÔA ²       SÔA ÃÏUNÔ     SÅÔ ÔHÅ ÒÅAD ÃHÅÃK ÃÏUNÔÅÒ       ÊSB ÃÌÆDÔ     ÃÌÅAÒ ÔHÅ DAÔA ÆÌAG       SÔà6¬Ã       SÔAÒÔ ÔHÅ DMA       SÆS 6         ×AÉÔ ÆÏÒ ÔHÅ ÒÅAD ÔÏ ÆÉNÉSH       ÊMP ª-±       ÌDB SÔÏÒÅ     ÒÅAD BUÆÆÅÒ S.A. ÒÅÌD² ÌDA B¬É       GÅÔ ÔHÅ BUÆÆÅÒ ×ÏÒD       ÃPA BÒÅG      DAÔA ×ÏÒD USÅD ÌASÔ ÉN ÔHÅ S× ÒÅG       ÊMP ª+²       YÅS¬ ÃÏNÔÉNUÅ       HÌÔ 55B       ÅÒÒÏÒ HAÌÔ       ÉNB           MÏVÅ ÔHÅ BUÆÆÅÒ PÏÉNÔÅÒ AHÅAD       ÉSZ ÃÏUNÔ     ÉNÃÒÅMÅNÔ ÔHÅ ×ÏÒD ÃHÅÃK ÃÏUNÔÅÒ       ÊMP ÒÅÌD²     GÏ BAÃK AND GÅÔ ÔHÅ NÅØÔ ×ÏÒD       ÊSB ÆÌG×Ô     MAKÅ SUÒÅ ÔHÅ DÒÉVÅ ÉS ÒÅADY       ÊSB SÔAÔS     GÅÔ ÔHÅ SÔAÔUS ¦ ÃHÅÃK ÆÏÒ ÔHÅ       AND MSK·      -ÅND ÏÆ ÔAPÅ BÉÔ       ÃPA MSK·       ÊMP ª+²       ÅND-ÏÆ-ÔAPÅ DÅÔÅÃÔÅD¬ ÒÅ×ÉND       ÊMP DMAÔÒ     NÏ ÅND-ÏÆ-ÔAPŬ ÃÏNÔÉNUÅ       ÌDA ÒÅ×       SÔAÒÔ ÔHÅ ÒÅ×ÉNDÉNG       ÊSB AÃMMD     ÏUÔ PUÔ ÔHÅ ÃÏžÔþúMMAND       ÊSB SÔAÔS     GÅÔ ÔHÅ SÔAÔUS ¦ ÃHÅÃK ÆÏÒ ÔHÅ       AND MSK¸      -ÒÅ×ÉND BÉÔ.  ÌÏÏP UNÔÉÌ ÉÔ'S       ÃPA MSK¸      -ÃÌÅAÒ       ÊMP ª-3       ÊMP DMAÔÒ     SÔAÒÔ ÏVÅÒ AGAÉN  SPà±  HÅD ·9·0  DÉAGNÏSÔÉà    -SUBÒÏUÔÉNÅS-    ±30²0-9000± ª    ÒÅ×ÉND SUBÒÏUÔÉNÅ  SPà± ÅÏÔÔS NÏP       ÊSB SÔAÔS     GÅÔ SÔAÔUS       AND MSK·      ÔÅSÔ ÆÏÒ ÅÏÔ       ÃPA MSK·       ÊMP ÒÅ×D      ÅÏÔ DÅÔÅÃÔÅD¬ ÒÅ×ÉND       ÊMP ÅÏÔÔS¬É ÒÅ×D  ÌDB ÒÅ×       ÒÅ×ÉND ÃMMD       ÊSB ÏÃMMD       ÌÉA S×ÒG      ÔÅSÔ AUÔÏ SÅÌÅÃÔ ÏPÔÉÏN       AND MSK0      (ÏÃÔ ±·©       SZA¬ÒSS       'A' ÒÅG ½0 ?       ÊMP ÅNPÔ6     YÅS¬ SÅÌÅÃÔ NÅØÔ UNÉÔ       ÊSB SÔAÔS     GÅÔ SÔAÔUS       AND MSK¸      ÌÏÏP UNÔÉÌ ÆÉNÉSHÅD ÒÅ×ÉNDÉNG       ÃPA MSK¸       ÊMP ª-3 ÅNPÔ6 ÊSB AUDÅÔ     ÃK. AUÔÏ SÅÌÅÃÔ MÏDÅ       ÌDA PÏS6      MÅSSAGÅ ÌÅNGÔH       ÌDB ÅNÏÆÔ     MÅSSAGÅ       ÊSB ÔÔY¬É       ÊSB PÃYÃÔ     ADD ÃYÃÌÅ ÃÏUNÔ       ÊMP ÒÅÃYÌ¬É  SPà± AUDÅÔ NÏP           AUÔÏ SÅÌÅÃÔ MÏDÅ ÔÅSÔ       ÌÉA S×ÒG      ÔÅSÔ AUÔÏ SÅÌÅÃÔ ÏPÔÉÏN       AND MSK0      ÏÃÔ ±·       SZA           'A' ÒÅG ½0 ?       ÊMP AUDÅԬɠ  NϬ ÃÏNÔÉNUÅ       ÌDA MSG0      MÅSSAGÅ BUÆÆÅÒ S.A.       SÔA ÔBUÆ·     BUÆÆÅÒ PÏÉNÔÅÒ       ÌDB MUS´      ÃHAÒAÃÔÅÒ ÃÏUNÔ       ÌDA ÔBUÆ·¬É   GÅÔ ÃHAÒAÃÔÅÒ       ÊSB SÌB       PUÔ ÉN ÌÉNÅ       ÉSZ ÔBUÆ·     ADVANÃÅ PÏÉNÔÅÒ       ÉSZ B         ÉNÃÒÅMÅNÔ ÃÏUNÔ       ÊMP ª-´       GÅÔ NÅØÔ ÃHAÒAÃÔÅÒ       ÌDA SPAÃÅ     ADD Ô×Ï SPAÃÅS       ÊSB SÌB       ÌDA SÅÌÃÔ     GÅÔ UNÉÔ NÏ.       ADA ÆSÒ       +3       ÊSB ÃVÅÒÔ     ÃÏNVÅÒÔ AND ÌÏAD ÉN ÌÉNÅ       ÊSB ÌBÏUÔ     PÒÉNÔ ÌÉNÅ       ÊMP AUDÅÔ¬É  HÅD ·9·0  DÉAGNÏSÔÉà  -S×ÉÔÃH PÒÏGÒAMS-  ±30²0-9000± ª    ×ÒÉÔÅ ÆÒÏM S×ÉÔÃH ÒÅGÉSÔÅÒ    ª  SPà±       ÏÒG ±000B ÒÔPN± ÌÉA S×ÒG      ÃHÅÃK ÆÏÒ ×ÏÒD ÃÏUNÔ       AND MSK±²     ÏÃÔ ··´00       SZA¬ÒSS       'A' ½0 ?       ÊMP ÅNPN±     YÅS¬ ×ÒÉÔÅ ÉNÆÉNÉÔÅ ÒÅÃÏÒD       AÌÆ¬AÌÆ       NϬ SÅÔ UP BYÔÅ ÃÏUNÔ       ÃMA¬ÃÃŬÒSS   SÅÔ BYÔÅ ÃÏUNÔ ¦ ÉNDÉÃAÔÏÒ ÅNPN± ÃÌA¬ÃÌÅ       NϺ¸þú BYÔÅ ÃÏUNÔ ¦ ÒÅSÅÔ ÉNDÉÃAÔÏÒ       SÔA ÃÏUNÔ       ÊSB ÆÌG×Ô     ×AÉÔ ÆÏÒ ÃMMD ÃHNÌ ÆÌAG       ÌDA ×Ãà      SÔAÒÔ ×ÒÉÔÅ       ÊSB AÃMMD D3·   ÌÉB DAÔA      ÉNPUÔ DAÔA       ÌÉA S×ÒG      GÅÔ DAÔA BYÔÅ       AND MSK±0     ÏÃÔ 3··       SÔA AÒÅG      SAVÅ ÌÏ×ÅÒ HAÌÆ       AÌÆ¬AÌÆ       SÅÔ UP ÆÉÒSÔ BYÔÅ       ÉÏÒ AÒÅG      ÒÅSÔÏÒÅ ÌÏ×ÅÒ HAÌÆ D35   SÆS DAÔA      ×AÉÔ ÆÏÒ ÆÌAG       ÊMP D35 D36   ÏÔA DAÔA¬Ã    ÏUÔ PUÔ Ô×Ï BYÔÅS       ÌÉA S×ÒG      ÌÏAD ÆÒÏM ÔHÅ S×ÉÔÃH ÒÅGÉSÔÅÒ       SSA¬ÒSS       ÉS S×ÉÔÃH ±5 SÅÔ ?       ÊMP ÅNPN0     NϬ KÅÅP ×ÒÉÔÉNG       ÊSB ÃÌÃDÔ     YÅS¬ ÅND ÔHÅ ÒÅÃÏÒD ÒÔPN² HÌÔ ··B       NÏÒMAÌ HAÌÔ       ÊMP ÒÔPN±     GÏ BAÃK ÔÏ ÔHÅ SÔAÒÔ ÅNPN0 SÅZ¬ÒSS       ÃHÅÃK ÒÅÃÏÒD ÔYPÅ ÉNDÉÃAÔÏÒ       ÊMP ÅNPN²     ÉÔ'S NÏÔ A ÆÉØÅD ÌÅNGÔH ÒÅÃÏÒD       ÉSZ ÃÏUNÔ     ÉNÃÒÅMÅNÔ ÔHÅ ×ÒÏD ÃÏUNÔ       ÊMP D3·       ÊMP ÅNPN3     YÅS¬ ÅND ÔHÅ ÒÅÃÏÒD ÅNPN² ÊSB Ò×DÃÔ     ÔÅSÔ ÆÏÒ ÔHÅ ÅÏÔ       ÊMP ÒÔPN±     SÔAÒÔ ÏVÅÒ AÆÔÅÒ ÒÅ×ÉND       ÊMP D3· ÅNPN3 ÊSB ÃÌÃDÔ     ÅND ÔHÅ ÆÉØÅD ÌÅNGÔH ÒÅÃÏÒD       ÊSB Ò×DÃÔ     ÔÅSÔ ÆÏÒ ÔHÅ ÅÏÔ       ÌÉA S×ÒG      ÔÅSÔ ÆÏÒ A HAÌÔ       SSA           ÉS S×ÉÔÃH ±5 SÅÔ ?       ÊMP ÒÔPN²     YÅS¬ SÔÏP       ÊMP ÒÔPN±     NϬ SÔAÒÔ A NÅ× ÒÅÃÏÒD Ò×DÃÔ NÏP           ÅÏÔ DÅÔÅÃÔ ÒÏUÔÉNŠò6   ÌÉA ÃMMD      GÅÔ SÔAÔUS ¦ ÔÅSÔ ÆÏÒ ÅÏÔ       AND MSK·      ÏÃÔ ´0       SZA¬ÒSS       ÅND ÏÆ ÔAPÅ SÔAÔUS ?       ÊMP ÅNÔ0²     NÏÒMAÌ ÅØÉÔ ½ (P+±©       ÊSB ÃÌÃDÔ     SÔÏP ×ÒÉÔÅ       ÊSB ÆÌG×Ô     ×AÉÔ ÆÏÒ ÔAPÅ ÔÏ SÔÏP       ÌDA ÒÅ×       ÒÅ×ÉND ÔHÅ ÔAPÅ       ÊSB AÃMMD       ÊSB Ò×DÅÔ     ×AÉÔ ÆÏÒ ÒÅ×ÉND ÔÏ ÆÉNÉSH       ÊMP Ò×DÃÔ¬É ÅNÔ0² ÉSZ Ò×DÃÔ       ÊMP Ò×DÃԬɠ  NÏÒMAÌ ÅØÉÔ ½ (P+±©  SKP Ò×DÅÔ NÏP           ÒÅ×ÉND DÅÔÅÃÔ ÒÏUÔÉNÅ       ÊSB SÔAÔS     GÅÔ SÔAÔUS       AND MSK¸      ÏÃÔ ²000       ÃPA MSK¸       ÊMP ª-3       ÌÏÏP UNÔÉÌ ÆÉNÉSHÅD ÒÅ×ÉNDÉNG       ÊMP Ò×DÅÔ¬É  SPà± ª    ÃÏMMAND ÅØÅÒÃÉSÅ ÒÏUÔÉNÅ    ª  SPà±       ÏÒG ±±00B BÅGÉN ÊSB Ò×DÃÔ     ÔÅSÔ ÆÏÒ ÅÏÔ       NÏP       ÌDB ÃMDSÜKþú0     ÃMMD SÔAÃK S.A.       ÌÉA S×ÒG      GÅÔ S×ÉÔÃH SÅÔÔÉNGS ÒÔPN3 SÌA           ÔÅSÔ ÆÏÒ ÃMMD       ÊMP ÅNPN´     ÏUÔ PUÔ ÃMMD       ÉSZ B         ADVANÃÅ PÏÉNÔÅÒ       ÒAÒ           SÅÔ UP ÆÏÒ NÅØÔ ÃMMD       ÊMP ÒÔPN3 ÅNPN´ ÌDA B¬É       GÅÔ ÃMMD       ÊSB AÃMMD     ÏUÔPUÔ ÔHÅ ÃMMD       ÊSB Ò×DÅÔ     ÔÅSÔ ÆÏÒ ÒÅ×ÉNDÉNG       ÊSB ÔÉMÅÒ     ÔÅSÔ ÆÏÒ ÔÉMÉNG ÏPÔÉÏN       ÊSB ÆÌG×Ô     ×AÉÔ ÆÏÒ ÃMMD ÃHNÌ ÆÌAG ÒÔPN5 ÌÉA S×ÒG      ÔÅSÔ ÆÏÒ SÅÃÏND ÃMMD ÏPÔÉÏN       AÌÆ¬AÌÆ       ÒA̬ÒAÌ       AND MSK±´     ÏÃÔ ··       SZA¬ÒSS       ANY SÅÃÏND ÃMMDS ?       ÊMP ÅNPN5     NϬ GÏ ÔÅSÔ ÆÏÒ HAÌÔ       ÌDB ÃMDS±     YÅS¬ SÅÔ ²ND ÃMMD SÔAÃK S.A. ÒÔPN´ SÌA           ÃÏMMANDS ?       ÊMP ÅNPN6     YÅS¬ ÏUÔPUÔ ÃMMD       ÉSZ B         NϬ ADVANÃÅ PÏÉNÔÅÒ       ÒAÒ           SÅÔ UP ÆÏÒ NÅØÔ ÃMMD       ÊMP ÒÔPN´ ÅNPN6 ÌDA B¬É       GÅÔ ÃMMD       ÊSB AÃMMD     ÏUÔPUÔ ÃMMD       ÊSB Ò×DÅÔ     ÔÅSÔ ÆÏÒ ÒÅ×ÉNDÉNG       ÊSB ÔÉMÅÒ     ÔÅSÔ ÆÏÒ ÔÉMÉNG ÏPÔÉÏN       ÊSB ÆÌG×Ô     ×AÉÔ ÆÏÒ ÃMMD ÃHNÌ ÆÌAG ÅNPN5 ÌÉA S×ÒG      ÌÏAD S× ÒÅG.       SSA¬ÒSS       S× ±5 SÅÔ ?       ÊMP BÅGÉN     NϬ ÃÏNÔÉNUÅ       HÌÔ ··B       YÅS¬ NÏÒMAÌ HAÌÔ       ÊMP BÅGÉN     GÏ ÔÏ SÔAÒÔ  SKP ÔÉMÅÒ NÏP           ÔÉMÉNG PÅÒÉÏD ÒÏUÔÉNÅ       ÌÉA S×ÒG      ÔÅSÔ ÆÏÒ ÔÉMÉNG PÅÒÉÏD       AND MSK±3     ÏÃÔ ·0000       SZA¬ÒSS       'A'½0 ?       ÊMP ÔÉMÅҬɠ  YÅS¬ USÅ ÆÌAG       ÌDB ÔMPÒD     SÅÔ ÔÉMÉNG ÃÏNSÔANÔ       ÒA̬ÒAÌ       ÒA̬SÌA       ÔHÉS ÔÉMÅ ?       ÊMP ÅNPN·     YÅS¬ SÔAÒÔ DÅÌAY       ÉSZ B         NϬ ÔÒY NÅØÔ       ÊMP ª-3 ÅNPN· ÌDB B¬É       GÅÔ ÃÏNSÔANÔ       ÊSB DÅÌAY       ÉSZ ÔÉMÅÒ       ÊMP ÔÉMÅҬɠ  ÒÅÔUÒN +±  SPà± DÅÌAY  NÏP          ÔÉMÅ PÅÒÉÏD ÃÏNSÔANÔ SHÏUÌD BÅ        SÔB ÔÉMÅ      ÉN ÔHÅ "B" ÒÅG.        ÉSZ ÔÉMÅ        ÊMP ª-±      ÃYÃÌÅ UNÔÉÌ ZÅÒÏ        ÊMP DÅÌAY¬É        SPà± ÆÌG×Ô NÏP ò0   SÆS ÃMMD       ÊMP ª-±       ÊMP ÆÌG×Ô¬É  SPà± ª    ×ÒÉÔÅ ÃÏMPUÔÅÒ ×ÏÒD    ª  SPà±       ÏÒG ±²00B ÒÅÔP± ÌDA ×Ãà      SÔAÒÔ ×ÒÉÔÅ   Úßþú    ÊSB AÃMMD ÒÅÔP² ÌÉA S×ÒG      GÅÔ ×ÏÒD       ÌDB A       ÊSB DÔÆÌG     ×AÉÔ ÆÏÒ DAÔA ÃHNÌ ÆÌAG D39   ÏÔB DAÔA¬Ã    ÏUÔ PUÔ ² BYÔÅS D±¸   ÌÉA DAÔA       ÊSB Ò×DÃÔ     ÔÅSÔ ÆÏÒ ÅÏÔ       ÊMP ÒÅÔP±     SÔAÒÔ ÏVÅÒ AÆÔÅÒ ÒÅ×ÉND       ÃMB¬SZB       'B'½0 ?       ÊMP ÒÅÔP²     NϬ KÅÅP ×ÒÉÔÉNG       ÊSB ÃÌÃDÔ     YÅS¬ ÅND ÒÅÃÏÒD       HÌÔ ··B       NÏÒMAÌ HAÌÔ       ÊMP ÒÅÔP±     GÏ BAÃK ÔÏ SÔAÒÔ  HÅD ·9·0  DÉAGNÏSÔÉà    -SUBÒÏUÔÉNÅS-    ±30²0-9000± ª      ÃÏMMAND ÏUÔ PUÔ ÔÏ MAG ÔAPÅ SUBÒÏUÔÉNÅ        SPà± ÏÃMMD NÏP          ÃMMD SHÏUÌD BÅ ÉN ÔHÅ "B" ÒÅG.       ÉSZ ÃMÃNÔ Ã±    ÏÔB ÃMMD       ÊSB SÔAÔS    GÅÔ SÔAÔUS       ÊSB ÒÅÊBÔ     ÔÅSÔ ÒÅÊÅÃÔ BÉÔ       SZA¬ÒSS       ÊMP ÒÅÊÃÔ Ã²    SÔàÃMMD¬Ã       ÊMP ÏÃMMD¬É        SPà± AÃMMD NÏP           ÃÏMMAND ÉN ÔHÅ "A" ÒÅG Ã5    ÏÔA ÃMMD Ã6    SÔàÃMMD¬Ã       ÊMP AÃMMD¬É  SPà± ª      PUÔ SÔAÔUS ÏÆ MAG ÔAPÅ ÉN ÔHÅ "A" ÒÅG. SUBÒÔ.        SPà± SÔAÔS  NÏP Ã3     ÌÉA ÃMMD        ÊMP SÔAÔS¬É        SPà± ª    ÃÌÅAÒ DAÔA ÃHANNÅÌ ÒÏUÔÉNÅS  SPà± ÃÌÃDÔ NÏP D´    ÃÌàDAÔA¬Ã    ÃÌÅAÒ ÃÏNÔÒÏÌ DAÔA       ÊMP ÃÌÃDÔ¬É  SPà± ÃÌÆDÔ NÏP           ÃÌÅAÒ DAÔA ÃHNÌ ÆÌAG D²´   ÃÌÆ DAÔA       ÊMP ÃÌÆDÔ¬É  SPà± DÔÆÌG NÏP           DAÔA ÆÌAG ×AÉÔ ÌÏÏP ÒÏUÔÉNÅ       ÃÌA D±    SÆÃ DAÔA       ÊMP DÔÆÌG¬É       ÉNA¬SZA       ÊMP D±       ÊSB MÉSÆÌ¬É   PÒÉNÔ "NÏ ÆÌAG" MÅSSAGÅ  SPà± ÃÌÅAÒ NÏP           ÃÌÅAÒ ÔHÅ ÃÏNÔÒÏÌÌÅÒ       ÌDA ÃÌÒ       ÏUÔ PUÔ ÃÌÅAÒ ÃMMD       ÊSB AÃMMD       ÊSB ÃMÃHƬɠ  ×AÉÔ ÆÏÒ ÏPÅÒAÔÉÏN ÔÏ ÆÉNÉSH       ÊMP ÃÌÅAÒ¬É  SPà± BAÃKÒ NÏP           BAÃK SPAÃÅ A ÒÅÃÏÒD       ÌDA BSÒ       BAÃK SPAÃÅ ÃÏMMAND       ÊSB AÃMMD     DÏ ÔHÅ ÃÏMMAND       ÊSB ÆÌG×Ô     ×AÉÔ ÆÏÒ ÃÏMMAND ÃHANNÅÌ ÆÌAG       ÊMP BAÃKÒ¬É  SKP ª    ÒÅÊÅÃÔ ÒÏUÔÉNÅS  SPà± ÒÅÊBÔ NÏP           ÒÅÊÅÃÔ SÔAÔUS BÉÔ ÔÅSÔ       ÒAÒ¬ÒAÒ       ÒAÒ¬SÌA       ÒÅÊÅÃÔ BÉÔ SÅÔ ?       ÊMP ª+²       ÃÃA¬ÒSS       NϬ 'A' ÒÅG. ½ ±·····       ÃÌA           YÅS¬ A ÒÅG. ½ 0000000       ÊMP ÒÅÊBÔ¬É  SPà± ÒÅþúÊÃÔ ÊSB AUDÅÔ     ÃK. AUÔÏ SÅÌÅÃÔ MÏDÅ       ÌDA SÔPÅÑ     S½       ÊSB SÌB       ÌDA SÔÏP       ÉNA           ÃUÒÒÅNÔ ÔÅSÔ NÏ.       ÊSB ÃVÅÒÔ       ÌDA SPAÃÅ     BÌANK ÆÏÒMAÔ ÃHAÒ.       ÊSB SÌB       ÊSB SÔAÔS     GÅÔ SÔAÔUS       ÊSB ÌDSÔS     ADD SÔAÔUS ÔÏ MÅSSAGÅ       ÊSB ÌBÏUÔ       ÌDA PÏS±0     MÅSSAGÅ ÌÅNGÔH       ÌDB MSG±      ÃÏMMAND ÒÅÊÅÃÔÅD       ÊSB ÔÔY¬É     PÒÉNÔ MÅSSAGÅ       ÊSB SKPÌ      SKÉP ÌÉNÅ AÆÔÅÒ MÅSSAGÅ       ÌÉA S×ÒG      ÔÅSÔ ÆÏÒ ÅÒÒÏÒ HAÌÔ S× ±´       ÒAÌ       SSA¬ÒSS       S× ±´ SÅÔ ?       ÊMP ÒÅÃY̬ɠ  NϬ SÔAÒÔ DÉAGNÏSÔÉàÏVÅÒ       ÊSB SÔAÔS     YÅS¬ GÅÔ SÔAÔUS       ÌDB ÏÃMMD     ADDÒ.+± ÏÆ ÒÅÊÅÃÔ ÃMMD       HÌÔ 55B       ÅÒÒÏÒ HAÌÔ ÉNDÉÃAÔÏÒ       ÊSB ÌÏPÔN     ÔÅSÔ ÆÏÒ ÌÏÏP ÏPÔÉÏN       ÊMP ÒÅÃY̬ɠ  ÒÅSÔAÒÔ DÉAGNÏSÔÉà  SPà± ª    ÔÅSÔ ÌÏÏPÉNG ADDÒÅSS ÒÏUÔÉNÅS  SPà± SAVAD NÏP           SAVÅ ÔÅSÔ SÔAÒÔÉNG ADDÒÅSS       ÉSZ ÌPÃYà    ÌÏÏPÉNG ÉNDÉÃAÔÏÒ       ÊMP SAVAD¬É  SPà± ÌÏPÔN NÏP           ÔÅSÔ S× ±3 ÆÏÒ ÌÏÏP ÏPÔÉÏN       ÌÉB S×ÒG       ÒB̬ÒBÌ       SSB           ÌÏÏP ?       ÊMP ÅNP²´     YÅS¬ GÅÔ S.A.       ÌDB ÌPÃYà    NϬ ÌÏÏK AÔ ÌÏÏPÉNG ÉNDÉÃAÔÏÒ       SZB           ÌÏÏPÉNG BÅÆÏÒÅ ?       ÊMP ÌÏPÔN¬É   NϬ ÃÏNÔÉNUÅ ×ÉÔH NÅØÔ ÔÅSÔ       ÊMP ÒÅÃY̬ɠ  YÅS¬ SÔAÒÔ DÉAGNÏSÔÉàÏVÅÒ ÅNP²´ ÊSB ÅÏÔÔS     ÔÅSÔ ÆÏÒ ÅND ÏÆ ÔAPÅ       ÃÌB       SÔB ÌPÃYà    ÒÅSÅÔ ÌÏÏPÉNG ÉNDÉÃAÔÏÒ       ÊMP SAVAD¬É  SKP ÒÅAD0 NÏP           ÒÅAD ² ÔAPÅ BYÔÅS       ÃÌA D²6   SÆÃ DAÔA      ×AÉÔ ÆÏÒ DAÔA ÆÌAG       ÊMP D3´       ÉNA¬SZA       ÊMP D²6       ÊSB MÉSÆÌ¬É   PÒÉNÔ 'NÏ ÆÌAG' MÅSSAGÅ D3´   ÌÉA DAÔA¬Ã    GÅÔ ÔAPÅ BYÔÅS       ÃPA B¬É       ÃÏMPAÒÅ Ô×Ï ÔAPÅ BYÔÅS       ÊMP ÒÅAD0¬É       SÔA BAD       ÅÒÒÏÒ DÅÔÅÃÔÅD       ÌDA B¬É       SÔA GÏÏD       ÊSB AUDÅÔ     ÃK. AUÔÏ SÅÌÅÃÔ MÏDÅ       ÊSB ÆÌG×Ô     ×AÉÔ ÆÏÒ ÃMMD ÃHNÌ ÆÌAG       ÊSB ÌÏPÔN     ÔÅSÔ ÆÏÒ ÌÏÏP ÏPÔÉÏN       ÌDA ÃYÃÔ      GÅÔ ÃYÃÌÅ ÃÏUNÔ       ÊSB ÃVÅÒÔ     ÃÏNVÅÒÔ ¦ PUÔ ÉN ÌÉNÅ BUÆÆÅÒ       ÌDA SPAÃÅ       ÊSB SÌB     ]¼<:6  ÌDA SÔPÅÑ     PUÔ ÔÅSÔ SÔÏP NÏ. ÉN ÌÉNÅ       ÊSB SÌB       ÌDA SÔÏP       ÉNA       ÊSB ÃVÅÒÔ       ÌDA SPAÃÅ     BÌANK ÆÏÒMAÔ ÃHAÒ.       ÊSB SÌB       ÊSB SÔAÔS     GÅÔ SÔAÔUS       ÊSB ÌDSÔS     ADD SÔAÔUS ÔÏ MÅSSAGÅ       ÌDA SPAÃÅ       ÊSB SÌB       ÌDA ÃHNÅÑ     ADD GÒÏUP NÏ.       ÊSB SÌB       ÌDA ÔBUƸ     NÏ. ÏÆ SÅÑUÅNÃÅS       ÊSB ÃVÅÒÔ       ÊSB ÌBÏUÔ     PÒÉNÔ ÌÉNÅ       ÌDA SPAÃÅ       ÊSB SÌB       ÌDA GDÅÑ      PÒÉNÔ GÏÏD ¦ BAD BYÔÅS       ÊSB SÌB       ÌDA GÏÏD       ÊSB BÉNÏ       ÊSB ÌBÏUÔ     PÒÉNÔ ÌÉNÅ       ÌDA SPAÃÅ     BÌANK ÆÏÒMAÔ ÃHAÒ.       ÊSB SÌB       ÌDA BDÅÑ       ÊSB SÌB       ÌDA BAD       ÊSB BÉNÏ       ÊSB ÌBÏUÔ       ÊSB SKPÌ       ÃÌA           ÒÅSÅÔ BUÆÆÅÒS       SÔA GÏÏD       SÔA BAD       ÌÉA S×ÒG      ÔÅSÔ ÆÏÒ ÅÒÒÏÒ HAÌÔ       ÒAÌ       SSA¬ÒSS       S× ±´ SÅÔ ?       ÊMP ÒÅÃY̬ɠ  ÅÒÒÏÒ ÒÅÔUÒN       ÊSB SÔAÔS     YÅS¬ GÅÔ SÔAÔUS ¦ SÔÏP       ÌDB SÔÏP      ÔÅSÔ SÔÏP NÏ.       ÉNB       HÌÔ 55B       ÅÒÒÏÒ HAÌÔ       ÊSB ÌÏPÔN     ÔÅSÔ ÆÏÒ ÌÏÏP ÏPÔÉÏN [›<ÿÿ ÿý& ÿ13020-80002 E S 0122 HP 9TRACK MAG TAPE INTERFACE DIAGNOSTIC             H0101 ûKþú  SPà± ª    PAÃK Ô×Ï DÅÃÉMAÌ NÏ. ÉN ASÃÉÉ ÆÏÒMAÔ       SPà± PAÃK  NÏP           ÅNÔÅÒ ×ÉÔH DÉGÉÔS ÉN "A"¦"B" ÒÅG.       AÌÆ¬AÌÆ       PÏSÉÔÉÏN ÅVÅN DÉGÉÔ       ÉÏÒ B         ADD ÏDD DÉGÉÔ       ÉÏÒ ASÃZ      PUÔ ÉNÔÏ ASÃÉÉ ÆÏÒMAÔ       ÊSB SÌB       SÔÏÒÅ ÉN NÅØÔ PÌAÃÅ ÉN ÌÉNÅ BUÆÆ       ÊMP PAÃK¬É       SPà± ª    ÃÏNVÅÒÔ BÉNAÒY ÔÏ DÅÃÉMAÌ       SPà± ÃVÅÒÔ NÏP           ÅNÔÅÒ ×ÉÔH NÏ. ÉN "A" ÒÅG.       SÔA ÔBUƱ     ÔÅMPÏÒAÒY BUÆÆÅÒ       ÌDB MUS²      SÅÔ DÉGÉÔ ÃÏUNÔÅÒ       SÔB DGÃNÔ       ÌDB ÃÃÔS      ÃÏNVÅÒSÉÏN ÃÏNSÔANÔS       SÔB ÃÃSÔ      ADÒS. SÔÏÒAGÅ ÆÏÒ ÃÏNVÅÒS ÃÏNSÔS. ÒÔPÔ· ÌDB MUS²      SÅÔ ÏDD-ÅVÅN SÅÑUÅNÃÅÒ       SÔB SÅÑ ÒÔPÔ± ÃÌB       SÔB DGBUÆ     ÃÌÅAÒ DÉGÉÔ BUÆÆÅÒ       ÌDA ÔBUƱ     BÉNAÒY NÏ. ÒÔPÔ² ADA ÃÃSԬɠ   ADD ÃÏNVÅÒSÉÏN ÃÏNSÔANÔ ÔÏ NÏ.       SSA           SÉGN PÏSÉÔÉVÅ?       ÊMP ª+´       NϬ ÃHANGÅ ÃÏNVÅÒSÉÏN ÃÏNSÔANÔS       SÔA ÔBUƱ     YÅS¬ ÆÉND DÅÃÉMAÌ NÏ.       ÉSZ DGBUÆ     ADD ± ÔÏ DÅÃÉMAÌ NÏ.       ÊMP ÒÔPÔ²       ÉSZ ÃÃSÔ      ÃHANGÅ ÃÏNVÅÒSÉÏN ÃÏNSÔANÔS       ÉSZ SÅÑ       ÏDD DÉGÉÔ?       ÊMP ÅNPÔ´     NϬ SAVÅ ÅVÅN DÉGÉÔ       ÌDA AÒÅG      YÅS¬ GÅÔ ÅVÅN DÉGÉÔ       ÌDB DGBUÆ     GÅÔ ÏDD DÉGÉÔ       ÊSB PAÃK      PUÔ ÔHÅ ² DÉGÉÔS ÉN ASÃÉÉ ÆÏÒMAÔ       ÉSZ DGÃNÔ     ÌASÔ Ô×Ï DÉGÉÔS?       ÊMP ÒÔPÔ·     NϬ GÏ BAÃK       ÊMP ÃVÅÒԬɠ  YÅS¬ ÃÏNVÅÒSÉÏN ÃÏMPÌÅÔÅD ÅNPÔ´ ÌDA DGBUÆ     ÃÏNÔAÉNS ÅVÅN DÉGÉÔ       SÔA AÒÅG      SAVÅ ÆÏÒ PAÃKÉNG       ÊMP ÒÔPÔ±     GÏ BAÃK ¦ ÃÏNVÅÒÔ ÏDD DÉGÉÔ  SPà± ª    BÉNAÒY NÏ. ÒÏUÔÉNÅ  SPà± BÉNÏ  NÏP           ÅNÔÅÒ ×ÉÔH NÏ. ÉN "A" ÒÅG.       ÌDB MUS¸       SÔB DGÃNÔ     SÅÔ DÉGÉÔ ÃÏUNÔÅÒ       ÌDB MUS´      DÉGÉÔ ÆÏÒMAÔÔÉNG ÃÏUNÔ       SÔB Ò×ÃNÔ       ÌDB MUS²        "       "        "       SÔB ×ÒDÃN ÒÔPÔ3 ÌDB A         PUÔ NÏ. ÉN "B" ÒÅG. AÌSÏ       ÒAÌ       ÒB̬ÒBÌ       SÔB ÔBUƱ     SAVÅ SHÉÆÔÅD NÏ.       AND MSK5      KÅÅP ÌSB       SÔA AÒÅG      SAVÅ ÆÏÒ ÅØÉÔ       ÌDA B       AND MSK5      KÅÅP ÌSB       ÌDB A         SÅÔ UP ÆÏÒ PAÃKÉt¬þúNG       ÌDA AÒÅG      SÅÔ UP ÆÏÒ PAÃKÉNG       ÊSB PAÃK      PUÔ ÉNÔÏ ASÃÉÉ ÆÏÒMAÔ       ÉSZ DGÃNÔ     ÉNÃÒÅMÅNÔ DÉGÉÔ ÃÏUNÔ       ÊMP ª+²       ÃÏUNÔ NÏÔ 0 ¬ ÃÏNÔÉNUÅ       ÊMP BÉNÏ¬É       ÌDA ÔBUƱ     SÅÔ UP ÆÏÒ NÅØÔ ² DÉGÉÔS       ÉSZ ×ÒDÃN     DÉGÉÔ ÆÏÒMAÔ ÃÏUNÔ       ÊMP ÒÔPÔ3     GÅÔ NÅØÔ ² DÉGÉÔS       ÌDA SPAÃÅ     BÌANK ÆÏÒMAÔ ÃHAÒ.       ÊSB SÌB       ÌDA ÔBUƱ     ÒÅSÔÏÒÅ 'A'       ÉSZ Ò×ÃNÔ     DÉGÉÔ ÆÏÒMAÔ ÃÏUNÔ       ÊMP ÒÔPÔ3-²   GÅÔ NÅØÔ ² DÉGÉÔS       ÌDA SPAÃÅ     BÌANK ÆÏÒMAÔ ÃHAÒ.       ÊSB SÌB       ÌDA ÔBUƱ     ÒÅSÔÏÒÅ 'A'       ÊMP ÒÔPÔ3-´   GÅÔ NÅØÔ ² DÉGÉÔS       SPà± ª    ÌÉNÅ BUÆÆÅÒ ÌÏADÉNG ÒÏUÔÉNÅ       SPà± SÌB   NÏP       SÔA .ÌBƬɠ   ÅNÔÅÒ ×ÉÔH ASÃÉÉ ÃHAÒÃ'S ÉN "A"       ÉSZ .ÌBÆ      GÏ ÔÏ NÅØÔ Ô×Ï ÃHAÒÃ. ÌÏÃAÔÉÏNS       NÏP       ÉSZ ÌÃNÔ      ÉNÃÒÅMÅNÔ ÌÉNÅ PÏSÉÔÉÏN ÃÏUNÔ       ÊMP SÌB¬É       SPà± ª    ÏUÔPUÔ ASÃÉÉ ÌÉNÅ ÒÏUÔÉNÅ       SPà± ÌBÏUÔ NÏP       ÌDA ÌÃNÔ      GÅÔ ÌÉNÅ PÏSÉÔÉÏN ÃÏUNÔ       ADA ÌÃNÔ      DÏUBÌÅ ÃÏUNÔ       ÌDB SÌBÆ      GÅÔ ÌÉNÅ BUÆÆÅÒ SÔAÒÔÉNG ADÒS       ÊSB ÔÔY¬É       ÃÌA       SÔA ÌÃNÔ      ÒÅSÅÔ ÌÉNÅ PÏSÉÔÉÏN ÃÏUNÔÅÒ       ÌDA SÌBÆ      ÒÅSÅÔ ÌÉNÅ PÏSÉÔÉÏN PÏÉNÔÅÒ       SÔA .ÌBÆ       ÊMP ÌBÏUÔ¬É  SKP ª    SKÉP ÏNÅ ÌÉNÅ       SPà± SKPÌ  NÏP       ÌDA AÃñ      ASÃÉÉ ÃHAÒAÃÔÅÒ ÃÏUNÔ ÏÆ ±       ÌDB ÌÆ        GÅÔ ÌÉNÅ ÆÅÅD ÃÏNSÔANÔ       ÊSB ÔÔY¬É     PÒÅÆÏÒM ÔHÅ ÆUNÃÔÉÏN       ÊMP SKPÌ¬É  SPà± ª    PÒÉNÔ ÃYÃÌÅ ÃÏUNÔ  SPà± PÃYÃÔ NÏP       ÌDA ÃYÃÔ      GÅÔ ÃYÃÌÅ ÃÏUNÔ       ÊSB ÃVÅÒÔ     ÃÏNVÅÒÔ ¦ PUÔ ÉN ÌÉNÅ BUÆÆÅÒ       ÌDB MUS´      MÅSSAGÅ ÌÅNGÔH       ÌDA ÃYÃÏM¬É   SÔAÒÔÉNG ADDÒÅSS ÏÆ MÅSSAGÅ       ÊSB SÌB       SÅÔ UP ÌÉNÅ BUÆÆÅÒ       ÉSZ ÃYÃÏM     DÏNÅ?       ÉSZ B         ÉNÃÒÅMÅNÔ ÃHAÒAÃÔÅÒ ÃÏUNÔ       ÊMP ª-´       NϬ GÅÔ NÅØÔ Ô×Ï ÃHAÒAÃÔÅÒS       ÌDA ÃYMSG     YÅS¬ ÒÅSÅÔ MÅSSAGÅ ADÒS. PÏÉNÔÅÒ       SÔA ÃYÃÏM       ÊSB ÌBÏUÔ     PÒÉNÔ ÌÉNÅ       ÊSB SKPÌ       ÊMP PÃYÃÔ¬É  SPà± ª    SÔAÔUS SYMBÏÌ ÒÏUÔÉNÅ  SPà± ÌDSÔS NÏvçþúP           ÌÏAD SÔAÔUS ÉN PÒÉNÔÅD ÌÉNÅ       ÌDB MUS±²     SÔAÔUS ÃÏUNÔÅÒ       SÔB ÃNÔ± ÒÔPÔ´ SÌA           ÏÆÆ ÌÉNÅ?       ÊMP ÅNPÔ3     YÅS¬ ÅNÔÅÒ SYMBÏÌS ÉN ÌÉNÅ ÒÔPÔ5 ÉSZ SÔÔBÌ     NϬ ÉNÃÒÅMÅNÔ SYMBÏÌ PÏÉNÔÅÒ       ÒAÒ           SHÉÆÔ ÔÏ NÅØÔ BÉÔ       ÉSZ ÃNÔ±      HAS AÌÌ BÉÔS BÅÅN ÔÅSÔÅD?       ÊMP ÒÔPÔ´     NϬ ÔÅSÔ NÅØÔ SÔAÔUS BÉÔ       ÌDA SÔÔB.       SÔA SÔÔBÌ       ÊMP ÌDSÔS¬É   YÅS¬ ÒÅÔUÒN ÅNPÔ3 SÔA ÔBUƱ     SAVÅ ÃÏNÔÅNÔS ÏÆ "A" ÒÅG       ÌDA SÔÔB̬ɠ  GÅÔ SÔAÔUS SYMBÏÌ       ÊSB SÌB       PUÔ ÃHAÒAÃÔÅÒS ÉN ÌÉNÅ BUÆÆÅÒ       ÌDA ÃÏMMA       ÊSB SÌB       ÌDA ÔBUƱ     ÒÅSÔÏÒÅ "A" ÒÅG BÅÆÏÒÅ ÒÅÔUÒNÉNG       ÊMP ÒÔPÔ5  SPà± ª      DAÔA ÃHANNÅÌ ÉNSÔÒUÃÔÉÏN SÅÔ UP        SPà± ÉÏSÅÔ NÏP        ÌDA DÔà      DAÔA É-Ï ADDÒS.        SÔA ÉÏ        SAVÅ ÆÏÒ ÃÏNSÔ SUB.       ÌDA MUS33        ÌDB ADDÔ±     ÉNDÉÒÅÃÔ ADDÒS. ÏÆ DAÔA ÃHANNÅÌ        ÊSB ÃÏNSÔ  SKP ª      ÃÏMMAND ÃHANNÅÌ ÉNSÔÒUÃÔÉÏN SÅÔ UP        SPà±        ÌDA ÃMà      ÃMMD É-Ï ADDÒS.        SÔA ÉÏ        SAVÅ ÆÏÒ ÃÏNSÔ SUB.        ÌDA MUS²6        ÌDB ADÃM±     ÉNDÉÒÅÃÔ ADDÒS. ÏÆ ÃMMD ÃHANNÅÌ        ÊSB ÃÏNSÔ        ÊMP DÉAG¬É    SÔAÒÔ MAÉN DÉAGNÏSÔÉà        SPಠª      É-Ï ÃHANNÅÌ ÉNSÔÒUÃÔÉÏN SÅÔ UP SUBÒÏUÔÉNÅ        SPà± ÃÏNSÔ  NÏP        SÔA ÃÏUNÔ     NÏ. ÏÆ É-Ï ÉNSÔÒUÃÔÉÏNS ÒÔP±²  ÌDA B¬É        AND MSK3      KÅÅP ÔHÅ ±0 MSB'S        ÉÏÒ ÉÏ        PUÔ ÉN DÅVÉÃÅ SÅÌÅÃÔ ÃÏDÅ        SÔA B¬É        ÉNB        ÉSZ ÃÏUNÔ        ÊMP ÒÔP±²        ÊMP ÃÏNSÔ¬É  SPà± ª    ÔÉMÉNG SÅÔ UP SUBÒÏUÔÉNÅ  SPà± ÔMÃÏN  NÏP        ÌDA Ô±±        SÔA ADDÒ     ADDÒS ÏÆ ÒÅGUÌAÒ ÔÉMÉNG PÅÒÉÏD        ÌDA MUS¸      NÏ. ÏÆ ÔÉMÉNG PÅÒÉÏDS USÅD        ÉNA        SÔA ÃÏUNÔ ÔÌÏÏP  ÌDA B¬É        SÔA ADDÒ¬É        ÉNB        ÉSZ ADDÒ        ÉSZ ÃÏUNÔ    ÆÉNÉSHÅD ?        ÊMP ÔÌÏÏP    NϬ ÃHANGÅ NÅØÔ ÃÏNSÔANÔ        ÊMP ÔMÃÏN¬É  HÅD ·9·0  DÉAGNÏSÔÉà   -MAÉN PÒÏGÒAM-    ±30²0-9000± ÉNÉÔZ ÌÉA S×ÒG      ÌÏAD É-Ï ADDÒÅSS ÏÆ MAG ÔAPÅ       SÔA DÔà      DAÔA ÃHANNÅ̠ɯϠADDÒÅSS dþú      ÉNA       SÔA ÃMà      ÃÏMMAND ÃHANNÅ̠ɯϠADDÒÅSS       HÌÔ 0       ÌÉA S×ÒG      GÅÔ ÃÏMPUÔÅÒ ¦ ÔAPÅ UNÉÔ SPÅÅDS       SSA           ÔÅSÔ ÆÏÒ ÃÏMPUÔÅÒ SPÅÅD       ÊMP Ã²±±´     GÏ ÔÏ ÔHÅ ² USÅàMAÃHÉNÅ SÅÔ UP       ÒAÌ       SSA¬ÒSS       ÉS S×ÉÔÃH ±´ SÅÔ ?       ÊMP Ã²±±6     NϬ SÅÔ ÔHÅ ÔÉMÉNG ÆÏÒ A ²±±6       ÒAÒ¬SÌA       YÅS¬ SÅÔ ÔHÅ ÔÉMÉNG ÆÏÒ A ²±00       ÊMP .Ô3±      SÅÔ UP ÆÏÒ ±².5 ÉPS       ÒAÒ¬SÌA       ÊMP .Ô3²      SÅÔ UP ÆÏÒ ²5 ÉPS       ÒAÒ¬SÌA       ÊMP .Ô33      SÅÔ UP ÆÏÒ 3·.5 ÉPS       ÌDB Ô3´       SÅÔ UP ÆÏÒ ´5 ÉPS       ÊSB ÔMÃÏN     ÃHANGÅ ÔHÅ ÃÏNSÔANÔS ÉN ÔHÅ ÔABÌÅ       ÊMP ÃÏNÔ Ã²±±6 ÒAÒ¬SÌA       ÊMP ÃÏNÔ      ÃÏNÔÒÏÌÌÅÒ SPÅÅD ±².5 ÉPS¬ ÃÏN'Ô       ÒAÒ¬SÌA       ÔÅSÔ ÆÏÒ ANÏÔHÅÒ SPÅÅD       ÊMP .Ô±²      ÃÏNÔÒÏÌÌÅÒ SPÅÅD ²5 ÉPS¬ ÃÏN'Ô       ÒAÒ¬SÌA       ÔÅSÔ ÆÏÒ ANÏÔHÅÒ SPÅÅD       ÊMP .Ô±3      ÃÏNÔÒÏÌÌÅÒ SPÅÅD 3·.5 ÉPS¬ ÃÏN'Ô       ÊMP .Ô±´      ´5 ÉPS ¦ ±.6 USÅà ò±±´ SÌA       ÊMP .Ô²±      ÃÏNÔÒÏÌÌÅÒ SPÅÅD ±².5 ÉPS  ÃÏN'Ô       ÒAÒ¬SÌA       ÔÅSÔ ÆÏÒ ANÏÔHÅÒ SPÅÅD       ÊMP .Ô²²      ÃÏNÔÒÏÌÌÅÒ SPÅÅD ²5 ÉPS¬ ÃÏN'Ô       ÒAÒ¬SÌA       ÊMP .Ô²3      3·.5 ÉPS ¦ ² USÅà       ÌDB Ô²´       ´5 ÉPS ¦ ² USÅà       ÊSB ÔMÃÏN     ÅNÔÅÒ NÅ× ÃÏNSÔANÔS ÉN ÔABÌÅ       ÊMP ÃÏNÔ      ÃÏNÔÉNUÅ ÉNÉÔÉAÌÉZAÔÉÏN .Ô±²  ÌDB Ô±²       ²5 ÉPS ¦ ±.6 USÅà       ÊSB ÔMÃÏN     ÅNÔÅÒ NÅ× ÃÏNSÔANÔS ÉN ÔABÌÅ       ÊMP ÃÏNÔ      ÃÏNÔÉNUÅ ÉNÉÔÉAÌÉZAÔÉÏN .Ô±3  ÌDB Ô±3       3·.5 ÉPS ¦ ±.6 USÅà       ÊSB ÔMÃÏN     ÅNÔÅÒ NÅ× ÃÏNSÔANÔS ÉN ÔABÌÅ       ÊMP ÃÏNÔ      ÃÏNÔÉNUÅ ÉNÔÉAÌÉZAÔÉÏN .Ô±´  ÌDB Ô±´       ´5 ÉPS ¦ ±.6 USÅà       ÊSB ÔMÃÏN     ÌÏAD NÅ× ÃÏNSÔANÔS       ÊMP ÃÏNÔ      ÃÏNÔÉNUÅ .Ô²±  ÌDB Ô²±       ±².5 ÉPS ¦ ² USÅà       ÊSB ÔMÃÏN     ÅNÔÅÒ NÅ× ÃÏNSÔANÔS ÉN ÔABÌÅ       ÊMP ÃÏNÔ      ÃÏNÔÉNUÅ ÉNÉÔÉAÌÉZAÔÉÏN .Ô²²  ÌDB Ô²²       ²5 ÉPS ¦ ² USÅà       ÊSB ÔMÃÏN     ÅNÔÅÒ NÅ× ÃÏNSÔANÔS ÉN ÔABÌÅ       ÊMP ÃÏNÔ      ÃÏNÔÉNUÅ .Ô²3  ÌDB Ô²3       3·.5 ÉPS ¦ ² USÅà       ÊSB ÔMÃÏN     ÌÏAD NÅ× ÃÏNSÔANÔS       ÊMP ÃÏNÔ ”Žþú.Ô3±  ÌDB Ô3±       ÊSB ÔMÃÏN     SÅÔ ÃÏNSÔANÔS ÆÏÒ ±².5 ÉPS       ÊMP ÃÏNÔ .Ô3²  ÌDB Ô3²       ÊSB ÔMÃÏN     SÅÔ ÃÏNSÔANÔS ÆÏÒ ²5 ÉPS       ÊMP ÃÏNÔ .Ô33  ÌDB Ô33       ÊSB ÔMÃÏN     SÅÔ ÃÏNSÔANÔS ÆÏÒ 3·.5 ÉPS ÃÏNÔ   HÌÔ 0         SÅÌÅÃÔ UNÉÔ       ÊSB ÉÏSÅÔ     ÃÏNÆÉGUÒÅ ÔHÅ É¯Ï  SPà±       ÏÒG ²000B MDÉAG NÏP       ÃÌà0¬Ã       ÔUÒN ÏÆÆ ÉNÔÅÒÒUPÔ SYSÔÅM       ÃÌA       SÔA ÃYÃÔ      SÅÔ PÒÏGÒAM ÃYÃÌÅ ÃÏUNÔÅÒ ÔÏ 0       ÊMP ÅNPÔ± ÒÅÃYàÌÉA S×ÒG      ÔÅSÔ ÃYÃÌÅ ÃÏUNÔ ÏPÔÉÏN       AÌÆ       SÌA¬ÒSS       PÒÉNÔ ÃYÃÌÅ ÃÏUNÔ?       ÊMP ÅNPÔ±     NϬ ÒÅSÔAÒÔ MAÉN PÒÏGÒAM       ÊSB PÃYÃÔ     YÅS¬ PÒÉNÔ ÃYÃÌÅ ÃÏUNÔ       HÌÔ ··B       YÅS ÅNPÔ± ÃÌA           ÒÅSÅÔ AÌÌ ÃÏUNÔÅÒS ¦ AÃÔÉVÅ BUÆÆÅÒS       SÔA ÃMÃNÔ       SÔA ÔÃHÃÔ     ÔAPÅ ÃHAÒAÃÔÅÒ ÃÏUNÔÅÒ       SÔA BAD       BUÆÆÅÒ       SÔA GÏÏD      BUÆÆÅÒ       SÔA ÌÃNÔ      ÌÉNÅ ÃHAÒAÃÔÅÒ PÏSÉÔÉÏN ÃÏUNÔÅÒ       ÉSZ ÃYÃÔ       ÌDA ÃYÃÔ      GÅÔ ÃYÃÌÅ ÃÏUNÔ       ÃPA P9999     ÔÅSÔ ÆÏÒ ÃÏUNÔ ÒÏÌÌ ÏVÅÒ       ÊMP MDÉAG     GÏ BAÃK ¦ ÒÅSÅÔ ÃYÃÌÅ ÃÏUNÔÅÒ       ÌÉA S×ÒG      ÌÏAD ÔAPÅ UNÉÔ SÅÌÅÃÔÉÏN       ÌDB MUS²       SÔB ÔÉMÅ      AUÔÏ SÅÌÅÃÔ ÃYÃÌÅ ÃÏUNÔÅÒ       AND MSK0      KÅÅP ´ ÌSB (ÏÃÔAÌ ±·©       SZA           ÉS 'A' ½ 0       ÊMP ÅNP±3     NϬ SÅÌÅÃÔ DÅSÉGNAÔÅD ÔAPÅ UNÉÔ ÒÔP±3 ÃÌA           YÅS¬ ÃHÅÃK SÅÌÅÃÔ ÃÏUNÔÅÒ       ÃPA SÅÌÃÔ     ÉS SÅÌÅÃÔ ÃÏUNÔ 0 ?       ÊMP ª+²       NϬ SÅÔ SÅÌÅÃÔ ÃÏUNÔÅÒ       ÊMP ÅNP±´     YÅS¬ SÅÌÅÃÔ ÔHÅ NÅØÔ UNÉÔ       ÌDA MUS´       SÔA SÅÌÃÔ       ÌDA AUSÅÌ     SÅÌÅÃÔ ÃÏDÅ SÔAÃK S.A.       SÔA ÔBUÆ5     SÅÌÅÃÔ ÃMMD ÃÏDÅ SÔAÃK PÏÉNÔÅÒ ÅNP±´ ÌDA ÔBUÆ5¬É   AUÔÏMAÔÉÃAÌÌY SÅÌÅÃÔ ÔHÅ ÆÉÒSÔ       ÊSB AÃMMD     UNÉÔ ÏN ÌÉNÅ       ÉSZ ÔBUÆ5     ADVANÃÅ ÃÏDÅ SÔAÃK PÏÉNÔÅÒ       NÏP       ÉSZ SÅÌÃÔ     ÉNÃÒÅMÅNÔ SÅÌÅÃÔ ÃÏUNÔ       ÊMP ÅNP±5       ÉSZ ÔÉMÅ      ÉNÃÒÅMÅNÔ SÅÌÅÃÔ ÃYÃÌÅ ÃÏUNÔ       ÊMP ÅNP±5       ÊMP ÅNP±¸     GÏ PÒÉNÔ UNÉÔS ÏÆÆ ÌÉNÅ MÅSSAGÅ ÅNP±5 ÊSB SÔAÔS     GÅÔ SÔAÔUS       SÌA           ÔAPÅ UNÉÔ ÏN ÌÉNÅ ?       ÊMP ÒÔP±3     NϬ ÔÒ!jþúY ANÏÔHÅÒ UNÉÔ       AÌÆ¬AÌÆ       YÅS¬ ÉS ÔHÅ SÅÌÅÃÔÅD UNÉÔ ÒÅADY ?       ÒAÒ¬SÌA       ÊMP ÒÔP±3     NϬ ÔÒY ANÏÔHÅÒ UNÉÔ       ÊMP ÅNP±6     YÅS¬ SÔAÒÔ DÉAGNÏSÔÉà ÅNP±3 SÌA           ÉS ÉÔ NÏ. ± ?       ÊMP ÏSÅÌ0     YÅS¬ ÔÅÌÌ ÔHÅ ÃÏNÔÒÏÌÌÅÒ       ÒAÒ¬SÌA       NϬ NÏ. ²?       ÊMP ÏSÅ̱     YÅS       ÒAÒ¬SÌA       NϬ NÏ.3?       ÊMP ÏSÅ̲     YÅS       ÌDA SÌ3       NϬ NÏ. ´       ÊMP Ã±9 ÏSÅ̲ ÌDA S̲       ÊMP Ã±9 ÏSÅ̱ ÌDA S̱       ÊMP Ã±9 ÏSÅÌ0 ÌDA SÌ0 ñ9   ÏÔA ÃMMD¬Ã       ÊSB SÔAÔS       SÌA¬ÒSS       ÔAPÅ UNÉÔ ÏN ÌÉNÅ ¦ ÒÅADY?       ÊMP ÅNPÔ²     YÅS¬ ÃÏNÔÉNUÅ ÅNP±¸ ÊSB SÔAÔS     NϬ GÅÔ SÔAÔUS ¦ SÔÏP       SÔA SÔAÔU     SAVÅ SÔAÔUS       ÌDA PÏS²0       ÌDB MSG²       ÊSB ÔÔY¬É       ÊSB SKPÌ      SPAÃÅ ÏNÅ ÌÉNÅ AÆÔÅÒ MÅSSAGÅ       ÌDA SÔAÔU       HÌÔ ±±B       ÔAPÅ UNÉÔ NÏÔ ÏN ÌÉNÅ       ÊMP MDÉAG     GÏ BAÃK ÔÏ SÔAÒÔ ÅNPÔ² AÌÆ¬AÌÆ       ÒAÒ¬SÌA       ÊMP ª-5 ÅNP±6 ÃÌA       SÔA SÔÏP      SÅÔ SÔÏP NUMBÅÒ ÔÏ ZÅÒÏ  SPà± ª    ÃÏNÔÒÏÌÌÅÒ ÔÉMÉNG ÔÅSÔ  SPà±       ÊSB SAVAD     SAVÅ ÔÅSÔ SÔAÒÔÉNG ADDÒÅSS       ÌDB ÃÌÒ       ÔÅSÔ ÃÌÅAÒ ÔÉMÅ       ÊSB ÏÃMMD       ÌDB ÃÌÒD̬ɠ  ÃÌÅAÒ DÅÌAY ÔÉMÅ       ÊSB DÅÌAY     ×AÉÔ DÅÌAY ÔÉMÅ       ÊSB SÔAÔS     GÅÔ SÔAÔUS       AND MSKBZ     ÔÅSÔ BUSY BÉÔ       ÃMA       AND MSKBZ     SÅÔ UP ÆÏÒ ÔÅSÔ ÒÏUÔÉNÅ       SÔA ÔBUƲ     KÅÅP ÆÏÒ ÔÅSÔ       ÌDB ÒDYÔM¬É   ÔÏÌÅÒANÃÅ ÔÉMÅ ÔÏ ÆÉNÉSH ÃÌÅAÒ       ÊSB DÅÌAY     ×AÉÔ DÅÌAY ÔÉMÅ       ÊSB SÔAÔS     GÅÔ SÔAÔUS       SÔA SÔAÔU     KÅÅP ÃUÒÒÅNÔ SÔAÔUS       AND MSKBZ     KÅÅP ÏNÌY BUSY SÔAÔUS BÉÔ       SZA       ÉNA       ÊSB ÔÅSԬɠ   SÔÏP ÉÆ ÃÏNÔÒÏÌÌÅÒ SÔÉÌÌ BUSY       ÌDA ÔBUƲ       ÊSB ÔÅSԬɠ   SÔÏP ÉÆ ÃÏNÔÒÏÌÌÅÒ NÏÔ BUSY  SPà±       ÌDA SÔAÔU     ÒÅSÔÏÒÅ SÔAÔUS ÔÏ A ÒÅG.       AND MSK´      ÃHÅÃK AÌÌ SÔAÔUS BUÔ BÏÔ       ÊSB ÔÅSԬɠ   SÔÏP ÉÆ ANY SÔAÔUS BUÔ BÏÔ       ÊSB ÌÏPÔN     ÔÅSÔ ÆÏÒ ÌÏÏP ÏPÔÉÏN  SPà± ª   É-Ï ÃHANNÅÌ ¦ ÃÏNÔÒÏÌÌÅÒ ÔÅSÔS  SPà±       ÃÌà0¬Ã       ÊSB SAVAD     SAVÅ ÔÅSÔ S.A.rõþú       ÃÌA           SÅÔ ÔÅSÔ ÉNDÉÃAÔÏÒ D5    SÔÆ DAÔA      SÅÔ DAÔA ÃHNÌ ÆÌAG D6    SÆS DAÔA      ÔÅSÔ ÆÌAG SÅÔ       ÃMA       ÊSB ÔÅSԬɠ   SÔÏP ÉÆ DAÔA ÆÌAG NÏÔ SÅÔ  SPà±       ÃÌA D·    ÃÌÆ DAÔA      ÃÌÅAÒ DAÔA ÃHNÌ ÆÌAG D¸    SÆÃ DAÔA      ÔÅSÔ ÆÌAG ÃÌÅAÒ       ÃMA       ÊSB ÔÅSԬɠ   SÔÏP ÉÆ DAÔA ÆÌAG NÏÔ ÃÌÅAÒÅD       ÊSB ÌÏPÔN     ÔÅSÔ ÌÏÏP ÏPÔÉÏN  SPà±       ÊSB SAVAD     KÅÅP ÔÅSÔ S.A.       ÃÌA ñ3   SÔÆ ÃMMD      SÅÔ ÃMMD ÃHNÌ ÆÌAG ñ´   SÆS ÃMMD      ÔÅSÔ ÆÌAG SÅÔ       ÃMA       ÊSB ÔÅSԬɠ   SÔÏP ÉÆ ÃMMD ÆÌAG NÏÔ SÅÔ  SPà±       ÃÌA ñ5   ÃÌÆ ÃMMD      ÃÌÅAÒ ÃMMD ÃHNÌ ÆÌAG ñ6   SÆÃ ÃMMD      ÔÅSÔ ÆÌAG ÃÌÅAÒ       ÃMA       ÊSB ÔÅSԬɠ   SÔÏP ÉÆ ÃMMD ÆÌAG NÏÔ ÃÌÅAÒÅD       ÊSB ÌÏPÔN     ÔÅSÔ ÌÏÏP ÏPÔÉÏN       SPà±       ÊSB SAVAD     KÅÅP ÔÅSÔ S.A.       ÌDA ÔÒAD±     SÅÔ UP ÆÏÒ DAÔA ÃHNÌ ÉNÔÅÒÒUPÔ D±0   SÔA DAÔA      ÌÏAD ÔÒAP ÃÅÌÌ       ÃÌA       SÔÆ 0         ÔUÒN ÏN ÉNÔÅÒÒUPÔ D±²   SÔÆ DAÔA      SÅÔ DAÔA ÃHNÌ ÆÌAG D±3   SÔàDAÔA      SÔAÒÔ ÉNÔÅÒÒUPÔ       NÏP       NÏP       ÃÃA¬ÒSS ÉNÔÒ± NÏP       ÃÌà0¬Ã       ÔUÒN ÏÆÆ ÔHÅ ÉNÔÅÒÒUPÔ SYSÔÅM       ÊSB ÔÅSԬɠ   SÔÏP ÉÆ NÏ ÉNÔÅÒÒUPÔ ÉN DAÔA ÃHNÌ       ÊSB ÌÏPÔN     ÔÅSÔ ÌÏÏP ÏPÔÉÏN  SPà±       ÊSB SAVAD     KÅÅP ÔÅSÔ S.A.       ÌDA ÔÒAD²     SÅÔ UP ÆÏÒ VAÌÉD ÃMMD ÉNÔÅÒÒUPÔ Ã9    SÔA ÃMMD       ÃÌA       SÔÆ 0         ÔUÒN ÔHÅ ÉNÔÅÒÒUPÔ SYSÔÅM ÏN       ÌDB ÃÌÒ Ã±0   ÏÔB ÃMMD      SÅÔ ÔHÅ ÃÏMMAND BUÆÆÅÒ Ã±²   SÔÆ ÃMMD      SÅÔ ÆÌAG ÏN ÔHÅ ÃÏMMAND ÃAÒD ñ±   SÔàÃMMD       NÏP       NÏP       ÃMA¬ÒSS ÉNÔÒ² NÏP       ÃÌà0¬Ã       ÔUÒN ÏÆÆ ÉNÔÒPÔ SYS ¦ ÃÌÅAÒ ÆÌAGS       ÊSB ÔÅSԬɠ   SÔÏP ÉÆ NÏ ÉNÔÅÒÒUPÔ ÉN ÃMMD ÃHNÌ       ÊSB ÃÌÅAÒ       ÊSB ÌÏPÔN     ÔÅSÔ ÌÏÏP ÏPÔÉÏN  SKP ª    ÌÏAD PÏÉNÔ GAP ÔÅSÔ    ª  SPà±       ÊSB SAVAD     KÅÅP ÔÅSÔ S.A.       ÊSB SÔAÔS     GÅÔ SÔAÔUS       AND MSK±      ÏÃÔ ±00       SZA¬ÒSS       BÏÔ SÔAÔUS ?       ÊMP ÅNPÔ0     NϬ GÏ ÔÏ NÅØÔ ÔÅSÔ       ÌDB GAP       YÅS¬ GAP       ÊSB ÏÃMMD       ÌDA MUåÚþúS±      ÔÉMÅÒ PASS ÃÏUNÔ       SÔA ÃÏUNÔ       ÃÌA       SÔA ÔÉMÅ      ÆÌAG ÔÉMÅÒ Ã±¸   SÆÃ DAÔA      ×AÉÔ ÆÏÒ ÅND ÏÆ GAP       ÊMP ÅNPÔ0     GAP ÆÉNÉSHÅD¬ ÃÏNÔÉNUÅ       ÉSZ ÔÉMÅ      ÌÏÏP UNÔÉÌ ÅND ÏÆ GAP       ÊMP Ã±¸       ÉSZ ÃÏUNÔ       ÊMP Ã±¸-²       ÊSB ÃÌÅAÒ     GAP ÆAÉÌÅD¬ ÃÌÅAÒ ÃÏNÔÒÏÌÌÅÒ       ÌDA PÏS±¸     PÒÉNÔ GAP ÔÉMÅ ÏVÅÒ ÒUN       ÌDB MSG±²     MÅSSAGÅ S.A.       ÊSB ÔÔY¬É     PÒÉNÔ MÅSSAGÅ       ÌÉA S×ÒG       ÒAÌ       SSA¬ÒSS       S× ±´ SÅÔ ?       ÊMP ÅNPÔ0     NϬ ÃÏNÔÉNUÅ       HÌÔ 55B       YÅS¬ ÅÒÒÏÒ HAÌÔ ÅNPÔ0 ÊSB ÌÏPÔN     ÔÅSÔ ÆÏÒ ÌÏÏP ÏPÔÉÏN  SPà± ª    ÔÅSÔ ×ÒÉÔÅ SÔAÒÔ ÔÉMÅ  SPà±       ÊSB SAVAD     KÅÅP ÔÅSÔ S.A.       ÊSB ÃÌÆDÔ       ÌDB ×Ãà      ×ÒÉÔÅ ÃÏMMAND ò²   ÏÔB ÃMMD      ÔÅSÔ ÆÏÒ ×ÒÉÔÅ ÅNABÌÅ ÒÅÊÅÃÔ Ã²3   SÔàÃMMD¬Ã       ÃÃA       ÌDB ×ÒSD̬ɠ  ×ÒÉÔÅ SÔAÒÔ ÔÉMÅ DÅÌAY       ÊSB DÅÌAY     ×AÉÔ D±6   SÆS DAÔA      ×ÒÉÔÅ ÆÌAG SÅÔ?       ÃÌA       SÔA ÔBUƲ       ÃÃA       ÃÃB       ÊSB DÅÌAY     ×AÉÔ D±·   SÆÃ DAÔA       ÃÌA       SÔA ÔBUÆ6       ÃÃA D3    ÏÔA DAÔA¬Ã       ÊSB ÃÌÃDÔ     ÅND ×ÒÉÔÅ ÏPÅÒAÔÉÏN       ÌDA ÔBUƲ       ÊSB ÔÅSԬɠ   SÔÏP ÉÆ ÆÌAG ÔÏÏ SÏÏN       ÌDA ÔBUÆ6       ÊSB ÔÅSԬɠ   SÔÏP ÉÆ ÆÌAG ÔÏÏ ÌAÔÅ       ÊSB SÔAÔS     GÅÔ SÔAÔUS       ÌDB MSKBZ     ÏÃÔ ´00       ÃMB       AND B         MASK ÏUÔ BUSY SÔAÔUS       ÊSB ÔÅSԬɠ   SÔÏP ÉÆ ANY SÔAÔUS BUÔ BUSY       ÊSB ÃMÃHÔ     ×AÉÔ ÆÏÒ ÔHÅ ÃMMD ÃHNÌ ÆÌAG       ÃÌB           SÅÔ UP ÔHÅ ÔÅSÔ SÔÏP NÏ.       SZA       ÊSB ÔMHÌÔ       ÊSB ÌÏPÔN     ÔÅSÔ ÌÏÏP ÏPÔÉÏN  SPà± ª    ÉNÉÔÉAÌ ×ÒÉÔÅ-ÒÅAD ÔÅSÔS    ª  SPà±       ÊSB BAÃSP     BAÃK SPAÃÅ ÒÅÃÏÒD ¦ ÃK SÔAÔUS       SZA           ÔÅSÔ PASSÅD ?       ÊMP ÅNPϲ-±   NϬ SKÉP ÒÅAD ÔÅSÔ       ÊSB SAVAD     KÅÅP ÔÅSÔ S.A.       ÌDA MUS²       ÃÃB       ÊSB ÒÅAD      ÒÅAD ÔHÅ ÒÅÃÏÒD ¦ ÃÏMPAÒÅ       ÊSB ÃMÃHÔ     ×AÉÔ ÆÏÒ ÃMMD ÆÌAG       ÊMP ÅNPϲ       ÉSZ SÔÏP      ÉNÃÒÅMÅNÔ ÔÅSÔ SÔÏP NÏ. ÅNPϲ ÊSB SAVAD     KÅÅP ÔÅSÔ S.A.       ÊSB ÃÌÆDÔ       õ"þúÌDA ×Ãà      SÔAÒÔ ×ÒÉÔÅ       ÊSB AÃMMD       ÊSB DÔÆÌG     ×AÉÔ ÆÏÒ DAÔA ÆÌAG       ÃÌA           ×ÒÉÔÅ ² BYÔÅS AÌÌ 0'S D±9   ÏÔA DAÔA¬Ã    ÏUÔ PUÔ DAÔA       ÊSB ÃÌÃDÔ     ÅND ÒÅÃÏÒD       ÊSB SÔAÔS     GÅÔ SÔAÔUS       ÌDB MSKBZ     ÏÃÔ ´00       ÃMB       AND B         MASK ÏUÔ BUSY SÔAÔUS       ÊSB ÔÅSԬɠ   SÔÏP ÉÆ ANY SÔAÔUS BUÔ BUSY       ÊSB ÃMÃHÔ     ×AÉÔ ÆÏÒ ÃMMD ÆÌAG       SZA           ÔÉMÅ ÏVÅÒ ÒUN ?       ÊSB ÔMHÌÔ     YÅS¬ PÒÉNÔ MÅSSAGÅ       ÊSB ÌÏPÔN     NϬ ÔÅSÔ ÆÏÒ ÌÏÏP ÏPÔÉÏN  SPà±       ÊSB BAÃSP     BAÃK SPAÃÅ ÒÅÃÏÒD ¦ ÃK SÔAÔUS       SZA           ÔÅSÔ PASSÅD ?       ÊMP ÅNPÏ3-±   NϬ SKÉP ÒÅAD ÔÅSÔ       ÊSB SAVAD     KÅÅP ÔÅSÔ S.A.       ÌDA MUS²      SÅÔ UP ÆÏÒ ÒÅAD       ÃÌB       ÊSB ÒÅAD      ÒÅAD ÒÅÃÏÒD ¦ ÃÏMPAÒÅ       ÊSB ÃMÃHÔ     ×AÉÔ ÆÏÒ ÃMMD ÆÌAG       ÊMP ÅNPÏ3       ÉSZ SÔÏP      ÉNÃÒÅMÅNÔ ÔÅSÔ SÔÏP NÏ. ÅNPÏ3 ÊSB SAVAD     KÅÅP ÔÅSÔ S.A.       ÌDA MU±00     SÅÔ BYÔÅ ÃÏUNÔ       SÔA ÃÏUNÔ       ÌDB ÏNÅÔK     ÏÃÔ ´0±       ÉNB           B ½ ÏÃÔ ´0²       ÊSB ÃÌÆDÔ       ÌDA ×Ãà      SÔAÒÔ ×ÒÉÔÅ       ÊSB AÃMMD       ÊSB DÔÆÌG     ×AÉÔ ÆÏÒ DAÔA ÆÌAG D²3   ÏÔB DAÔA¬Ã    ÏUÔPUÔ ×ÏÒD       ÒB̬ÒBÌ       SÅÔ UP NÅØÔ ×ÏÒD       ÉSZ ÃÏUNÔ     ÉNÃÒÅMÅNÔ ×ÏÒD ÃÏUNÔ       ÊMP D²3-±       ÊSB ÃÌÃDÔ     ÅND ÒÅÃÏÒD       ÊSB SÔAÔS     GÅÔ SÔAÔUS       ÌDB MSKBZ     ÏÃÔ ´00       ÃMB       AND B         MASK ÏUÔ BUSY SÔAÔUS       ÊSB ÔÅSԬɠ   SÔÏP ÉÆ ANY SÔAÔUS BUÔ BUSY       ÊSB ÃMÃHÔ     ×AÉÔ ÆÏÒ ÃMMD ÆÌAG       SZA           ÔÉMÅ ÏVÅÒ ÒUN ?       ÊSB ÔMHÌÔ     YÅS¬ PÒÉNÔ MÅSSAGÅ       ÊSB ÌÏPÔN     NϬ ÔÅSÔ ÆÏÒ ÌÏÏP ÏPÔÉÏN       ÊSB SAVAD     KÅÅP ÔÅSÔ S.A.       ÊSB BAÃSP     BAÃK SPAÃÅ ¦ ÃK SÔAÔUS       SZA¬ÒSS       ÔÅSÔ PASSÅD ?       ÊMP ÅNPÏ´     YÅS¬ ÃÏNÔÉNUÅ       ÌDA PÏS±¸     NϬ PÒÉNÔ ÅÒÒÏÒ MÅSSAGÅ       ÌDB MSG±±     MÅSSAGÅ S.A.       ÊSB ÔÔY¬É     PÒÉNÔ       ÊSB SÔAÔS     GÅÔ SÔAÔUS ¦ SÔÏP       ÌDB SÔÏP      ÃUÒÒÅNÔ ÔÅSÔ SÔÏP NÏ.       HÌÔ 55B       ÅÒÒÏÒ HAÌÔ       ÊMP ÒÅ?ˆ<:6ÃYà    GÏ ÔÏ SÔAÒÔ ÏÆ DÉAGNÏSÔÉà ÅNPÏ´ ÌDB ÏNÅÔK     ÏÃÔ ´0±       ÉNB       SÔB ÉNÔÒ±     SÅÔ UP ÆÏÒ ÒÅAD-ÃÏMPAÒÅ       ÌDB ADD±       ÌDA MU±00     ×ÏÒD ÃÏUNÔ       SÔA ÃÏUNÔ       ÃÌA       SÔA ÔBUƸ     ×ÏÒD ÃÏUNÔ +       ÌDA ÒÒÆ       SÔAÒÔ ÒÅAD       ÊSB AÃMMD ÅNPÏ5 ÊSB ÒÅAD0     ÒÅAD ² BYÔÅS ¦ ÃÏMPAÒÅ       ÌDA ÉNÔÒ±     ÒÏÔAÔÅ ÃÏMPAÒÅ ×ÏÒD       ÒA̬ÒAÌ       SÔA ÉNÔÒ±     ÒÅSÔÏÒÅ NÅ× ×ÏÒD       ÉSZ ÔBUƸ     ×ÏÒD ÃÏUNÔ +       ÉSZ ÃÏUNÔ     ×ÏÒD ÃÏUNÔ -       ÊMP ÅNPÏ5     ÒÅAD NÅØÔ ² BYÔÅS       ÊSB ÃÌÃDÔ     SÔÏP ÒÅADÉNG       ÊSB ÃMÃHÔ     ×AÉÔ ÆÏÒ ÃMMD ÆÌAG       SZA           ÔÉMÅ ÏVÅÒ ÒUN ?       ÊSB ÔMHÌÔ     YÅS¬ PÒÉNÔ MÅSSAGÅ       ÊSB ÌÏPÔN     NϬ ÔÅSÔ ÌÏÏP ÏPÔÉÏN       ÉSZ SÔÏP      ÉNÃÒÅMÅNÔ ÔÅSÔ SÔÏP NÏ.  SPà±       ÊSB SAVAD     KÅÅP S.A. GAP ¦ ÆÉÌÅ MAÒK ÔÅSÔ ÍL<ÿÿ ÿý' ÿ13020-80003 E S 0122 HP 9TRACK MAG TAPE INTERFACE DIAGNOSTIC             H0101 üKþú       ÌDB GÆM       GAP ¦ ×ÒÉÔÅ ÆÉÌÅ MAÒK       ÊSB ÏÃMMD       ÌDA MUS²       SÔA ÃÏUNÔ     ÅØÔÒA ÔÉMÅ ÃYÃÌÅ ÆÏÒ ²±±´       ÃÌA       SÔA ÔÉMÅ      SÅÔ ÆÌAG ÔÉMÅÒ Ã±·   SÆÃ ÃMMD      ×AÉÔ ÆÏÒ ÅND ÏÆ GAP       ÊMP ÅNP±²     ÅND ÏÆ GAP¬ GÏ ÔÏ ÔÅSÔ SUB.       ÉSZ ÔÉMÅ      ÌÏÏP UNÔÉÌ ÅND ÏÆ GAP       ÊMP Ã±·       ÉSZ ÃÏUNÔ       ÊMP Ã±·-² ÅNP±² ÊSB SÔAÔS       ÃHÅÃK SÔAÔUS.       AND MSK6        ÃHÅÃK BÉÔ ·.       ÃPA MSK6        DÅÔÅÃÔ ÅÏÆ ?       ÃÌA¬ÒSS         NϬ SÔÏP.       ÃÃA             ÅNÔÅÒ ×ÉÔH A ½ -±.       ÊSB ÔÅSÔ¬ É     ÃÏNÔÉNUÅ ÉÆ GAP ¦ ÆÉÌÅ MAÒK ÏK.       SZA¬ÒSS       SÔÏP ÔAPÅ ÉÆ ÔÅSÔ ÆAÉÌÅD       ÊMP ÅNP±·     ÃÏNÔÉNUÅ       ÊSB ÃÌÅAÒ     ÃÌÅAÒ ÔHÅ ÃÏNÔÒÏÌÌÅÒ       SZA       ÊSB ÔMHÌÔ ÅNP±· ÊSB ÌÏPÔN     ÔÅSÔ ÆÏÒ ÌÏÏP ÏPÔÉÏN  SPà±       ÊSB SAVAD     KÅÅP ÔÅSÔ S.A.       ÌDB ×ÆM       ÔÅSÔ ÃMMD ÒÅÊÅÃÔ ÃÏNDÉÔÉÏN       ÊSB ÏÃMMD     ÏUÔPUÔ ÆÉÒSÔ ÃÏMMAND       ÌDA BSÆ Ã²±   ÏÔA ÃMMD      ÏUÔ PUÔ SÅÃÏND ÃÏMMAND       ÊSB SÔAÔS     GÅÔ SÔAÔUS ÒÊÃMD ÊSB ÒÅÊBÔ     ÃMMD ÒÅÊÅÃÔ ÔÅSÔ       ÊSB ÔÅSԬɠ   SÔÏP ÉÆ ÒÅÊÅÃÔ NÏÔ DÅÔÅÃÔÅD       ÊSB ÃMÃHÔ       ÊSB ÔÅSԬɠ   SÔÏP ÉÆ ÆÉÌÅ MAÒK NÏÔ DÅÔÅÃÔÅD       ÊSB ÌÏPÔN     ÔÅSÔ ÌÏÏP ÏPÔÉÏN       SZA¬ÒSS       ÊMP ª+²       GÏ ÔÏ NÅØÔ ÔÅSÔ       ÊSB ÃÌÅAÒ     ÃÌÅAÒ ÔHÅ ÃÏNÔÒÏÌÌÅÒ  SPà± ª    ×ÒÉÔÅ ÔÅSÔS  SPà±       ÊSB SAVAD     KÅÅP ÔÅSÔ S.A.       ÃÌB           AÌÌ ZÅÒÏ'S       ÌDA MU500     ±000 BYÔÅ ÒÅÃÏÒD       ÊSB ×ÒÉÔÅ  SPà±       ÊSB SAVAD     KÅÅP ÔÅSÔ S.A.       ÌDB ÏNÅÔK     AÌÌ ±'S ÉBM ÃHNÌ ·       ÌDA MUS¸      ±6 BYÔÅ ÒÅÃÏÒD       ÊSB ×ÒÉÔÅ  SPà±       ÊSB SAVAD     KÅÅP ÔÅSÔ S.A.       ÌDB BÒÅG       ÒBÌ           AÌÌ ±'S ÉBM ÃHNÌ 6       ÌDA MUS9      ±¸ BYÔÅ ÒÅÃÏÒD       ÊSB ×ÒÉÔÅ  SPà±       ÊSB SAVAD     KÅÅP ÔÅSÔ S.A.       ÌDB BÒÅG      AÌÌ ±'S ÉBM ÃHNÌ 5       ÒBÌ       ÌDA MUS±0     ²0 BYÔÅ ÒÅÃÏÒD       ÊSB ×ÒÉÔÅ  SPà±       ÊSB SAVAD     KÅÅP ÔÅSÔ S.A.       ÌDB BÒÅG      AÌÌ ±'S ÉBM ÃHNÌ ´       ÒBÌ       ÌDA MUS±±     ²² BYÔÅ ÒÅÃÏñàþúÒD       ÊSB ×ÒÉÔÅ  SPà±       ÊSB SAVAD     KÅÅP ÔÅSÔ S.A.       ÌDB BÒÅG      AÌÌ ±'S ÉBM ÃHNÌ 3       ÒBÌ       ÌDA MUS±3     ²6 BYÔÅ ÒÅÃÏÒD       ÊSB ×ÒÉÔÅ  SPà±       ÊSB SAVAD     KÅÅP ÔÅSÔ S.A.       ÌDB BÒÅG      AÌÌ ±'S ÉBM ÃHNÌ ²       ÒBÌ       ÌDA MUS²3     ´6 BYÔÅ ÒÅÃÏÒD       ÊSB ×ÒÉÔÅ  SPà±       ÊSB SAVAD     KÅÅP ÔÅSÔ S.A.       ÌDB BÒÅG      AÌÌ ±'S ÉBM ÃHNÌ ±       ÒBÌ       ÌDA MUS3±     6² BYÔÅ ÒÅÃÏÒD       ÊSB ×ÒÉÔÅ  SPà±       ÊSB SAVAD     KÅÅP ÔÅSÔ S.A.       ÌDB BÒÅG      AÌÌ ±'S ÉBM ÃHNÌ 0       ÒBÌ       ÌDA MU±9´     3¸¸ BYÔÅ ÒÅÃÏÒD       ÊSB ×ÒÉÔÅ  SPà±       ÊSB SAVAD     KÅÅP ÔÅSÔ S.A.       ÌDB ÃKBÒD     ×ÒÉÔÅ ÃHÅÃKÅÒ BÏAÒD       ÌDA MUS6      MÉNÉMUM ÌÅNGÔH ÒÅÃÏÒD       ÊSB ×ÒÉÔÅ  SPà±       ÌDB ×ÆM       ÊSB ÏÃMMD       ÊSB ÃMÃHÔ       SZA       ÊSB ÔMHÌÔ  SPà±       ÊSB SAVAD     KÅÅP ÔÅSÔ S.A.       ÃÃB           Ô×Ï ×ÏÒD ÒÅÃÏÒD¬ AÌÌ ÏNÅ'S       ÌDA MUS±       ÊSB ×ÒÉÔÅ  SPà±       ÊSB SAVAD     KÅÅP ÔÅSÔ S.A.       ÃÃB       ÌDA MUS5K     ±0K BYÔÅ ÒÅÃÏÒD AÌÌ ±'S       ÊSB ×ÒÉÔÅ  SPà±       ÊSB SAVAD     KÅÅP ÔÅSÔ S.A.       ÌDB ×ÆM       ×ÒÉÔÅ ÆÉÌÅ MAÒK       ÊSB ÏÃMMD       ÊSB ÃMÃHÔ     ×AÉÔ ÆÏÒ ÃMMD ÆÌAG       ÌDB BSÆ       ÊSB ÏÃMMD       ÊSB ÃMÃHÔ     ×AÉÔ ÆÏÒ ÃMMD ÆÌAG       ÊSB ÔÅSԬɠ   SÔÏP ÉÆ ÆÉÌÅ NÏÔ BAÃK SPAÃÅD       ÊSB ÌÏPÔN     ÔÅSÔ ÌÏÏP ÏPÔÉÏN       ÊSB ÅÏÔÔS     ÔÅSÔ ÆÏÒ ÅÏÔ       ÌDB BSÆ       NϬÃÏNÔÉNUÅ       ÊSB ÏÃMMD       ÊSB ÆÌG×Ô       ÊSB SAVAD     KÅÅP ÔÅSÔ S.A.       ÌDB BSÆ       ÊSB ÏÃMMD       ÊSB ÆÌG×Ô       ÊSB BAÃKÒ     BAÃK SPAÃÅ ÏVÅÒ SÅÃÏND ÆÉÌÅ MAÒK       ÌDB ÆSÒ       ÆÏÒ×AÒD SPAÃÅ ÒÅÃÏÒD       ÊSB ÏÃMMD       ÊSB ÃMÃHÔ     ×AÉÔ ÆÏÒ ÔÅSÔ ÃÏMPÌÅÔÉÏN       ÊSB ÔÅSԬɠ   SÔÏP ÉÆ ÒÅÃÏÒD NÏÔ SPAÃÅD ÆÏÒ×AÒD       ÌDB ÆSÆ       SKÉP ÔHÅ ÆÉÒSÔ ÒÅÃÏÒD       ÊSB ÏÃMMD       ÊSB ÃMÃHÔ     ×AÉÔ ÆÏÒ ÃMMD ÃHNÌ ÆÌAG       ÊSB ÔÅSԬɠ   SÔÏP ÉÆ ÆÉÌÅ NÏÔ SPAÃÅD ÆÏÒ×AÒD       SZA¬ÒSS       ÔÅSÔ ÆÉÌÅ SPAÃÉNG       ÊMP ÅNPÏ6     ÁTþú  ÊSB ÃÌÅAÒ     SÔÏP ÔHÅ ÔAPÅ ¦ GÏ ÔÏ NÅØÔ ÔÅSÔ       ÊSB ÌÏPÔN     ÔÅSÔ ÆÏÒ ÌÏÏP ÏPÔÉÏN  SPà± ª    ÒÅAD ÔÅSÔS  SPà± ÅNPÏ6 ÊSB SAVAD     KÅÅP ÔÅSÔ S.A.       ÃÌB       ÌDA MU500       ÊSB ÒÅAD      ÒÅAD AÌÌ ZÅÒÏ'S ÒÅÃÏÒD  SPà±       ÊSB SAVAD     KÅÅP ÔÅSÔ S.A.       ÌDB ÏNÅÔK     DAÔA ×ÏÒD       ÌDA MUS¸       ÊSB ÒÅAD      ÃHNÌ ·  SPà±       ÊSB SAVAD     KÅÅP ÔÅSÔ S.A.       ÌDB ÔBUÆ´       ÒBÌ       ÌDA MUS9       ÊSB ÒÅAD      ÃHNÌ 6  SPà±       ÊSB SAVAD     KÅÅP ÔÅSÔ S.A.       ÌDB ÔBUÆ´       ÒBÌ       ÌDA MUS±0       ÊSB ÒÅAD      ÃHNÌ 5  SPà±       ÊSB SAVAD     KÅÅP ÔÅSÔ S.A.       ÌDB ÔBUÆ´       ÒBÌ       ÌDA MUS±±       ÊSB ÒÅAD      ÃHNÌ ´  SPà±       ÊSB SAVAD     KÅÅP ÔÅSÔ S.A.       ÌDB ÔBUÆ´       ÒBÌ       ÌDA MUS±3       ÊSB ÒÅAD      ÃHNÌ 3  SPà±       ÊSB SAVAD     KÅÅP ÔÅSÔ S.A.       ÌDB ÔBUÆ´       ÒBÌ       ÌDA MUS²3       ÊSB ÒÅAD      ÃHNÌ ²  SPà±       ÊSB SAVAD     KÅÅP ÔÅSÔ S.A.       ÌDB ÔBUÆ´       ÒBÌ       ÌDA MUS3±       ÊSB ÒÅAD      ÃHNÌ ±  SPà±       ÊSB SAVAD     KÅÅP ÔÅSÔ S.A.       ÌDB ÔBUÆ´       ÒBÌ       ÌDA MU±9´       ÊSB ÒÅAD      ÃHNÌ 0  SPà±       ÊSB SAVAD     KÅÅP ÔÅSÔ S.A.       ÌDB ÃKBÒD     ÒÅAD ÃHÅÃKÅÒ BÏAÒD       ÌDA MUS6       ÊSB ÒÅAD       ÊSB ÃÌÅAÒ  SPà± ª    ÏDD BYÔÅ DÅÔÅÃÔ ÔÅSÔ     ª  SPà±       ÊSB SAVAD     KÅÅP ÔÅSÔ S.A.       ÌDB ÒÒÆ       ÏDD BYÔÅ ÒÅÃÏÒD ÔÅSÔ       ÊSB ÏÃMMD       ÊSB ÃMÃHÔ     ×AÉÔ ÆÏÒ ÃMMD ÆÌAG       ÃÃB           SÅÔ UP ÃUÒÒÅNÔ ÔÅSÔ SÔÏP NÏ.       SZA       ÊSB ÔMHÌÔ       ÊSB SÔAÔS     GÅÔ SÔAÔUS       AND ÏDDNÏ     ÔÅSÔ ÏDD BYÔÅ BÉÔ       ÃPA ÏDDNÏ       ÃÌA¬ÒSS       ÃÃA       ÊSB ÔÅSԬɠ   SÔÏP ÉÆ MÏÒÅ ÔHAN ÏNÅ BYÔÅ ÒÅAD       ÌÉB S×ÒG      ÃHÅÃK S× ±3 ÆÏÒ ÌÏÏP ÏPÔÉÏN       ÒB̬ÒBÌ       SSB¬ÒSS       S× ±3 SÅÔ ?       ÊMP ÅNPÔ9     NϬ GÏ ÔÏ NÅØÔ ÔÅSÔ       ÌDB BSÆ       YÅS¬ SÅÔ UP ÆÏÒ ÒÅ-ÒUN ÏÆ ÔÅSÔ       ÊSB ÏÃMMD       ÊSB ÃMÃHÔ     ×AÉÔ ÆÏÒ ÃMMD ÆÌAG       ÊSB ÌÏPÔN     ÌÏÏP¦þú  SKP ª    ÉNÔÅÒÒÅÃÏÒD GAP ÔÅSÔ  SPà± ÅNPÔ9 ÊSB SAVAD     KÅÅP S.A.       ÊSB ÃMÃHÔ     ÔÅSÔ ÃMMD ÃHNÌ ÆÏÒ ÒÅADY       ÃÃB           SÅÔ UP ÃUÒÒÅNÔ ÔÅSÔ SÔÏP NÏ.       SZA       ÊSB ÔMHÌÔ       ÌDB ÒÆÆ       ÒÅAD ÆÉÌÅ ÃÏMMAND       ÊSB ÏÃMMD     ÅØÅÃUÔÅ ÔHÅ ÃÏMMAND       ÊSB DÔÆÌG     ×AÉÔ ÆÏÒ DAÔA ÆÌAG       ÊSB ÃÌÆDÔ     YÅS¬ ÒÅSÅÔ DAÔA ÆÌAG ¦ ×AÉÔ       ÌDB ÉÒGD̬ɠ  MÉNÉMUM GAP ÔÉMÅ       ÊSB DÅÌAY     ×AÉÔ ÆÏÒ SÔAÒÔ ÏÆ NÅØÔ ÒÅÃÏÒD       ÃÃA D±´   SÆS DAÔA      ÆÌAG SÅÔ?       ÃÌA           NÏ       SÔA ÔBUƲ       ÌDB ÉÒGÔ̬ɠ  GAP ÔÏÌÅÒANÃÅ ÔÉMÅ       ÊSB DÅÌAY     ×AÉÔ ÔHÅ ÃÏMPÌÅÔÉÏN ÔÉMÅ       ÃÃA D±5   SÆÃ DAÔA       ÃÌA       SÔA ÔBUÆ6       ÊSB ÃÌÅAÒ     ÃÌÅAÒ ÔHÅ ÃÏNÔÒÏÌÌÅÒ       ÃÃB           SÅÔ UP ÃUÒÒÅNÔ ÔÅSÔ SÔÏP NÏ.       SZA       ÊSB ÔMHÌÔ       ÌDB ÆSÒ       ÊSB ÏÃMMD       ÊSB ÆÌG×Ô       ÌDA ÔBUƲ       ÊSB ÔÅSԬɠ   SÔÏP ÉÆ GAP ÔÏÏ SHÏÒÔ       ÌDA ÔBUÆ6       ÊSB ÔÅSԬɠ   SÔÏP ÉÆ GAP ÔÏÏ ÌÏNG       ÌÉA S×ÒG      ÔÅSÔ ÆÏÒ ÌÏÏP ÏPÔÉÏN       ÒA̬ÒAÌ       SSA¬ÒSS       S× ±3 SÅÔ ?       ÊMP ÅNPÏ0     NϬ GÏ ÔÏ NÅØÔ ÔÅSÔ       ÊSB BAÃKÒ     YÅS¬ SÅÔ UP ÆÏÒ ÌÏÏP       ÊSB BAÃKÒ       ÊMP ÌÏPÔN     ÌÏÏP  SPà± ª    ÔÅSÔ ÒÅAD SÔAÒÔ ÔÉMÅ  SPà± ÅNPÏ0 ÊSB SAVAD     KÅÅP ÔÅSÔ S.A.       ÌDB BSÒ       ÊSB ÏÃMMD       ÊSB ÆÌG×Ô       ÌDB ÒÒÆ       ÒÅAD ÃÏMMAND       ÊSB ÏÃMMD     ÃÏMPÌÅÔÅ ÔHÅ ÃÏMMAND       ÊSB DÔÆÌG     ×AÉÔ ÆÏÒ DAÔA ÆÌAG       ÊSB ÃÌÅAÒ     ÃÌÅAÒ ÔHÅ ÃÏNÔÒÏÌÌÅÒ       ÊSB ÃÌÆDÔ     ÃÌÅAÒ ÔHÅ DAÔA ÆÌAG       ÃÃB           SÅÔ UP ÃUÒÒÅNÔ ÔÅSÔ SÔÏP NÏ.       SZA       ÊSB ÔMHÌÔ       ÌDB ÒÒÆ       ÊSB ÏÃMMD       ÌDB ÒDSD̬ɠ  ÒÅAD SÔAÒÔ DÅÌAY ÔÉMÅ       ÊSB DÅÌAY     ×AÉÔ 3±0 ÃÃPS       ÃÌA D²0   SÆS DAÔA      ×AÉÔ       ÃMA       ÊSB ÔÅSԬɠ   SÔÏP ÉÆ ÒÅAD SÔAÒÔ ÔÉMÅ ÔÏÏ ÌÏNG       ÊSB ÃÌÃDÔ     SÔÏP ÒÅAD ÏPÅÒAÔÉÏN       ÊSB ÃÌÅAÒ       ÊSB ÌÏPÔN     ÔÅSÔ ÌÏÏP ÏPÔÉÏN       ÊSB ÅÏÔÔS     ÔÅSÔ ÆÏÒ ÅÏÔ  SPà± ª    ÃÒÃàÔÅSÔ     ª  SPà±       ÊSB SAVAD     KÅÅP ÔÅSÔ S.ª_þúA.       ÃÃB       ÌDA MUS±      BYÔÅ ÃÏUNÔ       ÊSB ×ÒÉÔÅ     ² BYÔÅS AÌÌ ±'S  SPà±       ÊSB SAVAD     KÅÅP ÔÅSÔ S.A.       ÃÃB       ÌDA MUS3       ÊSB ×ÒÉÔÅ     6 BYÔÅ ÒÅÃÏÒD AÌÌ ±'S  SPà±       ÊSB SAVAD     KÅÅP ÔÅSÔ S.A.       ÃÃB       ÌDA MUS6      ±² BYÔÅS AÌÌ ±'S       ÊSB ×ÒÉÔÅ       ÊSB SAVAD     KÅÅP ÔÅSÔ S.A.       ÊSB BAÃKÒ     BAÃK SPAÃÅ ÏVÅÒ ÔHÅ ÒÅÃÏÒDS       ÊSB BAÃKÒ       ÊSB BAÃKÒ       ÃÌA           ÃÌÅAÒ ÃHAÒAÃÔÅÒ  ÃÏUNÔÅÒ       SÔA ÔÃHÃÔ       ÌDA .MASK     ÃÒÃàSÔAÃK S.A.       SÔA ÔBUÆ·     SÔAÃK PÏÉNÔÅÒ       ÌDA MUS²       SÔA ÃÏUNÔ     PASS ÃÏUNÔ ÒÔP±· ÌDB ÒÒÆ       SÔAÒÔ ÒÅAD       ÊSB ÏÃMMD       ÊSB ÆÌG×Ô     ×AÉÔ ÆÏÒ ÅND ÏÆ ÒÅÃÏÒD D9    ÌÉA DAÔA¬Ã    ÌÏAD ÃÒÃàÆÒÏM ÔHÅ ÌASÔ ÒÅÃÏÒD       AND MSKÃÒ     KÅÅP HÉGHÅÒ ¸ BÉÔS (ÏÃÔ ±··´00©       ÃPA ÔBUÆ·¬É   ÃHÅÃK ÃHAÒAÃÔÅÒ       ÊMP ÅNP²0       SÔA BAD       SÅÔ UP ÆÏÒ ÔÅSÔ       ÌDA ÔBUÆ·¬É       SÔA GÏÏD       ÊSB ÔÅSԬɠ   SÔÏP ÉÆ ÅÒÒÏÒ ÉN ANY ÃÒÃà       ÊSB ÌÏPÔN     ÔÅSÔ ÆÏÒ ÌÏÏP ÏPÔÉÏN       ÊMP ÏP´ ÅNP²0 ÉSZ ÔBUÆ·     ADVANÃÅ PÏÉNÔÅÒ       ÉSZ ÃÏUNÔ     ÉNÃÒÅMÅNÔ ÔÅSÔ ÒÅÃÏÒD ÃÏUNÔ       ÊMP ÒÔP±·     ÒÅAD ÔHÅ NÅØÔ ÔÅSÔ ÒÅÃÏÒD       ÉSZ SÔÏP      ÉNÃÒÅMÅNÔ ÔÅSÔ NÏ. ÃÏUNÔÅÒ  HÅD ·9·0  DÉAGNÏSÔÉà -ÏPÔÉÏNAÌ PÒÏGÒAMS- ±30²0-9000± ª    DAÔA ÔÅSÔ  SPà± ÏP´   ÌÉA S×ÒG       AND MSK±5     ÏÃÔ ²0       SZA¬ÒSS       ÊSB ÏPÔ´¬É       ÊSB ÅÏÔÔS     ÔÅSÔ ÆÏÒ ÅÏÔ  SPà± ª    ÃÒÅÅP ÔÅSÔ  SPà± ÏP5   ÌÉA S×ÒG       AND MSK·       SZA¬ÒSS       ÊSB ÏPÔ5¬É       ÊSB ÅÏÔÔS     ÔÅSÔ ÆÏÒ ÅÏÔ  SPà± ª    ×ÒÉÔÅ ÅNABÌÅ ÔÅSÔ  SPà± ÏP6   ÌÉA S×ÒG       AND MSK±       SZA       ÊSB ÏPÔ6¬É  SPà± ª    ÒÅ×ÉND ¦ ÌÏAD PÏÉNÔ ÔÅSÔ  SPà± ÏP·   ÌÉA S×ÒG       AND MSK6       SZA¬ÒSS       ÊSB ÏPÔ·¬É       ÊSB ÅÏÔÔS     ÔÅSÔ ÆÏÒ ÅÏÔ  SPà± ª    DMA ÔÒANSÆÅÒ ÔÅSÔ  SPà± ÏP¸   ÌÉA S×ÒG       AND MSKBZ     ÔÅSÔ S×ÉÔÃH ¸       SZA¬ÒSS       ÊMP ÏP9       ÊSB SAVAD     KÅÅP ÔÅSÔ S.A. ÏPÔ¸  ÌDA PÏS·9     SÅÔ UP ÔÅSÔ SÔÏP NÏ.       SÔA SÔÏP       cåþúÌDA ×ÒDMA     SÅÔ UP ÆÏÒ DMA ×ÒÉÔÅ MÏDÅ       ADA DÔà      PUÔ ÉN DAÔA ÃHANNÅÌ É-Ï ADDÒÅSS       ÏÔA 6       ÃÌಠ      ÌDA ADDÔ      DAÔA ADDÒÅSS ¦ ÏUÔPUÔ ÃÏNÔÒÏÌ       ÏÔA ²       SÔಠ        SÅÔ UP DMA ×ÏÒD ÃÏUNÔÅÒ       ÌDA MU±9´       ÏÔA ²       ÌDB ×Ãà      ×ÒÉÔÅ ÃÏMMAND ÔÏ SÔAÒÔ ÔAPÅ       ÊSB ÏÃMMD       ÊSB ÃÌÆDÔ       SÔà6¬Ã       ÊSB ÆÌG×Ô       ÃÌà6         ÔUÒN ÏÆÆ DMA       ÊSB SÔAÔS       AND MUS33     MASK ÏUÔ ÅÏÔ SÔAÔUS       ÊSB ÔÅSԬɠ   SÔÏP ÉÆ AÌÌ SÔAÔUS NÏÔ ÃÌÅAÒ       ÊSB ÌÏPÔN     ÔÅSÔ ÆÏÒ ÌÏÏP ÏPÔÉÏN       ÊSB SAVAD     KÅÅP ÔÅSÔ S.A.       ÊSB BAÃKÒ     BAÃK ÔHÅ ÒÅÃÏÒD  SPà±       ÌDA ÒDDMA     DMA ÉNPUÔ ÃÏNÔÒÏÌ       ADA DÔà      PUÔ ÉN ÔAPÅ É-Ï ADDÒÅSS       ÏÔA 6       ÃÌಠ      ÃÌA¬ÉNA       ÒAÒ       ADA SÔÏÒÅ     SÔÏÒAGÅ ADDÒÅSS ¦ ÉNPUÔ ÃÏNÔÒÏÌ       ÏÔA ²       SÔಠ      ÌDA MU±9´     ×ÏÒD ÃÏUNÔ       ÏÔA ²       ÌDB ÒÒÆ       SÔAÒÔ ÔAPÅ       ÊSB ÏÃMMD       SÔà6¬Ã       ÊSB ÆÌG×Ô       ÃÌà6         ÔUÒN ÏÆÆ DMA       ÊSB SÔAÔS     ÔÅSÔ SÔAÔUS       AND MUS33     MASK ÏUÔ ÅÏÔ SÔAÔUS       ÊSB ÔÅSԬɠ   SÔÏP ÉÆ AÌÌ SÔAÔUS NÏÔ ÃÌÅAÒ       ÃÌA       SÔA ÔÃHÃÔ     SÅÔ ×ÏÒD ÃÏUNÔÅÒS       ÌDA MU±9´       SÔA ÃÏUNÔ       ÌDA ADDÔ       SÔA ÔBUÆ·     PÏÉNÔÅÒ ÔÏ DMA ×ÒÉÔÅ DAÔA       ÌDA SÔÏÒÅ       SÔA ÔBUƸ     PÏÉNÔÅÒ ÔÏ DMA ÒÅAD DAÔA ÒÔP±0 ÉSZ ÔÃHÃÔ       ÌDA ÔBUÆ·¬É       ÃPA ÔBUƸ¬É       ÊMP ÃÏNÔU       SÔA GÏÏD      SÅÔ UP ÆÏÒ ÅÒÒÏÒ MÅSSAGÅ       ÌDB ÔBUƸ¬É       SÔB BAD       ÊMP ÅÒÏUÔ ÃÏNÔU ÉSZ ÔBUÆ·       ÉSZ ÔBUƸ       ÉSZ ÃÏUNÔ       ÊMP ÒÔP±0 ÅÒÏUÔ ÃÌA       ÊSB ÔÅSԬɠ   SÔÏP ÉÆ ÒÅAD-×ÒÉÔÅ ÅÒÒÏÒ       ÊSB ÌÏPÔN     ÔÅSÔ ÆÏÒ ÌÏÏP ÏPÔÉÏN  SKP ª    ÒÅ×ÉND ¦ ÏÆÆ-ÌÉNÅ ÔÅSÔ  SPà± ÏP9   ÌÉA S×ÒG       AND MSK²       SZA¬ÒSS       ÊMP ÒÅÃYà       ÌDB Ò×Ï       ÊSB ÏÃMMD       ÌÉA S×ÒG      ÔÅSÔ ÆÏÒ AUÔÏ SÅÌÅÃÔ ÏPÔÉÏN       AND MSK0      ÏÃÔ ±·       SZA¬ÒSS       'A' ÒÅG ½0 ?       ÊMP ÅNP²±     YÅS¬ PÒÉNÔ ¦ SÅÌÅÃÔ NÅØÔ UNÉÔ íßþú      ÊSB SÔAÔS     GÅÔ SÔAÔUS       AND MSK¸      ÌÏÏP UNÔÉÌ ÆÉNÉSHÅD ÒÅ×ÉNDÉNG       ÃPA MSK¸       ÊMP ª-3 ÅNP²± ÊSB AUDÅÔ     ÃK. AUÔÏ SÅÌÅÃÔ MÏDÅ       ÌDA PÏS²0     MÅSSAGÅ ÌÅNGÔH       ÌDB MSG²       ÊSB ÔÔY¬É       HÌÔ ±±B       ÊMP MDÉAG  HÅD ·9·0  DÉAGNÏSÔÉà    -SUBÒÏUÔÉNÅS-    ±30²0-9000± ª    ÒÅAD SUBÒÏUÔÉNÅ  SPà± ÒÅAD  NÏP           ×ÏÒD ÃÏUNÔ ÉN "A" ¦ ×ÏÒD ÉN "B"       ÉNA       SÔA ÔBUÆ6     SAVÅ ÃÏNÔÅNÔS       SÔB ÔBUÆ´       "      "       ÃÌA       SÔA ÔÃHÃÔ     ÔAPÅ ÃHAÒAÃÔÅÒ ÃÏUNÔÅÒ       ÊSB ÃMÃHÔ     ×AÉÔ ÆÏÒ ÆÌAG       ÃÃB           SÅÔ UP ÃUÒÒÅNÔ ÔÅSÔ SÔÏP NÏ.       SZA       ÊSB ÔMHÌÔ       ÊSB ÃÌÆDÔ     ÃÌÅAÒ DAÔA ÆÌAG       ÌDB ÒÒÆ       ÒÅAD ÃÏMMAND       ÊSB ÏÃMMD       ÌDB ÔBUÆ6       ÊSB DÔÆÌG     ×AÉÔ ÆÏÒ DAÔA ÆÌAG       ÉSZ ÔÃHÃÔ D²¸   ÌÉA DAÔA¬Ã    GÅÔ Ô×Ï ÔAPÅ BYÔÅS       ÃPA ÔBUÆ´     MAKÅ ÃÏMPAÒÉSÉÏN       ÃÌA¬ÒSS       ÊMP ÅNP±0     SÔÏP ÒÅAD ¦ PÒÉNÔ ÅÒÒÏÒ       ÉSZ B         ÉNÃÒÅMÅNÔ ×ÏÒD ÃÏUNÔÅÒ       ÊMP D²¸-²     ÒÅAD NÅØÔ ² BYÔÅS       ÊSB ÃÌÃDÔ     ÃÌÅAÒ DAÔA ÃHNÌ       ÉSZ SÔÏP       ÌÉA S×ÒG      ÔÅSÔ ÆÏÒ ÅND ÏÆ ÔÅSÔ HAÌÔ       SSA¬ÒSS       S× ±5 SÅÔ ?       ÊMP ÒÅAD¬É    NϬ ÃÏNÔÉNUÅ       ÊSB SÔAÔS     YÅS¬ GÅÔ SÔAÔUS ¦ SÔÏP       ÌDB SÔÏP      ÃUÒÒÅNÔ ÔÅSÔ SÔÏP NÏ.       HÌÔ ·6B       ÃUÒÒÅNÔ ÔÅSÔ HAÌÔ       ÊMP ÒÅAD¬É ÅNP±0 ÊSB ÃÌÃDÔ     ÃÌÅAÒ DAÔA ÃHNÌ       SÔA BAD       ÌDA ÔBUÆ´       SÔA GÏÏD       ÃÌA       ÊSB ÔÅSԬɠ   SÔÏP ÉÆ DAÔA ÅÒÒÏÒS       ÊSB ÆÌG×Ô     ×AÉÔ ÆÏÒ ÃMMD ÆÌAG       ÌÉA S×ÒG      ÃHÅÃK ÆÏÒ ÌÏÏP ÏPÔÉÏN       ÒA̬ÒAÌ       SSA¬ÒSS       ÊMP ÒÅAD¬É    NÏ ÌÏÏP ×ANÔÅD       ÌDA BSÒ       ÌÏÏP¬ BAÃK SPAÃÅ ¦ ÒÅÒÅAD       ÊSB AÃMMD       ÊSB ÆÌG×Ô     ×AÉÔ ÆÏÒ ÃMMD ÆÌAG       ÊSB ÌÏPÔN     ÊUMP ÔÏ SÔAÒÔ ÏÆ ÔÅSÔ  SKP ª    ×ÒÉÔÅ SUBÒÏUÔÉNÅ  SPà± ×ÒÉÔÅ NÏP           ×ÏÒD ÉN "B" ÒÅG       SÔB BÒÅG      SAVÅ ÃÏNÔÅNÔS       SÔA AÒÅG        "     "       SÔA ×ÒDÃN     NÏ. ÏÆ ÃHAÒAÃÔÅÒS ÔÏ BÅ ×ÒÉÔÔÅN       ÌDA MUS±0     SÅÔ ÒÅ×ÒÉÔÅ ÃÏUNÔÅÒ Ë—þú       SÔA ÃÏUNÔ       ÃÌA       SÔA Ò×ÃNÔ     ÒÅ×ÒÉÔÅ ÃÏUNÔ ÒÔPÔ6 ÌDB ×Ãà      ×ÒÉÔÅ ÃÏMMAND       ÊSB ÏÃMMD     ÅØÅÃUÔÅ ÔHÅ ÃÏMMAND       ÊSB ÃÌÆDÔ       ÊSB DÔÆÌG     ×AÉÔ ÆÏÒ DAÔA ÆÌAG ÅNPÔ5 ÌDB BÒÅG D²    ÏÔB DAÔA¬Ã    ÏUÔPUÔ ×ÏÒD       ÉSZ ×ÒDÃN     ÉNÃÒÅMÅNÔ ×ÏÒD ÃÏUNÔ       ÊMP ÅNPÔ5-±   GÅÔ NÅØÔ ×ÏÒD       ÊSB ÃÌÃDÔ     SÔÏP ×ÒÉÔÅ ÏPÅÒAÔÉÏN       ÊSB ÃMÃHÔ     ×AÉÔ ÆÏÒ ÃÏMMAND ÃHANNÅÌ ÆÌAG       ÃÃB           SÅÔ UP ÃUÒÒÅNÔ ÔÅSÔ SÔÏP NÏ.       SZA       ÊSB ÔMHÌÔ       ÊSB SÔAÔS     GÅÔ SÔAÔUS       ÒAÒ¬SÌA       PAÒÉÔY ÅÒÒÏÒ?       ÊMP ÒÅ×ÒÔ     YÅS¬ BAÃK SPAÃÅ ¦ ÒÅ×ÒÉÔÅ ÔHÅ ÒÅÃÏÒD       ÌÉA S×ÒG      ÔÅSÔ S× ±5       SSA¬ÒSS       SÔÏP AÔ ÅND ÏÆ ÃUÒÒÅNÔ ÔÅSÔ ?       ÊMP ÅNP±±     NϬ GÏ ÔÏ NÅØÔ ÔÅSÔ       ÊSB SÔAÔS     YÅS¬ GÅÔ SÔAÔUS       ÌDB SÔÏP       ÉNB           ÃUÒÒÅNÔ ÔÅSÔ NÏ.       HÌÔ ·6B       ÅND ÏÆ ÃUÒÒÅNÔ ÔÅSÔ ÅNP±± ÊSB ÌÏPÔN     ÔÅSÔ ÆÏÒ ÌÏÏP ÏPÔÉÏN       ÉSZ SÔÏP      ÉNÃÒÅMÅNÔ ÔÅSÔ SÔÏP NÏ.       ÊSB ÅÏÔÔS     ÔÅSÔ ÆÏÒ ÅÏÔ       ÌDA ÃÏUNÔ       ÃPA MUS±0       ÊMP ×ÒÉÔÅ¬É       ÊSB AUDÅÔ     ÃK. AUÔÏ SÅÌÅÃÔ MÏDÅ       ÌDA ÃYÃÔ      ÃYÃÌÅ ÃÏUNÔ       ÊSB ÃVÅÒÔ       ÌDA SPAÃÅ       ÊSB SÌB       ÌDA SÔPÅÑ       ÊSB SÌB       ÌDA SÔÏP      ÔÅSÔ SÔÏP NÏ.       ÊSB ÃVÅÒÔ       ÌDA SPAÃÅ       ÊSB SÌB       ÊSB SÔAÔS     GÅÔ SÔAÔUS       ÊSB ÌDSÔS     ADD SÔAÔUS ÔÏ MÅSSAGÅ       ÌDA Ò×ÃNÔ     NUMBÅÒ ÏÆ ÒÅ×ÒÉÔÅS       ÊSB ÃVÅÒÔ       ÌDA SPAÃÅ       ÊSB SÌB       ÌDB MUS´       ÌDA MSG·¬É       ÊSB SÌB       ÉSZ MSG·       ÉSZ B       ÊMP ª-´       ÌDA Ò×MSG       SÔA MSG·       ÊSB ÌBÏUÔ       ÊSB SKPÌ       ÊSB ÅÏÔÔS     ÔÅSÔ ÆÏÒ ÅÏÔ       ÊMP ×ÒÉÔÅ¬É ÒÅ×ÒÔ ÊSB BAÃKÒ     BAÃK SPAÃÅ ÔHÅ ÒÅÃÏÒD       ÌÉA S×ÒG      ÔÅSÔ ÅÒÒÏÒ HAÌÔ (S× ±´©       ÒAÌ       SSA¬ÒSS       S× ±´ SÅÔ ?       ÊMP ÅNP0      NϬ ÃÏNÔÉNUÅ       ÊSB SÔAÔS     GÅÔ SÔAÔUS ¦ SÔÏP       ÌDB SÔÏP      ÃUÒÒÅNÔ ÔÅSÔ SÔÏP NÏ.       ÉNB       HÌÔ 55B       ÅÒÒÏÒ HAÌÔ ÅNP0  ÌÉA S×ÒG       ÒA̬ÒAÌ       Î»þúSSA           ÔÅSÔ ÌÏÏP ÏPÔÉÏN (S× ±3©       ÊSB ÌÏPÔN     ÌÏÏP ÏN ÌASÔ ÔÅSÔ       ÌDB GAP       ADD A GAP AÆÔÅÒ ÅAÃH ÒÅ×ÒÉÔÅ       ÊSB ÏÃMMD       ÊSB ÆÌG×Ô     ×AÉÔ ÆÏÒ ÃMMD ÃHNÌ ÆÌAG       ÌDA AÒÅG      SÅÔ UP ÆÏÒ ÒÅ×ÒÉÔÅ       SÔA ×ÒDÃN       ÌDB BÒÅG       ÉSZ Ò×ÃNÔ       ÉSZ ÃÏUNÔ     ÉNÃÒÅMÅNÔ ÒÅ×ÒÉÔÅ NÏ.       ÊMP ÒÔPÔ6     ÒÅ×ÒÉÔÅ ÔHÅ ÒÅÃÏÒD       ÊSB AUDÅÔ     ÃK. AUÔÏ SÅÌÅÃÔ MÏDÅ       ÌDA ÃYÃÔ       ÊSB ÃVÅÒÔ       ÌDA SPAÃÅ       ÊSB SÌB       ÌDA SÔPÅÑ       ÊSB SÌB       ÌDA SÔÏP       ÉNA       ÊSB ÃVÅÒÔ       ÌDA SPAÃÅ     BÌANK ÆÏÒMAÔ ÃHAÒ.       ÊSB SÌB       ÊSB SÔAÔS     GÅÔ SÔAÔUS       ÊSB ÌDSÔS     ADD SÔAÔUS ÔÏ MÅSSAGÅ       ÊSB ÌBÏUÔ       ÌDA PÏS±²     MÅSSAGÅ ÌÅNGÔH       ÌDB MSG5      HAÒD×AÒÅ ÏÒ PÅÒMANÅNÔ ÔAPÅ ÅÒÒÏÒ       ÊSB ÔÔY¬É     PÒÉNÔ MÅSSAGÅ       ÊSB SKPÌ       HÌÔ 55B       SÔÏP       ÊMP MDÉAG     ÒÅSÔAÒÔ ÔHÅ PÒÏGÒAM  SKP ª    BAÃK SPAÃÅ ÒÅÃÏÒD ÔÅSÔ ÒÏUÔÉNÅ    ª  SPà± BAÃSP NÏP       ÌDB BSÒ       BAÃK SPAÃÅ ÃMMD ÷    ÏÔB ÃMMD       ÊSB SÔAÔS     GÅÔ SÔAÔUS ¦ SÔÏÒÅ       SÔA SÔAÔU       ÊSB ÒÅÊBÔ     ÔÅSÔ ÆÏÒ ÃMMD ÒÅÊÅÃÔ       SZA¬ÒSS       ÒÅÊÅÃÔ ?       ÊMP ÅNPϱ     YÅS¬ PÒÉNÔ MÅSSAGŠø    SÔàÃMMD¬Ã    NϬ ÃÏNÔÉNUÅ       ÌDB ÃÌÒDÌ¬É       ÊSB DÅÌAY     ×AÉÔ ÆÏÒ ÏPÅÒAÔÉÏN ÔÏ ÃÏMPÌÅÔÅ       ÊSB ÃMÃHÔ     ×AÉÔ ÆÏÒ ÃMMD ÆÌAG       ÊSB ÔÅSԬɠ   SÔÏP ÉÆ ÒÅÃÏÒD NÏÔ BAÃK SPAÃÅD       ÊMP BAÃSP¬É ÅNPϱ ÊSB AUDÅÔ     ÃK AUÔÏ SÅÌÅÃÔ MÏDÅ       ÌDA ÃYÃÔ      GÅÔ ÃYÃÌÅ ÃÏUNÔ       ÊSB ÃVÅÒÔ     ÃÏNVÅÒÔ ¦ SÔÏÒÅ       ÌDA SPAÃÅ     ÆÏÒMAÔ MÅSSAGÅ       ÊSB SÌB       ÌDA SÔPÅÑ     S½       ÊSB SÌB       ÌDA SÔÏP       ÉNA       ÊSB ÃVÅÒÔ     ÃÏNVÅÒÔ ¦ SÔÏÒÅ       ÌDA SPAÃÅ     ÆÏÒMAÔ ÃHAÒAÃÔÅÒ       ÊSB SÌB       ÌDA SÔAÔU     ÒÅSÔÏÒÅ ÔÅSÔ SÔAÔUS       ÊSB ÌDSÔS     ADD SÔAÔUS ÔÏ MÅSSAGÅ       ÊSB ÌBÏUÔ     PÒÉNÔ MÅSSAGÅ       ÊSB SKPÌ      SKÉP ÌÉNÅ AÆÔÅÒ MÅSSAGÅ       ÃÃA       ÉSZ SÔÏP      ÉNÃÒÅMÅNÔ ÔÅSÔ SÔÏP NÏ.       ÊMP BAÃSP¬É  SPà± MSÆÌG NÏP           MÉSSÉNG À<:6DAÔA ÆÌAG MÅSSAGÅ       ÊSB ÌÏPÔN     ÔÅSÔ ÌÏÏP ÏPÔÉÏN       ÊSB AUDÅÔ     ÃK. AUÔÏ SÅÌÅÃÔ MÏDÅ       ÌDA ÃYÃÔ      GÅÔ ÃYÃÌÅ ÃÏUNÔ       ÊSB ÃVÅÒÔ       ÌDA SPAÃÅ       ÊSB SÌB       ÌDA SÔPÅÑ       ÊSB SÌB       ÌDA SÔÏP       ÉNA       ÊSB ÃVÅÒÔ     ÔÅSÔ SÔÏP NÏ.       ÌDA SPAÃÅ       ÊSB SÌB       PUÔ ÉN ÌÉNÅ       ÊSB SÔAÔS     GÅÔ SÔAÔUS       ÊSB ÌDSÔS     ADD SÔAÔUS ÔÏ MÅSSAGÅ       ÌDA SPAÃÅ     BÌANK ÆÏÒMAÔ ÃHAÒ.       ÊSB SÌB       ÌDB MUS9       ÌDA MSG¸¬É       ÊSB SÌB       ÉSZ MSG¸ Ö¡<ÿÿ ÿý( ÿ13020-80004 E S 0122 HP 9TRACK MAG TAPE INTERFACE DIAGNOSTIC             H0101 ýKþú       ÉSZ B       ÊMP ª-´       ÌDA ÆÌMSG     ÒÅSÔÏÒÅ MÅSSAGÅ PÏÉNÔÅÒ       SÔA MSG¸       ÊSB ÌBÏUÔ     PÒÉNÔ ÌÉNÅ       ÊSB SKPÌ       ÊMP ÒÅÃYà  SPà± ª    ÃÏMMAND ÃHANNÅÌ ÆÌAG ÔÉMÉNG ÒÏUÔÉNÅ    ª  SPà± ÃMÃHÔ NÏP           ÃÏMMAND ÃHANNÅÌ ÆÌAG ÔÉMÅÒ       ÌDA ÃÃÆÌԬɠ  ÃMMD ÆÌAG ÔÉMÉNG ÃÏNSÔANÔ       SÔA ÔÉMÅ      ÒÅSÅÔ ÔÉMÅ ÃÏUNÔÅÒ Ã´    SÆS ÃMMD      ÔÅSÔ ÃÏMMAND ÃHANNÅÌ ÆÌAG       ÊMP ª+3       ÃÌA       ÊMP ÃMÃHԬɠ  ÆÌAG SÅÔ ÒÅÔUÒN       ÉSZ ÔÉMÅ      ×AÉÔÅD ÔÏÏ ÌÏNG?       ÊMP ª-5       ÊSB SÔAÔS     GÅÔ SÔAÔUS       SÔA SÔAÔU       ÌÉB S×ÒG      ÌÏAD S× ÒÅG.       ÒBÌ           ÔÅSÔ ÆÏÒ ÅÒÒÏÒ HAÌÔ ÏPÔÉÏN       SSB¬ÒSS       S× ±´ SÅÔ ?       ÊMP ÅNÔ0±     NϬ ÔÅSÔ ÆÏÒ ÔHÅ ÌÏÏP ÏPÔÉÏN       ÌDB SÔÏP      YÅS¬ GÅÔ ÔÅSÔ SÔÏP NÏ. ¦ SÔAÔUS       HÌÔ 55B       ÅÒÒÏÒ SÔÏP       ÌÉB S×ÒG       ÒBÌ           ÔÅSÔ ÆÏÒ ÌÏÏPÉNG MÏDÅ ÅNÔ0± ÒBÌ       SSB           S× ±3 SÅÔ ?       ÃÌA¬ÒSS       YÅS¬ SKÉP MÅSSAGÅ       ÃÃA           ÃÏNÔÉNUÅ       ÊMP ÃMÃHÔ¬É  SKP ÔMHÌÔ NÏP           ÅØÃÅSSÉVÅ ÆÌAG ÔÉMÅ PÒÉNÔ ÏUÔ       SÔB BÒÅG      SAVÅ 'B'       ÊSB ÃÌÅAÒ     ÃÌÅAÒ ÔHÅ ÃÏNÔÒÏÌÌÅÒ       ÌÉA S×ÒG      ÔÅSÔ ÆÏÒ ÌÏÏP ÏPÔÉÏN       ÒA̬ÒAÌ       SSA           S× ±3 SÅÔ ?       ÊMP ÔMHÌԬɠ  YÅS¬ DÏN'Ô PÒÉNÔ MÅSSAGÅ       ÊSB AUDÅÔ     ÃK. AUÔÏ SÅÌÅÃÔ MÏDÅ       ÌDA SÔPÅÑ     S½       ÊSB SÌB       ÉNSÅÒÔ ÉN ÌÉNÅ       ÌDA SÔÏP       ÌDB BÒÅG      ÒÅSÔÏÒÅ 'B'       SZB           ÉNÃÒÅMÅNÔ ÔÅSÔ SÔÏP NÏ. ?       ÉNA           YÅS       ÊSB ÃVÅÒÔ     ADD ÔÏ ÌÉNÅ       ÌDA SPAÃÅ       ÊSB SÌB       ÌDA SÔAÔU     ÒÅÔÒÉÅVÅ ÔHÅ SÔAÔUS       ÊSB ÌDSÔS     ADD ÔÏ ÌÉNÅ       ÊSB ÌBÏUÔ     PÒÉNÔ ÌÉNÅ       ÌDA PÏS±¸     MÅSSAGÅ ÌÅNGÔH       ÌDB MSG3      ÔÏÏ MUÃH ÔÉMÅ ÆÏÒ ÆÌAG!       ÊSB ÔÔY¬É       ÊSB SKPÌ       ÊMP ÒÅÃYà  SPà± ª    ÔÅSÔ SUBÒÏUÔÉNÅ  SPà±       ÏÒG ´000B ÔÅSÔ. NÏP       SÔA ÔBUÆ3       ÉSZ SÔÏP      NϬ ÉNÃÒÅMÅNÔ SÔÏP NÏ. ¦ ÃÏN'Ô       ÉÏÒ GÏÏD      ÉÆ 0 ÔHÅN NÏ ÅÒÒÏÒ       ÉÏÒ BAD       SZA¬ÒSS     ×àþú  ANY ÅÒÒÏÒ?       ÊMP ÔS±5      NϬ ÔÅSÔ S× ±5       ÊSB SÔAÔS     YÅS¬ GÅÔ SÔAÔUS       SÔA SÔAÔU       ÌÉA S×ÒG      ÔÅSÔ NÏN-PÒÉNÔÉNG ÅÒÒÏÒS (S× ±3©       ÒA̬ÒAÌ       SSA       ÊMP ÔS±´+±    DÏN'Ô PÒÉNÔ ÅÒÒÏÒ MÅSSAGÅS       ÊSB AUDÅÔ     ÃK. AUÔÏ SÅÌÅÃÔ MÏDÅ       ÌDA ÃYÃÔ      GÅÔ ÃYÃÌÅ ÃÏUNÔ       ÊSB ÃVÅÒÔ     ÃÏNVÅÒÔ ¦ ÌÏAD ÉN ÌÉNÅ BUÆÆÅÒ       ÌDA SPAÃÅ       ÊSB SÌB       ADD SPAÃÅS       ÌDA SÔPÅÑ     S½       ÊSB SÌB       ADD ÃHAÒAÃÔÅÒS ÔÏ ÌÉNÅ BUÆÆÅÒ       ÌDA SÔÏP      GÅÔ SÔÏP NÏ.       ÊSB ÃVÅÒÔ     ÃÏNVÅÒÔ ¦ ÌÏAD ÉN ÌÉNÅ BUÆÆÅÒ       ÌDA SPAÃÅ       ÊSB SÌB       ADD SPAÃÅS       ÌDA SÔAÔU     PUÔ SÔAÔUS BAÃK ÉNÔÏ "A"       ÊSB ÌDSÔS     PUÔ SÔAÔUS ÉN ÌÉNÅ BUÆÆÅÒ       ÌDA GÏÏD      ÔÅSÔ ÆÏÒ DAÔA ÅÒÒÏÒS       ÉÏÒ BAD       SZA¬ÒSS       ÅÒÒÏÒS?       ÊMP ÔS±´-±    NϬ ÔÅSÔ ÅÒÒÏÒ HAÌÔ S×       ÌDA SPAÃÅ     BÌANK ÆÏÒMAÔ ÃHAÒ.       ÊSB SÌB       ÌDA ÃHNÅÑ     ÃHAÒAÃÔÅÒ NÏ. ÅÑUAÌS       ÊSB SÌB       ADD ÃHAÒAÃÔÅÒS ÔÏ ÌÉNÅ BUÆÆÅÒ       ÌDA ÔÃHÃÔ     GÅÔ ÔAPÅ ÃHAÒAÃÔÅÒ NÏ.       ÊSB ÃVÅÒÔ     ÃÏNVÅÒÔ ¦ ÌÏAD ÉN ÌÉNÅ BUÆÆÅÒ       ÊSB ÌBÏUÔ     PÒÉNÔ MÅSSAGÅ       ÌDA SPAÃÅ     BÌANK ÆÏÒMAÔ ÃHAÒ.       ÊSB SÌB       ÌDA GDÅÑ      G½       ÊSB SÌB       ADD ÃHAÒAÃÔÅÒ ÔÏ ÌÉNÅ BUÆÆÅÒ       ÌDA GÏÏD      GÅÔ GÏÏD ÃHAÒAÃÔÅÒ       ÊSB BÉNÏ      PUÔ BÉNAÒY DAÔA ÉN ÌÉNÅ       ÊSB ÌBÏUÔ     PÒÉNÔ MÅSSAGÅ       ÌDA SPAÃÅ     BÌANK ÆÏÒMAÔ ÃHAÒ.       ÊSB SÌB       ÌDA BDÅÑ      B½       ÊSB SÌB       ADD ÃHAÒAÃÔÅÒS ÔÏ ÌÉNÅ BUÆÆÅÒ       ÌDA BAD       GÅÔ ÅÒÒÏNÅÏUS ÃHAÒAÃÔÅÒ       ÊSB BÉNÏ      PUÔ BÉNAÒY DAÔA ÉN ÌÉNÅ       ÊSB ÌBÏUÔ     PÒÉNÔ ÌÉNÅ ÔS±´  ÊSB SKPÌ       ÌÉA S×ÒG      ÔÅSÔ S× ±´ ÆÏÒ ÏPÔÉÏN       ÒAÌ       SSA¬ÒSS       S× ±´ SÅÔ?       ÊMP ÔS±5      NϬ ÔÅSÔ S× ±5       ÌDA SÔAÔU     GÅÔ SÔAÔUS ¦ SÔÏP       ÌDB SÔÏP      GÅÔ ÃUÒÒÅNÔ ÔÅSÔ SÔÏP NÏ.       HÌÔ 55B ÔS±5  ÌÉA S×ÒG      ÔÅSÔ S× ±5       SSA¬ÒSS       S× ±5 SÅÔ?       ÊMP ÔS±3      NϬ ÃÏNÔÉNUÅ       ÊSB SÔAÔS     YÅS¬ GÅÔ SÔAÔUS ¦ SÔÏP       ÌDB všþúSÔÏP      GÅÔ ÃUÒÒÅNÔ SÔÏP NÏ.       HÌÔ ·6B       ÅND ÏÆ ÃUÒÒÅNÔ ÔÅSÔ ÔS±3  ÃÌA       SÔA GÏÏD      ÒÅSÅÔ BUÆÆÅÒ       SÔA BAD         "     "       ÊSB ÅÏÔÔS     ÔÅSÔ ÆÏÒ ÅÏÔ       ÌDA ÔBUÆ3     ÒÅSÔÏÒÅ ÔHÅ 'A' ÒÅG       ÊMP ÔÅSÔ.¬É  HÅD ·9·0  DÉAGNÏSÔÉà -ÏPÔÉÏNAÌ PÒÏGÒAMS- ±30²0-9000± ª    ÏPÔÉÏNAÌ DAÔA ÔÅSÔS    ª  SPà± .ÏPÔ´ NÏP           DAÔA ÔÅSÔ       ÊSB SAVAD     KÅÅP ÔÅSÔ S.A.       ÌDA MUS5      SÅÔ UP ÃHAÒAÃÔÅÒ SÅÑUÅNÃÅ PÏÉNÔÅÒ       SÔA SÅÑ       ÌDA MUS±K     SÅÔ NÏ. ÏÆ SÅÑUÅNÃÅS       ADA MUS±       SÔA ÃNÔ±       ÊSB ÃÌÆDÔ       ÌDB ×Ãà      SÔAÒÔ ×ÒÉÔÅ       ÊSB ÏÃMMD ÒÔPÔ9 ÊSB DÔÆÌG     ×AÉÔ ÆÏÒ DAÔA ÆÌAG ÅNPÔ¸ ÌDA DÔPÔN¬É D3²   ÏÔA DAÔA¬Ã    ÏUÔ PUÔ Ô×Ï ÔAPÅ BYÔÅS       ÉSZ DÔPÔN     ADVANÃÅ ÃHAÒAÃÔÅÒ PÏÉNÔÅÒ       ÉSZ SÅÑ       ÉNÃÒÅMÅNÔ SÅÑUÅNÃÅÒ ÃÏUNÔ       ÊMP ÒÔPÔ9       ÌDA MUS5      ÒÅSÅÔ SÅÑUÅNÃÅÒ       SÔA SÅÑ       ÌDA DÔPAÔ     ÒÅSÅÔ ÃHAÒAÃÔÅÒ ÌÏÃAÔÉÏN PÏÉNÔÅÒ       SÔA DÔPÔN       ÉSZ ÃNÔ±      ÉNÃÒÅMÅNÔ SÅÑUÅNÃÅ ÃÏUNÔ       ÊMP ÒÔPÔ9       ÊSB ÃÌÃDÔ     ÅND ×ÒÉÔÅ       ÊSB ÃMÃHƬɠ  ×AÉÔ ÆÏÒ ÃMMD ÃHNÌ ÆÌAG       ÊSB SÔAÔS     GÅÔ SÔAÔUS       ÒAÒ¬SÌA       ÔÅSÔ ÆÏÒ PAÒÉÔY ÅÒÒÏÒ       ÃÃA       ÃÌA       ÊSB ÔÅSԬɠ   SÔÏP ÉÆ ÒÅAD AÆÔÅÒ ×ÒÉÔÅ ÅÒÒÏÒ       ÊSB ÌÏPÔN     ÔÅSÔ ÆÏÒ ÌÏÏP ÏPÔÉÏN       ÊSB SAVAD     KÅÅP ÔÅSÔ S.A.       ÊSB BAÃKÒ     BAÃK SPAÃÅ ÒÅÃÏÒD ¦ ÒÅAD       ÌDA MUS±K     SÅÔ SÅÑUÅNÃÅ ÃÏUNÔÅÒ       SÔA ÃNÔ±       ÃÌA¬ÉNA       SÔA ÔBUƸ     SÅÔ GÒÏUP ÃÏUNÔÅÒ       ÌDB ÒÒÆ       ÊSB ÏÃMMD     SÔAÒÔ ÒÅADÉNG ÒÔP±± ÌDA MUS5      SÅÔ SÅÑUÅNÃÅÒ       SÔA SÅÑ       ÌDB DÔPAÔ     BUÆÆÅÒ S.A.       ÊSB ÒÅAD0     ÒÅAD ² BYÔÅS       ÉNB           ADVANÃÅ PÏÉNÔÅÒ       ÉSZ ÔBUƸ     ÉNÃÒÅMÅNÔ BYÔÅ ÃÏUNÔÅÒ       ÉSZ SÅÑ       ÉNÃÒÅMÅNÔ SÅÑUÅNÃÅÒ ÃÏUNÔ       ÊMP ª-´       ÉSZ ÃNÔ±      ÉNÃÒÅMÅNÔ SÅÑUÅNÃÅ ÃÏUNÔ       ÊMP ÒÔP±±       ÊSB ÃÌÃDÔ     ÃÌÅAÒ DAÔA ÃHANNÅÌ       ÊSB ÃÌÅAÒ     ×AÉÔ ÆÏÒ ÃMMD ÃHNÌ ÆÌAG       ÉSZ SÔÏP      ÉNÃÒÅMÅNÔ ÔÅSÔ SÔÏP NÏ.  SPà±       ÌDA MUS´  ~öþú    SÅÔ ÒÅ×ÒÉÔÅ ÒÅÃÏÒD ÃÏUNÔ       ÉNA       SÔA Ò×ÃNÔ       ÌDA MUSPG     BUÆÆÅÒ ÌÅNGÔH       SÔA ÃÏUNÔ       ÌDB SÔÏÒÅ       ÌDA ÃYÃÔ      DÉAGNÏSÔÉàÃYÃÌÅ ÃÏUNÔ       SÔA B¬É ÒÔP±´ ÉSZ B¬É       GÅNÅÒAÔÅ ÒANDÏM BYÔÅS       NÏP       ÌDA B¬É       AND MSK±±     ÏÃÔAÌ ···       AÌÆ¬AÌÆ       ADA B       SÔA B¬É       ÉNB           ADVANÃÅ PÏÉNÔÅÒ       ÉSZ ÃÏUNÔ     ÉNÃÒÅMÅNÔ BUÆÆÅÒ ×ÏÒD ÃÏUNÔ       ÊMP ÒÔP±´     ÆÉÌÌ ÔHÅ BUÆÆÅÒ       ÊSB SAVAD     KÅÅP ÔÅSÔ S.A.       ÊSB ÃÌÆDÔ     ÃÌÅAÒ DAÔA ÃHNÌ ÆÌAG       ÌDA MUSPG     BUÆÆÅÒ ×ÏÒD ÃÏUNÔ       SÔA ÃÏUNÔ       ÌDB SÔÏÒÅ     BUÆÆÅÒ S.A.       ÌDA ×Ãà      SÔAÒÔ ×ÒÉÔÅ       ÊSB AÃMMD       ÊSB DÔÆÌG     ×AÉÔ ÆÏÒ DAÔA ÆÌAG       ÌDA B¬É       GÅÔ ÒANDÏM BYÔÅS D²9   ÏÔA DAÔA¬Ã    ÏUÔ PUÔ ÔÏ ÔAPÅ       ÉSZ B         ADVANÃÅ PÏÉNÔÅÒ       ÉSZ ÃÏUNÔ     ÉNÃÒÅMÅNÔ BUÆÆÅÒ ×ÏÒD ÃÏUNÔ       ÊMP D²9-²       ÊSB ÃÌÃDÔ     ÅND ×ÒÉÔÅ       ÊSB ÃMÃHƬɠ  ×AÉÔ ÆÏÒ ÃMMD ÃHNÌ ÆÌAG       ÊSB SÔAÔS     GÅÔ SÔAÔUS       ÒAÒ¬SÌA       ÔÅSÔ ÆÏÒ PAÒÉÔY SÔAÔUS       ÊMP ÅNP²²       ÃÌA ÒÔP±5 ÊSB ÔÅSԬɠ   SÔÏP ÉÆ PAÒÉÔY ÅÒÒÏÒ       ÊSB ÌÏPÔN     ÔÅSÔ ÆÏÒ ÌÏÏP ÏPÔÉÏN       ÊMP ÅNP²3     GÏ ÔÏ NÅØÔ ÔÅSÔ ÅNP²² ÉSZ Ò×ÃNÔ     NÏ. ÏÆ ÒÅ×ÒÉÔÅS       ÊSB SAVAD¬É   ÒÅ×ÒÉÔÅ ÔHÅ ÒÅÃÏÒD       ÃÃA       ÊMP ÒÔP±5     GÏ ÔÏ ÔÅSÔ SUB.       ÉSZ SÔÏP      SÅÔ ÔÅSÔ SÔÏP NÏ. ÆÏÒ NÅØÔ ÔÅSÔ ÅNP²3 ÊSB SAVAD     KÅÅP ÔÅSÔ S.A.       ÊSB BAÃKÒ     BAÃK SPAÃÅ ÔHÅ ÒÅÃÏÒD       ÌDA MUSPG     BUÆÆÅÒ ×ÏÒD ÃÏUNÔ       SÔA ÃÏUNÔ       ÃÌA¬ÉNA       SÔA ÔBUƸ     ×ÏÒD ÃÏUNÔÅÒ       ÌDB ÒÒÆ       SÔAÒÔ ÒÅADÉNG       ÊSB ÏÃMMD       ÌDB SÔÏÒÅ     BUÆÆÅÒ S.A.       ÉSZ ÃÏUNÔ     ÉNÃÒÅMÅNÔ BUÆÆÅÒ ×ÏÒD ÃÏUNÔ ÒÔP±6 ÊSB ÒÅAD0     ÒÅAD ² ÔAPÅ BYÔÅS       ÉNB           ADVANÃÅ PÏÉNÔÅÒ       ÉSZ ÔBUƸ     ÉNÃÒÅMÅNÔ ×ÏÒD ÃÏUNÔÅÒ       ÉSZ ÃÏUNÔ     ÉNÃÒÅMÅNÔ BUÆÆÅÒ ×ÏÒD ÃÏUNÔ       ÊMP ÒÔP±6     GÅÔ NÅØÔ ² BYÔÅS       ÊSB ÃÌÃDÔ     SÔÏP ÒÅADÉNG       ÊSB ÃMÃHƬɠ  ×AÉÔ ÆÏÒ ÃMMD ÃHNÌ ÆÌAG       ÌÉA S×ÒG      ÔÅSÔ Ææ¬þúÏÒ HAÌÔ       SSA           S× ±5 SÅÔ ?       HÌÔ ·6B       YÅS¬ SÔÏP       ÊSB ÌÏPÔN     ÔÅSÔ ÆÏÒ ÌÏÏP ÏPÔÉÏN       ÉSZ SÔÏP      ÉNÃÒÅMÅNÔ ÔÅSÔ SÔÏP NUMBÅÒ       ÊMP .ÏPÔ´¬É  SPà± ª    ÏPÔÉÏNAÌ ÉNÔÅÒÒÅÃÏÒD GAP ÃÒÅÅP ÔÅSÔ    ª  SPà± .ÏPÔ5 NÏP           ÃÒÅÅP ÔÅSÔ       ÊSB SAVAD     KÅÅP ÔÅSÔ S.A.       ÊSB ÃÌÅAÒ     ÃÌÅAÒ ÔHÅ ÃÏNÔÒÏÌÌÅÒ       ÊSB ÃÌÆDÔ       ÌDB ×Ãà      ×ÒÉÔÅ       ÊSB ÏÃMMD       ÊSB DÔÆÌG     ×AÉÔ ÆÏÒ DAÔA ÆÌAG       ÃÃB           ×ÒÉÔÅ A ² BYÔÅ ÒÅÃÏÒD D²±   ÏÔB DAÔA¬Ã       ÊSB ÃÌÃDÔ     ÅND ×ÒÉÔÅ ÏPÅÒAÔÉÏN       ÊSB ÃÌÅAÒ       ÌDA MU500     ±000 BYÔÅ ÒÅÃÏÒD       SÔA ×ÒDÃN       ÌDA MUS±0     SÅÔ ÒÅ×ÒÉÔÅ ÃÏUNÔÅÒ       SÔA ÃÏUNÔ ÒÔPÔ¸ ÌDB ×Ãà      SÔAÒÔ ×ÒÉÔÅ       ÊSB ÏÃMMD       ÊSB DÔÆÌG     ×AÉÔ ÆÏÒ DAÔA ÆÌAG ÅNPÔ· ÃÃB D²²   ÏÔB DAÔA¬Ã       ÉSZ ×ÒDÃN     ÉNÃÒÅMÅNÔ ×ÏÒD ÃÏUNÔÅÒ       ÊMP ÅNPÔ·-±       ÊSB ÃÌÃDÔ     ÅND ×ÒÉÔÅ ÏPÅÒAÔÉÏN       ÃÃB       ÌDA MU500     ×ÏÒD ÃÏUNÔ       SÔA ×ÒDÃN       ÊSB ÃÌÅAÒ       ÊSB BAÃKÒ       ÉSZ ÃÏUNÔ     ÉNÃÒÅMÅNÔ ÒÅ×ÒÉÔÅ ÃÏUNÔÅÒ       ÊMP ÒÔPÔ¸     ÒÅ×ÒÉÔÅ ÔHÅ ÒÅÃÏÒD ±0 ÔÉMÅS       ÊSB BAÃKÒ     BAÃK SPAÃÅ ÏVÅÒ ÔHÅ ² BYÔÅ ÒÅÃÏÒD       ÌDB ÒÆÆ       ÒÅAD ÆÉÌÅS       ÊSB ÏÃMMD       ÊSB DÔÆÌG     ×AÉÔ ÆÏÒ DAÔA ÆÌAG       ÊSB ÃÌÆDÔ       ÌDB ÉÒGD̬ɠ  MÉNÉMUM GAP ÔÉMÅ       ÊSB DÅÌAY     ÔÉMÅÒ       ÃÃA D²5   SÆS DAÔA      SHÏUÌD BÅ NÏ ÆÌAG       ÃÌA       SÔA ÔBUÆ3       ÊSB ÃÌÅAÒ       ÌDA ÔBUÆ3       ÊSB ÔÅSԬɠ   SÔÏP ÉÆ GAP ÔÏÏ NAÒÒÏ×       ÊSB ÌÏPÔN     ÔÅSÔ ÌÏÏP ÏPÔÉÏN       ÊMP .ÏPÔ5¬É  SPà± ª    ÏPÔÉÏNAÌ ×ÒÉÔÅ ÒÉNG ÔÅSÔ    ª  SPà± .ÏPÔ6 NÏP           ×ÒÉÔÅ ÅNABÌÅ ÔÅSÔ       SÔA SÔÏP       ÊSB AUDÅÔ     ÃK. AUÔÏ SÅÌÅÃÔ MÏDÅ       ÌDA PÏS²´     MÅSSAGÅ ÌÅNGÔH       ÌDB MSG9      "ÒÅMÏVÅ ×ÒÉÔÅ ÅNABÌÅ ÒÉNG"       ÊSB ÔÔY¬É       HÌÔ 56B       ÌDB ×Ãà      ×ÒÉÔÅ ÃÏMMAND ò5   ÏÔB ÃMMD       ÊSB SÔAÔS     GÅÔ SÔAÔUS ÒÊÆP  ÒAÒ¬ÒAÒ       ÆÉÌÅ PÒÏÔÅÃÔ ÒÅÊÅÃÔ ÔÅSÔ       SÌA¬ÒSS       ÊMP ª+3       ÒAÒ       SÌA¬ÒSS       ÔÅSÔÇŸþú ÒÅÊÅÃÔ SÔAÔUS BÉÔ       ÃÃA¬ÒSS       ÃÌA       ÊSB ÔÅSԬɠ   SÔÏP ÉÆ NÏ PÒÏÔÅÃÔ ÏÒ ÒÅÊÅÃÔ       ÊSB AUDÅÔ     ÃK. AUÔÏ SÅÌÅÃÔ MÏDÅ ×ÒÅNB ÌDA PÏS±¸       ÌDB MSG±0     "ÒÅPÌAÃÅ ×ÒÉÔÅ ÒÉNG"       ÊSB ÔÔY¬É       ÊSB SKPÌ       ÊSB ÃÌÅAÒ     ÃÌÅAÒ ÔHÅ ÃÏNÔÏÌÌÅÒ       HÌÔ 56B       ÊMP ÒÅÃYÌ¬É  SPà± ª    ÏPÔÉÏNAÌ ÒÅ×ÉND ¦ ÌÏAD PÏÉNÔ ÔÅSÔS    ª  SPà± .ÏPÔ· NÏP           ÒÅ×ÉND ¦ ÌÏAD PÏÉNÔ ÔÅSÔ       ÌDA PÏS69     SÅÔ UP ÔÅSÔ SÔÏP NÏ.       SÔA SÔÏP       ÌDB ÒÅ×       ÒÅ×ÉND ÃÏMMAND       ÊSB ÏÃMMD       ÊSB SÔAÔS     GÅÔ SÔAÔUS       AND MSK9      ÔÅSÔ ÆÏÒ ÒÅ×ÉND ¦ ÔAPÅ BUSY       ÃPA MSK9       ÃÌA¬ÒSS       ÃÃA       SÔA ÔBUƲ       ÊSB SÔAÔS     ÔÅSÔ SÔAÔUS ÆÏÒ ÒÅ×ÉND       AND MSK¸      ÌÏÏP UNÔÉÌ ÆÉNÉSHÅD ÒÅ×ÉNDÉNG       ÃPA MSK¸       ÊMP ª-3       ÌDA ÔBUƲ       ÊSB ÔÅSԬɠ   SÔÏP ÉÆ NÏÔ ÒÅ×ÉNDÉNG ÏÒ BUSY       ÊSB SÔAÔS     ÔÅSÔ ÆÏÒ ÌÏAD PÏÉNÔ SÔAÔUS       AND MSK±       SZA       ÃÌA¬ÒSS       ÃMA       ÊSB ÔÅSԬɠ   SÔÏP ÉÆ NÏÔ AÔ ÌÏAD PÏÉNÔ       ÌDA BSÒ       ÔÅSÔ ÃÏMMAND ÒÅÊÅÃÔ AÔ BÏÔ Ã²´   ÏÔA ÃMMD       ÊSB SÔAÔS     GÅÔ SÔAÔUS ¦ ÔÅSÔ ÒÅÊÅÃÔ BÉÔ ÒÊÌP  ÊSB ÒÅÊBÔ     ÌÏAD PÏÉNÔ ÒÅÊÅÃÔ ÔÅSÔ       SZA¬ÒSS       ÊMP .ÏPÔ·¬É       ÊSB AUDÅÔ     ÃK. AUÔÏ SÅÌÅÃÔ MÏDÅ       ÌDA SÔPÅÑ       ÊSB SÌB       PUÔ ÉN ÌÉNÅ BUÆÆÅÒ       ÌDA SÔÏP       ÉNA           ÃUÒÒÅNÔ ÔÅSÔ NÏ.       ÊSB ÃVÅÒÔ       ÊSB ÌBÏUÔ     PÒÉNÔ ÌÉNÅ       ÊSB SKPÌ       ÊMP .ÏPÔ·¬É  HÅD ·9·0  DÉAGNÏSÔÉà -PÒÏGÒAM ÃÏNSÔANÔS- ±30²0-9000± ª    PAGÅ BUÆÆÅÒ    ª       HÅD ªªª ÒÅSÉDUAÌ ÅÒASÅ ÔÅSÔ SÅÃÔÉÏN ªªª       ÏÒG ·500B       ÌDA DÔà       ÉÏÒ .Z±       SÔA .Z±       ÌDA DÔà       ÉÏÒ .Z²         ÃÏNÆÉGUÒAÔÉÏN SÅÃÔÉÏN       SÔA .Z²       ÌDA DÔà       ÉÏÒ .Z3       SÔA .Z3       ÌDA DÔà       ÉÏÒ .Z´       SÔA .Z´       ÌDA DÔà       ÉÏÒ .Z5       SÔA .Z5       ÌDA DÔà       ÉNA       ÉÏÒ .Z±0       SÔA .Z±0       ÌDA DÔà       ÉÏÒ .Z±±       SÔA .Z±± SÔAÒÔ ÌÉA S×ÒG        ÌÏAD ÉNPUÔ ÆÒÏM S×ÉÔÃH ÒÅGÉSÔÅÒ.   (Äþú    SSA             SÅÔ S×ÉÔÃH ±5 ÔÏ PAUSÅ.       ÊMP SÔAÒÔ       ÌÏÏP.       ÌDA ÃÏN.        ÃÏUNÔÅÒ ÆÏÒ ±²00 BYÔÅ PAÔÔÅÒN.       SÔA ÃÏUNÔ       SÔÏÒÅ ÔÅMPÏÒAÒÉÌY.       ÉSZ ÔÏG         ÔÏGGÌÅ ÒÅAD¯×ÒÉÔÅ ÃÏUNÔÅÒ.       ÊSB ÃÌÅAÒ       ÃÌÅAÒ ÔHÅ ÃÏNÔÒÏÌÌÅÒ.       ÊSB ÆÌG×Ô       ×AÉÔ ÆÏÒ ÃÏMMAND ÃHANNÅÌ ÆÌAG.       ÌDB ÔÏG         "B" ½ ÔÏGGÌÅ ÃÏUNÔÅÒ.       SÌB             ×ANÔ ÔÏ ×ÒÉÔÅ ?       ÌDB ×Ãà        YÅS¬ "B" ½ 3±.       SÌB¬ÒSS         ×ANÔ ÔÏ ÒÅAD ?       ÌDB ÒÒÆ         YÅS¬ "B" ½ ²3.       ÊSB ÏÃMD        SÔAÒÔ MÏVÉNG ÔAPÅ. .Z±   SÔàDAÔA¬ Ã     ÒÅA ÿ13042-80005 1349 S 0122 13184A/7970E MAGNETIC TAPEDIAGNOSTIC             H0101 C_þú ÔÅNÔ3 ÌDA N6        SÅÔ ÔHÅ ÌÉNÅ ÆÅÅD ÃÏUNÔ ÆÏÒ       SÔA SKÃNÔ     -SÉØ ÌÉNÅS       ÌDA N6±       ÒÅSÅÔ ÔHÅ PAGÅ ÌÉNÅ ÃÏUNÔ       SÔA ÌNÃNÔ ÔÅNÔ± ÌDA ÌNÆÅD     ÌÏAD ÔHÅ ÌÉNÅ ÃÏMMAND ÃÏDÅ AND       ÊSB ÔÃMMD     -ÏUÔPUÔ ÉÔ       ÉSZ SKÃNÔ     ÉNÃÒÅMÅNÔ ÔHÅ SKÉP ÃÏUNÔ       ÊMP ÔÅNÔ±     SPAÃÅ ANÏÔHÅÒ ÌÉNÅ       SZB¬ÒSS       ÃHÅÃK ÔHÅ ÃHAÒAÃÔÅÒ ÃÏUNÔ       ÊMP ÔÔY.¬É    ÉÔ'S ÆÉNÉSHÅD¬ ÒÅÔUÒN       ÉSZ ÌNÃNÔ     ÉNÃÒÅMÅNÔ ÔHÅ PAGÅ ÌÉNÅ ÃÏUNÔ       ÊMP ÔÅNÔ0     GÏ PÒÉNÔ ÔHÅ ÌÉNÅ  SKP ÔÃMMD NÏP           ÔHÅ É-Ï ÏUÔPUÔ ÒÏUÔÉNÅ ÆÏÒ ÔHÅ ÔÃ0   ÏÔA .ÔÔY Ôñ   ÏÔA .ÔÔY      -ÔÅÌÅPÒÉNÔÅÒ Ôò   SÔà.ÔÔY¬Ã ÔÃ3   SÆS .ÔÔY       ÊMP ª-±       ÊMP ÔÃMMD¬É  SPà± SKPÌ  NÏP           SPAÃÅ ÏNÅ ÌÉNÅ       ÃÌA       ÊSB ÔÔY¬É       ÊMP SKPÌ¬É  SPà± ª    BÉNAÒY ÔÏ DÅÃÉMAÌ ÃÏNVÅÒSÉÏN    ª  SPà± ª  ÃAÌÌ:  A - ÃÏNÔAÉNS ÔHÅ BÉNAÒY NUMBÅÒ ÔÏ BÅ ÃÏNVÅÒÔÅD ª         B - ÃÏNÔAÉNS ÔHÅ PÏÉNÔÅÒ ¦ DÉGÉÔ ÉNÆÏÒMAÔÉÏN ª         Å - ÃÌÅAÒ¬ ÒÅSÅÔS ÔHÅ ÃHAÒAÃÔÅÒ ÃÏUNÔ ¦ BUÆÆÅÒ ª           - SÅÔ¬ ÌÅAVÅS ÔHÅ ÃHAÒAÃÔÅÒ ÃÏUNÔ ¦ BUÆÆÅÒ AS ÉS ª  ª  ÒÅÔUÒN: A - ÌÏSÔ ª          B - ÌÏSÔ  SPà± ÃVÅÒÔ NÏP       SÔA ÔBÆ0±     HÏÌD ÔHÅ NUMBÅÒ ÆÏÒ ÃÏNVÅÒSÉÏN       ÌDA ÃÏNÆÔ       ADA B       SÔA ÔBÆ0²       BÒS       SÔB ÔBÆ03       ÃÌB           ÃÌÅAÒ ÆÉÒSÔ DÉGÉÔ ÉNDÉÃAÔÏÒ       SÔB ÔBÆ00     ÆÉÒSÔ DÉGÉÔ ÉNDÉÃAÔÏÒ       SÅZ       ÊMP ª+´       SÔB ÌÃNÔ      ÃÌÅAÒ ÔHÅ ÌÉNÅ BUÆÆÅÒ ÃÏUNÔÅÒ       ÌDB SÌBÆ      ÒÅSÅÔ ÔHÅ MÅSSAGÅ BUÆÆÅÒ       SÔB .ÌBÆ      -PÏÉNÔÅÒ       ÌDA ÔBÆ0±     ÒÅÔÒÉÅVÅ ÔHÅ NUMBÅÒ       SZA¬ÒSS       ÃHÅÃK ÆÏÒ A ZÅÒÏ NUMBÅÒ       ÊMP ÌDZ       ÌÏAD ÔHÅ ZÅÒÏ NUMBÅÒ ÉN ÔHÅ BUÆÆ ÅNÔ²± ÌDB N²        SÅÔ ÔHÅ ÏDD-ÅVÅN DÉGÉÔ SÅÑUÅNÃÅÒ       SÔB DÃÃNÔ     : ÅNÔ²² ÃÌB           ÃÌÅAÒ ÔHÅ DÉGÉÔ BUÆÆÅÒ       SÔB DGBUÆ     :       ÌDA ÔBÆ0±     GÅÔ NUMBÅÒ ÆÏÒ ÃÏNVÅÒSÉÏN ÅNÔ²3 ADA ÔBÆ0²¬É   ADD ÃÏNVÅÒSÉÏN ÆAÃÔÏÒ ÔÏ ÔHÅ NÏ.       SSA           SÉGN + ?       ÊMP ÅNÔ²´     NϬ ÃHANGÅ ÆAÃÔÏÒS       SÔA ÔBÆ0±     YÅS¬ SAVÅ ÔHÅ NUMBÅÒ AND       ÉSZ DGBUÆ     -ARLþúDVANÃÅ ÔHÅ PÏÉNÔÅÒ       ÊMP ÅNÔ²3 ÅNÔ²´ ÌDB ÔBÆ00     ÔÅSÔ ÆÏÒ ÔHÅ ÆÉÒSÔ DÉGÉÔ       SÌB¬ÉNB       ±SÔ ?       ÊMP ÅNÔ²5       SÔB ÔBÆ00     YÅS¬ SÅÔ ÆÉÒSÔ DÉGÉÔ ÉNDÉÃAÔÏÒ       SSA¬ÒSS       ÉS ÔHÅ ÆÉÒSÔ DÉGÉÔ ZÅÒÏ ?       ÃÌA¬ÒSS       NϬ ÃÌÅAÒ ÔHÅ BÌANK ÉNDÉÃAÔÏÒ       ÒSS           YÅS¬ ÃÏNÔÉNUÅ NÏÒMAÌÌY       SÔA BÌNK      SÅÔ ÔHÅ BÌANK ÉNDÉÃAÔÏÒ ÅNÔ²5 ÉSZ ÔBÆ0²     ADVANÃÅ ÔHÅ ÃÏNVÅÒSÉÏN PÏÉNÔÅÒ       ÌDB DGBUÆ     GÅÔ DÉGÉÔ       SZB¬ÒSS       DÉGÉÔ 0 ?       ÊMP ÅNÔ²6     YÅS¬ ÃHÅÃK ÔHÅ BÌANK ÉNDÉÃAÔÏÒ       ÃÌB           NϬ ÃÌÅAÒ BÌANK ÉNDÉÃAÔÏÒ       SÔB BÌNK ÅNÔ²6 ÌDA DGBUÆ     GÅÔ ÔHÅ DÉGÉÔ       ÌDB BÌNK      ÉS ÔHÅ BÌANK ÉNDÉÃAÔÏÒ SÅÔ ?       SZB¬ÒSS       ÉÏÒ ASMSK     NϬ ÏVÅÒÌAY ×ÉÔH ASÃÉÉ MASK       ÉSZ DÃÃNÔ     ÏDD ÏÒ ÅVÅN DÉGÉÔ       ÊMP ÅNÔ²·     ÅVÅN¬ SÔÏÒÅ ÉÔ ÔÅMPÏÒAÒÉÌY       ÌDB SAVÅA     ÏDD¬ GÅÔ ÅVÅN DÉGÉÔ       BÌÆ¬BÌÆ       PAÃK ÅVÅN-ÏDD DÉGÉÔS       ÉÏÒ B       SÔA SAVÅA     SAVÅ ÔHÅ ÌASÔ Ô×Ï ASÃÉÉ DÉGÉÔS       ÊSB SÔAMB     ÉNSÅÒÔ DÉGÉÔS ÉN ÌÉNÅ       ÉSZ ÔBÆ03     ÌASÔ Ô×Ï DÉGÉÔS ?       ÊMP ÅNÔ²±     NϬ GÏ BAÃK       ÃÌA¬ÉNA       SÔA BÌNK      ÒÅSÔÏÒÅ ÔHÅ BÌANK ÉNDÉÃAÔÏÒ       ÌDA N±        DÅÆAUÌÔ NUMBÅÒ ÏÆ ÅØPÅÃÔÅD       SÔA ÔBÆ03     -DÉGÉÔS.       ÌDA SAVÅA     ÌASÔ ² ASÃÉÉ DÉGÉÔS ÃÏNVÅÒÔÅD       ÊMP ÃVÅÒÔ¬É ÅNÔ²· SÔA SAVÅA     SAVÅ ÔHÅ ÅVÅN DÉGÉÔ       ÊMP ÅNÔ²²     ÃÏNVÅÒÔ ÔHÅ ÏDD DÉGÉÔ ÌDZ   ÃÌA¬ÉNA       ÒÅSÅÔ ÔHÅ BÌANK ÉNDÉÃAÔÏÒ       SÔA BÌNK       ÌDA N±        SÅÔ ÔHÅ DÅÆAUÌÔ NUMBÅÒ ÏÆ       SÔA ÔBÆ03     -ÅØPÅÃÔÅD DÉGÉÔS ÆÏÒ ÃÏNVÅÒSÉÏN       ÌDA ASMSK     GÅÔ ÔHÅ ASÃÉÉ ZÅÒÏ ÃHAÒAÃÔÅÒ       ÊSB SÔAMB     SÔÏÒÅ ÉÔ ÉN ÔHÅ MÅSSAGÅ BUÆÆÅÒ       ÊMP ÃVÅÒÔ¬É  SPà± ª    ÌÉNÅ BUÆÆÅÒ ÌÏADÉNG ÒÏUÔÉNÅ       SPà± SÔAMB NÏP       SÔA .ÌBƬɠ   ÅNÔÅÒ ×ÉÔH ASÃÉÉ ÃHAÒÃ'S ÉN "A"       ÉSZ .ÌBÆ      GÏ ÔÏ NÅØÔ Ô×Ï ÃHAÒÃ. ÌÏÃAÔÉÏNS       NÏP       ÉSZ ÌÃNÔ      ÉNÃÒÅMÅNÔ ÌÉNÅ PÏSÉÔÉÏN ÃÏUNÔ       ÊMP SÔAMB¬É  SKP ª    BÉNAÒY NÏ. ÒÏUÔÉNÅ  SPà± BÉNÏ  NÏP           ÅNÔÅÒ ×ÉÔH NÏ. ÉN "A®/þú" ÒÅG.       ÌDB N¸       SÔB DGÃNÔ     SÅÔ DÉGÉÔ ÃÏUNÔÅÒ       ÌDB N´       SÔB ÔBÆ0²     ÔHÅ DÉGÉÔ ÆÏÒMAÔ ÃÏUNÔÅÒS       ÌDB N²       SÔB ÔBÆ00 ÅNÔ²¸ ÌDB A         PUÔ ÔHÅ NÏ. ÉN ÔHÅ "B" ÒÅG. AÌSÏ       ÒAÌ       ÒB̬ÒBÌ       SÔB ÔBÆ0±     SAVÅ SHÉÆÔÅD NUMBÅÒ       AND D±       SÔA AÒÅG      SAVÅ ÆÏÒ ÅØÉÔ       ÌDA B       AND D±       ÌDB A         SÅÔ UP ÆÏÒ PAÃKÉNG       ÌDA AÒÅG      SÅÔ UP ÆÏÒ PAÃKÉNG       AÌÆ¬AÌÆ       PÏÉÔÉÏN ÔHÅ ÅVÅN DÉGÉÔ ÔÏ ÔHÅ       ÉÏÒ B         -UPPÅÒ HAÌÆ ÏÆ ÔHÅ ×ÏÒD AND ADD       ÉÏÒ ASÃZ      -ÔHÅ ÏDD DÉGÉÔ¬ ÔHÅN PUÔ ÉÔ ÉN       ÊSB SÔAMB     -ASÃÉÉ ÆÏÒMAÔ BÅÆÏÒÅ SÔÏÒÉNG       ÉSZ DGÃNÔ     ÉNÃÒÅMÅNÔ DÉGÉÔ ÃÏUNÔ       ÊMP ª+²       ÃÏUNÔ NÏÔ 0 ¬ ÃÏNÔÉNUÅ       ÊMP BÉNÏ¬É       ÌDA ÔBÆ0±       ÉSZ ÔBÆ00     ÉNÃÒÅMÅNÔ ÔHÅ DÉGÉÔ ÆÏÒMAÔ ÃÏUNÔ       ÊMP ÅNÔ²¸     GÅÔ ÔHÅ NÅØÔ Ô×Ï DÉGÉÔS       ÌDA SPAÃÅ     BÌANK ÆÏÒMAÔ ÃHAÒ.       ÊSB SÔAMB       ÌDA ÔBÆ0±     ÒÅSÔÏÒÅ "A"       ÉSZ ÔBÆ0²     ÉNÃÒÅMÅNÔ ÔHÅ DÉGÉÔ ÆÏÒMAÔ ÃÏUNÔ       ÊMP ÅNÔ²¸-²   GÅÔ ÔHÅ NÅØÔ Ô×Ï DÉGÉÔS       ÌDA SPAÃÅ     BÌANK ÆÏÒMAÔ ÃHAÒ.       ÊSB SÔAMB       ÌDA ÔBÆ0±     ÒÅSÔÏÒÅ "A"       ÊMP ÅNÔ²¸-´   GÅÔ ÔHÅ NÅØÔ Ô×Ï DÉGÉÔS  SKP ª    PÒÉNÔ ÃYÃÌÅ ÃÏUNÔ  SPà± PÃYÃÔ NÏP       ÌDA MSG00     SÅÔ ÔHÅ MÅSSAGÅ BUÆÆÅÒ'S       SÔA .ÌBÆ      -PÏÉNÔÅÒ       ÌDA ÃYÃNÔ     GÅÔ ÔHÅ ÃYÃÌÅ NUMBÅÒ       ÌDB N´       ÃÃÅ       ÊSB ÃVÅÒÔ     ÃÏNVÅÒÔ ¦ PUÔ ÉN ÌÉNÅ BUÆÆÅÒ       ÌDA D±´       PÒÉNÔ ÔHÅ NUMBÅÒ ÏÆ ÃYÃÌÅS       ÌDB MSG00       ÊSB ÔÔY¬É       ÌDA SÌBÆ      ÒÅSÅÔ ÔHÅ BUÆÆÅÒ'S PÏÉNÔÅÒ       SÔA .ÌBÆ       ÃÌB       SÔB ÌÃNÔ       SÔB MSG00¬É       ÊSB SKPÌ       ÊMP PÃYÃÔ¬É  SPà± ÔSÔNÏ NÏP       ÌDA MSG±9     SÅÔ ÔHÅ BUÆÆÅÒ PÏÉNÔÅÒ       SÔA .ÌBÆ       ÌDA ÃYÃNÔ     GÅÔ ÔHÅ ÃYÃÌÅ NUMBÅÒ       ÌDB N´       ÃÃÅ       ÊSB ÃVÅÒÔ     ÃÏNVÅÒÔ ¦ ÌÏAD ÉN ÌÉNÅ BUÆÆÅÒ       ÌDA MS±96     SÅÔ ÔHÅ MÅSSAGÅ BUÆÆÅÒ PÏÉNÔÅÒ       SÔA .ÌBÆ       ÌDA ÔNUMB     GÅÔ ÔHÅ ÔÅSÔ NUMBÅÒ       ÌDB N´       ÃÃÅ       ÊSB ÃVÅÒÔ     ÃÏNVÅÒÔ ¦ þúÌÏAD ÉN ÌÉNÅ BUÆÆÅÒ       ÌDA D±6       ÌDB MSG±9       ÊSB ÔÔY¬É       ÃÌB           ÒÅSÅÔ ÔHÅ MÅSSAGÅ ÃHAÒAÃÔÅÒ       SÔB ÌÃNÔ      -ÃÏUNÔÅÒ AND BUÆÆÅÒ PÏÉNÔÅÒ       SÔB MSG±9¬É       ÌDB SÌBÆ       SÔB .ÌBÆ       ÊMP ÔSÔNÏ¬É  SKP ª    PÒÉNÔ ÔHÅ GÏÏD AND BAD ÃHAÒAÃÔÅÒS    ª  SPà± PÃHAÒ NÏP       SÔA AÒÅG       ÌDA MS0²9     SÅÔ ÔHÅ BUÆÆÅÒ'S PÏÉNÔÅÒ       SÔA .ÌBÆ       ÌDA ÃNÔ±±     ÌÏAD ÔHÅ ×ÏÒD ÃÏUNÔ       ÃMA       ADA ×DÃNÔ       ÃMA¬ÉNA       ÌDB N´       ÃÃÅ       ÊSB ÃVÅÒÔ     ÃÏNVÅÒÔ ÔHÅ NUMBÅÒ AND SÔÏÒÅ ÉÔ       ÌDA D²²       PÒÉNÔ ÔHÅ NUMBÅÒ ÏÆ ÔHÅ ×ÏÒD       ÌDB MSG0²       ÊSB ÔÔY¬É       ÃÌB       SÔB MS0²9+±¬É ÃÌÅAÒ ÔHÅ MÅSSAGÅ BUÆÆÅÒ       SÔB MS0²9+²¬É       ÌDB PÒÃHÒ+±   SÅÔ ÔHÅ MÅSSAGÅ BUÆÆÅÒ'S PÏÉNÔÅÒ       SÔB .ÌBÆ       ÌDA AÒÅG       ÌDA ÔBÆ0´¬É   ÌÏAD ÔHÅ GÏÏD ×ÏÒD       ÊSB BÉNÏ      ÃÏNVÅÒÔ ÉÔ ¦ SÔÏÒÅ ÉÔ ÉN ÔHÅ MÅSS       ÌDB PÒÃHÒ     SÅÔ ÔHÅ MÅSSAGÅ BUÆÆÅÒ PÏÉNÔÅÒ       SÔB .ÌBÆ       ÌDA ÔBÆ05¬É   ÌÏAD ÔHÅ ×ÏÒD ÉN ÅÒÒÏÒ       ÊSB BÉNÏ      ÃÏNVÅÒÔ ¦ SÔÏÒÅ ÉN ÔHÅ MÅSSAGÅ       ÌDA SÌBÆ      ÒÅSÔÏÒÅ ÔHÅ MÅSSAGÅ BUÆÆÅÒ       SÔA .ÌBÆ      -PÏÉNÔÅÒ       ÃÌA           ÒÅSÅÔ ÔHÅ MÅSSAGÅ ÃHAÒAÃÔÅÒ       SÔA ÌÃNÔ      -ÃÏUNÔÅÒ       ÌDA D´0       PÒÉNÔ ÔHÅ       ÌDB MSG±3       ÊSB ÔÔY¬É         GÏÏD AND       ÌDA D´0       ÌDB MSG±´               BAD ×ÏÒDS       ÊSB ÔÔY¬É       ÊMP PÃHAÒ¬É  SKP ª    PÒÉNÔ ÔHÅ SÔAÔUS ÒÏUÔÉNÅ    ª  SPà± ª  ÃAÌÌ: ª  "B" ½ ÔHÅ ÅØPÅÃÔÅD SÔAÔUS  SPà± PÒSÔA NÏP           SÅÔ UP AND PÒÉNÔ ÔHÅ SÔAÔUS       SÔB BÒÅG      HÏÌD ÔHÅ SÔAÔUS ÔÅMPÏÒAÒÉÌY       ÌDA PÒÃHÒ+±   SÅÔ UP ÔHÅ BUÆÆÅÒ PÏÉNÔÅÒ       SÔA .ÌBÆ       SZB           ÉS 'B' ½ ZÅÒÏ       ÊMP ÅNÔ06     NϬ ÌÏAD ÔHÅ MÅSSAGÅ BUÆÆÅÒ       ÌDB N3       SÔB ÃNÔ±       ÌDB MSG±·       SÔB ÔBÆ0¸     SÅÔ UP ÔHÅ PÏÉNÔÅÒ       ÌDB ÔBÆ0¸¬É   GÅÔ Ô×Ï BYÔÅS       SÔB A¬É       SÔÏÒÅ ÔHÅM ÉN ÔHÅ MÅSSAGÅ       ÉNA       ÉSZ ÔBÆ0¸     ADVANÃÅ ÔHÅ PÏÉNÔÅÒ       ÉSZ ÃNÔ±      ÉNÃÒÅMÅNÔ ÃHAÒAÃÔÅÒ ÃÏUNÔ       Ã&þúÊMP ª-5       GÅÔ ÔHÅ ÒÅSÔ       ÃÌB           ADD Ô×Ï ÅØÔÒA BÌANKS       SÔB A¬É       ÌDA D²        SÅÔ ÔHÅ MÅSSAGÅ ÃHAÒAÃÔÅÒ       SÔA ÔBÆ09     -ÃÏUNÔ       ÊMP ÅNÔ0· ÅNÔ06 ÌDA BÒÅG      ÒÅÔÒÉÅVÅ ÔHÅ SÔAÔUS       ÊSB ÌDSÔS     ÌÏAD ÔHÅ ÅØPÅÃÔÅD SÔAÔUS       ÌDA ÃÏUNÔ     NUMBÅÒ ÏÆ SÔAÔUS SYMBÏÌS ÌÏADÅD       SÔA ÔBÆ09 ÅNÔ0· ÌDA SÔBUÆ     ÒÅSÅÔ ÔHÅ BUÆÆÅÒ PÏÉNÔÅÒ       SÔA .ÌBÆ       ÌDA SÔAÔU     ÒÅÔÒÉÅVÅ ÔHÅ SÔAÔUS ×ÏÒD ÊUSÔ       ÊSB ÌDSÔS     -ÔAKÅN ¦ ÌÏAD ÉÔ ÉN ÔHÅ MÅSSAGÅ       ÌDA ÃÏUNÔ     ÃÏMPUÔÅ ÔHÅ MÅSSAGÅ ÌÅNGÔH       ÒA̬ÒAÌ       ADA D±²       ÌDB MSG±6     PÒÉNÔ ×HAÔ ÔHÅ SÔAÔUS ×AS       ÊSB ÔÔY¬É       ÌDA ÔBÆ09     ÃÏMPUÔÅ ÔHÅ MÅSSAGÅ ÌÅNGÔH       ÒA̬ÒAÌ       ADA D±¸       ÌDB MSG±´     PÒÉNÔ ×HAÔ ÔHÅ SÔAÔUS SHÏUÌD       ÊSB ÔÔY¬É     -HAVÅ BÅÅN       ÌDA SÌBÆ      ÒÅSÅÔ ÔHÅ .ÌBÆ       SÔA .ÌBÆ       ÃÌA           ÃÌÅAÒ ÔHÅ MÅSSAGÅ ÃHAÒAÃÔÅÒ       SÔA ÌÃNÔ      -ÃÏUNÔÅÒ       ÊMP PÒSÔA¬É  SKP ª    SÔAÔUS SYMBÏÌ ÒÏUÔÉNÅ  SPà± ÌDSÔS NÏP           ÌÏAD SÔAÔUS ÉN PÒÉNÔÅD ÌÉNÅ       AND SÔÒÉP     SÔÒÉP ÏÆÆ ÔHÅ ÔÏP ÔHÒÅÅ BÉÔS       ÃÌB       SÔB ÃÏUNÔ     SYMBÏÌ ÃÏUNÔÅÒ       ÌDB N±3       SÅÔ ÔHÅ SÔAÔUS ÃÏUNÔÅÒ       SÔB ÃNÔ± ÅNÔ30 SÌA           ÉS ÉÔ ÏÆÆ ÌÉNÅ ?       ÊMP ÅNÔ3²     YÅS¬ ÅNÔÅÒ SYMBÏÌS ÉN ÌÉNÅ ÅNÔ3± ÉSZ SÔÔBÌ     NϬ ÉNÃÒÅMÅNÔ ÔHÅ SYMBÏÌ PÏÉNÔÅÒ       ÒAÒ           SHÉÆÔ ÔÏ NÅØÔ BÉÔ       ÉSZ ÃNÔ±      HAS AÌÌ BÉÔS BÅÅN ÔÅSÔÅD?       ÊMP ÅNÔ30     NϬ ÔÅSÔ ÔHÅ NÅØÔ SÔAÔUS BÉÔ       ÌDA SÔÔB.       SÔA SÔÔBÌ       ÃÌA       ÃPA ÃÏUNÔ     ÃHÅÃK ÔÏ SÅÅ ÉÆ ÔHÅ SÔAÔUS ×AS       ÊMP ÅNÔ33     -ÃÌÅAÒ       ÊMP ÌDSÔS¬É   YÅS¬ ÒÅÔUÒN ÅNÔ3² SÔA ÔBÆ0±     SAVÅ ÔHÅ "A" ÒÅGÉSÔÅÒ       ÌDA SÔÔB̬ɠ  GÅÔ SÔAÔUS SYMBÏÌ       ÊSB SÔAMB     PUÔ ÃHAÒAÃÔÅÒS ÉN ÌÉNÅ BUÆÆÅÒ       ÌDA ÃÏMMA       ÊSB SÔAMB       ÌDA ÔBÆ0±     ÒÅSÔÏÒÅ "A" BÅÆÏÒÅ ÒÅÔUÒNÉNG       ÉSZ ÃÏUNÔ     ÉNÃÒÅMÅNÔ ÔHÅ SYMBÏÌ ÃÏUNÔ       ÊMP ÅNÔ3± ÅNÔ33 ÌDB N3       SÔB ÃNÔ±       ÌDB MSG±·     S.A. ÏÆ ÔHÅ ÃÌÅAÒ MÅSSAGÅ       ÌDA B¬É     ýþú  GÅÔ ² ÃHAÒAÃÔÅÒS       ÊSB SÔAMB     SÔÏÒÅ ÔHÅM ÉN ÔHÅ MÅSSAGÅ       ÉNB           ADVANÃÅ ÔHÅ PÏÉNÔÅÒ       ÉSZ ÃNÔ±      ÉNÃÒÅMÅNÔ ÔHÅ ÃHAÒAÃÔÅÒ ÃÏUNÔ       ÊMP ª-´       GÅÔ ÔHÅ NÅØÔ ² ÃHAÒAÃÔÅÒS       ÌDA SPAÃÅ     SÅÔ ÔHÅ ÌASÔ ² ÃHAÒAÃÔÅÒS BÌANK       ÊSB SÔAMB       ÌDA D²        SÅÔ ÔHÅ SYMBÏÌ ÃÏUNÔ       SÔA ÃÏUNÔ       ÊMP ÌDSÔS¬É  SPà± .ÔÔY  ÅÑU ±0B ÃHÃNÔ BSS ± DÃÃNÔ NÏP DGÃNÔ BSS ± DGBUÆ BSS ± ÌÃNÔ  BSS ± PÒBUÆ BSS ± SKÃNÔ BSS ± SAVÅA BSS ±  SPà± ASÃZ  ÏÃÔ  30060 ASMSK ÏÃÔ     60 ÃAÒÔN ÏÃÔ ±30²±5 ÃÃÏDÅ ÏÃÔ ±30²00 ÃHÒÆÌ ÏÃÔ  5²5²5 ÌNÆÅD ÏÃÔ ±30²±²       ÏÃÔ ±00000       DÅà-±0000       DÅà-±000       DÅà-±00       DÅà-±0       DÅà-± Z     DÅà0 ÔBÆ03 DÅà-± BÌNK  DÅà± D±´   DÅà±´ D´0   DÅà´0  SPà± ÃÏNÆÔ DÅÆ Z .ÌBÆ  DÅÆ ÌBÆ MSG00 DÅÆ .MS00 MSG0² DÅÆ .MS0² MSG±3 DÅÆ .MS±3 MSG±´ DÅÆ .MS±´ MSG±6 DÅÆ .MS±6 MSG±· DÅÆ .MS±· MSG±9 DÅÆ .MS±9 MS±96 DÅÆ .MS±9+6 MS0²9 DÅÆ .MS0²+¸       DÅÆ .MS0²+9       DÅÆ .MS0²+±0 PÒÃHÒ DÅÆ .MS±3+9       DÅÆ .MS±´+9 SÌBÆ  DÅÆ ÌBÆ SÔÔBÌ DÅÆ .SÔÔB SÔÔB. DÅÆ .SÔÔB  SUP ÃÏMMA AS౬¬ SPAÃÅ AS౬ .MS00 ASà·¬      ÃYÃÌÅ(S© .MS±3 ASà9¬×ÏÒD ÉN ÅÒÒÏÒ ÉS       BSS ±± .MS±´ ASà9¬AND ÉÔ SHÏUÌD BÅ       BSS ²´ .MS±9 ASฬ      ÔÅSÔ £ .MS0± ASà±0¬ÃÏMMAND ×AS ÒÅÊÅÃÔÅD .MS0² ASà±±¬ÅÒÒÏÒ ÉN ×ÏÒD £ .MS03 ASฬÒÅ-ÒÅAD ÒÅÑUÉÒÅD .MS0´ ASà±3¬ÃÏUÌDN'Ô ÆÉND ÃYÃÌÅ SÔAÒÔ .MS05 ASà±±¬UNABÌÅ ÔÏ ÒÅAD ÒÅÃÏÒD .MS06 ASಬÅÏÔ .MS0· ASà±3¬NÏ UNÉÔ SÅÌÅÃÔ S×ÉÔÃH SÅÔ .MS±² ASà±3¬ÃMMD ÆÌAG ×AÉÔ ÔÉMÅD ÏUÔ ! .MS±6 ASà6¬SÔAÔUS ×AS       BSS ±² .MS±· ASà3¬ÃÌÅAÒ .SÔÔB ASà±3¬ÏÆDÅÆPÃÒÔÅÅÔÌPÔMÃBÔBÒ×ÏBSÅ  SPà± ÌBÆ   ÅÑU ª  SKP ª       ªª  PÒÏGÒAM ÉNÉÔÉAÌÉZAÔÉÏN AND ÃÏNÆÉGUÒAÔÉÏN  ªª  SPà±       ÏÒG 6000B SYÔÔY ÊSB S×ÒGA     ÌÏAD ÔHÅ S×ÉÔÃH ÒÅGÉSÔÅÒ AND       AND B3·       -ÃHÅÃK ÆÏÒ ÔHÅ ÔÔY'S S.Ã.       SZA           ×AS ÔHÅÒÅ ÏNÅ ÅNÔÅÒÅD ?       ÊMP ÉÅNÔ0     YÅS¬ ÃÏNÔÉNUÅ       HÌÔ ±²B       NϬ SÔÏP AND ÌÅÔ ÔHÅ ÏPÅÒAÔÏÒ       ÊMP SYÔÔY     -ÅNÔÅÒ ÏNÅ­îþú ÉÅNÔ0 SÔA SÃÔÔY     SÅÔ ÔHÅ ÔÔY'S S.Ã.       HÌÔ ±±B       SÔÏP AND ÌÅÔ ÔHÅ ÏPÅÒAÔÏÒ ÅNÔÅÒ       ÊMP ÉÅNÔ±     -ÔHÅ ÏÔHÅÒ S.Ã. AND ÔÉMÉNG ÉNÉÔZ ÃÃA           SÅÔ ÔHÅ NÏ ÔÔY PÒÏGÒAM ÆÌAG       SÔA NÏÔÔY ÉÅNÔ± ÊSB S×ÒGA     ÌÏAD ÔHÅ S×ÉÔÃH ÒÅGÉSÔÅÒ AND GÅÔ       SÔA B         -ÔHÅ ±3±¸´'S S.Ã. AND ÔHÅ DÒÉVÅ'S       AND B3·       -SPÅÅD       SZA           ×AS ÔHÅÒÅ A S.Ã. ÅNÔÅÒÅD?       ÊMP ÉÅNÔ²     YÅS¬ ÃÏNÔÉNUÅ       HÌÔ ±3B       NϬ SÔÏP AND ÌÅÔ ÔHÅ ÏPÅÒAÔÏÒ       ÊMP ÉÅNÔ±     -SÅÔ ÏNÅ ÉN ÔHÅ S×ÉÔÃH ÒÅGÉSÔÅÒ ÉÅNÔ² SÔA Sñ¸´     SAVÅ ÔHÅ ±3±¸´'S SÅÌÅÃÔ ÃÏDÅ       SÔA DAÔAà    AÌSÏ SAVÅ ÔHÅ DAÔA AND ÃÏMMAND       ÉNA           -ÃHANNÅÌ É-Ï ADDÒÅSSÅS       SÔA ÃMMDà       ÌDA B         ÒÅSÔÏÒÅ "A" ×ÉÔH ÔHÅ S×ÉÔÃH ÒÅG-       AÌÆ¬AÌÆ       -ÉSÔÅÒ ÃÏNÔÅNÔS AND PÏSÔÉÔÉÏN ÔHÅ       ÒA̬ÒAÌ       -DÒÉVÅ'S SPÅÅD ÉNDÉÃAÔÏÒ       AND B3·       SZA           ×AS ÔHÅ SPÅÅD ÉNDÉÃAÔÏÒ ÅNÔÅÒÅD ?       ÊMP ÉÅNÔ3     YÅS¬ ÃÏNÔÉNUÅ       HÌÔ ±´B       NϬ SÔÏP AND ÌÅÔ ÔHÅ ÏPÅÒAÔÏÒ       ÊMP ÉÅNÔ±     -ÅNÔÅÒ ÏNÅ ÉÅNÔ3 SÌA¬ÒSS       ÉS ÔHÅ SPÅÅD ±².5 ÉPS       ÊMP ÉÅNÔ´     NϬ ÔÒY ÔHÅ NÅØÔ       ÌDB Ô±².5     YÅS¬ SÅÔ ÔHÅ ÔÉMÉNG ÃÏNSÔANÔS       ÊMP ÉÅNÔ· ÉÅNÔ´ ÒAÒ       SÌA¬ÒSS       ÉS ÉÔ ²5.0 ÉPS       ÊMP ÉÅNÔ5     NϬ ÔÒY ÔHÅ NÅØÔ ÏNÅ       ÌDB Ô²5.0     YÅS¬ SÅÔ ÔHÅ ÔÉMÉNG ÃÏNSÔANÔS       ÊMP ÉÅNÔ· ÉÅNÔ5 ÒAÒ       SÌA¬ÒSS       ÉS ÉSÔ 3·.5 ÉPS       ÊMP ÉÅNÔ9     NϬ ÉÔ'S ´5.0 ÉPS¬ ÃÏNÔÉNUÅ       ÌDB Ô3·.5     YÅS¬ SÅÔ ÔHÅ ÔÉMÉNG ÃÏNSÔANÔS       ÊMP ÉÅNÔ· ÉÅNÔ· ÌDA Ô´5.0     SÅÔ ÔHÅ S.A. ÏÆ ÔHÅ ÔÉMÉNG ÔABÌÅ       SÔA ÔBÆ00       ÌDA N¸        SÅÔ ÔHÅ NUMBÅÒ ÏÆ ÃÏNSÔANÔS ÔHAÔ       SÔA ÃÏUNÔ     -AÒÅ ÉN ÔHÅ ÔABÌÅ       ÌDA B¬É       GÅÔ ÔHÅ ÃÏNSÔANÔ AND SÔÏÒÅ ÉÔ ÉN       SÔA ÔBÆ00¬É   -ÔHÅ ÔABÌÅ       ÉNB           ADVANÃÅ ÔHÅ ÃÏNSÔANÔ PÏÉNÔÅÒ       ÉSZ ÔBÆ00     ADVANÃÅ ÔHÅ ÔÉMÉNG ÔABÌÅ PÏÉNÔÅÒ       ÉSZ ÃÏUNÔ     ÉNÃÒÅMÅNÔ ÔHÅ ÃÏNSÔANÔ ÃÏUNÔÅÒ       ÊMP ª-5       NÏÔ DÏNÅ YÅÔ ÉÅNÔ9 ÅÑU ª ª                        ª       ÌDA B²0K      SÅԠ„þúÔHÅ ÃÏNÔÒÏÌ ×ÏÒD ÆÏÒ ÔHÅ DMA       ÉÏÒ Sñ¸´     -ÃHANNÅÌ       SÔA DMAÃ×     SAVÅ ÔHÅ ÃÏNÔÒÏÌ ×ÏÒD       ÌDA ÅND±      ÃÏNÆÉGUÒÅ AÌÌ ÔHÅ PÒÏGÒAM É-Ï       ÃMA¬ÉNA       -ÉNSÔÒUÃÔÉÏNS       ÌDB DÅÆSÔ     S.A. ÏÆ ÔHÅ ±SÔ É-0 ÉNSÔÒUÃÔÉÏN       ADA B         ÃAÌÃUÌAÔÅ ÔHÅ NUMBÅÒ ÏÆ ÉNSÔÒUÃÔÉÏNS       SÔA ÃNÔ00     -ÉN ÔHÅ PÒÏGÒAM AND SÅÔ ÔHÅ ÃÏUNÔ ÃÅNÔ0 ÉNB           ADVANÃÅ ÔHÅ ADDÒÅSS PÏÉNÔÅÒ       ÌDA B¬É       ÌÏAD ÔHÅ ÉNSÔÒUÃÔÉÏN AND ÃHÅÃK       SSA¬ÒSS       -ÆÏÒ AN É-Ï ÉNSÔÒUÃÔÉÏN       ÊMP ÃÅNÔ±     ÉÔ ÉS NÏÔ¬ GÅÔ ÔHÅ NÅØÔ ÏNÅ       AND ÉÏMSK     MAKÅ SUÒÅ ÉÔ'S NÏÔ AND ÉNDÉÒÅÃÔ       SZA           -ÉNSÔÒUÃÔÉÏN       ÊMP ÃÅNÔ±     ÉÔ ×AS¬ GÅÔ ÔHÅ NÅØÔ ÉNSÔÒUÃÔÉÏN       ÌDA B¬É       ÉÔ ×ASN'Ô¬ ÉNSÅÒÔ ÔHÅ É-Ï       ADA DAÔAà    ADDÒÅSS AND ÒÅSÔÏÒÅ ÉÔ ÔÏ ÉÔS       SÔA B¬É       -PÒÏGÒAM ÌÏÃAÔÉÏN ÃÅNÔ± ÉSZ ÃNÔ00     ÉNÃÒÅMÅNÔ ÔHÅ ÉNSÔÒUÃÔÉÏN ÃÏUNÔ       ÊMP ÃÅNÔ0     ÆÉNÉSH ÔHÅ ÃÏNÆÉGUÒAÔÉÏN       ÌDA SÌÃD+±    ÒÅSÔÏÒÅ ÔHÅ S.Ã. 0 ÉNSÔÒUÃÔÉÏNS       ÃMA¬ÉNA       GÅÔ ÔHÅ NUMBÅÒ ÏÆ ÉNSÔÒUÃÔÉÏNS       ÌDB SÌÃD      -ÔÏ BÅ ÒÅSÔÏÒÅD       ADA B       SÔA ÃNÔ00     SÅÔ ÔHÅ ÉNSÔÒUÃÔÉÏN ÃÏUNÔÅÒ ÃÅNÔ² ÌDA B¬É       GÅÔ ÔHÅ É-Ï ÉNSÔÒUÃÔÉÏNS ÌÉSÔ'S       SÔA ÔBÆ00     -S.A.       ÌDA A¬É       GÅÔ ÔHÅ ÉNSÔÒUÃÔÉÏN AND MAKÅ       AND B.±·M     -ÔHÅ SÅÌÅÃÔ ÃÏDÅ 0       SÔA ÔBÆ00¬É   ÒÅSÔÏÒÅ ÔHÅ ÉNSÔÒUÃÔÉÏN       ÉNB           ADVANÃÅ ÔHÅ ÌÉSÔ'S PÏÉNÔÅÒ       ÉSZ ÃNÔ00     ÉNÃÒÅMÅNÔ ÔHÅ ÃÏUNÔÅÒ       ÊMP ÃÅNÔ²     DÏ ÔHÅ ÒÅSÔ       ÌDA N´        SÅÔ ÔHÅ NUMBÅÒ ÏÆ ÔÔY É-Ï ÉN-       SÔA ÃNÔ00     -SÔÒUÃÔÉÏNS ÔÏ BÅ ÃÏNÆÉGUÒÅD       ÌDB SÌÃD+± ÃÅNÔ3 ÌDA B¬É       SÅÔ ÔHÅ ÌÉSÔ'S S.A.       SÔA ÔBÆ00       ÌDA A¬É       SÅÔ ÔHÅ ÔÔY'S SÅÌÅÃÔ ÃÏDÅ ÉN       ÉÏÒ SÃÔÔY     -ÔHÅ É-Ï ÉNSÔÒUÃÔÉÏN AND ÒÅ-       SÔA ÔBÆ00¬É   -SÔÏÒÅ ÉÔ ÔÏ ÉÔS ÌÏÃAÔÉÏN       ÉNB           ADVANÃÅ ÔHÅ ÌÉSÔ'S PÏÉNÔÅÒ       ÉSZ ÃNÔ00     ÉNÃÒÅMÅNÔ ÔHÅ ÃÏUNÔ       ÊMP ÃÅNÔ3     DÏ ÔHÅ ÒÅSÔ       HÌÔ ±0B       NÏÒMAÌ ÉNÉÔÉÌÉZAÔÉÏN HAÌÔ ª                        ª       ÌDA ÒÅÌÏà    ÌÏW¿640AD A ÊUMP ÔÏ ÔHÅ MAÉN PÒÏGÒAM       SÔA SÔAÒÔ     -ÉN ÌÏÃAÔÉÏN ±00B       ÃÌA           ÃÌÅAÒ ÔHÅ ÊUMP ÉN ÌÏÃAÔÉÏN ²B       SÔA ÃÏÆÉG       ÊMP SÌÃD0¬É   GÏ ÔÏ ÔHÅ MAÉN PÒÏGÒAM ÒÅÌÏàÊMP ÒÅÃYÌ¬É  SKP ÃNÔ00 BSS ± Sñ¸´ BSS ± SÃÔÔY BSS ± ª                        ª B.±·M ÏÃÔ ±···00 B²0K  ÏÃÔ  ²0000 ÉÏMSK ÏÃÔ  ·0036 ª                        ª DÅÆSÔ DÅÆ DÅÃNÏ ÅND±  DÅÆ ÃÏÅND SÌÃD  DÅÆ SÌÃD0       DÅÆ SÌÃD±       DÅÆ ÅND0 SÌÃD0 ÅÑU ª       DÅÆ MDÉAG       DÅÆ ÒÅÃYà       DÅÆ ÃÌÃ0±       DÅÆ ÃÌÃ0²       DÅÆ ÃÌÃ03       DÅÆ ÃÌÃ0´       DÅÆ ÃÌÃ05       DÅÆ ÃÌÃ06       DÅÆ ÃÌÃ0·       DÅÆ ÃÌÃ0¸       DÅÆ SÔÆ0²       DÅÆ SÔÆ03       DÅÆ SÔÆ0´       DÅÆ SÔÆ05       DÅÆ ÃÌÆ00       DÅÆ ÃÌÆ0±       DÅÆ ÃÌÆ0²       DÅÆ ÃÌÆ03       DÅÆ ÃÌÆ0´       DÅÆ ÃÌÆ05       DÅÆ SÔÆ00       DÅÆ SÔÆ0± SÌÃD± ÅÑU ª       DÅÆ ÔÃ0       DÅÆ Ôñ       DÅÆ Ôò       DÅÆ ÔÃ3 ÅND0  ÅÑU ª ª                        ª Ô±².5 DÅÆ S±².5 Ô²5.0 DÅÆ S²5.0 Ô3·.5 DÅÆ S3·.5 Ô´5.0 DÅÆ DÅÌY0  SKP S3·.5 DÅà-±±39     ±600 ÃPÉ       DÅà-±²63       "   "       DÅà-²3±´      ¸00  "       DÅà-²56±       "   "       DÅà-33´5      556  "       DÅà-3·0±       "   "       DÅà-936´      ²00  "       DÅà-±035´      "   " S²5.0 DÅà-±·²·     ±600 ÃPÉ       DÅà-±9±²       "   "       DÅà-3´¸9      ¸00  "       DÅà-3¸60       "   "       DÅà-5036      556  "       DÅà-55·0       "   "       DÅà-±´06´     ²00  "       DÅà-±55´¸      "   " S±².5 DÅà-3´¸9     ±600 ÃPÉ       DÅà-3¸60       "   "       DÅà-·0±´      ¸00  "       DÅà-··56       "   "       DÅà-±0±0¸     556  "       DÅà-±±±·6      "   "       DÅà-²¸±6´     ²00  "       DÅà-3±±33      "   "       ÏÒG ··00B ÅND   ÅÑU ª  SPà±  ÅND !<6ÿÿ ÿý0 > ÿ13181-18001 1629 S 0146 13181/13183 MAG TAPE DG              H0101 9þúASMB,A,B,L,C HED 7970 (13181-13183) MAGNETIC TAPE DIAGNOSTIC * REVISION DATE 30 JUNE 76 * HP PART NO. 13181-19001 * ORG 0 SUP * GENERAL OPERATING PROCEDURE * * A. LOAD DIAGNOSTIC CONFIGURATOR AND SET IT UP. * B. LOAD 7970 MAGNETIC TAPE DIAGNOSTIC * C. LOAD ADDRESS 100B. * D. LOAD SWITCH REG. WITH SELECT CODE AND OPTIONS * ACCORDING TO THE TABLE BELOW: * * SWITCH REGISTER SPEED/INTERFACE * 15 45 * 14 37.5 * 13 25 * 12 12.5 * 11 13183 * 10 13181 * 9 NON DMA FOR 13183 * 8-6 NOT USED * 5-0 SELECT CODE * * E. PRESS RUN AND WAIT FOR HALT 107074. * 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 * (SUPPRESS ALL OPERATOR INTERVENTION) * 11 = SUPRESS ERROR MESSAGES * 10 = SUPRESS NON-ERROR MESSAGES * 9 = GO TO USER CONTROL SECTION * AT END OF PRESENT TEST * 8 = SUPPRESS OPERATOR INTERVENTION TESTS * 7 = DELETE CRCC AND LRCC CHECK (13181) * 6 = INHIBIT ALL TESTS WITH EMBEDDED * REWINDS * 5 = USE DMA CHANNEL 2 ON ALL READ/WRITE * 4 = USE DMA CHANNEL 1 ON ALL READ/WRITE * 3 = USE MAGNETIC TAPE UNIT 3 * 2 = USE MAGNETIC TAPE UNIT 2 * 1 = USE MAGNETIC TAPE UNIT 1 * 0 = USE MAGNETIC TAPE UNIT 0 * =Ëþú* NOTE: STANDARD RUN SHOULD BE WITH SW. REG. = 0 * USER CONTROL WILL ASK FOR A 32 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 * NOTE: THE DIAGNOSTIC CAN NOT BE RECONFIGURED * WHEN USING AN 8K MACHINE. * * 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 * * CONTROL PROGRAM HALT MESSAGES * * 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 USER TAPE OPTION ERROR * 102071 NO DMA AVAILABLE FOR 13183 * 102070 ATTEMPTED RECONFIGURATION * WITH 8K MACHINE * * 106077 TRAP CELL HALT * * * HED PROGRAM ORGANIZATION CHART * ******************************************* * * CONFIGURATOR 100B * * * LINKAGE TABLE * * ******************************************* * * EXECUTIVE 130B * * * LINKAGE * * ******************************************* * * CONSTANTS 150B * * * AND * * * STORAGE * * ******************************************* * * 2000B * * * EXECUTIVE CONTROL * * * * * ******************************************* * * IF USED K-þú * * * BASIC I/O TESTS (TEST 00) * * * ZCEND * * ******************************************* * * TABLE OF TEST POINTERS * * * TABLE OF I/O INSTR POINTERS * * ******************************************* * * * * * * * * * * * * * * * * * MAIN DIAGNOSTICS (1-31) * * * * * * * * * * * * * * * * * ******************************************* * * * * * * * * * * * * * * * * * * * * HED 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 * * 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 SWRCX 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 DSNL BSS 1 DIAGNOSTIC SERIAL NUMBER FMTR BSS 1 FORMATTER * * * CONTROL LINKAGE AND DATA REFERENCES * CFIG DEF ZCONF CONFIGURATION SECTION MSGC DEF ZMSGC MESSAGE WITH NO HALT MSGH DEF ZMSGH MESSAGE WITH HALT ERMS DEF ZERMS ERROR MESSAGE SWRT DEF ZSWRT SWITCH REGISTER CHECK ROUTINE TSTN OCT 0 CURRENT TEST NUMBER EXRT DEF ZEXRT RETURN TO CONTROL PROGRAM NOP RESERVED * * * * * * * * * * * * * HED EXECUTIVE CONTROL ORG 2000B ZSTEX CLC INTP,C TURN I/O SYSTEM OFF JSB MSGC,I DO CRLF DEF ZRTLF LDA HDMP GET INTRODUCTORY MESSAGE STA *+2 JSB MSGC,I OUT PUT IT NOP CLA CLEAR PASS STA ZEOLC COUNT LDB ZSW9 CHECK FOR USER SELECTION REQ JSB SWRT,I JMP ZUSR IT'S USERS CHOICE ZNUSR LDA STDA GET STANDARD TEST RUN LDB STDB * JMP ZEXC * ZUSR LDA ZSINA RETRIEVE PREVIOUS RUN LDB ZSINB HLT 75B WAIT FOR USER INPUT NOP NOP NOP ZEXC STA ZUINA SAVE STB ZUINB USER STA ZSINA INPUT STB ZSINB PROGRAM LDB ZSW9 CHECK IF SW9 IS DOWN JSB SWRT,I JMP ZUSR NO GO AND WAIT CCA SET TEST NUMBER STA TSTN =-1 CLA STA ZTSTA CLEAR TEST RUN FLAG * * * * * * * * * * * * * * * * SKP ZEXCL LDA ZUINA RESTORE A REG. LDB ZUINB RESTORE B REG. ERA,RAL ROTATE ERB FIRST ERA TEST BIT STA ZUINA SAVE POSITIONS STB ZUINB ISZ TSTN MOVE TEST UP ONE NOP ZXCL1 LDA TSTN ADA TS€;þúTP GET IT'S LDA A,I ADDRESS CPA Z.M1 IS IT END OF LIST JMP ZEOL YES LDB ZUINB SSB,RSS SHOULD IT BE RUN? JMP ZEXCL NO STA ZTSTA YES - SAVE TEST ADDRESS JSB ZITCH INITIALIZE TRAP CELL HALTS JSB ZTSTA,I GO DO TEST ZEXRT LDA TSTN DISPLAY TEST NUMBER IF HALTED LDB ZSW15 CHECK FOR HALT AT END OF TEST JSB SWRT,I HLT 76B YES WAIT FOR OPERATOR LDB ZSW9 CHECK FOR ABORT JSB SWRT,I JMP ZUSR YES LDB ZSW13 CHECK FOR LOOP ON ROUTINE JSB SWRT,I JMP ZXCL1 YES - LOOP JMP ZEXCL CONTINUE * ZEOL LDA ZTSTA CHECK IF ANY TESTS WERE RUN SZA,RSS ? JMP ZNUSR NO SO PICK UP STANDARD RUN LDA ZEOLC UP DATE PASS COUNT INA STA ZEOLC CCE LDB ZPSCA GET PASS COUNT ADB Z.2 ADDRESS JSB O2AS,I CONVERT IT JSB MSGC,I CALL PRINT ROUTINE ZPSCA DEF ZPSC LDB ZSW12 CHECK FOR LOOP ON DIAG. JSB SWRT,I JMP *+3 YES LDA ZEOLC HLT 77B NO WAIT AND DISPLAY PASS COUNT LDA ZSINA RESTORE ORIGINAL LDB ZSINB PROGRAM JMP ZEXC DO IT ALL AGAIN * SKP * MESSAGE OUTPUT WITH OUT HALT * ZMSGC NOP ENTRY JSB ZMSG OUTPUT MESSAGE OCT 2000 SWITCH 10 CHECK JMP ZMSGC,I RETURN TO CALLER * * MESSAGE OUTPUT WITH HALT * ZMSGH NOP ENTRY JSB ZMSG OUTPUT MESSAGE OCT 2000 SWITCH 10 CHECK LDA ZHLT GET HALT CODE STA *+2 PUT IT IN PLACE LDA ZSAVA RESTORE A REGISTER NOP HALT FOR DISPLAY JMP ZMSGH,I RETURN TO CALLER * * ERROR MESSAGE WITH HALT * ZERMS NOP ENTRY JSB ZMSG OUTPUT MESSAGE OCT 4000 SWITCH 11 CHECK CLA LDB ZSW1×Åþú4 CHECK SWR BIT 14 TO SUPPRESS JSB SWRT,I HALT STA *+3 PUT HALT IN PLACE LDA ZSAVA RESTORE A & B LDB ZSAVB ZHLT NOP WAIT FOR OPERATOR JMP ZERMS,I RETURN TO CALLER * * * * * * * * * * * * * SKP * OUTPUT MESSAGE * ZMSG NOP STA ZSAVA SAVE A AND B REGISTERS STB ZSAVB LDB ZMSG,I GET SWITCH REGISTER BIT LDA ZMSG ADA Z.M2 DECREMENT RETURN ADDRESS STA ZMSG JSB SWRT,I CHECK TO SUPPRESS MESSAGE JMP ZMSG0 YES LDA ZMSG,I CHECK IF ERROR LDA A,I LDA A,I IF SO ALF,ALF AND Z.177 CPA ZA.E JSB ZCFTN CHECK TO OUTPUT TEST NUMBER LDA ZMSG,I NO RETRIEVE FORMAT LDB A,I ADDRESS CLA,CLE JSB FMTR,I ZMSG0 LDA ZMSG,I CONVERT HALT CODE LDB A,I FROM ASCII STRING CCA,CCE JSB AS2N,I STA ZN2AO SAVE RESULT AND Z.300 DECODE LDB ZH2 HALT CODE CPA Z.100 LDB ZH6 CPA Z.200 LDB ZH3 CPA Z.300 LDB ZH7 LDA ZN2AO GET HALT NUMBER AND Z.77 IOR B STA ZHLT SAVE IT ISZ ZMSG,I ADJUST RETURN POINTERS ISZ ZMSG ISZ ZMSG ISZ ZMSG LDA ZSAVA RESTORE A AND B REGISTERS LDB ZSAVB JMP ZMSG,I * * * * * * SKP ZCFTN NOP LDA TSTN GET TEST NUMBER CPA ZCFTT IS IT THE SAME ONE? JMP ZCFTN,I YES SKIP OUTPUT STA ZCFTT NO - THEN UPDATE IT JSB ZN2AO CONVERT IT STA ZTSTN PUT IT IN STRING CLA DO A CRLF JSB SLOP,I CLA,CLE INDICATE START OF FORMAT LDB ZTSTF JSB FMTR,I JMP ZCFTN,I RETURN * * * * ZSAVA NOP ZSAVB NOP ZEOLC NOP ZTSTA NOP ZSINA NOP ZSINB NOP ZUINA NOP ZUINB NOP ZBTMP NOP Z.2 "þúOCT 2 Z.7 OCT 7 Z.10 OCT 10 Z.60 OCT 60 Z.77 OCT 77 Z.177 OCT 177 Z.M1 DEC -1 Z.M2 DEC -2 ZD100 DEC -100 ZIOM OCT 177700 ZSW15 OCT 100000 ZSW14 OCT 40000 ZSW13 OCT 20000 ZSW12 OCT 10000 ZS812 OCT 010400 ZSW9 OCT 1000 Z.100 OCT 100 Z.200 OCT 200 Z.300 OCT 300 ZH2 OCT 102000 ZH6 OCT 106000 ZH3 OCT 103000 ZH7 OCT 107000 ZCFTT DEC -1 ZTSTF DEF *+1 ASC 3,TEST ZTSTN ASC 2,XX// ZRTLF ASC 1,// ZPSC ASC 6,PASS XXXXXX/ ZA.E OCT 105 HED GENERAL ROUTINES * * ZN2AO NOP STA ZIOAD SAVE NUMBER AND Z.7 CONVERT FIRST IOR Z.60 NUMBER STA B SAVE IT LDA ZIOAD GET RAR,RAR SECOND RAR NUMBER AND Z.7 CONVERT IOR Z.60 IT ALF,ALF MOVE TO UPPER HALF IOR B ADD LOWER JMP ZN2AO,I AND RETURN * * * * SWITCH REGISTER CHECK * ZSWRT NOP STA ZN2AO SAVE A REGISTER LIA SW GET SWITCH REG. AND B MASK OUT BIT SZA,RSS IS IT UP? ISZ ZSWRT NO LDA ZN2AO RESTORE A REGISTER LIB SW LET B = SWITCH REGISTER JMP ZSWRT,I RETURN TO CALLER * * * * INITIALIZE TRAP CELL HALTS * ZITCH NOP LDA ZTSH GET STARTING TRAP CELL HALT LDB Z.2 GET FIRST TRAP CELL LOCATION ZTSHL STA B,I PUT IT IN PLACE CPB Z.77 AM I FINISHED JMP ZITCH,I YES INB NEXT ADDRESS JMP ZTSHL * ZTSH OCT 106077 * * * SKP * PUT JSB INSTRUCTION IN TRAP CELL * ZTCJI NOP LDB ZJSBI GET INSTRUCTION STB ZIOSC,I PUT IT IN TRAP CELL LDA ZTCJI,I GET LOCATION STA 3B SAVE IT FOR JSB INSTRUCTION ISZ ZTCJI ADJUST RETURN JMP ZTCJI,I RETURN TO CALLER * ZJSBI JSB 3B,I JSB INSTRUCTION * * * INITIALIZE SELECT CODE I/O INSTRUCTIONS * ZI þþúSC NOP STA ZIOSC SAVE SELECT CODE STB ZIOAD SAVE TABLE ADDRESS ZIOL LDB ZIOAD,I GET ADDRESS OF LOCATION CPB Z.M1 IS IT THE TERMINATOR JMP ZISC,I YES RETURN TO CALLER LDA B,I NO - GET CONTENTS AND ZIOM MASK OFF OLD SELECT CODE IOR ZIOSC ADD IN NEW SELECT CODE STA B,I RESTORE IT ISZ ZIOAD MOVE TO NEXT ADDRESS JMP ZIOL DO IT * ZIOSC NOP ZIOAD NOP * * * * SKP * CONFIGURATION SECTION * ZCONF CLC INTP,C TURN I/O SYSTEM OFF LIA SW GET SELECT CODE AND OPTIONS STA USSC SAVE THEM AND Z.77 ELIMINATE OPTIONS LDB A CMB,INB CHECK THAT SC > 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 * * * * * * * * * * * * * * * * * * * * * * * 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 ¶¤640E003 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 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 * * * * * * * * là6ÿÿ ÿý1 ? ÿ13181-18002 1629 S 0146 13181/13183 MAG TAPE DG              H0101 :þú* * * * * * * * * * * * * * * * 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 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 EXE(þúCUTION 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 x°þú 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 CLF INTP TURN OFF ONTPS ZBS72 SFS CH 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 * * * * * * * * * * * * * * * * * * * * * * * SKP 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 JMP ZBIO,I RETURN TO CALLER * ZBI70 NOP CONTROL FAILED CLF INTP TURN OFF INTPS INA JMP ZB70 * 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 TþúCONTROL/ ZBE23 ASC 21,E023 PRESET(EXT) DID NOT CLEAR I-O LINES/ ZBM24 ASC 17,H024 PRESS PRESET (EXT&INT),RUN/ ZBM25 ASC 08,H025 BI-O COMP/ SKP 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 DEF ZBS42 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 * * * * * * * * * * * * * * * * * * * * * * * * * * HED OPERATOR DESIGN SECTION * OPERATOR DESIGN SECTION * ORG 4000B OPDSN NOP LDA 112B CHECK FOR CONSOLE DEVICE SZA,RSS JMP OPDSN,I NO SO DONT DO OPDSN JSB .FMT TELL OP HE'S IN OPDSN DEF MSG1 LDA SUPA SET STA PRPLA LAST STATEMENT ADDRESS CLA CLEAR STA SUPA,I SOURCE STATEMENT FILE STA DBC USER BUFFER * IRQ JSB .FMT OUTPUT @ DEF .MSG1 JSB GIFO GET INPUT FROM OPERATOR JSB GETB GET INPUT BLOCK JMP INER NO INPUT SEZ,RSS IF IT'S ASCII JMP PCMD IT'S A COMMAND STA TMP SAVE IT SZA,RSS IF IT'S A ZERO JMP INER THEN IT'S AN ERROR SSA IF NEG THEN ERROR JMP INER LDA MXNM CHECK FOR MAX NUMBER CMA ADA TMP SSA,RSS IF OVER 999 JMP INER THEN ERROR JSB GETB GET STATEMENT TYPE JMP DLL DELETE LINE SEZ SHOULD BE ASCII JMP INER NO-SO ERROR SKP JSB FNDST FIND STATEMENT TYPE JMP INER NOT FOUND STA SVB STB TMP+1 ALF,ALF INPRN AND .177 CPA AA IS IT ASCII? ")þú JMP TAA YES CPA AI IS IT INTEGER? JMP TAI YES CPA AK IS IT OCTAL? JMP TAK YES JMP INPRC-1 * TAA JSB GETB GET NEXT BLOCK JMP INPRC-1 NO MORE DATA SEZ IS IT ASCII JMP INER NO - THEN ERROR JMP INPRC OK * TAI JSB GETB GET NEXT BLOCK JMP INPRC-1 NO MORE DATA SEZ,RSS IS IT A NUMBER JMP INER NO - THEN ERROR JMP INPRC OK * TAK JSB GETB GET NEXT BLOCK JMP INPRC-1 NO MORE DATA SEZ,RSS IS IT A NUMBER JMP INER NO - THEN ERROR LDA B OK JMP INPRC CLA NO DATA SO MAKE IT ZERO * INPRC LDB SVB SZB STA TMP+2 SZB,RSS STA TMP+3 LDA SVB IS THIS FIRST PRAM SZA,RSS ? JMP *+4 CLB STB SVB JMP INPRN SKP * PUT STATEMENT IN QUE * SYNTX RSS (BAY BE OVERLAYED BY JSB) JMP INER JSB FNDLN FIND LINE NUMBER JMP INSTR NOT FOUND ISZ PRPTR FOUND IT LDA TMP+1 JUST REPLACE IT STA PRPTR,I JUST REPLACE IT LDA TMP+2 JUST REPLACE IT ISZ PRPTR JUST REPLACE IT STA PRPTR,I JUST REPLACE IT LDA TMP+3 JUST REPLACE IT ISZ PRPTR JUST REPLACE IT STA PRPTR,I JUST REPLACE IT JMP IRQ ASK FOR MORE * INSTR LDA PRPLA CHECK ADA .5 TO CMA,INA SEE IF ADA EUPA QUEUE FULL SSA,RSS ? JMP .STR NO - OK STORE IT JSB .FMT YES TELL OPERATOR DEF MSG4 JMP IRQ MSG4 ASC 6,QUEUE FULL/ * .STR LDA TMP MOVE LINE NUMBER LDB PRPTR,I INTO PLACE STA PRPTR,I SZA,RSS IF NUMBER=0 THEN JMP SVLA SAVE LAST ADDRESS STB TMP ELSE ISZ PRPTR MOVE BLOCK LDA TMP+1 IN LDŸþúB PRPTR,I TO END STA PRPTR,I OF STB TMP+1 PROGRAM ISZ PRPTR LDA TMP+2 LDB PRPTR,I STA PRPTR,I STB TMP+2 ISZ PRPTR LDA TMP+3 LDB PRPTR,I STA PRPTR,I STB TMP+3 ISZ PRPTR JMP .STR SKP * FIND STATEMENT * FNDST NOP STA SVA SAVE TYPE STB SVB "" LDB STTBD STATEMENT TABLE DEF FNDSL LDA B,I CPA .M2 END OF STANDARD TABLE RSS YES JMP *+3 LDB STUD GET STANDARD USER TABLE JMP FNDSL TRY IT CPA .M1 IS IT THE TERMINATOR JMP FNDST,I YES - NOT FOUND CPA SVA IS IT THIS CHARACTER JMP *+3 YES ADB .4 NO - MOVE TO NEXT STATEMENT JMP FNDSL AND TRY IT INB MOVE TO SECOND CHARACTERS LDA B,I CPA SVB DO THESE COMPARE JMP *+3 YES ADB .3 NO - MOVE TO NEXT STATEMENT JMP FNDSL AND TRY IT ISZ FNDST FOUND - ADJUST RETURN INB LDA B,I RETRIEVE PARAMETER TYPES INB AND PROCESSOR POINTER JMP FNDST,I * * * FIND LINE NUMBER IN QUE =TMP * FNDLN NOP LDB SUPA START AT FIRST STATEMENT STB PRPTR LDA B,I SZA,RSS IF ZERO JMP FNDLN,I THEN NOT FOUND CMA,INA ADD THE TWO ADA TMP NUMBERS SZA,RSS IF EQUAL JMP *+5 THEN FOUND SSA IF IT GOES NEG. JMP FNDLN,I THEN NOT FOUND ADB .4 TRY NEXT STATEMENT JMP FNDLN+2 ISZ FNDLN JMP FNDLN,I SKP * GET INFORMATION FROM OPERATOR * GIFO NOP LDA .D72 INPUT COUNT LDB IBUFD JSB SLIN,I GET INPUT FROM OPERATOR SZA,RSS WAS THERE ANY INPUT JMP *-4 NO - SO ASK AGAIN CPA .D72 DO I NEED A CR-LF? âüþú RSS JMP *+4 NO CLA YES JSB SLOP,I LDA .D72 RESTORE COUNT LDB IBUFD * RBL * STB IBUFP * ADD CR TO ADB A * LDA .15 * END OF BUFFER JSB A2BUF * JMP GIFO,I RETURN TO CALLER * * * * * * * * * * SKP * GET A CHARACTER FROM INPUT BUFFER * GETC NOP LDB IBUFP JSB BUF2A CPA .15 IF CR RETURN P+1 JMP GETC,I YES ISZ IBUFP MOVE POINTER TO NEXT CHARACTER ISZ GETC ADJUS GOOD RETURN P+2 JMP GETC,I RETURN * * BUF2A NOP CLE,ERB E _ UPPER LOWER FLAG LDA B,I 2CHR TO AREG SEZ,RSS UPPER OR LOWER? ALF,ALF UPPER AND .177 MASK UNWANTED CHARACTER JMP BUF2A,I RETURN. * * A2BUF NOP STA GETC SAVE CHARACTER SLB,INB OPPSITE ADB .M2 CHARACTER JSB BUF2A ALF,ALF IOR GETC ADD NEW CHARACTER SEZ SHOULD IT BE SWAPPED? ALF,ALF YES STA B,I STORE IT JMP A2BUF,I * * PUTC NOP AND .177 MASK UPPER BITS SZA,RSS IF IT'S ZERO JMP PUTC,I DON'T PUT IN BUFFER LDB IBUFP GET ADDRESS JSB A2BUF PUT CHATACTER IN BUFFER ISZ IBUFP MOVE TO NEXT CHARACTER JMP PUTC,I RETURN TO CALLER * * * * * SKP * GET INPUT BLOCK FROM INPUT BUFFER * GETB NOP CLA CLEAR PARAMETERS STA AIN STB BIN JSB GETC GET A CHARACTER JMP GETB,I NO DATA CPA SPC CHECK IF IT'S A SPACE JMP GETB,I YES SKIP IT ISZ GETB ADJUST RETURN CPA MINUS IF IT'S NEG SIGN JMP NUMIN+1 THEN PROCESS AS A NUMBER JSB DGCK IF IT'S A NUMBER JMP NUMIN THEN PROCESS AS A NUMBER CLB &ªþú STB SVA JSB GETA CONVERT 2 CHARACTERS STA AIN SAVE IT LDA SVA CHECK IF SPACE HAS BEEN SZA,RSS ? JSB GETC NO GET NEXT CHARACTER LDA SPC NO DATA USE SPACE CPA SPC IS IT A SPACE? STA SVA YES SET FLAG JSB GETA CONVERT NEXT 2 CHARACTERS STA BIN SAVE IT LDA SVA CHECK FOR SAPC SZA ? JMP *+6 JSB GETC MOVE TO NEXT SPACE LDA SPC NO DATA USE SPACE CPA SPC SPACE? RSS YES JMP *-4 NO GET NEXT CHARACTER CLE INDICATE ASCII LDA AIN RETRIEVE CHR LDB BIN JMP GETB,I RETURN * * GETA NOP STA BIN LDA SVA SZA,RSS JSB GETC LDA SPC CPA SPC STA SVA ALF,ALF IOR BIN ALF,ALF JMP GETA,I SKP NUMIN CCB,RSS INDICATE POSITIVE CLB INDICATE NEGATIVE STB NFLG SAVE FLAG ADB IBUFP MOVE POINTER BACK IF NECESSARY CLE,ERB SET UPPER LOWER FLAG CLA CALL FOR INTEGER JSB AS2N,I CONVERT IT STA AIN SAVE IT LDB NFLG ADB IBUFP CLE,ERB CCA CALL FOR OCTAL JSB AS2N,I CONVERT IT STA BIN SAVE IT LDA AIN RETRIEVE LDB BIN NUMBERS ISZ NFLG WAS A NEG ENTERED? RSS JMP *+3 NO CMA,INA YES CMB,INB STA AIN SAVE NUMBER STB BIN JSB GETC GET NEXT CHARACTER LDA SPC NO DATA USE SPACE CPA SPC READ TO NEXT SPACE RSS JMP *-4 NO MOVE TO NEXT ONE CCE INDICATE IT'S A NUMBER LDA AIN RETRIEVE PRAMETERS LDB BIN JMP GETB,I RETURN AIN NOP BIN NOP NFLG NOP * * CHECK IF AREG = DIGIT * DGCK NOP 8640 STA BUF2A SAVE CHARACTER ADA .M60 ADD -60 OCTAL SSA SHOULD STILL BE POS.? ISZ DGCK NO - NOT A DIGIT ADA .M10 ADD -10 SSA,RSS SHOULD GO NEG? ISZ DGCK NO - ADJUST RETURN LDA BUF2A RETRIEVE CHARACTER JMP DGCK,I RETURN SKP * SELECT FAST OR SLOW OUTPUT DEVICE * PDVC NOP LDA JSBSD CPB AP CHECK IF LINE PRINTER? INA YES LDB 113B CHECK IF THERE IS A FAST DEVICE SZB,RSS ? LDA JSBSD NO STA FDF JMP PDVC,I RETURN î6ÿÿ ÿý2 @ ÿ13181-18003 1629 S 0146 13181/13183 MAG TAPE DG              H0101 ;þú* * * * OUTPUT TO FORMATTER * .FMT NOP CLF INTP LDB .FMT,I GET ADDRESS ISZ .FMT ADJUST RETURN CLA,CLE INDICATE STARTING FORMAT JSB FMTR,I GO TO FORMATTER JMP .FMT,I RETURN * * * * * SKP * PROGRAM COMMAND * PCMD CPA ABY EXIT OPDSN? JMP OPDSN,I EXIT CPA ALF LIST SOURCE FILE JMP PLF YES CPA ACF CLEAR SOURCE FILE? JMP PCF YES CPA ADB DEFINE BUFFER? JMP PDB YES CPA ALO LIST OUTPUT BUFFER? JMP PLO YES CPA ALI LIST INPUT BUFFER? JMP PLI YES CPA ACB CLEAR BUFFER? JMP PCB YES CPA AGO START EXECUTION? JMP PGO YES * CMDL NOP (MAY BE OVERLAYED BY A JSB) RSS JMP IRQ * INER JSB .FMT INPUT ERROR DEF MSG2 JMP IRQ TRY AGAIN MSG1 ASC 3,OPDSN/ .MSG1 ASC 1,@_ MSG2 ASC 6,INPUT ERROR/ SKP * LIST PROGRAM * PLF JSB PDVC CHECK FOR FAST DEVICE LIST LDA SUPA SET STARTING OF LIST STA PRPTR POINTER PLFL LDA PRPTR,I CHECK TO PRINT STATEMNET SZA,RSS IS IT THE END OF LIST JMP IRQ YES LDB SW9 CHECK TO JSB SWRT,I ABORT LIST JMP IRQ YES CCB CONVERT AND ADB IBUFD PACK CLE STATEMENT JSB I2AS,I NUMBER LDB IBUFD ADD NUMBER TO POINTER ADB .2 RBL STB IBUFP LDA SPC PUT SPACE IN BUFFER JSB PUTC ISZ PRPTR LDA PRPTR,I * ISZ PRPTR * ADA .M1 * LDB A,I * GET PRAM TYPES STB SVB * SAVE PRAM TYPES ADA .M1 * LDB A,I * STB TMP+3 * ADA .M1 * LDA A,I * AND STATEMENT STA TMP+2 * SAVìôþúE STATEMENT ALF,ALF * JSB PUTX * PUT STATEMENT TYPE LDA TMP+2 * IN JSB PUTX * BUFFER LDA TMP+3 * AND SECOND CHATACTERS ALF,ALF JSB PUTX * LDA TMP+3 * JSB PUTX * JMP *+7 * PUTX NOP AND .177 CPA SPC IF IT'S A SPACE JMP *+3 SKIP IT JSB PUTC PUT IT IN BUFFER JMP PUTX,I TRY NEXT CHARACTER LDA SPC ADD SPACE TO BUFFER JSB PUTC SKP LDA SVB RETRIEVE PRMS TYPES ALF,ALF MOVE TO FIRST PARAMETER PLFP LDB PRPTR,I CHECK IF NO PARAMETER SZB,RSS ? JMP PLFC NO SO DON'T PROCESS IT AND .177 CPA AA IS IT ASCII? JMP PAA YES CPA AI IS IT INTEGER? JMP PAI YES CPA AK IS IT OCTAL? JMP PAK YES JMP PLFC TYPE NOT FOUND SO SKIP IT * PAA LDA PRPTR,I GET CHARACTERS ALF,ALF JSB PUTC FIRST ONE TO BUFFER LDA PRPTR,I AND .177 SKIP IF SPACE CPA SPC RSS JSB PUTC SECOND ONE TO BUFFER JMP PLFC * PAI LDA PRPTR,I CLB SSA,RSS IF POS CCB MOVE BUFFER POINTER BACK ONE ADB IBUFP STB IBUFP CLE,ERB JSB I2AS,I * PAE LDA IBUFP ADA .6 STA IBUFP JMP PLFC * PAK LDA PRPTR,I LDB IBUFP CLE,ERB JSB O2AS,I JMP PAE SKP PLFC ISZ PRPTR MOVE TO NEXT PARAMETER LDA SPC ADD SPACE TO BUFFER JSB PUTC LDA SVB SZA,RSS JMP *+4 CLB STB SVB JMP PLFP LDA IBUFP DETERMINE BUFFER COUNT LDB IBUFD * RBL * CMB,INB * ADA B * LDB IBUFD JSB DVIC OUTPUT BUFFER JMP PLFL DO NEXT INSTRUCTION EQþú SKP * DELETE A LINE * DLL JSB FNDLN FIND IT JMP IRQ NOT FOUND ADB .4 PDLL LDA .M4 SET COUNT FOR COMPARE STA TMP PDLL0 LDA B,I MOVE NEXT LINE UP STA PRPTR,I ISZ PRPTR INB ISZ TMP TIME FOR A COMPARE JMP PDLL0 NO LDA B,I YES CHECK FOR END OF LIST SZA ? JMP PDLL NO STA PRPTR,I CLEAR LAST STATEMENT SVLA LDA PRPTR SAVE LAST STATEMENT ADDRESS STA PRPLA JMP IRQ * * * CLEAR SOURCE FILE * PCF CLA STA SUPA,I LDA SUPA JMP SVLA+1 SKP * PROCESS GO * PGO NOP (MAY BE OVERLAYED BY A JSB) LDA GSPTS CLEAR GO SUB TABLE STA GSPTR LDB SUPA START AT BEGINNING STB PRPTR LDA PRPTR,I STA TMP PGOL1 ISZ PRPTR LDA PRPTR,I LDA A,I STA TMP+1 POINTER TO ROUTINE ISZ PRPTR LDA PRPTR,I STA TMP+2 PARAM A ISZ PRPTR LDA PRPTR,I STA TMP+3 PARAM B ISZ PRPTR LDA TMP STA CULN SAVE CURRENT LINE NUMBER SZA,RSS JMP IRQ LDA PRPTR,I STA TMP NEXT LINE NUMBER LDA TMP+2 GET PARAM A LDB TMP+3 GET PARAM B JSB TMP+1,I GO TO ROUTINE CLA NO LINE CHANGE LDB SW9 CHECK FOR ABORT JSB SWRT,I JMP IRQ SZA,RSS CHECK FOR LINE CHANGE JMP PGOL1 NO STA TMP JSB FNDLN JMP OPLNE LINE NUMBER NOT FOUND JMP PGOL1 FOUND * * OPLNE JSB .FMT OUTPUT NO LINE NO. DEF OPLMD OPLNN JSB .FMT OUTPUT LINE # DEF OPLND LDB CULN CURRENT LINE NUMBER OPLN. CLA,INA JSB FMTR,I JMP IRQ RETURN TO OPERATOR OPLMD ASC 3,LINE?_ OPLND ASC 5, (LINE #)/ SKP * DEFINE BUFFER * PDB STB TMP SAVE TYPE LD¢þúA B CPA AIK INSERT? JMP DBI YES CPA AIA JMP DBI YES CPA ARK REPLACE? JMP DBR YES CPA ARA JMP DBR YES JMP DBBC GIVE OPERATOR BUFFER COUNT * * DBIN NOP JSB DBN GET FIRST NUMBER STA TMP+1 SAVE IT JSB DBN GET SECOND NUMBER STA TMP+2 SAVE IT SZA,RSS IF IT'S NOT ZERO JMP DBIN,I CMA,INA CHECK FRST < SEC ADA TMP+1 SSA,RSS JMP INER JSB GETB EMPTY BUFFER JMP DBIN,I JMP *-2 * * DBN NOP JSB GETB GET A BLOCK OF DATA CLA,CCE NO INPUT SO FAKE IT SEZ,RSS IF IT'S ASCII JMP INER THEN ERROR SSA IF IT'S NEGATIVE JMP INER THEN ERROR SZA,RSS IF ZERO JMP DBN,I RETURN LDB LDBC IS IT A LIST? SZB,RSS YES LDB DBC CHECK AGAINST BUFFER COUNT CMB ADB A SSB IF LESS THAN COUNT JMP DBN,I OK JMP INER NO THEN ERROR SKP * CLEAR BUFFER * PCB JSB DBIN GET ANY PARAMETERS LDA TMP+1 CHECK IF DELETE ALL SZA ? JMP *+3 STA DBC YES CLEAR COUNT JMP DBBC JSB CLSE NO CLOSE UP AREA JMP DBBC * * * REPLACE * DBR JSB DBIN GET ANY PARAMETERS LDA TMP+1 CHECK, IF SZA,RSS ZERO? JMP INER IF SO THEN ERROR JSB CLSE CLOSE AREA THATS REPLACED JMP DBI. GOTO INSERT SECTION * * * OUTPUT BUFFER COUNT * DBBC JSB .FMT OUTPUT BUFFER COUNT DEF DBBCM LDB DBC JMP OPLN. DBBCM ASC 4,BF CT #/ SKP * CLOSE UP BUFFER * CLSE NOP ADA .M1 BACK UP ONE STA TMP+1 FOR INSERT LDB TMP+2 CHECK FOR SECOND SZB NUMBER ³þú JMP *+4 YES LDB A NO- THEN USE FIRST+1 INB STB TMP+2 SAVE IT CMB,INB * ADB A * CORRECT BUFFER ADB DBC * COUNT STB DBC * LDB TMP+2 SET ADDRESSES ADB DBD ADA DBD STA TMP+3 CLSE1 JSB DBENC LAST ADDRESS? JMP CLSE2 YES LDA B,I MOVE DATA STA TMP+3,I ISZ TMP+3 INB LDA B JMP CLSE1 NO MOVE NEXT WORD CLSE2 LDA TMP+3 JSB DBENC LAST ADDRESS? JMP CLSE,I CLA STA TMP+3,I ISZ TMP+3 MOVE TO NEXT ADDRESS JMP CLSE2 * DBENC NOP CMA IS A < THAN ADA DBD END-OF-BUFFER ADA DBCO SSA,RSS ? ISZ DBENC YES JMP DBENC,I SKP DBI JSB DBIN GET ANY PARAMETERS LDA TMP+1 CHECK IF INSERT SZA,RSS AFTER END OF BUFFER LDA DBC YES STA TMP+1 DBI. LDA TMP+1 IF NO LINE ADA DBD ADD ADDRESS STA TMP+1 SAVE IT JSB DBENC IS BUFFER FULL JMP DBBF YES JSB GIFO CALL FOR INPUT DBI0 LDA TMP+1 STA TMP+2 LDA TMP+1,I SAVE CURRENT CONTENTS STA TMP+3 JSB GTI GET INPUT LDB A LDA DBC ADA DBD JSB DBENC IS BUFFER FULL? JMP DBBF STB TMP+1,I STORE IT ISZ TMP+1 MOVE UP ADDRESSES DBI1 ISZ TMP+2 LDA TMP+2 JSB DBENC LAST ADDRESS? JMP DBI2 YES LDB TMP+3 MOVE REST OF BUFFER LDA TMP+2,I DOWN STB TMP+2,I STA TMP+3 JMP DBI1 NO MOVE MORE DBI2 ISZ DBC ADD ONE TO COUNT JMP DBI0 NO DBBF JSB .FMT YES TELL OPERATOR DEF DBFLM JMP DBBC EXIT DBFLM ASC 6,BUFFER FULL/ SKP * GET INPUT * GTI NOP LDA TMP DOES HE WANT AND .177 CPA  þúAA ASCII? JMP GTI0 YES JSB GETB GET A BLOCK JMP DBDNE ASK IF DONE SEZ IF IT'S ASCII DONT SWAP A&B LDA B JMP GTI,I GTI0 JSB GETC GET A CHARACTER JMP DBDNE ASK IF DONE JMP GTI,I DBDNE JSB .FMT OUTPUT DONE? DEF DNEM JSB GIFO CALL FOR INPUT JSB GETB GET ANSWER JMP DBDNE NO INPUT CPA AYE YES JMP DBBC CPA ANO NO JMP *+2 JMP DBDNE NO ASK AGAIN. JSB GIFO CALL FOR ANOTHER INPUT JMP GTI+1 DNEM ASC 3,DONE?_ ANO ASC 1,NO AYE ASC 1,YE SKP PLO LDA DBC SET FOR OUTPUT BUFFER STA LDBC LDA DBD STA LDBD JMP PLB GO OUTPUT IT * PLI LDA DBCI SET FOR INPUT BUFFER STA LDBC LDA DBDI STA LDBD * PLB JSB PDVC CHECK FOR FAST DEVICE LIST LDA LDBC IS BUFFER EMPTY? SZA,RSS ? JMP IRQ YES JSB DBIN GET ANY PARAMETERS LDA TMP+1 IF FIRST = ZERO SZA JMP *+5 INA DO ALL OF BUFFER STA TMP+1 LDA LDBC STA TMP+2 LDB TMP+2 IF SEC = ZERO SZB,RSS LDB A USE INPUT COUNT STB TMP+2 CLA CLEAR LIST FLAG STA LDBC SKP DBL0 LDA FDF ERA CLA LDB DBLFM GET FORMAT JSB FMTR,I CLA,INA LDB TMP+1 OUTPUT PARAMETER JSB FMTR,I LDA .M4 SET MAX LINE NUM. CNT STA TMP+3 DBL1 LDA FDF NO OUTPUT OCTAL LISTING ERA CLA LDB DBLO JSB FMTR,I CCA LDB TMP+1 ADB LDBD ADB .M1 LDB B,I JSB FMTR,I LDB SW9 CHECK FOR ABORT JSB SWRT,I JMP DBL2 ISZ TMP+1 LDA TMP+1 CMA,INA ADA TMP+2 SSA JMP DBL2 OUTPUT COMPLETE ISZ TMP+3 Í‚þú JMP DBL1 CLA JSB DVIC JMP DBL0 DBL2 CLA JSB DVIC JMP IRQ FINISHED DBLFM DEF *+1 ASC 2,(#)_ DBLO DEF *+1 ASC 2, #_ SKP * WAIT FOR OPERATOR * WAP NOP JSB .FMT OUTPUT MESSAGE DEF WAPM LDB CULN WITH CURRENT LINE NUMBER CLA,INA JSB FMTR,I WAPL JSB GIFO CALL FOR INPUT LDA IBUFD,I CHECK IF "CO" CPA ACO ? JMP WAP,I CONTINUE CPA AST STOP JMP IRQ YES JSB .FMT TELL OPERATOR OF ERROR DEF MSG2 JMP WAPL AND TRY AGAIN * WAPM ASC 7,WAIT (LINE #)/ * * * * PROCESS GO TO STATEMENT * GTP NOP ISZ GTP ADJUST RETURN FOR LINE CHANGE JMP GTP,I SKP * PROCESS GOSUB * GSP NOP ISZ GSPTR MOVE TO NEXT BLOCK STB SVB SAVE REP COUNT LDB GSPTR CHECK CMB,INB IF THERE IS ADB GSPTE ROOM SSB ? JMP GSPE NO - SO ERROR LDB PRPTR SAVE PROGRAM POINTER STB GSPTR,I LOCATION ISZ GSPTR LDB SVB GET REP COUNT SZB,RSS INB SSB,RSS IF NOT NEG. CMB,INB MAKE IT NEG STB GSPTR,I ISZ GSP ADJUST RETURN FOR LINE CHANGE JMP GSP,I GSPTR NOP GSPTS DEF GSPB GSPTE DEF GSPB+30 GSPB BSS 32 * GSPE JSB .FMT DEF GSPEM JMP OPLNN GSPEM ASC 3,GS OV_ SKP * PROCESS RTN STATEMENT * RTP NOP LDA GSPTR CHECK IF THERE HAS CPA GSPTS BEEN A GOSUB JMP OPLNE NO - THEN ERROR ISZ GSPTR,I FINISHED WITH LOOP JMP RTPN NO LDA GSPTR YES ADA .M2 MOVE POINTER BACK TWO STA GSPTR INA RESET LINE NUMBER LDA A,I STA PRPTR LDA PRPTR,I STA TMP JMP RTP,I RTPN CCA ADA GSPTZ…þúR LDA A,I ADA .M2 LDA A,I ISZ RTP ADJUST RETURN FOR LINE CHANGE JMP RTP,I SKP * OUTPUT A MESSAGE * MSP NOP STA MSPM+2 CLA SFC INTP SAVE INTERRUPT STATUS CCA STA DTP CLF INTP TURN OFF INTERRUPTS LDA .4 LDB MSPM JSB SLOP,I LDA DTP SZA RESTORE INTERRUPT STATUS STF INTP JMP MSP,I MSPM DEF *+1 ASC 2,* XX * * * PROCESS DELAY STATEMENT * DTP NOP SZA IF IT'S ZERO FORGET IT JSB TMRR,I GO WAIT JMP DTP,I NOW RETURN TO CALLER * * * TEST EXECUTION * TEP NOP CMA MAKE IT NEG. STA TEPA SAVE IT LDB TSTP GET POINTER TO TEST LIST TEP0 LDA B,I GET ADDRESS CPA .M1 IS IT THE TERMINATOR JMP TEP,I YES - EXIT INB ISZ TEPA IS THIS THE TEST? JMP TEP0 NO TRY NEXT ONE CPA OPNO IF IT'S OPDSN THEN FORGET IT JMP PSTOP+1 JSB A,I YES - EXICUTE IT JMP TEP,I RETURN TO CONTROL OPNO DEF OPDSN TEPA EQU * * * * STOP EXECUTION * PSTOP NOP JSB .FMT OUTPUT STOP MESSAGE DEF STPM JMP OPLNN STPM ASC 3,STOP_ SKP MXNM DEC 9999 * AA OCT 101 AI OCT 111 AK OCT 113 AP ASC 1,P AIK ASC 1,IK AIA ASC 1,IA ARK ASC 1,RK ARA ASC 1,RA ACB ASC 1,CB ABY ASC 1,BY ALO ASC 1,LO ALI ASC 1,LI ALF ASC 1,LF ACF ASC 1,CF AGO ASC 1,GO ADB ASC 1,DB ACO ASC 1,CO AST ASC 1,ST * MINUS OCT 55 SPC OCT 40 SVA NOP SVB NOP PRPTR NOP PRPLA NOP LDBC NOP LDBD NOP * IBUFP NOP IBUFD DEF IBUF NOP IBUF BSS 37 * STTBD DEF STTBP * DVIC NOP FDF NOP JMP DVIC,I JSBSD JSB SLOP,I SKP STTBP EQU * * ASC 2,WAIT ASC 1, DEF WAP * ASC 2,GOTO ASC 1,I ËŠ640 DEF GTP * ASC 2,GOSB ASC 1,II DEF GSP a«6ÿÿ ÿý3 A ÿ13181-18004 1629 S 0146 13181/13183 MAG TAPE DG              H0101 <þú* ASC 2,RTN ASC 1, DEF RTP * ASC 2,MSG ASC 1,A DEF MSP * ASC 2,DLY ASC 1,I DEF DTP * ASC 2,TEST ASC 1,K DEF TEP * ASC 2,STOP ASC 1, DEF PSTOP * DEC -2 * OPEND EQU * SKP ORG 1760B .5 OCT 5 .6 OCT 6 .177 OCT 177 .D72 DEC 72 .M1 DEC -1 .M2 DEC -2 .M3 DEC -3 .M4 DEC -4 .M10 DEC -10 .M60 OCT -60 DBC NOP CULN NOP * * TMP NOP LINE NUMBER NOP POINTER TO STATEMENT TABLE NOP PRAM A NOP PRAM B HED 7970 (13181-13183) TAPE DIAGNOSTIC * REVISION DATE 06/15/76 * SETUP: * * 1. LOAD DIAGNOSTIC CONFIGURATOR * * 2. LOAD THE 7970 MAG TAPE DIAGNOSTIC * * 3. SET P TO 100 * * 4. LOAD THE SWITCH REGISTER ACCORDING TO THE TABLE BELOW: * * SWITCH REG SPEED /INTERFACE * 15 45 * 14 37.5 * 13 25 * 12 12.5 * 11 13183 * 10 13181 * 9 NON DMA FOR 13183 * 8-6 NOT USED * 5-0 SELECT CODE * * 5. PRESS PRESET; PRESS RUN * * 6. IF HALT 102074, GO TO STEP 7. * * 7. LOAD SWITCH REGISTER WITH OPTIONS ACCORDING TO * TABLE BELOW: * * THE FOLLOWING SWITCH REGISTER SETTINGS ARE USED * FOR PROGRAM CONTROL: * * SWITCH MEANING IF SET * 0 USE MAGNETIC TAPE UNIT 0 * 1 USE MAGNETIC TAPE UNIT 1 * 2 USE MAGNETIC TAPE UNIT 2 * 3 USE MAGNETIC TAPE UNIT 3 * 4 USE DMA CHANNEL 1 ON ALL READ/WRITE * 5 USE DMA CHANNEL 2 ON ALL READ/WRITE * 6 INHIBIT ALL TESTS WITH EMBEDDED REWINDS * 7 DELETE CRCC AND LRCC CHECK (13181) * 8 SUPPRESS TEST WHICH REQUIRE OPERATOÈuþúR * 9 ABORT * 10 SUPPRESS NON-ERROR MESSAGES * 11 SUPPRESS ERROR MESSAGES * 12 LOOP ON DIAGNOSTIC * 13 LOOP ON LAST TEST * 14 SUPPRESSES ERROR HALTS * 15 HALT AT END OF EACH TEST(102076) * * * * 8. PRESS PRESET; AND RUN * * ERROR HALTS/NORMAL HALTS * 102075 HALT AFTER SETTING SWITCH 9 * 102073 BAD SELECT CODE-GOTO STEP 4 * 102072 BAD TAPE OPTIONS-GOTO STEP 4 * 102070 P-100 ENTRY IN 8K MODE * 102071 NO DMA FOR 13183-GOTO STEP 4 * 106077 BAD INTERRUPT TRAP CELL-RELOAD GOTO STEP 1 * 102077 END OF PASS * 102076 HALT AT END OF TEST * * * ORG PGO SETUP OVERLAY PRIOR TO OPDSN JSB OPSET,I ORG CMDL COMMAND OVERLAY FOR OPDSN JSB PCMND,I OVERLAY FOR OP DESIGN * ORG 2000B .BEGN EQU * BEGIN THE DIAGNOSTIC JSB SETUP,I ORG 100B JMP START,I GO TO CONFIGURATION ORG 126B DSN OCT 112100 DIAGNOSTIC SERIAL NUMBER ORG 133B DEF .ERMS OVERLAY ERROR MESSAGE POINTER ORG 140B IOIP DEF IOID POINTER TO I/O LIST (COMMAND CH) IOIP2 DEF IOID2 POINTER TO I/O LIST (DATA CH) TSTP DEF TSTD POINTER TO TESTS STDA OCT 177777 STD. TESTS O-15 STDB OCT 007777 STD. TEST 16-27 HDMP DEF HDMS1 POINTER TO HEADER MESSAGE SWRC DEF .SWRG ORG 150B * STATU NOP CURRENT TAPE UNIT STATUS SUBTS NOP CURRENT SUBTEST NUMBER UNIT NOP CURRENT TAPE UNIT NUMBER OCMD4 NOP LAST EXECUTED COMMAND EXPST NOP EXPECTED STATUS RECNO NOP #OF RECORDS FROM BOT * * * LIST OF POINTERS * .TST0 DEF TST00 POINTER TO TEST ZERO (TST00) .ZBIO DEF ZBIO POINTER TO START OF BASIC I/O .EXEC DEF EXE01 POINT TO EXECUTIVE EXTENSION MOD MS DEF MSG NON ERROR MESSAGE REPORTINwÆþúG .ZERM DEF ZERMS POINTER TO ERROR MESSAGE .FMT3 DEF FMT03 POINTER TO FORMATTER SPECIAL SIOR DEF SIOTR POINTER TO SIO READ ROUTINE SIOW DEF SIOTW POINTER TO SIO WRITE ROUTINE FILL DEF .FILL POINTER TO FILL BUFFER ROUTINE READ DEF .READ POINTER TO READ ROUTINE .RDGP DEF RDGAP POINTER TO READ GAP SPACE ROUTINE .DMUP DEF DMAUP POINTER TO DMA SETUP ROUTINE DMAWT DEF .DMWT POINTER TO DMA WRITE ROUTINE DMARD DEF .DMRD POINTER TO DMA READ ROUTINE LONGW DEF .LONG POINTER TO SUBROUTINE LONGW LONGR DEF .LONR POINTER TO SUBROUTINE LONGR .RD10 DEF RD10 POINTER TO READ COMMAND CHANGE .CLBF DEF CLRBF POINTER TO ROUTINE CLRBF .RWSL DEF RWSLO POINTER SLOW REWIND ROUTINE .ALCP DEF ALLCP POINTER TO ALL UNIT COMPARE ROUTINE .ALRW DEF ALLRW POINTER TO ALL UNIT REWIND ROUTINE .ALWR DEF ALLWR POINTER TO ALL UNIT WRITE ROUTINE .ALBS DEF ALLBS POINTER TO ALL UNIT BACKSPACE START DEF .STAR POINTER TO START OF CONFIGURATION BEGIN DEF .BEGN POINTER TO START OF DIAGNOSTIC SCIN DEF ZISC POINTER TO I/O SETUP ROUTINE .WCC DEF WCC POINTER TO WCC COMMAND .RRF DEF RRF POINTER TO RRF COMMAND SETUP DEF .SETU POINTER TO 2000 OCTAL CONFIG. .LRCC DEF LRCC POINTER TO LRCC ROUTINE .CRCC DEF CRCC POINTER TO CRCC ROUTINE ..TIM DEF .TIME POINTER TO TIME CONTSTANTS .PRIT DEF PARIT POINTER TO PARITY ROUTINE DCODE DEF .DCOD UPDATES RECORD COUNT .CKIN DEF CKIN POINTER TO CKIN .CKOT DEF CKOUT POINTER TO CKOUT .CMPQ DEF COMPQ POINTER TO COMPQ .ZUSR DEF ZUSR NOP * * * * * LINKS TO OPERATOR DESIGN *********************** * OPSET DEF .OPST POINTER TO PODSN SETUP .IRQ DEF IRQ POINTER TO INPUT REQUEST .SNTX DEF SYNTX PRE-PROCESSOR FOR STATEMENTS. .END OCT 3777 END OF PROGRAM AREA SUPA DEF ZCEND START OF USER TABLE EUPA EQU .END END OF USER PROGRAM AREA STUD DEF STUDD START OF USER STATEMENT 0’þúTABLE DBD EQU FWAM START OF USER BUFFER CNT01 NOP COUNTER FOR OPERATOR DESIGN .OPLN DEF OPLNE POINTER TO LINE MISSING ROUTINE FMTR2 DEF .FMTR POINTER TO FORMATTER PCMND DEF .PCMD POINTER TO PROG EXTENSION * * * * LINKS TO INTERRUPT ROUTINES * INTJP DEF TCJMP POINTER TO LOAD TRAP WITH JMP INTJB DEF TCJSB POINTER TO LOAD TRAP WITH JSB JMPI JMP *+1,I JMP INSTRUCTION JMPIL NOP JUMP OR JSB DESTINATION JSBI JSB JMPIL,I JSB INSTRUCTION INTON DEF .INTN POINTER TO INTERRUPT TURN ON INTOF DEF .INTF POINTER TO INTERRUPT TURN OFF LDINT DEF .LDIT POINTER TO LOAD TRAP WITH ERROR MESSAGES TCCMD NOP INTERRUPT LINK TO COMMAND CH TCDAT NOP INTERRUPT LINK TO DATA CH TCDA1 NOP INTERRUPT LINK TO DMA CH 1 TCDA2 NOP INTERRUPT LINK TO DMA CH 2 .ZTCH DEF ZITCH OPDSN-PUTS HALTS IN TRAP CELLS * * * * * CONSTANTS AND STORAGE * * PAGING CONSTANTS FOR ORG-S * PAG06 EQU OPEND PAG10 EQU 10000B PAG12 EQU 12000B PAG14 EQU 14000B PAG16 EQU 16000B * SC NOP CURRENT SELECT CODE DATA EQU 10B LOAD DUMMY SELECT CODE IN DATA CHANNEL CMMD EQU DATA+1 LOAD DUMMY SELECT CODE INTO COMMAND CHANNEL * * SWITCH REGISTER MASKS SWALL OCT 17 * SWITCH REGISTER MASKS * SW00 OCT 1 BIT 0 SW01 OCT 2 BIT 1 SW02 OCT 4 BIT 2 SW03 OCT 10 BIT 3 SW04 OCT 20 BIT 4 SW05 OCT 40 BIT 5 SW06 OCT 100 BIT 6 SW07 OCT 200 BIT 7 SW08 OCT 400 BIT 8 SW09 OCT 1000 BIT 9 SW10 OCT 2000 BIT 10 SW11 OCT 4000 BIT 11 SW12 OCT 10000 BIT 12 SW13 OCT 20000 BIT 13 SW14 OCT 40000 BIT 14 SW15 OCT 100000 BIT 15 SW68 OCT 10500 BIT 6,8,AND 12 * * BASE PAGE VARIABLES * TMP1 NOP TMP2 NOP DMAFG NOP DMA CHANNEL FLAG FGDMA NOP FLAG FOR DMA R}”þúEAD OR WRITE * BREG NOP B REG CONTENTS AREG NOP A REG CONTENTS DTA NOP LOCATION OF DATA CHANNEL SC CMD NOP LOCATION OF COMMAND CHANNEL SC ORGSC NOP FG183 NOP IF FG183=0,THEN IT IS 13181 * IF FG183=-1,THEN IS 13183 DIAG. FGINT NOP INTERRUPT FLAG INTFG NOP TEMPORARY INTERRUPT FLAG TST0F NOP TEST 0 FLAG- -1=IN TEST 0 * * CNTR NOP COUNT NOP BUFFER LENGTH COUNTER DBCI NOP INPUT BUFFER LENGTH DBDI NOP INPUT BUFFER ADDRESS * BUFLG EQU DBC BUFFER LENGTH INBUF EQU DBDI INPUT BUFFER ADDRESS INBFL EQU DBCI LENGTH OF INPUT BUFFER RDERR NOP READ ERROR FLAG (CONTENTS= STATUS) WRERR NOP WRITE ERROR FLAG (CONTENTS= STATUS) .RDCT NOP .RDTP NOP TEMPORARY STORAGE BFMAX NOP MAX BUFFER SIZE DBCO EQU BFMAX DMASK NOP DMA MASK FOR INPUT BUFFER LENGTH OLDTN NOP OLD TEST NUMBER DTIME NOP TIME FOR DMA FLAG TO SET CRCFG NOP CRCC SKIP FLAG INSWR NOP INTERNAL SWITCH REG.-TEST 30 ERSKP NOP ERROR MESSAGE SKIP FLAG SKPSW NOP SKIP SWITCH REGISTER CHECK FLAG * * NUMERICAL CONSTANTS * .1 OCT 1 .7 OCT 7 .09D DEC 9 .10 OCT 10 .17 OCT 17 .37 OCT 37 .77 OCT 77 .100 OCT 100 .100D DEC 100 .200 OCT 200 .M6 OCT -6 .N100 OCT -100 .PAGE DEC 1024 .MPAG DEC -1024 PAGE LENGTH CONSTANTS .ME3 DEC -1000 * * COMMAND SET FOR 13183 INTERFACE ATSEL DEF *+1 ADDRESS OF SELECT COMMANDS SL0 OCT 1400 SELECT UNIT ZERO SL1 OCT 2400 SELECT UNIT 1 SL2 OCT 4400 SELECT UNIT 2 SL3 OCT 10400 SELECT UNIT 3 WCC OCT 31 WRITE COMMAND WFM OCT 211 WRITE FILE MARK RRF OCT 23 READ RECORD FORWARD FSR OCT 3 FORWARD SPACE RECORD FSF OCT 203 FORWARD SPACE FILE GAP OCT 15 WRITE GAP BSR OCT 41ð“þú BACKSPACE RECORD BSF OCT 241 BACKSPACE FILE REW OCT 101 REWIND RWO OCT 105 REWIND OFF-LINE CLR OCT 110 CLEAR CONTROLLER GFM OCT 215 GAP FILE MARK RFF OCT 223 READ FORWARD UNTIL NEXT FILE MARK RRR OCT 61 READ RECORD IN REVERSE * * * INSTRUCTION LIST * .LDB LDB A POINTER TO LDB INSTRUCTION * * STATUS WORD BIT MASKS * MSKOL OCT 1 OFFLINE MSKDE OCT 2 DATA ERROR MSKFP OCT 4 FILE PROTECTED MSKCR OCT 10 CMMD REJECT MSKTE OCT 20 TIMING ERROR MSKET OCT 40 EOT MSKLP OCT 100 LOAD POINT MSKEF OCT 200 END OF FILE MSKIB OCT 400 INTERFACE BUSY MSKTB OCT 1000 TAPE UNIT BUSY MSKRW OCT 2000 REWINDING MSKOB OCT 4000 ODD BYTE MSKST OCT 10000 SINGLE TRACK ERROR MSKDN OCT 100000 DENSITY MSKSL OCT 60000 SEL. TAPE UNIT BITS 13+14 MK377 OCT 377 MASK FOR BITS 7-0 MK77K OCT 77400 MASK FOR BITS 14-8 MSK77 OCT 77777 MASK NOP TEMPORARY MASK MSKIO OCT 4033 OB,TE,DE,OL,CR CHECK MASK MSKCL OCT 14632 BITS CLEARED BY CLEAR COMMAND MSKDT OCT 22 DATA AND TIMING ERROR MASK MSKRT OCT 3000 REWIND AND TAPE BUSY MASK .2 EQU SW01 .3 EQU FSR .4 EQU SW02 .15 EQU GAP SW9 EQU SW09 S128 EQU SL3 * * * EQUIPMENT TABLE (EQT) * UNICT NOP CURRENT UNIT UNITS NOP # OF UNITS ON-LINE UNITX NOP TEMPORARY UNIT NUMBER * * TIME DELAY TABLE * TIME DEF *+1 RWTIM DEC 1 REWIND RESET TIME-45IPS WRTIM DEC 8 WRITE STARTUP- 45IPS CLTIM DEC 10 MAXIMUM CLEAR TIME GAPTM DEC 96 GAP TIME IGTIM DEC 9 IRG TIME MINBY DEC 13 MINIMUM BYTE TIME (100 WORDS) MAXBY DEC 16 MAXIMUM BYTE TIME (100 WORDS) DELTA NOP DELTA TIME CONSTANT-MAX TIME * * * COMMONLY USED SUBROUTINES * * * CHECK TO SEE THAT AT LEAST ONE UNIT ON-LINE * á‡þú REPORTS ERROR IF NO UNITS ARE ON-LINE * COUNTS UP # OF UNITS ONLINE * AND UPDATES EQT. *CALL: * JSB UNIUP * * UNIUP NOP UNIU1 EQU * CLA SELECT UNIT ZERO STA UNITS CLEAR UNITS COUNTER JSB UPDAT UPDATE EQT LDA .1 JSB UPDAT SELECT UNIT 1 LDA .2 JSB UPDAT SELECT UNIT 2 LDA .3 JSB UPDAT SELECT UNIT 3 LDA UNITS GET THE # OF UNITS ON-LINE SZA IF ZERO UNITS-REPORT ERROR UNIU2 EQU * ON-LINE JMP UNIUP,I EXIT UNIU5 EQU * ERROR- ALL UNITS ARE OFF-LINE CLB SETUP EXPECTED STATUS JSB ERMS,I REPORT ERROR DEF E032 JMP UNIU1 GO TRY AGAIN E032 EQU * ASC 09,E032 NO UNITS UP/ * * UPDAT-UPDATES EQT * UPDAT NOP JSB UNISL GO SELECT TAPE UNIT JMP UNIU8 OFF-LINE RETURN JMP UNIU7 ON-LINE RETURN UNIU7 EQU * ISZ UNITS INCREMENT # OF UNITS ONLINE UNIU8 EQU * JMP UPDAT,I EXIT * * * CLRCH- CLEARS DATA AND COMMAND CHANNELS * *CALL: * JSB CLRCH * * CLRCH NOP CLRC1 CLC DATA,C CLRC2 CLC CMMD,C CLC CHAN+4,C CLEAR DMA CHANNELS STF CHAN+4 CLC CHAN+5,C STF CHAN+5 JMP CLRCH,I * * * AOTA- OTA ON COMMAND CHANNEL * LOAD A REGISTER WITH THE COMMAND *CALL: * LDA * JSB AOTA * * EFCK NOP LDA MSKEF JSB BITCK CHECK FOR EF JMP EFCK1 YES-EXIT LDB MSKEF SETUP EXPECTED™þú STATUS JSB ERMS,I NO-REPORT ERROR DEF E053 JMP EFCK1 E053 EQU * ASC 11,E053 FILE MARK ERROR/ EFCK1 JMP EFCK,I EXIT * * OCMMD NOP COMMD SHOULD BE IN THE 'B' REG. STB OCMD4 SAVE COMMAND OCMD1 OTB CMMD * * CHECK FOR COMMAND REJECT BIT SET * JSB STATS GET STATUS AND MSKCR IS COMMAND REJECT BIT SET SZA,RSS JMP OCMD3 CLB SETUP EXPECTED STATUS JSB ERMS,I YES-REPORT ERROR DEF E027 JMP OCMMD,I EXIT E027 EQU * ASC 10,E027 COMMAND REJECT/ * OCMD3 EQU * JSB DCODE,I GO UPDATE RECORD COUNT OCMD2 STC CMMD,C JMP OCMMD,I * * * CLEAR NOP CLEAR THE CONTROLLER LDA FGINT LOAD INTERRUPT FLAG SZA,RSS IS IT SET? JMP CLEA3 NO-SKIP OVER INTERRUPT SETUP JSB LDINT,I LOAD TRAP CELLS WITH ER MSG LDA CMD JSB INTJP,I LOAD COMMAND CH TRAP CELL DEF TCCMD INTERRUPT LINK TO BASE PAGE DEF CLEA2 DESTINATION OF INTERRUPT JUMP CLEA3 EQU * LDB CLR LOAD A CLEAR INSTRUCTION JSB OCMMD OUTPUT COMMAND LDA CLTIM GET MAX CLEAR TIME JSB TMRR,I GO WAIT CLEA1 EQU * SFC CMMD IS CLEAR COMMAND FINISHED? JMP CLEA2 YES-CONTINUE CLB SETUP EXPECTED STATUS JSB ERMS,I NO-REPORT ERROR DEF E030 JMP CLEA2 E030 EQU * ASC 9,E030 CLR TIME OUT/ CLEA2 EQU * JSB LDINT,I LOAD TRAP CELLS WITH ER MSG JSB STATS GET STATUS AND MSKCL ARE PROPER STATUS BITS CLEAR? SZA,RSS JMP CLEA5 YES-OK TO EXIT LDA MSKRT CHECK RW BITS JSB BITCK ARE THEY SET? JMP CLEA5 YES-EXIT JMP CLEA4 NO-REPORT ERROR CLEA5 EQU * CLB CLEAR B REGISTER FOR RETURN JMP CLEAR,I NO-EXIT CLEA4 EQU * JSB STATS GET STATUS AND MSKLP çÚþú ISOLATE LOAD PT BIT LDB A SETUP EXPECTED STATUS JSB ERMS,I EPORT ERROR DEF E043 JMP CLEAR,I EXIT E043 EQU * ASC 8,E043 CLR ERROR/ * * * FLGWT NOP THIS ROUTINE WILL WAIT APPROX. STA AREG -SECOND FOR THE COMMAND CHANNEL STB BREG LDB .ME3 SET COUNTER FOR 1 SEC. TIME OUT STB FLGW2 SETUP TIME OUT COUNTER LDA FGINT LOAD INTERRUPT FLAG SZA,RSS IS IT SET? JMP FLGW3 NO-CONTINUE IN NON-INTERRUPT JSB LDINT,I YES-LOAD TRAP CELLS WITH ERROR MSG LDA CMD JSB INTJP,I LOAD COMMAND CH TRAP CELL DEF TCCMD INTERRUPT LINK TO BASE PAGE DEF EPT01 DESTINATION OF INTERRUPT JUMP JMP FLGW4 GO WAIT FOR INTERRUPT FLGW3 EQU * JSB IBTB GO CHECK BUSY BITS FLGW1 SFC CMMD IS COMMAND FLAG SET? JMP EPT01 YES-EXIT ROUTINE LDA .1 NO- JSB TMRR,I GO WAIT 1 MILLI-SECOND ISZ FLGW2 IS TIME OUT COUNTER ZERO? JMP FLGW1 NO-LOOP FLGW5 EQU * JSB CLEAR CLEAR CONTROLLER CLB SETUP EXPECTED STATUS JSB ERMS,I REPORT LOST COMND FLAG DEF E145 POINTER TO MESSAGE JMP EPT01 ERROR-EXIT E145 EQU * ASC 10,E145 LOST CMND FLAG/ EPT01 EQU * JSB LDINT,I LOAD TRAP CELLS WITH ER MSG LDA AREG RESTORE THE "A" REGISTER LDB BREG RESTORE THE "B" REG JMP FLGWT,I * FLGW2 NOP TIME OUT COUNTER * FLGW4 EQU * WAIT FOR INTERRUPT ROUTINE LDA .1 GO WAIT FOR 1 MILL-SEC JSB TMRR,I ISZ FLGW2 INCREMENT TIME OUT COUNTER JMP FLGW4 NOT FINISHED-LOOP JMP FLGW5 TIME OUT-GO REPORT ERROR * * BSRWF NOP BACKSPACE RECORD WITH FLAG LOOP LDB BSR BACKSPACE RECORD JSB OCMMD OUTPUT COMMAND JSB FLGWT WAIT JMP BSRWF,I EXIT * BSRWO NOP BACKSPACE RECOù“þúRD W/O FLAG LOOP LDB BSR BACKSPACE RECORD JSB OCMMD OUTPUT COMMAND JMP BSRWO,I EXIT * * FORWARD SPACE RECORD ROUTINE * FSRWF NOP FORWARD SPACE RECORD WITH FLAG LDB FSR LOAD FORWARD SPACE RECORD JSB OCMMD OUTPUT COMMAND JSB FLGWT WAIT FOR FLAG JSB LPCK CHECK FOR LP CLEAR JMP FSRWF,I RETURN TO USER * REWIND SUBROUTINES * * * * REWIND UNIT ROUTINE * REWND NOP LDB REW LOAD REWIND JSB OCMMD OUTPUT REWIND COMMAND JSB FLGWT WAIT FOR COMMAND FLAG REW4 EQU * LDA MSKOL LOAD OFF-LINE BIT JSB BITCK IS THE BIT SET? JMP REW1 YES-REPORT ERROR LDA MSKRT IS TAPE BUSY AND REWINDING? JSB BITCK JMP REW4 YES-BITS SET LDA MSKLP LOAD LP BIT JSB BITCK IS IT SET? JMP REW3 YES-GO CHECK FOR LP EXIT JMP REW1 GO REPORT ERROR REW3 EQU * JSB STATS GET TAPE STATUS LDB MSKET LOAD EOT,TAPE BUSY, RW BITS ADB MSKRT AND B ISOLATE BITS IN STATUS SZA,RSS ARE ANY BITS SET? JMP REW2 NO-EXIT REW1 EQU * LDB MSKLP YES-REPORT ERROR JSB ERMS,I REPORT REWIND FAILURE DEF E035 JMP REW5 EXIT E035 EQU * ASC 09,E035 REWIND ERROR/ REW2 EQU * STA RECNO CLEAR RECORD COUNT REW5 EQU * JMP REWND,I EXIT * * STATUS ROUTINE * A REG.=STATUS * STATS NOP STA1 LIA CMMD STA STATU HOLD THE STATUS TEMPORARILY JMP STATS,I * * * * LPREW - ROUTINE REWINDS TAPE TO LP IF UNIT IS * NOT ALREADY AT LP * * CALL: * JSB LPREW * NORMAL RETURN (P+1) * LPREW NOP JSB CLEAR CLEAR CONTROLLER LDA MSKLP JSB BITCK IS LP BIT SET? JMP LPR01 YES-SKIP REWIND JSB REWND NO-REWIND UNIT LPR01 EQU l\B@<* JMP LPREW,I RETURN TO USER * WTGAP NOP JSB FPCK CHECK FOR NO WRITE RING LDB GAP LOAD GAP COMMAND JSB OCMMD OUTPUT COMMAND JSB FLGWT WAIT FOR OPERATION TO FINISH LDA MSKLP CHECK FOR LOAD POINT JSB BITCK IS IT SET? Ü]Bÿÿ ÿý4D ÿ13181-18005 1629 S 0146 13181/13183 MAG TAPE DG              H0101 =þú JMP WTGP1 YES-REPORT ERROR JSB LPCK CHECK FOR LP CLEAR JMP WTGAP,I EXIT WTGP1 EQU * CLB SETUP EXPECTED STATUS JSB ERMS,I REPORT ERROR DEF E036 -GAP FAILED JMP WTGAP,I EXIT * * * * ROUTINE TO BACK SPACE FILE * BSFWF NOP LDB BSF BACK SPACE FILE JSB OCMMD OUTPUT COMMAND JSB FLGWT WAIT FOR OPERATION TO FINISH JSB EFCK CHECK FOR EF MARK JMP BSFWF,I EXIT * * ROUTINE TO FOREWARD SPACE FILE * FSFWF NOP LDB FSF LOAD FORWARD SPACE FILE JSB OCMMD OUTPUT COMMAND JSB FLGWT WAIT FOR OPERATION TO FINISH JSB LPCK CHECK FOR LP CLEAR JSB EFCK CHECK FOR EF MARK JMP FSFWF,I EXIT * * * WRITE FILE MARK ROUTINE * WRTFM NOP JSB FPCK CHECK FOR NO WRITE RING LDB WFM LOAD WRITE FILE MARK JSB OCMMD OUTPUT COMMAND JSB FLGWT WAIT FOR OPERATION TO FINISH JSB EFCK CHECK EF SET JSB LPCK CHECK FOR LP CLEAR JMP WRTFM,I EXIT * CHECK FILE MARK AT END OF READ * SEE TEST 34 7970/181 P33 * * ROUTINE TO CHECK FOR EOT * CALL: * JSB EOTCK * JMP * (EOT BIT NOT SET) * . * . * EOTCK NOP LDA MSKET LOAD EOT MASK JSB BITCK IS IT SET? JMP EOT01 YES-GO CHECK LP NOT SET ISZ EOTCK NO-ADJUST RETURN JMP EOTCK,I EXIT EOT01 EQU * JSB LPCK CHECK LP NOT SET JMP EOTCK,I EXIT * * * ROUTINE TO CHECK EOT AND REWIND IF EOT BIT IS SET * CALL: * JSB EOTRW * EOTRW NOP JSB EOTCK IS EOT BIT SET? JSB LPREW YES-REWIND UNIT JMP EOTRW,I EXIT * * * ROUTINE TO * SETUP COMPARISON BUFFER FLUXX NOP LDA .1 SINGLE PATTERN SEQUENCE LDB HLFRQ PATTERN S.A.3þú(1600 FLUX REVERSALS) JSB FILL,I DEF FLUX1 DEC 100 BUFFER LENGTH DEF FLUX2 ERROR RETURN FLUX1 EQU * FLUX2 EQU * ERROR RETURN JMP FLUXX,I EXIT HLFRQ DEF HALFQ HALFQ OCT 125125 * * BUFFER COMPARE ROUTINE * * COMPR NOP * NEED A ROUTINE TO GIVE BAD AND GOOD WORD AND WORD COUNT LDA BUFLG SET THE COMPARE WORD COUNTER LDB INBFL GET INPUT BUFFER LENGTH CPA B ARE THEY EQUAL? JMP COMP6 YES-CONTINUE CLB SETUP EXPECTED STATUS JSB ERMS,I NO-REPORT ERROR DEF E050 JMP COMP6 E050 EQU * ASC 11,E050 REC LENGTH ERROR/ COMP6 EQU * LDA BUFLG LOAD BUFFER LENGTH CMA,INA MAKE IT NEGATIVE STA COUNT STORE IT IN COUNT LDA FWAM SET THE BUFFER POINTER STA TMP1 -FOR THE OUT PUT BUFFER LDB INBUF SET THE POINTER FOR THE STB TMP2 -INPUT BUFFER ENT05 LDA TMP1,I GET THE OUTPUT WORD AND CPA TMP2,I -COMPARE IT TO INPUT JMP ENT04 LDB BUFLG GET RECORD LENGTH ADB COUNT GET WORD COUNT INB GET CORRECT WORD COUNT * NOTE NUMBER WILL PRINT OUT IN OCTAL RBL MULTIPLY BY 2 FOR BYTE COUNT STB COMP3 JSB MS,I REPORT BYTE IN ERROR DEF COMP7 RETURN DEF H101 POINTER TO MESSAGE COMP3 NOP BYTE IN ERROR H101 EQU * ASC 12,H101 TAPE BYTE COUNT #/ COMP7 EQU * * LDB TMP2,I GET BAD WORD STB COMP2 LDA TMP1,I LOAD GOOD WORD STA COMP1 JSB MS,I ERROR MESSAGE DEF COMP5 RETURN DEF H067 POINTER TO MESSAGE COMP2 NOP BAD WORD COMP1 NOP GOOD WORD H067 EQU * ASC 19,H067 DATA WORD IS= # AND SHOULD BE= #/ COMP5 EQU * CLB SETUP EXPECTED STATUS JSB ERMS,I REPORT DATA TRANSFER ERROR DEF E062 JSB ERRCK CHECK [yþúFOR READ AND WRITE ERRORS COMP4 EQU * JMP COMPR,I EXIT ENT04 ISZ TMP1 ADVANCE THE BUFFER POINTERS ISZ TMP2 ISZ COUNT INCREMENT THE WORD COUNTER JMP ENT05 COMPARE THE NEXT LOCATIONS JMP COMP4 EXIT E062 EQU * ASC 08,E062 DATA ERROR/ * * RANDOM NUMBER GENERATOR * RAND NOP LDA BASE LOAD THE BASE ADA PRIME SUBTRACT THE PRIME SSA SKIP IF IT'S STILL POSITIVE LDA BASE THE BASE ISN'T BIG ENOUGH CLE,ELA DOUBLE THE BASE OR REMAINDER STA BASE -FOR THE NEXT TRY JMP RAND,I SPC 1 PRIME DEC -31069 BASE ABS 034512B SKP * * ROUTINE TO FILL OUTPUT BUFFER WITH BIT PATTERN * * CALLING SEQUENCE (NOTE VARIABLE BUFFER LENGTH) * JSB FILL,I * "A" CONTAINS THE NUMBER OF PATTERNS IN THE SEQUENCE * "B" CONTAINS THE S.A. OF THE PATTERN SEQUENCE * DEF RETURN TO USER * DEF BUFFER LENGTH * DEF ERROR RETURN * . * . * RTN EQU * * LIMITATIONS: * NOTE BUFFER STARTING ADDRESS = FWA * MAXIMUM LENGTH OF BUFFER=1/2(LWA-FWA) * .FILL NOP BEGIN STB .PATT STORE ADDRESS OF BIT PATTERN STB TMP1 CMA,INA GET NEG OF BIT PATTERN REPEAT # STA AREG SAVE THE NUMBER OF PATTERNS STA CNT1 SET THE PATTERN SEQUENCE COUNT LDA .FILL INA SETUP LOCATION OF BUFFER LENGTH LDB A,I GET BUFFER LENGTH STB TMP2 STORE IT INA LDB A,I GET ERROR RETURN STB ERRRT STORE IT LDA .FILL,I STA .FILL ADJUST USER RETURN LDB TMP2 LOAD BUFFER LENGTH SSB IS IT POSITIVE? JMP FILL2 NO-REPORT BUFFER TOO LONG LDA BFMAX GET MAX BUFFER SIZE INA ADD ONE CMA,INA GET NEG OF LWA ADB A ADD A TO B REG. Ž„þú SSB,RSS IS IT POSITIVE ? JMP FILL2 YES-ERROR * NO OK CONTINUE LDA TMP2 GET BUFFER STA BUFLG AND SETUP BUFFER LENGTH CMA,INA MAKE IT NEGATIVE STA COUNT SETUP COUNTER LDA FWAM GET BUFFER STARTING LOCATION MORE EQU * LDB TMP1,I STB A,I START FILLING ISZ TMP1 INCREMENT BIT PATTERN LOCATION INA INCREMENT BUFFER ADDRESS ISZ CNT1 INCREMENT PATTERN COUNTER JMP ENT00 LDB AREG GET NUMBER OF PATTERNS IN SEQUENCE STB CNT1 RESET # OF PATTERN IN SEQUENCE LDB .PATT RELOAD BIT PATTERN ADDRESS STB TMP1 SETUP TEMPORARY ADDRESS ENT00 ISZ COUNT IS BUFFER FULL? JMP MORE NO- GO GET NEXT PATTERN JMP .FILL,I YES-RETURN TO USER .PATT NOP POINTER TO BIT PATTERN CNT1 NOP BIT PATTERN SEQUENCE COUNTER ERRRT NOP ERROR RETURN FILL2 EQU * CLB SETUP EXPECTED STATUS JSB ERMS,I REPORT ERROR DEF E061 JMP ERRRT,I ERROR RETURN E061 EQU * ASC 11,E061 BUFFER TOO LONG/ * * * ** DATA BIT PATTERNS ** SPC 1 * SINGLE ROTATING BIT PATTERN TSRB DEF *+1 OCT 002001 OCT 010000 OCT 020100 OCT 100002 OCT 004004 OCT 000420 OCT 000040 OCT 040200 OCT 001010 * TRACK SAWTOOTH PATTERN TSAW DEF *+1 OCT 177773 OCT 175352 OCT 145212 OCT 005010 OCT 000000 * CHANNEL SAWTOOTH PATTERN CSAW DEF *+1 OCT 177577 OCT 037437 OCT 007407 OCT 001401 OCT 000377 * POINTER TO ALL 1'S ALL1 DEF *+1 OCT 177777 * POINTER TO ALL 2'S ALL2 DEF *+1 OCT 022222 * * UNISL- ROUTINE TO SELECT TAPE UNIT * * CALL: * A REG. UNIT # * JSB UNISL * * * IE: * JMP OFF àþú* . * . * . *OFF EQU * * UNISL NOP STA AREG SAVE A REG.=UNIT # LDB AREG ADB ATSEL GET ADDRESS OF SELECT COMMAND LDA B,I GET COMMAND JSB AOTA OUTPUT COMMAND JSB STATS GET STATUS AND MSKCR IS COMMAND REJECT BIT SET? SZA,RSS JMP UNI03 NO-CONTINUE CLB SETUP EXPECTED STATUS JSB ERMS,I YES-REPORT ERROR DEF E027 JMP UNI04 UNI03 EQU * LDA RECNO GET THE CURRENT RECORD # LDB .RECU LOAD POINTER TO RECORD TABLE ADB UNIT COMPUTE POSITION IN TABLE STA B,I SAVE RECORD COUNT LDA AREG GET CURRENT UNIT # STA UNIT SAVE IT LDB .RECU GET POINTER TO RECORD TABLE ADB UNIT COMPUTE TABLE ADDRESS LDA B,I GET NEW RECORD COUNT STA RECNO SAVE IT FOR NEXT TEST UNI04 EQU * JSB STATS GET STATUS AND MSKOL CHECK OFFLINE BIT SZA IS IT ZERO? JMP UNI02 NO- EXIT OFFLINE ISZ UNISL YES-ADJUST RETURN FOR ON-LINE UNI02 EQU * JMP UNISL,I EXIT ROUTINE * * * RECORD NUMBER TABLE-CONTAINS CURRENT RECORD BY UNIT * .RECU DEF *+1 POINTER TO TABLE RECU0 NOP RECORD COUNT FOR UNIT 0 RECU1 NOP RECORD COUNT FOR UNIT 1 RECU2 NOP RECORD COUNT FOR UNIT 2 RECU3 NOP RECORD COUNT FOR UNIT 3 * * * * SUBROUTINE VARBF - FILLS OUTPUT WITH RANDOM DATA * - BUFFER LENGTH IS ALSO RANDOM *CALL: * JSB VARBF * * VARBF NOP JSB RANLG GET RANDOM BUFFER LENGTH JSB RADBF FILL BUFFER WITH RANDOM DATA JMP VARBF,I EXIT * * * SUBROUTINE ERRCK - CHECKS READ AND WRITE ERROR FLAGS *CALL: * JSB ERRCK * * ERRCK NOP LDA RDERR CHECK READ AND WRITE FLAGS ADA WRERR SZA,RSS IS IT ZERO? ï£þú JMP ERRCK,I YES-EXIT LDA RDERR CHECK READ ERROR FLAG SZA,RSS IS IT NON ZERO? JMP ERK05 NO-GO CHECK WRITE ERROR FLAG CLB SETUP EXPECTED STATUS JSB ERMS,I REPORT READ ERROR DEF E066 POINTER TO MESSAGE ERK05 EQU * LDA WRERR CHECK WRITE ERROR FLAG SZA,RSS IS IT NON ZERO? JMP ERK11 NO-CONTINUE CLB SETUP EXPECTED STATUS JSB ERMS,I YES-REPORT WRITE ERROR DEF E065 POINTER TO MESSAGE ERK11 EQU * JMP ERRCK,I EXIT * E065 EQU * ASC 09,E065 WRITE ERROR/ E066 EQU * ASC 08,E066 READ ERROR/ * * * * SUBROUTINE RADBF-FILLS BUFFER WITH RANDOM #S * -BUFFER LENGTH IS VARIBLE * -LENGTH=BUFLG *CALL: * JSB RADBF * * RADBF NOP LDA FWAM SETUP START OF BUFFR STA TMP1 LDA BUFLG GET BUFFER LENGTH CMA,INA MAKE IT NEGATIVE STA CNTR SETUP LOOP COUNTER RADB1 EQU * JSB RAND GET RANDOM NUMBER STA TMP1,I ISZ TMP1 INCREMENT STORAGE ADDRESS ISZ CNTR INCREMENT COUNTER JMP RADB1 LOOP IF COUNTER NOT = 0 JMP RADBF,I EXIT * * * SUBROUTINE RANLG- SETUP TO MAKE BUFLG VARIABLE * *CALL: * JSB RANLG * * RANLG NOP RANG1 EQU * JSB RAND GET RANDOM LENGTH SSA IS IT POSITIVE? CMA NO-MAKE IT POSITIVE STA BUFLG SETUP BUFFER LENGTH CMA,INA MAKE A NEGATIVE LDB BFMAX GET MAX BUFFER ADB A SUBTRACT SSB IS IT POSITIVE? JMP RANG1 NO-GO GET A NEW RANDOM # JMP RANLG,I EXIT * * * SUBROUTINE DATFG- REPORTS ERROR WHEN CONTROLLER LOSES * - DATA FLAG. *CALL: - NOTE ALSO CLEARS CONTROLLER * JSB DATFG * ¦ôþú* DATFG NOP JSB CLEAR CLEARS CONTROLLER CLB SETUP EXPECTED STATUS JSB ERMS,I DEF E144 JMP DATF3 E144 EQU * ASC 10,E144 LOST DATA FLAG/ DATF3 EQU * JMP DATFG,I EXIT * * * SUBROUTINE BITCK - USES MASK IN A REGISTER *CALL: - TO CHECK BIT/OR BITS IN STATUS * LDA MASK * JSB BITCK * JMP * * BITCK NOP STA MASK SAVE A REG. MASK JSB STATS GET STATUS AND MASK CHECK BIT PATTERN CPA MASK ARE THE BITS SET? JMP BTCK1 YES-GO TO BIT SET RETURN ISZ BITCK NO- ADJUST RETURN ADDRESS BTCK1 EQU * JMP BITCK,I EXIT * * * * KCORE ROUTINE- DETERMINES MAX BUFFER LENGTH * KCORE NOP LDA LWAM GET LAST WORD AVAILABLE ADA .M1 LDB FWAM GET FIRST WORD AVAILABLE CMB,INB NEG NEGATIVE IN B REG ADA B ADD THEM AND MSK77 ARS DIVIDE A BY 2 STA BFMAX STORE MAX BUFFER SIZE ADA FWAM ADD ADDRESS OF FWAM STA DBDI SAVE INPUT STARTING ADDRESS JMP KCORE,I RETURN * * * DMAC1 ROUTINE TO CHECK COMPUTER FOR DMA * -DMAFG=0 NO DMA * -DMAFG=1 1 CHANNEL DMA * -DMAFG=2 2 CHANNEL DMA DMACK NOP CLA STA DMAFG CLEAR DMA FLAG LDA CPTO LOAD COMPUTER TYPE AND OPTIONS AND .200 MASK OUT DMA1 ONLY SZA,RSS IS IT ZERO? JMP DMA11 YES-EXIT LDA .1 NO STA DMAFG SET DMA FLAG DMA11 EQU * * * DMAC2 ROUTINE TO CHECK COMPUTER FOR * -DMA 2 CHANNELS * LDA CPTO LOAD COMPUTER TYPE AND OPTIONS AND .4 MASK OUT 2 CHANNEL DMA SZA,RSS IS IT ZERO? JMP DMA21 YES-EXIT LDA .2 NO STA DMAFG SETUP DMA FLAG DMA2.Àþú1 EQU * JMP DMACK,I RETURN * * * CHECK SWITCH REGISTER ROUTINE * * CALL * LDB * JSB SWRC,I * P+1 * P+2 * .SWRG NOP LDA SKPSW LOAD SKIP SWITCH REG FLAG SZA IS IT ZERO? JMP .SWR1 NO-FLAG SET-SKIP OVER LIA SW LOAD SWITCH REGISTER AND B MASK OUT UNWANTED BITS SZA,RSS ANY BITS SET? .SWR1 EQU * ISZ .SWRG NO RETURN P+2 JMP .SWRG,I YES- EXIT * * * * LPCK- CHECKS LP BIT IN STATUS * WORD IS NOT SET AFTER A FORWORD *CALL: MOTION COMMAND HAS BEEN EXECUTED * JSB LPCK * * LPCK NOP LDA MSKLP JSB BITCK IS UNIT STILL AT LP? JMP LPCK1 YES-REPORT ERROR LPCK2 JMP LPCK,I NO-EXIT LPCK1 EQU * CLB SETUP EXPECTED STATUS JSB ERMS,I REPORT ERROR DEF E103 JMP LPCK2 E103 EQU * ASC 06,E103 LP SET/ * * * IBTB-CHECKS THAT IB BIT IS SET. *CALL: * JSB IBTB * * IBTB NOP LDA MSKIB LOAD INTERFACE BUSY BIT JSB BITCK IS THE BIT SET? JMP IBTB1 YES-EXIT LDB MSKIB NO-REPORT ERROR JSB ERMS,I REPORT ERROR DEF E164 * IBTB1 EQU * JMP IBTB,I EXIT * * * FPCK-REPORTS ERROR IS FILE PROTECT BIT IS * SET (NO WRITE RING). * *CALL: * JSB FPCK * * FPCK NOP LDA MSKFP JSB BITCK IS FILE PROTECT BIT SET? JMP FPCK1 YES-REPORT NO WRITE RING FPCK2 EQU * JMP FPCK,I EXIT FPCK1 EQU * CLB SETUP EXPECTED STATUS JSB ERMS,I REPORT NO WRITE RING DEF E042 JMP FPCK2 EXIT * * * WRITES A RECORD USING A SINGLE DATA PATTERN *CALL: * LDA * LDB * JSB WT00 * * WT00 NOP STA WT002 LDA .1 SINGLE PATTERN SEQUENCE JSB FILL,I GO FILL OUTPUT BUFFER DEF WT001 NORMAL RETURN WT002 NOP BUFFER LENGTH DEF WT001 ERROR RETURN WT001 EQU * JSB SIOW,I WRITE A RECORD JSB BSRWF BACKSPACE THE RECORD LDA WT00 RETURN ADDRESS CPA .T15 IS CALL FROM ST 5/6 IN TEST15? RSS YES JMP WT003 NO - SKIP 31 MS DELAY LDA .37 MAX DELAY FOR BS REC TO STOP JSB TMRR,I WT003 JSB SIOR,I READ THE RECORD JSB COMPR IS IT CORRECT- JMP WT00,I EXIT SUBROUTINE .T15 DEF T15RT RET ADD IN TEST15(DEC) * HDMS1 EQU * ASC 09,7970-13181 DIAG./ ENDBP EQU * END OF BASE PAGE * * * * * SKP ORG PAG06 * SKIP TO NEXT PAGE OF MEMORY ******************************** * * * HDMS2 EQU * ASC 09,7970-13183 DIAG./ * IOID EQU * DEF STA1 COMMAND CHANNEL STATS DEF OCMD1 COMMAND CHANNEL OCMMD DEF OCMD2 COMMAND CHANNEL OCMMD DEF CLEA1 COMMAND CHANNEL CLEAR DEF FLGW1 COMMAND CHANNEL FLGWT DEF .RD06 COMMAND CHANNEL .READ DEF .WR06 COMMAND CHANNEL .WRIT DEF CMD COMMAND CHANNEL DEF RWSL1 COMMAND CHANNEL RWSLO-T49 DEF CLRC2 COMMAND CHANNEL CLRCH DEF AOTA1 COMMAND CHANNEL AOTA DEF LON14 COMMAND CHANNEL LONGW DEF LOR15 COMMAND CHANNEL LONGR DEF FGCK1 COMMAND CHANNEL CH CHECK DEF OTCD5 COMMAND CHANNEL OUTCD DEF T0205 COMMAND CHANNEL TEST 02 DEF T1002 COMMAND CHANNEL TEST 10 DEF WTDM4 COMMAND CHANNEL WTDMA DEC -1 IOID2 EQU * DEF DTA DATA CHANNEL DEF .RD01 DATA CHANNEL .READ DEF .RD02 DATA CHANNEL .READ DEF .RD03 DATA CHANNEL9þú .READ DEF .RD04 DATA CHANNEL .READ DEF .RD14 DATA CHANNEL .READ DEF .WR17 DATA CHANNEL .WRIT DEF .WR01 DATA CHANNEL .WRIT DEF .WR02 DATA CHANNEL .WRIT DEF .WR04 DATA CHANNEL .WRIT DEF .WR05 DATA CHANNEL .WRIT DEF RGP01 DATA CHANNEL RDGAP DEF RGP02 DATA CHANNEL RDGAP DEF RGP03 DATA CHANNEL RDGAP DEF RGP06 DATA CHANNEL RDGAP DEF RGP07 DATA CHANNEL RDGAP DEF DMP09 DATA CHANNEL DMAUP DEF CWDMA DATA CHANNEL DMA CONTROL DEF T0406 DATA CHANNEL TEST 04 DEF T0408 DATA CHANNEL TEST 04 DEF CLRC1 DATA CHANNEL CLRCH DEF T0404 DATA CHANNEL TEST 04 DEF T0603 DATA CHANNEL TEST 6 DEF T0604 DATA CHANNEL TEST 6 DEF T1005 DATA CHANNEL TEST 10 DEF T1007 DATA CHANNEL TEST 10 DEF T1009 DATA CHANNEL TEST 10 DEF T1104 DATA CHANNEL TEST 11 DEF LONG1 DATA CHANNEL LONGW DEF LONG3 DATA CHANNEL LONGW DEF LONG4 DATA CHANNEL LONGW DEF LON12 DATA CHANNEL LONGW DEF LOR01 DATA CHANNEL LONGR DEF LOR03 DATA CHANNEL LONGR DEF LOR04 DATA CHANNEL LONGR DEF LOR14 DATA CHANNEL LONGR DEF CRC1 DATA CHANNEL CRCC DEF FGCK3 DATA CHANNEL CH CHECK DEF SIO27 DATA CHANNEL SIOCR DEF SIO29 DATA CHANNEL SIOCR DEF T1503 DATA CHANNEL TEST 15 DEF T1508 DATA CHANNEL TEST 15 DEC -1 TSTD EQU * DEF TST.0 BASIC I/O ( DATA + COMMAND CH) DEF TST01 INITIAL CLEAR CONTROLLER + UNIT DEF TST02 BEGINING OF TAPE (BOT) CHECK DEF TST03 COMMAND REJECT TEST DEF TST04 REWIND AND WRITE COMMAND EXECUTE DEF TST05 GAP COMMAND TEST DEF TST06 FILE MARK COMMAND TEST DEF TST07 MULTI-FILE MARK TEST DEº˜B@þú DEF TST15 INTERRCORD GAP CREEP TEST DEF TST16 WRITE-READ SINGLE ROTATING BIT DEF TST17 WRITE-READ CHANNEL SAW-TOOTH DEF TST18 WRITE-READ TRACK SAW-TOOTH DEF TST19 WRITE-READ RANDOM DATA DEF TST20 DMA CHANNEL 1 WRITE-READ RANDOM DATA DEF TST21 DMA CHANNEL 2 WRITE-READ RANDOM DATA DEF TST22 RAPID WRITE TEST DEF TST23 ECHO CHECK ON ALL UNITS ON-LINE DEF TST24 CONTROLLER CHECK FOR MULTI-UNIT OPERATION DEF TST25 INTER-UNIT COMPATIBILITY (REEL EXCHANGE) DEF TST26 WRITE RING ENABLE TEST DEF TST27 REWIND OFF-LINE CHECK DEF TST28 WRITE ALL ONES RECORD DEF TST29 READ ALL ONES RECORD DEF TST30 OPERATOR SERVICE ROUTINES DEF OPDSN OPERATOR DESIGN DEC -1 * * * * SETUP- THIS ROUTINE IS USED WHENEVER DIAGNOSTIC * IS RESTARTED AT 2000. * .SETU NOP * JSB INTOF,I TURN OFF I/O SYSTEM * * CHECK SWITCH 9 FOR ABORT LIA SW LOAD SWITCH REGISTER AND SW09 MASK FOR BIT 9 SZA IS BIT 9 SET? JMP .ZUSR,I YES-EXIT TO TCP LDA .M1 STA .ZCFT,I CORECTION TO TCP*********** CLA CLEAR CONTANTS STA UNICT CLEAR UNIT #,RESET=0 STA UNIT CLEAR UNIT # STA OLDTN CLEAR OLD TEST # STA SUBTS CLEAR SUBTEST COUNTER STA ERSKP CLEAR ERROR MESSAGE SKIP FLAG STA TSTN CLEAR TEST NUMBER STA TST0F CLEAR TEST 0 FLAG JSB UNISL GO SELECT A TAPE UNIT NOP JSB CLEAR CLEAR THE CONTROLLER JSB .ALRW,I REWIND ALL UNITS JMP .SETU,I GO TO 2000 .ZCFT DEF ZCFTT POINTER TO ZCFTT IN TCP *********** * * * EXECUTIVE EXTENSION MODULE * * EXECUTIVE CONTROL FOR TAPE UNIT SELECTION * *** NOTE: THE JSB .EXEC,I CALL MUST BE THE FIRST STATEMENT * AFTER TSTXX NOP INåFþú EVERY TEST. * CURRENT TAPE UNIT UNDER TEST=UNIT * COUNTER WHICH KEEPS UNIT NUMBER UPDATE=UNICT * BASIC OPERATION OF THIS SECTION * 1. UNICT IS INCREMENTED AFTER EACH PASS * 2. UNICT IS INCREMENTED IF CURRENT UNIT IS OFF-LINE * 3. IF THERE IS NO TAPE SELECTED BY SWITCH REG. ALL * TAPES ARE CYCLED (4 PASSES IF 4 UNITS UP)IN SEQUENCE. * 4. IF SWITCH REG. SELECTION IS MADE,ONLY THOSE UNITS * WILL BE CYCLED. * 5. IF UNIT IS SELECTED BY SWITCH REG.AND NOT ON-LINE, * AN ERROR MESSAGE WILL RESULT. * 6. THE NUMBER OF TAPES REQUESTED IS EQUAL TO THE NUMBER OF * PASSES. * 7. TAPE UNITS ARE SELECTED IN NUMERICAL ORDER I.E. 0,1,2,3 * IF 2 WERE NOT SELECTED THE SEQUENCE WOULD BE 0,1,3 (3 PASSES) * * EXE01 NOP JSB INTOF,I TURN OFF INTERRUPT SYSTEM CLA STA TST0F CLEAR TEST 0 FLAG STA RDERR CLEAR READ AND STA WRERR WRITE ERROR FLAG STA SKPSW CLEAR SKIP SW REG CHECK FLAG STA ERSKP CLEAR ERROR MESSAGE SKIP FLAG STA SUBTS CLEAR THE SUBTEST COUNTER JSB KCORE GET MAX BUFFER LENGTH LDA BFMAX ADA .MPAG SSA IS THE MAXIMUM BUFFER>2048? JMP TAP24 NO-OK TO CONTINUE LDA .PAGE YES-TOO LARGE STA BFMAX RESET MAX BUFFER TO 2048 BYTES TAP24 EQU * * LDA ORGSC LOAD ORGINAL SELECT CODE STA SC SETUP CURRENT SELECT CODE * * CHECK SWITCH 4 FOR DMA CH 1 LDA FG183 IS IT A 13183? SZA,RSS JMP TAP25 NO-GO CLEAR DMA FLAG CPA .1 IS IT A 13183-NO DMA? JMP TAP25 YES-GO CLEAR DMA FLAG LDA DMAFG NO-RESTORE DMA FLAG STA FGDMA JMP TAP19 SKIP DMA FLAG CLEAR * TAP25 EQU * CLA STA FGDMA CLEAR DMA FLAG TAP19 EQU * LIA SW LOAD SWITCH REGISTER AND SW04 MASK OUT BIT 4 SZA,RSS IS BIT 4 SET? óYþúJMP TAP13 NO-EXIT LDA DMAFG CHECK DMA FLAG SZA,RSS IS IT ZERO? JMP TAP14 YES-EXIT LDA .2 YES-SET UP DMA FLAG STA FGDMA SET DMA FLAG TAP13 EQU * * * CHECK SWITCH 5 FOR DMA CH2 * LIA SW LOAD SWITCH REGISTER AND SW05 MASK FOR BIT 5 SZA,RSS IS BIT 5 SET? JMP TAP14 NO-EXIT LDA DMAFG CHECK DMA FLAG CPA .2 IS THERE A 2ND DMA CHANNEL? JMP *+2 YES-CONTINUE JMP TAP14 NO-EXIT LDA .3 YES-SET UP DMA FLAG STA FGDMA SET DMA FLAG TAP14 EQU * * * CHECK FOR SWITCH 7-CRCC SUPPRESS * LIA SW LOAD THE SWITCH REGISTER AND SW07 ISOLATE SWITCH 7 SZA IS SWITCH 7 SET? CCA YES-SET CRCC SKIP FLAG STA CRCFG SET CRCC FLAG * * * * THIS SECTION SELECTS THE NEXT ON-LINE TAPE * UNIT IF THE PASS COUNTER HAS INCREMENTED. * THE CURRENT TEST NUMBER (TSTN) IS COMPARED * TO THE TEST NUMBER USED DURING THE LAST * PASS THRU THIS ROUTINE.IF THE NEW TEST NUMBER * IS SMALLER THAN THE OLD TEST # (OLDTN), THE * ASSUMPTION IS A PASS WAS COMPLETED AND THEREFORE, * THE NEXT ON LINE UNIT IS SELECTED. * LDA TSTN LOAD CURRENT TEST NUMBER LDB OLDTN LOAD OLD TEST # CMB,INB MAKE IT NEGATIVE ADA B TSTN-OLDTN SSA IS IT POSTIVE? JMP TAP15 NO-JMP TO NEW PASS SETUP TAP17 EQU * YES-NOT A NEW PASS LDA TSTN GET TEST# STA OLDTN SET OLD TEST #= TO CURRENT # JMP TAPUP CONTINUE TAP15 EQU * ISZ UNICT GOTO NEXT UNIT NOP LDA UNICT LOAD THE NEXT UNIT # ADA .M4 SUBTRACT 4 SSA IS IT POSITIVE? JMP TAP17 NO-NOT = T^ðþúO OR GREATER THAN 4 CLA YES-CLEAR UNICT STA UNICT CLEAR UNIT # JMP TAP17 * * TAPUP EQU * * * CHECK SWITCH 9 FOR ABORT LIA SW LOAD SWITCH REGISTER AND SW09 MASK FOR BIT 9 SZA,RSS IS BIT 9 SET? JMP TAP26 NO-CONTINUE LDA TSTN LOAD TEST NUMBER CPA .37 IS IT OP DESIGN? JMP .IRQ,I YES-EXIT TO OP DESIGN JMP .ZUSR,I NO-EXIT TO TCP TAP26 EQU * * JSB UNIUP CHECKS IF ANY UNITS ARE ON-LINE LIA SW LOAD SWITCH REGISTER AND .17 LOAD BITS 0-3 (TAPE UNITS) SZA IS THERE A SWITCH REG.SELECTION JMP TAPU1 YES- GOTO SWITCH REG CHECK LDA UNICT LOAD UNIT COUNTER JSB UNISL GO SELECT TAPE UNIT JMP TAPU2 OFF-LINE RETURN JMP TAPU3 ON-LINE- EXIT TAPU2 EQU * ISZ UNICT GO TO NEXT UNIT LDA UNICT CPA .4 IS IT LOGICAL UNIT 4 JMP TAPU4 YES. GO RESET IT JMP TAPUP NO- GO TRY NEW SELECTION TAPU4 EQU * CLA STA UNICT SET TAPE UNIT =0 JMP TAPUP GO CHECK SWITCH REGISTER * * * BEGIN SWITCH REG. CHECK FOR UNIT SELECTION * TAPU1 EQU * STA TMP1 SAVE SWITCH REG.SETINGS AND .1 SZA,RSS IS BIT 0 SET? (UNIT=0) JMP TAPU5 NO-TRY NEXT BIT CLA CPA UNICT IS IT UNIT 0 JMP TAPU9 YES TAPU5 LDA TMP1 AND .2 SZA,RSS IS BIT 1 SET? (UNIT=1) JMP TAPU6 NO-TRY NEXT BIT LDA .1 IS IT UNIT 1 CPA UNICT JMP TAPU9 YES TAPU6 LDA TMP1 AND .4 SZA,RSS IS BIT 2 SET? (UNIT=2) JMP TAPU7 NO-TRY NEXT BIT LDA .2 CPA UNICT IS IT UNIT 2 JMP TAPU9 YES TAPU7 LDA TMP1 AND .10 SZA,RSS IS BIT 3 SET? (UNIT=3) JMP TAPU2 GO TRY NEXT UNIT LDA .3 CPA UNICT —Ýþú IS IT UNIT3? JMP TAPU9 YES JMP TAPU2 NO-GO INCREMENT UNITCT * * A MATCH HAS BEEN FOUND BETWEEN * UNICT(UNIT #) AND SWITCH REGISTER * TAPU9 EQU * A REG HAS TAPE UNIT # JSB UNISL GO SELECT UNIT JMP TAP12 GO REPORT ERROR JMP TAPU3 UNIT ON-LINE- EXIT * ERROR- UNIT SELECTED BY SWITCH REG. * BUT UNIT IS OFF-LINE TAP12 EQU * CLB SETUP EXPECTED STATUS JSB ERMS,I SELECTED UNIT IS OFF-LINE DEF E033 JMP TAPUP TAPU3 EQU * JSB CLEAR CLEAR THE CONTROLLER LDA MSKRW JSB BITCK IS THE UNIT REWINDING? JMP TAP27 YES-GO CHECK TAPE BUSY BIT JSB EOTCK CHECK FOR EOT JMP TAP18 SET-GO REWIND THE UNIT TAP21 EQU * YES-EXIT * END OF EXECUTIVE TAPE SELECTION JMP EXE01,I * TAP18 EQU * JSB MSGC,I REPORT EOT DETECTED DEF H037 POINTER TO MESSAGE JMP TAP22 JUMP OVER MESSAGE H037 EQU * ASC 05,H037 EOT/ TAP22 EQU * JSB WTGAP WRITE A GAP JSB CLEAR TRY TO CLEAR EOT BIT JSB EOTCK IS EOT BIT STILL ON? JMP TAP23 YES-CONTINUE LDB MSKET SETUP EXPECTED STATUS JSB ERMS,I NO REPORT ERROR DEF E056 POINTER TO MESSAGE JMP TAP23 JUMP OVER MESSAGE E056 EQU * ASC 10,E056 EOT BIT CLEAR/ TAP23 EQU * LDB REW JSB OCMMD GO REWIND THE UNIT JSB FLGWT WAIT FOR COMMAND TO FINISH LDA MSKRT JSB BITCK IS TAPE BUSY AND REW BITS SET? JMP TAP27 YES-GO WAIT TAP28 EQU * LDB MSKRT SETUP EXPECTED STATUS JSB ERMS,I REPORT REWIND FAILURE DEF E035 JMP TAP15 GO SELECT THE NEXT UNIT TAP27 EQU * LDA MSKRT LOAD REWIND AND T BUSY BITS JSB BITCK IS IT SET? JMP TAP27 YES - WAIT TILL ;¹þúDONE JMP TAP21 NO - DONE SO CONTINUE * * * TEST 00 * USE TST00 TO CHECK COMMAND AND DATA CHANNEL * TST.0 EQU * * NOP CCA STA TST0F SET TEST 0 FLAG LDA ORGSC LOAD COMMAND SC STA SC SETUP CURRENT SELECT CODE STA USSC ******************** JSB .TST0,I CALL JSB MSGC,I REPORT DATA CH COMPLETE DEF T.001 POINTER TO MESSAGE LDA ORGSC LOAD COMMAND SC INA CONVERT IT TO DATA SC STA SC SETUP CURRENT SELECT CODE STA USSC ******************** JSB .ZBIO,I GO REPEAT BASIC I/O JSB MSGC,I REPORT CMND CH COMPLETE DEF T.002 POINTER TO MESSAGE CLA STA TST0F CLEAR TEST 0 FLAG JMP TST.0,I EXIT T.001 ASC 09,H025 FOR DATA CH/ T.002 ASC 09,H025 FOR CMND CH/ * * END OF TEST 0 * * TEST 01 INITIAL CLEAR CONTROLLER + UNIT SELECTON * TST01 NOP * * * SUBTEST 1 * LDA .1 STA SUBTS SETUP SUBTEST # JSB CLEAR GO CLEAR CONTROLLER * * SUBTEST 2 * LDA .2 STA SUBTS SETUP SUBTEST # * * CHECK UNIT 0 CLA LOAD UNIT# 0 JSB UNICK GO CHECK UNIT * END OF SELECT UNIT 0 * * CHECK UNIT=1 * LDA .1 LOAD UNIT # 1 JSB UNICK GO CHECK UNIT * * END OF SELECT UNIT=1 * * * CHECK UNIT =2 * LDA .2 LOAD UNIT # JSB UNICK GO CHECK UNIT * * END OF SELECT UNIT=2 * * * CHECK UNIT=3 * LDA .3 LOAD UNIT # JSB UNICK GO CHECK UNIT * * END OF SELECT UNIT=3 JMP T0101 GOTO NEXT SECTION * * * UNICK- OUTPUTS MESSAGE IF UNIT * IS ON-LINE OR OFF-LINE. *CALL: ALSO,CHECK UNIT ID IF Úöþú13183 * LDA * JSB UNICK * * JSB UNIRD * UNIRD NOP JSB UNISL GO SELECT A UNIT JMP UNIRD,I OFF-LINE RETURN JSB BSRWF BACKSPACE A RECORD JSB SIOR,I READ A RECORD LDA INBUF,I GET CONTENTS OF FIRST WORD CPA T2301 COMPARE UNIT TO RECORD JMP UNIRD,I THEY COMPARE-OK TO EXIT CLB SETUP EXPECTED STATUS JSB ERMS,I REPORT BAD ECHO DEF E125 JMP UNIRD,I EXIT * E125 EQU * ASC 08,E125 ECHO ERROR/ * * * UNIWR-WRITES 100 WORDS USING UNIT # * *CALL: * LDA * JSB UNIWR * UNIWR NOP STA UNIW1 SAVE UNIT # JSB UNISL GO SELECT UNIT JMP UNIWR,I UNIT OFF-LINE EXIT èÞþúLDA UNIW2 GET UNIT # ADDRESS LDA .1 SINGLE PATTERN SEQUENCE LDB UNIW2 GET POINTER TO UNIT # JSB FILL,I FILL THE OUTPUT BUFFER DEF UNIW3 RETURN ADDRESS DEC 100 BUFFER LENGTH DEF UNIW3 ERROR RETURN UNIW3 EQU * JSB SIOW,I WRITE RECORD JMP UNIWR,I EXIT ROUTINE UNIW2 DEF *+1 UNIW1 NOP UNIT # T2303 NOP UNIT # COUNTER T2301 NOP CURRENT UNIT # * * END OF TEST 23 * * * TEST 24(30) CONTROLLER CHECK FOR MULTI-UNIT OPERATION * * DELETE THIS TEST IF ONLY ONE UNIT ON-LINE ************* * -TWO OR MORE ON-LINE UNITS ARE REQUIRED * TST24 NOP JSB .EXEC,I GO SELECT A TAPE UNIT LDA UNITS GET # OF UNITS ON-LINE CPA .1 IS THERE ONLY ONE UNIT UP? JMP TST24,I YES-EXIT TEST * * SUBTEST # 1 * LDA .1 STA SUBTS SETUP SUBTEST # JSB VARBF FILL OUTPUT BUFFER WITH RANDOM DATA JSB .ALWR,I WRITE OUTPUT BUFFER * * SUBTEST # 2 * LDA .2 STA SUBTS SETUP SUBTEST # JSB .ALBS,I BACKSPACE ALL UNITS JSB .ALCP,I COMPARE ALL UNITS(FIRST RECORD) JMP TST24,I EXIT TEST * * SUBROUTINE ALLBS-BACKSPACES ALL ON-LINE * ONE RECORD *CALL: * JSB ALLBS * * ALLBS NOP CLA STA UNITX TEMPORARY UNIT NUMBER ALBS1 EQU * JSB UNISL GO SELECT A UNIT JMP ALBS2 OFF-LINE RETURN JSB BSRWF BACKSPACE THE UNIT ALBS2 EQU * ISZ UNITX INCREMENT UNIT # LDA UNITX LOAD UNIT # CPA .4 IS IT THE LAST UNIT? JMP ALLBS,I YES-EXIT JMP ALBS1 NO-LOOP * * * END OF TEST 24 * * * TEST 25(31) INTER-UNIT COMPATIBILITY (REEL EXCHANGE) * * -TWO OR MORE ON-LINE UNITS8þú ARE REQUIRED * -THIS TEST REQUIRES OPERATOR INTERVENTION * * -REEL EXCHANGE TST25 NOP JSB .EXEC,I GO SELECT A TAPE UNIT LDA UNITS GET # OF UNITS ON-LINE CPA .1 IS THERE ONLY ONE UNIT UP? JMP TST25,I YES-EXIT TEST LDB SW68 CHECK SWITCH 6,8, AND 12 JSB SWRC,I GO CHECK SWITCH REGISTER JMP TST25,I ON-EXIT TEST * * SUBTEST # 1 * LDA .1 STA SUBTS SETUP SUBTEST # JSB VARBF FILL OUTPUT BUFFER WITH RANDOM DATA JSB .ALRW,I REWIND ALL UNITS JSB .ALWR,I WRITE OUTPUT BUFFER T2501 EQU * JSB .ALRW,I REWIND ALL UNITS * OUTPUT REEL EXCHANGE MESSAGE * * SUBTEST # 2 * LDA .2 STA SUBTS SETUP SUBTEST # JSB MSGH,I OUTPUT MESSAGE DEF H126 POINTER TO MESSAGE JMP T2502 CONTINUE H126 EQU * ASC 10,H126 EXCHANGE REELS/ T2502 EQU * * * SUBTEST # 3 * LDA .3 STA SUBTS SETUP SUBTEST # JSB .ALRW,I REWIND ALL UNITS JSB .ALCP,I COMPARE ALL UNITS(FIRST RECORD) * * SUBTEST # 4 * LDA .4 STA SUBTS SETUP SUBTEST # JSB MSGH,I OUTPUT LOOP MESSAGE DEF H127 JMP T2504 EXIT H127 EQU * ASC 12,H127 SET SW 13 TO LOOP/ T2504 EQU * JMP TST25,I EXIT TEST * * END OF TEST 25 * * * TEST 26(32) WRITE RING ENABLE TEST * * -THIS TEST REQUIRES OPERATOR INTERVENTION * TST26 NOP JSB .EXEC,I GO SELECT A TAPE UNIT LDB SW68 CHECK SWITCH 6,8, AND 12 JSB SWRC,I GO CHECK SWITCH REGISTER JMP TST26,I ON-EXIT TEST * OFF-CONTINUE JSB LPREW REWIND UNIT * * SUBTEST # 1 ŠôB@< * WORD NOP .LONG NOP STA WORD SAVE WORD CLA STA RDERR CLEAR READ ERROR FLAG STA WRERR CLEAR WRITE ERROR FLAG LDB WCC START THE WRITE JSB OCMMD OUTPUT COMMAND LONG1 STC DATA,C START DATA TRANSFER LONG2 EQU * LON10 LDA WORD LOAD OUTPUT WORD CLB SETUP TIME OUT COUNTER LONG3 SFC DATA IS DATA FLAG CLEAR JMP LONG4 NO-OUTPUT A WORD LIA SW GET SWITCH REGISTER AND SW09 CHECK SWITCH 9 SZA IS IT SET? JMP LON12 YES - TERMINATE RECORD LDA WORD RELOAD THE WORD ISZ B INCREMENT TIME OUT COUNTER JMP LONG3 GO CHECK FLAG JSB DATFG DATA FLAG TIME OUT- REPORT ERROR LON13 EQU * JSB EOTCK CHECK EOT BIT JMP LONG5 YES-EOT BIT SET JSB STATS GECþúT STATUS STA WRERR SET WRITE ERROR FLAG LONG5 EQU * LON12 CLC DATA,C TERMINATE RECORD JSB FLGWT WAIT FOR COMMAND FLAG JSB ERRCK GO REPORT ANY ERROR FLAGS JSB EOTRW REWIND IF AT EOT JMP .LONG,I EXIT LONG4 EQU * OTA DATA,C LON14 EQU * LIA CMMD GET THE STATUS AND LONG6 CHECK THE DE AND EOT BIT SZA IS IT ZERO? JMP LON13 NO-REPORT ERROR * YES-CONTINUE JMP LON10 GO CHECK DATA FLAG * LONG6 OCT 4073 TEMPORARY MASK * * END OF TEST 28 * * * TEST 29(35) READ ALL ONES RECORD * TST29 NOP JSB .EXEC,I GO SELECT A TAPE UNIT * LDA FG183 SZA IS IT A 13183? JMP TST29,I YES-EXIT TEST * * ALL ONE'S CHECK-READ * * * SUBTEST # 1 * LDA .1 STA SUBTS SETUP SUBTEST # LDA MSKLP JSB BITCK GO CHECK STATUS FOR LP JMP T2901 BIT SET- CONTINUE JSB .RWSL,I BIT RESET-GO BACK SPACE RECORD JMP TST29,I ERROR EXIT T2901 EQU * CCA LOAD WORD TO BE READ JSB LONGR,I GO READ RECORD TO EOT JMP TST29,I EXIT TEST * * SUBROUTINE LONR-READS RECORD TO EOT *CALL * LDA * JSB LONGR,I GO READ RECORD * .LONR NOP STA LOR16 SAVE WORD CLA STA RDERR CLEAR READ ERROR FLAG STA WRERR CLEAR WRITE ERROR FLAG LDB RRF JSB OCMMD OUTPUT COMMAND LOR01 STC DATA,C START DATA TRANSFER LOR02 EQU * CLB SETUP TIME OUT COUNTER LOR03 EQU * SFC DATA IS DATA FLAG CLEAR JMP LOR04 NO-GO GET WORD LIA SW LOAD THE SWITCH REGISTER AND SW09 CHECK SWITCH 9 SZA IS IT SET? JMP LOR14 YES-GO TERMINATE RECORD LDA WORD RELOAD WORD ISZ B INCREMENT TIME OUT COUNTER ;þú JMP LOR03 YES-GO WAIT FOR NEXT WORD JSB DATFG DATA FLAG TIME OUT- REPORT ERROR LOR12 EQU * JSB EOTCK CHECK EOT BIT JMP LOR14 YES-EOT BIT SET JSB STATS GET STATUS AND MSKIO ISOLATE BITS STA RDERR SET READ ERROR FLAG JSB MS,I ERROR MESSAGE DEF LOR05 RETURN DEF H067 POINTER TO MESSAGE LOR07 NOP BAD WORD LOR16 NOP GOOD WORD LOR05 EQU * CLB SETUP EXPECTED STATUS JSB ERMS,I REPORT DATA TRANSFER ERROR DEF E062 JMP LOR17 GO CHECK FOR READ ERROR LOR14 EQU * CLC DATA,C TERMINATE RECORD JSB FLGWT WAIT FOR COMMAND FLAG LOR17 EQU * JSB ERRCK CHECK READ ERROR FLAGS JSB .RWSL,I SLOW REWIND JMP .LONR,I ERROR RETURN JMP .LONR,I RETURN TO CALLER LOR04 EQU * LIB DATA,C STB LOR07 SAVE THE INPUT DATA CPB LOR16 IS INPUT SAME AS STORED WORD? JMP LOR13 YES-CONTINUE JMP LOR12 NO-GO REPORT ERROR LOR13 EQU * LOR15 EQU * LIA CMMD GET THE STATUS AND LOR06 CHECK THE DE AND EOT BIT SZA IS IT ZERO JMP LOR12 NO-GO REPORT ERROR JMP LOR02 GO CHECK DATE FLAG * LOR06 OCT 4073 TEMPORARY MASK * * * END OF TEST 29 * * * * TEST 30(36) OPERATOR SERVICE ROUTINES * * * BIT 0 = WRITE A TAPE BYTE * * BIT 1 = WRITE COMPUTER WORD * * BIT 2 = COMMAND EXERCISE * * BIT 3 = DMA TRANSFER * * * TST30 NOP * * * BEGIN SWITCH REG SELECTION OF OPERATOR SERVICE ROUTINES ** * JSB .EXEC,I GO SELECT A TAPE UNIT LIA SW SAVE THE SWITCH REGISTER STA INSWR AND SW09 SZA IS SWITCH 9 SET? JMP TST30,I YES-EXIT TEST CCA STA ERSKP SET ERROR MESSAGE SKIP FLAG STA CRCFG SET CRCC SKIP FLAG T3001 EQU * CLA »èþú CLEAR THE SWITCH REGISTER OTA SW JSB CLEAR CLEAR CONTROLLER JSB MSGH,I OUTPUT OPERATOR SERVICE MSG DEF H146 AND HALT LIA SW LOAD SWITCH REGISTER SZA ARE ANY SW BITS SET? JMP T3002 YES-GO CHECK T3054 EQU * LDA INSWR RESTORE THE SWITCH REGISTER OTA SW CLA STA SKPSW CLEAR SKIP SW REG CHECK FLAG STA ERSKP CLEAR ERROR MESSAGE SKIP FLAG JMP TST30,I NO-EXIT TEST T3002 EQU * LDB SW00 CHECK BIT 0 JSB SWRC,I IS IT SET? JMP T3050 YES-GO WRITE A TAPE BYTE LDB SW01 NO-CHECK BIT 1 JSB SWRC,I IS IT SET? JMP T3051 YES-WRITE COMPUTER WORD LDB SW02 NO-CHECK BIT 2 JSB SWRC,I IS IT SET? JMP T3052 YES-GO TO COMMAND EXERCISE LDB SW03 NO-CHECK BIT 3 JSB SWRC,I IS IT SET? JMP T3053 YES-GOTO DMA TRANSFER JMP T3054 NO-EXIT TEST * T3050 EQU * JSB .T303,I WRITE A TAPE BYTE JMP T3001 T3051 EQU * JSB .T304,I WRITE A COMPUTER WORD JMP T3001 T3052 EQU * JSB .T305,I COMMAND EXERCISE JMP T3001 T3053 EQU * JSB .T306,I DO A DMA TRANSFER JMP T3001 * * .T303 DEF T3003 POINTER TO TAPE BYTE .T304 DEF T3004 POINTER TO COMPUTER WORD .T305 DEF T3005 POINTER TO COMMAND EXER. .T306 DEF T3006 POINTER TO DMA TRANSFER * H146 EQU * ASC 11,H146 SELECT OP. SER./ H147 EQU * ASC 09,H147 SELECT BYTE/ * * * * * END OF SWITCH REG SELECTION * SKP ORG PAG12 * SKIP TO NEXT PAGE OF MEMORY ******************************** * H150 EQU * ASC 09,H150 SELECT WORD/ H151 EQU * ASC 10,H151 SELECT COMMAND/ * * * WRITE RECORDS FROM THE SWITCH REGISTER * SPC 1 * (1) THE CHARACTERS WRITTEN ON TAPE ARE DEFINED BY * SWITCHES 0 - 7 OF THE SWITCH REGISTER. * * (2) THE RECORDâþú LENGTHS ARE DETERMINED BY SETTING * SWITCHES 8 - 14 OF THE SWITCH REGISTER. * SW 8 = 2 CHARACTERS * SW 9 = 4 CHARACTERS * SW 10 = 8 CHARACTERS * . * . * . * SW 14 = 128 CHARACTERS * IF SWITCHES 8 - 14 ARE ALL SET, (1), THE RECORD * LENGTH IS 255 CHARACTERS. * IF SWITCHES 8 - 14 ARE ALL RESET, (0), THE RECORD * LENGTH IS LIMITED BY AVAILABLE CORE MEMORY. * * (3) SWITCH 15 TERMINATES THE WRITE PROGRAM AT THE * END OF THE CURRENT RECORD. SPC 1 ******************************************************** T3003 NOP * * WRITE TAPE BYTE FROM SWITCH REQISTER * JSB MSGH,I OUTPUT MESSAGE DEF H147 AND HALT T3049 EQU * LDB SW15 CHECK BIT 15 OF SW JSB SWRC,I IS BIT 15 SET? JMP T3003,I EXIT TO CONTROL SECTION JSB EOTRW NO-CHECK FOR EOT * SHOULD HAVE A BIT 15 CHECK * DURING REWIND FOR ABORT LIA SW LOAD SWITCH AND MK377 GET BITS 7-0 STA T3007 SAVE IT ALF,ALF ROTATE BYTE TO UPPER ADA T3007 SETUP COMPUTER WORD STA T3007 SAVE IT LIA SW AND MK77K GET BITS 8-14 ALF,ALF ROTATE TO BIT 0-7 STA T3008 KEEP WORD COUNT SZA ARE BITS 14-8 ZERO? JMP T3010 GO FILL OUTPUT BUFFER T3011 EQU * LDA BFMAX GET MAX BUFFER STA T3008 SAVE IN WORD COUNT T3010 EQU * LDA .1 ONE WORD PATTERN LDB T3007-1 LOCATION OF BUFFER JSB FILL,I FILL THE OUT PUT BUFFER DEF T3013 RETURN ADDRESS T3008 NOP BUFFER LENGTH DEF T3011 ERROR RETURN DEF *+1 POINTER TO WORD T3007 NOP COMPUTER WORD * OUTPUT BUFFER T3013 EQU * CCA STA SKPSW SET SW REG SKIP FLAG JSB SIOW,I WRITE A RECORD JSB BSRWF BACKSPACE RECORD JSB SIOR,I READ THE±sþú RECORD CLA STA SKPSW CLEAR SW REG CHECK FLAG JMP T3049 GO BACK AND DO IT AGAIN * * * * * WRITE COMPUTER WORD ROUTINE * * * --PROGRAM OPERATION-- * * 1. LOAD SWITCH REGISTER BIT 1 AT HLT 106046 * * 2. LOAD THE SWITCH REGISTER (0-15) WITH THE PATTERN OF * THE WORD TO BE WRITTEN. * * 3. PRESS RUN * * --------------------- * * THE PROGRAM WRITES A 2048 (MAX SIZE) BYTE RECORD, THEN BACK- * SPACES AND READS THE RECORD . * * CHANGING ANY SWITCH ON THE SWITCH REGISTER, BRINGS * THE PROGRAM TO A NORMAL HALT (106046B). * OTHER WISE THE PROGRAM CONTINUES TRANSFERRING RECORDS UN- * TIL AN END-OF-TAPE IS DETECTED, AT WHICH TIME THE TAPE IS * AUTOMATICALLY REWOUND. * SPC 1 ********************************************************* T3004 NOP * * WRITE A COMPUTER WORD * JSB MSGH,I OUTPUT MESSAGE DEF H150 AND HALT T3014 EQU * LIA SW LOAD A WITH SW REG STA T3016 SAVE IT LDA BFMAX GET MAX BUFFER STA T3017 SAVE IT LDA .1 ONE WORD PATTERN LDB T3016-1 POINTER TO COMPUTER WORD JSB FILL,I FILL THE OUTPUT BUFFER DEF T3018 RETURN ADDRESS T3017 NOP BUFFER LENGTH DEF T3001 ERROR RETURN DEF *+1 POINTER TO WORD T3016 NOP COMPUTER WORD T3018 EQU * CCA STA SKPSW SET SW REG SKIP FLAG JSB SIOW,I WRITE A RECORD JSB BSRWF BACKSPACE RECORD JSB SIOR,I READ THE RECORD CLA STA SKPSW CLEAR SW REG CHECK FLAG JSB EOTRW REWIND IF AT BOT LDB FWAM,I GET FIRST WORD IN OUTPUT BUFFER LIA SW GET THE SWITCH REGISTER CONTENTS CPA B HAS THE SWITCH REGISTER CHANGED? JMP T3014 NO-LOOP ON ROUTINE JMP T3004,I YES-EXIT * * * COMMAND EXERCISE ROUTINE * SPC 1 * SW 0 WRITE (WCC) * SW 1 ¿æþú WRITE TAPE MARKS (WFM) * SW 2 READ ONE RECORD FORWARD (RRF) * SW 3 FORWARD SPACE ONE RECORD (FSR) * SW 4 FORWARD SPACE ONE FILE (FSF) * SW 5 CLEAR THE CONTROLLER (CLR) * - - - - - - - - - - - - - - - - - * SW 6 WRITE A GAP (GAP) * SW 7 BACKSPACE ONE RECORD (BSR) * SW 8 BACKSPACE ONE FILE (BSF) * SW 9 REWIND TO LOAD POINT (REW) * SW 10 REWIND AND OFF-LINE (RWO) * SW 11 CLEAR THE CONTROLLER (CLR) * SW 12 ALLOWS APPROX. 10 MS DELAY BETWEEN COMMANDS * SW 13 ALLOWS APPROX. 15 MS DELAY BETWEEN COMMANDS * SW 14 ALLOWS APPROX. 30 MS DELAY BETWEEN COMMANDS * SW 15 TERMINATES OPERATION * * ANY OF THE FIRST SIX COMMANDS CAN BE COMBINED WITH ANY * OF THE LAST SIX, OR ANY OF THE TWELVE CAN BE USED ALONE. SPC 1 ********************************************************* * * COMMAND EXERCISE * T3005 NOP JSB MSGH,I OUTPUT MESSAGE DEF H151 AND HALT T3021 EQU * LDB SW15 CHECK SW BIT 15 JSB SWRC,I IS IT SET? JMP T3022 CLEAR ROUTINE JSB EOTRW RW IF AT EOT * BEGIN COMMAND DECODER LDB SW00 CHECK BIT 0 JSB SWRC,I IS IT SET? JMP *+2 YES-GO OUTPUT COMMAND JMP T3023 NO-GO TRY NEXT BIT LDA WCC WRITE JSB OUTCD OUTPUT IT T3023 EQU * LDB SW01 CHECK BIT 1 JSB SWRC,I IS IT SET? JMP *+2 YES-GO OUTPUT COMMAND JMP T3024 NO-GO TRY NEXT BIT LDA WFM WRITE FILE MARK JSB OUTCD OUTPUT IT T3024 EQU * LDB SW02 CHECK BIT 2 JSB SWRC,I IS IT SET? JMP *+2 YES-GO OUTPUT COMMAND JMP T3025 NO-GO TRY NEXT BIT LDA RRF READ A RECORD JSB OUTCD OUTPUT IT T3025 EQU * LDB SW03 CHECK BIT 3 JSB SWRC,I IS IT SET? JMP *+2 YES-GO OUTPUT COMMAND JMP T3026 NO-G^nþúO TRY NEXT BIT LDA FSR FORWARD SPACE FILE JSB OUTCD OUTPUT IT T3026 EQU * LDB SW04 CHECK BIT 4 JSB SWRC,I IS IT SET? JMP *+2 YES-GO OUTPUT COMMAND JMP T3027 NO-GO TRY NEXT BIT LDA FSF FORWARD SPACE FILE JSB OUTCD OUTPUT IT T3027 EQU * LDB SW05 CHECK BIT 5 JSB SWRC,I IS IT SET? JMP *+2 YES-GO OUTPUT COMMAND JMP T3028 NO-GO TRY NEXT BIT LDA CLR CLEAR JSB OUTCD OUTPUT IT T3028 EQU * LDB SW06 CHECK BIT 6 JSB SWRC,I IS IT SET? JMP *+2 YES-GO OUTPUT COMMAND JMP T3030 NO-GO TRY NEXT BIT LDA GAP GAP JSB OUTCD OUTPUT IT T3030 EQU * LDB SW07 CHECK BIT 7 JSB SWRC,I IS IT SET? JMP *+2 YES-GO OUTPUT COMMAND JMP T3031 NO-GO TRY NEXT BIT LDA BSR BACKSPACE RECORD JSB OUTCD OUTPUT IT T3031 EQU * LDB SW08 CHECK BIT 8 JSB SWRC,I IS IT SET? JMP *+2 YES-GO OUTPUT COMMAND JMP T3032 NO-GO OUTPUT COMMAND LDA BSF BACKSPACE FILE JSB OUTCD OUTPUT IT T3032 EQU * LDB SW09 CHECK BIT 9 JSB SWRC,I IS IT SET? JMP *+2 YES-GO OUTPUT COMMAND JMP T3033 NO-GO TRY NEXT BIT LDA REW REWIND JSB OUTCD OUTPUT IT T3033 EQU * LDB SW10 CHECK BIT 10 JSB SWRC,I IS IT SET? JMP *+2 YES-GO OUTPUT COMMAND JMP T3034 NO-GO TRY NEXT BIT LDA RWO REWIND OFF-LINE JSB OUTCD OUTPUT IT T3034 EQU * LDB SW11 CHECK BIT 11 JSB SWRC,I IS IT SET? JMP *+2 YES-GO OUTPUT COMMAND JMP T3035 NO-GO TRY NEXT BIT LDA CLR CLEAR JSB OUTCD OUTPUT IT. T3035 EQU * JMP T3021 LOOP T3022 EQU * JSB CLEAR CLEAR CONTROLLER JMP T3005,I EXIT * MB@<* SUBROUTINE OUTCD (OUTPUT A COMMAND) * OUTCD NOP STA AREG SAVE A REGISTER LDB AREG LOAD COMMAND INTO B REGISTER JSB OCMMD OUTPUT A COMMAND IN B LIA SW LOAD A WITH SW ALF ROTATE BITS 15-12 TO 0-4 AND .7 MASK OFF BITS 3-0 SZA,RSS IS IT ZERO? JMP OTCD1 YES-SKIP TIMER LDB SW14 CHECK BIT 14 JSB SWRC,I IS IT SET? JMP *+2 YES-WAIT 30 MILLI-SEC JMP OTCD2 NO-GOTO NEXT BIT LDA .30D JSB TMRR,I WAIT 30 MILLI-SEC JMP OTCD3 OTCD2 EQU * LDB SW13 CHECK BIT 13 JSB SWRC,I IT SET? JMP *+2 YES-WAIT 15 MILLI-SEC JMP OTCD4 NO-GOTO NEXT BIT íBÿÿ ÿý9I ÿ13181-18010 1629 S 0146 13181/13183 MAG TAPE DG              H0101 8þú LDA .17 JSB TMRR,I WAIT 15 MILLISEC JMP OTCD3 OTCD4 EQU * LDB SW12 CHECK BIT 12 JSB SWRC,I IS IT SET? JMP *+2 YES-WAIT 10 MS JMP OTCD1 GO-WAIT FOR FLAG LDA .10D JSB TMRR,I WAIT 10 MILLISEC OTCD3 EQU * LDA MSKRW JSB BITCK IS THE UNIT REWINDING? JMP *-2 YES-GO WAIT FOR IT TO CLEAR JMP OUTCD,I EXIT OTCD1 EQU * OTCD5 SFC CMMD WAIT FOR COMMAND FLAG JMP OTCD3 FLAG SET-EXIT LDB SW15 FLAG NOT SET JSB SWRC,I IS BIT 15 SET? JMP T3022 YES ABORT JMP OTCD5 NO-GO CHECK FLAG AGAIN * .10D DEC 10 .30D DEC 30 * * DMA TRANSFER ROUTINE * * * --PROGRAM OPERATION-- * * 1. LOAD SWITCH REGISTER BIT 3 * * 2. LOAD THE SWITCH REGISTER (0-7) WITH THE PATTERN OF * THE BYTE TO BE WRITTEN. * * 3. PRESS RUN * * --------------------- * * THE PROGRAM WRITES A 2048(MAXIMUM) BYTE RECORD, THEN BACK- * SPACES AND READS THE RECORD . * * SETTING SWITCH 15 TO ONE ON THE SWITCH REGISTER, BRINGS * THE PROGRAM TO A NORMAL HALT (106046). * OTHER WISE THE PROGRAM CONTINUES TRANSFERRING RECORDS UN- * TIL AN END-OF-TAPE IS DETECTED, AT WHICH TIME THE TAPE IS * AUTOMATICALLY REWOUND. * SPC 1 ********************************************************* * * * DMA TRANSFER * T3006 NOP JSB MSGH,I OUTPUT MESSAGE DEF H152 AND HALT JMP T3036 SKIP OVER MESSAGE H152 EQU * ASC 11,H152 SELECT DMA BYTE/ * T3036 EQU * LDB SW15 CHECK BIT 15 JSB SWRC,I IS IT SET? JMP T3006,I YES-EXIT TO CONTROL LDA DMAFG CHECK IF COMPUTER HAS DMA SZA,RSS IS IT ZERO? JMP T3006,I YES- NO DMA LDA FGDMA GET DMA FLAG STA T3047 SAVE IT FOR EXIT SZA WAS THE FLAG SET? JMP T3045 YES-GO USE THAT CHANNEL LDA .2 5½þú NO - SETUP DMA CH 2 STA FGDMA GO SET FLAG T3045 EQU * LDB SW15 JSB SWRC,I IS SWITCH 15 SET FOR ABORT JMP T3048 YES-GO TO EXIT ROUTINE LIA SW LOAD A WITH SWITCH REG AND MK377 GET BITS 7-0 STA T3037 SAVE IT ALF,ALF ROTATE BYTE TO UPPER ADA T3037 SETUP COMPUTER WORD STA T3037 SAVE IT LDA BFMAX GET MAX BUFFER STA T3038 SAVE IT LDA .1 ONE WORD PATTERN LDB T3037-1 POINTER TO COMPUTER WORD JSB FILL,I FILL THE OUTPUT BUFFER DEF T3039 RETURN ADDRESS T3038 NOP BUFFER LENGTH DEF T3001 ERROR RETURN DEF *+1 POINTER TO WORD T3037 NOP COMPUTER WORD T3039 EQU * CONTINUE CCA STA SKPSW SET SW REG SKIP FLAG JSB SIOW,I WRITE A RECORD JSB BSRWF BACKSPACE RECORD JSB SIOR,I READ THE RECORD CLA STA SKPSW CLEAR SW REG CHECK FLAG JSB EOTRW CHECK FOR EOT JMP T3045 LOOP * T3048 EQU * LDA T3047 LOAD OLD DMA FLAG STA FGDMA RESTORE DMA FLAG JMP T3006,I EXIT ROUTINE * T3047 NOP SAVE FOR OLD DMA FLAG * * * * END OF TEST 30 * * * * * STANDARD I/O WRITE TRANSFER ROUTINE * * * CALL: * THE RECORD WORD LENGTH='BUFLG' * THE OUTPUT BUFFER'S S.A.='FWA' * SIOTW NOP LDA .M3 STA SIOW7 SETUP RECORD COUNTER LDA .M10 SETUP GAP COUNTER STA SIOW8 CLA STA SIOW9 CLEAR REWRITE COUNTER STA SIOW1 CLEAR TOTAL # OF REWRITES STA ERRFG CLEAR ERROR MESSAGE FLAG * JSB STATS GET STATUS AND MSKFP IS FILE PROTECTED (NO RING)? SZA,RSS JMP SIOW4 NO-CONTINUE CLB SETUP EXPECTED STATUS JSB ERMS,I YES - REPORT ERROR DEF E042 JMP SIOW4 CONTINUE E042 öþúEQU * ASC 10,E042 NO WRITE RING/ SIOW4 EQU * LDA FGDMA CHECK DMA I/O FLAG SZA IS IT ZERO? JMP SIOW2 YES-GOTO DMA WRITE JSB .WRIT WRITE THE RECORD JMP SIOW3 SKIP OVER DMA ROUTINE SIOW2 EQU * JSB DMAWT,I WRITE RECORD UNDER DMA SIOW3 EQU * LDA FWAM BUFFER ADDRESS LDB BUFLG BUFFER LENGTH JSB SIOCR GO COMPARE CRCC + LRCC LDA WRERR LOAD WRITE ERROR FLAG SZA IS THERE A WRITE ERROR? JMP SIOW5 YES-GOTO REWRITE ROUTINE SIOW6 EQU * LDA SIOW1 LOAD TOTAL # OF REWRITES SZA,RSS IS IT ZERO? JMP SIOW. YES-OK TO CONTINUE JSB MS,I NO-REPORT # OF REWRITES DEF SIOW. RETURN DEF H057 POINTER TO MESSAGE SIOW1 NOP REWRITES COUNTER SIOW. EQU * JMP SIOTW,I EXIT * SIOW5 EQU * LDA ERRFG LOAD SKIP ERROR MSG FLAG CPA WRERR IS IT = TO WRITE ERROR FLAG? JMP SIW10 YES-SKIP ERROR MESSAGE CLB NO-SETUP EXPECTED STATUS JSB ERMS,I REPORT WRITE ERROR DEF E065 LDA WRERR LOAD CURRENT WRITE ERROR STA ERRFG STORE IT IN SKIP-ERROR MSG SIW10 EQU * LDB SW09 CHECK SWITCH 9 JSB SWRC,I IS IT SET? JMP SIOW6 YES-EXIT JSB BSRWF BACKSPACE THE RECORD ISZ SIOW1 INCREMENT TOTAL # OF REWRITES ISZ SIOW9 INCREMENT REWRITE COUNTER ISZ SIOW7 IS THIS THE 3RD TIME? JMP SIOW4 NO-GO TRY AGAIN LDA .M3 YES-RESET RECORD COUNTER STA SIOW7 JSB WTGAP GAP OVER BAD SPOT ISZ SIOW8 INCREMENT GAP COUNTER JMP SIOW4 LOOP IF NOT THE 10TH TIME JMP SIOW6 ERROR EXIT * H057 EQU * ASC 09,H057 # REWRITE(S)/ * SIOW9 NOP REWRITE COUNTER SIOW8 NOP GAP COUNTER SIOW7 NOP 3 X RECORD COUNTER ERRFG NOP SKIP-ERROR MESSAGE FLAG * * =½þú* COMPARES CRCC FROM TAPE WITH CRCC FROM BUFFER *CALL: * LDA * LDB * JSB SIOCR * SIOCR NOP STA AREG SAVE A AND B REG. STB BREG LDA ERRFG LOAD ERROR MESSAGE SKIP FLAG SZA IS IT ZERO? JMP SIOCR,I NO-SKIP CRCC CHECK LDB CRCFG LOAD CRCC SKIP FLAG SZB IS IT SET? JMP SIOCR,I YES-EXIT LDB BREG NO-CONTINUE SZB,RSS IS BUFFER LENGTH ZERO? JMP SIOCR,I YES-EXIT LDA FG183 IS IT A 13183? SZA JMP SIOCR,I YES-EXIT LDA AREG NO-LOAD A AND B REG. LDB BREG * JSB .CRCC,I GENERATES CRCC FROM BUFFER STA SIO26 SAVE IT SIO27 EQU * LIA DATA LOAD CRCC FROM TAPE CPA SIO26 COMPARE TAPE AND BUFFER CRCC JMP SIO29 THEY COMPARE-CONTINUE CLB SETUP EXPECTED STATUS JSB ERMS,I FAILED-REPORT ERROR DEF E141 JMP SIO29 E141 EQU * ASC 08,E141 CRCC ERROR/ SIO29 EQU * LIA DATA CHECK LRCC AND MK377 ISOLATE LOWER BYTE SZA,RSS IS LRCC RESIDUAL ZERO? JMP SIO28 YES-EXIT CLB SETUP EXPECTED STATUS JSB ERMS,I NO-REPORT ERROR DEF E135 JMP SIO28 E135 EQU * ASC 08,E135 LRCC ERROR/ SIO28 EQU * JMP SIOCR,I EXIT * SIO26 NOP GENERATED CRCC * * * STANDARD I/O READ TRANSFER ROUTINE * * * CALL: * THE INPUT BUFFER'S S.A. IS IN BWAL THEN ADD 1='INBUF' * THE RECORD WORD LENGTH IS ALREADY LOADED IN "BUFLG" * SIOTR NOP LDA .M10 STA SIO31 SETUP MAXIMUM REREADS COUNTER CLA STA SIO32 CLEAR REREADS COUNTER STA ERRFG CLEAR ERROR MESSAGE FLAG LDB FWAM GET FWAM ADB BFMAX COMPUTE LWA ADDRESS SIO34 EQU * STB INBUF STORE INPUT BUFFER ADDRESS SIO30 EQU * LDA FGDMA CHECK DMA I/O FL˶þúAG SZA IS IT ZERO? JMP SIO14 YES-GOTO DMA READ JSB .READ READ THE RECORD JMP SIO15 SKIP OVER DMA ROUTINE SIO14 EQU * JSB DMARD,I READ RECORD UNDER DMA SIO15 EQU * * ALLOWS SKIP OF CRCC FOR EOF LDA MSKEF JSB BITCK WAS AN EOF READ? JMP SIO35 YES-SKIP OVER CRCC LDA INBUF BUFFER ADDRESS LDB INBFL BUFFER LENGTH JSB SIOCR GO COMPARE CRCC + LRCC SIO02 EQU * LDB SW09 CHECK SWITCH 9 FOR ABORT JSB SWRC,I IS IT SET? JMP SIO04 YES-EXIT LDA RDERR SZA,RSS IS READ ERROR FLAG SET? JMP SIO33 NO-CONTINUE LDA ERRFG LOAD SKIP ERROR MSG FLAG CPA RDERR IS IT = TO READ ERROR FLAG? JMP SIO36 YES-SKIP ERROR MESSAGE CLB NO-SETUP EXPECTED STATUS JSB ERMS,I REPORT READ ERROR DEF E066 LDA RDERR LOAD CURRENT WRITE ERROR STA ERRFG STORE IT IN SKIP-ERROR MSG SIO36 EQU * JSB BSRWF YES-BACKSPACE RECORD ISZ SIO32 INCREMENT REREAD COUNTER ISZ SIO31 IS THIS THE LAST TIME? JMP SIO30 NO-DO IT AGAIN JSB FSRWF SPACE OVER BAD RECORD JMP SIO33 ERROR EXIT H060 EQU * ASC 09,H060 # REREAD(S)/ * SIO31 NOP MAXIMUM REREADS COUNTER * SIO33 EQU * LDA SIO32 LOAD REREAD COUNTER SZA,RSS IS IT ZERO? JMP SIO35 YES-EXIT JSB MS,I NO-REPORT # OF REREADS DEF SIO35 RETURN DEF H060 POINTER TO MESSAGE SIO32 NOP REREAD COUNTER SIO35 EQU * SIO04 EQU * YES-CONTINUE JMP SIOTR,I EXIT * * * NON-DMA WRITE DRIVER * * * CALL: * THE RECORD WORD LENGTH='BUFLG' * THE OUTPUT BUFFER'S S.A.='FWA' * .WRIT NOP CLA STA WRERR CLEAR WRITE ERROR FLAG LDB FWAM SETUP FOR OUTPUT BUFFER ADDRESS LDA BUFLG GET LEÓÃþúNGTH ADA B SETUP LWA +1 OF BUFFER STA COUNT SET THE WORD COUNTER LDB WCC START THE WRITE JSB OCMMD LDB FWAM .WR01 STC DATA,C SET THE DATA TRANSFER LDA FGINT LOAD INTERRUPT FLAG SZA,RSS IS IT ZERO? JMP .WR12 NO-CONTINUE IN NON-INTERRUPT JSB LDINT,I LOAD ERROR MESSAGES INTO TRAP CELLS LDA CMD SETUP FOR COMMAND CHANNEL JSB INTJP,I INTERRUPT DEF TCCMD INTERRUPT BASE PAGE LINK DEF .WR11 POINTER TO INTERRUPT JMP LDA DTA SETUP FOR DATA CHANNEL JSB INTJB,I INTERRUPT SERVICE ROUTINE DEF TCDAT INTERRUPT BASE PAGE LINK DEF .WR13 POINTER TO DATA TRANSFER ROUTINE LDB FWAM LOAD BUFFER ADDRESS JMP .WR15 GO WAIT FOR INTERRUPTS * .WR12 EQU * NON-INTERRUPT CONTINUATION MORWT CLA CLEAR TIME OUT COUNTER .WR02 SFS DATA IS DATA FLAG SET JMP .WR08 NO-GO WAIT FOR FLAG LDA B,I LOAD A WITH OUTPUT WORD .WR04 OTA DATA,C WRITE THE WORD INB ADVANCE THE BUFFER POINTER CPB COUNT IS THIS THE LWA OF THE BUFFER? JMP .WR05 YES-GO TO END OF RECORD ROUTINE JMP MORWT NO- GO GET NEXT WORD .WR08 EQU * WAIT FOR DATA FLAG LOOP .WR06 EQU * SFC CMMD IS THE COMMAND FLAG SET? JMP .WR11 YES-GO REPORT ERROR INA,SZA INCREMENT TIME OUT COUNTER JMP .WR02 NOT ZERO-GO CHECK DATA FLAG .WR10 EQU * TIME OUT-EXIT JSB CLEAR CLEAR CONTROLLER JSB DATFG REPORT DATA FLAG LOST .WR05 CLC DATA,C NORMAL END OF RECORD JSB FLGWT WAIT FOR THE OPERATION TO FINISH JSB LDINT,I LOAD TRAP CELLS WITH ERROR MSG JSB STATS GET STATUS AND MSKIO CHECK FOR PARITY AND DATA ERRORS SZA,RSS IS IT NON ZERO? JMP .WR07 NO-STATUS OK-CONTINUE WRITE LDA STATU GET STATUS STA WRERR YES-SAVE²›þú STATUS .WR07 EQU * JMP .WRIT,I EXIT .WR11 EQU * JSB CLEAR CLEAR CONTROLLER JSB CMDFG GO REPORT ERROR JMP .WR07 EXIT * * INTERRUPT-DATA TRANSFER ROUTINE .WR13 NOP LDA B,I .WR17 EQU * OTA DATA,C OUTPUT DATA WORD INB CPB COUNT IS IT THE LAST WORD? JMP .WR05 YES-EXIT THRU NORMAL END CLA CLEAR TIME OUT COUNTER JMP .WR13,I EXIT * * INTERRUPT WAIT ROUTINE .WR15 EQU * CLA CLEAR TIME OUT COUNTER .WR16 EQU * INA,SZA IS THE DATA TIME-OUT COUNTER=0? JMP .WR16 NO- WAIT FOR INTERRUPT JMP .WR10 YES-REPORT DATA FLAG TIME OUT ERROR * * * CMDFG-REPORTS SPURIOUS COMMAND FLAG * CMDFG NOP CLB SETUP EXPECTED STATUS JSB ERMS,I REPORT COMMAND FLAG SET DEF E133 JMP CMDFG,I EXIT * E133 EQU * ASC 09,E133 COMMAND FLAG/ * * * * NON-DMA READ DRIVER * * * CALL: * THE RECORD WORD LENGTH='BUFLG' * THE INPUT BUFFER S.A.='INBUF' * .READ NOP JSB .CLBF,I CLEAR INPUT BUFFER AREA CLA STA RDERR CLEAR READ ERROR FLAG STA INBFL CLEAR INPUT BUFFER LENGTH LDA BFMAX YES-LOAD MAX BUFFER SIZE ADA INBUF COMPUTE LWA OF BUFFER STA .RDCT STORE IT IN READ COUNTER LDB RD10,I START THE READ JSB OCMMD .RD01 STC DATA,C START THE DATA TRANSFER LDA FGINT LOAD INTERRUPT FLAG SZA,RSS IS IT ZERO? JMP .RD15 NO-CONTINUE IN NON-INTERRUPT JSB LDINT,I LOAD ERROR MESSAGES INTO TRAP CELLS LDA CMD SETUP FOR COMMAND CHANNEL JSB INTJP,I INTERRUPT DEF TCCMD INTERRUPT BASE PAGE LINK DEF .RD05 POINTER TO INTERRUPT JMP LDA DTA SETUP FOR DATA CHANNEL JSB INTJB,I INTERRUPT SERVICE ROUTINE DEF TCDAT INTERRUPT BASE PAGE LINK gnþú DEF .RD09 POINTER TO DATA TRANSFER ROUTINE LDB INBUF LOAD BUFFER ADDRESS JMP .RD16 GO WAIT FOR INTERRUPTS * .RD15 EQU * NON-INTERRUPT CONTINUATION * LDB INBUF GET INPUT BUFFER ADDRESS MORED CLA .RD02 SFS DATA WAIT FOR DATA FLAG JMP .RD08 FLAG CLEAR-GOTO WAIT LOOP .RD03 LIA DATA,C LOAD DATA WORD STA B,I STORE WORD IN BUFFER INB ADVANCE THE BUFFER POINTER CPB .RDCT IS IT LWA IN BUFFER? JMP .RD04 YES-GO TO END OF RECORD JMP MORED NO-GO GET NEXT WORD .RD08 EQU * CHECK FOR DATA FLAG TIME OUT .RD06 EQU * SFC CMMD IS COMMAND FLAG SET? JMP .RD05 YES-GO TERMINATE RECORD INA,SZA INCREMENT AND CHECK FOR ZERO JMP .RD02 NO TIME OUT-GO CHECK FLAG AGAIN * YES- TIME OUT EXIT .RD13 EQU * STB .RDTP SAVE LWA OF BUFFER JSB CLEAR CLEAR CONTROLLER JSB DATFG REPORT DATA FLAG LOST JMP .RD17 GO COMPUTE BUFFER LENGTH .RD04 EQU * CLC DATA,C END OF RECORD STB .RDTP SAVE LWA OF BUFFER JSB FLGWT WAIT FOR THE OPERATION TO FINISH .RD05 EQU * STB .RDTP SAVE LWA OF BUFFER .RD17 EQU * JSB LDINT,I PUT ERROR MSG IN TRAP CELLS LDA MSKEF JSB BITCK IS EF BIT SET? JMP .RD07 YES-JUMP OVER DATA ERROR CHECK JSB STATS GET STATUS AND MSKIO CHECK FOR DATA ERRORS SZA,RSS IS IT NON ZERO? JMP .RD07 NO- STATUS OK-CONTINUE READ LDA STATU GET STATUS STA RDERR YES-SAVE STATUS .RD07 EQU * LDB .RDTP GET LWA OF BUFFER LDA INBUF GET FWA OF BUFFER CMA,INA MAKE IT NEGATIVE ADA B COMPUTE BUFFER LENGTH STA INBFL SAVE INPUT BUFFER LENGTH JMP .READ,I * RD10 EQU * DEF RRF READ COMMAND ADDRESS * * DATA TRANSFER ROUTINE FOR INTERRUPT * zŠþú .RD09 NOP .RD14 EQU * LIA DATA,C LOAD IN THE DATA STA B,I STORE IT IN THE BUFFER* INB INCREMENT BUFFER POINTER CPB .RDCT IS RECORD LARGER THAN AVAILABLE CORE? JMP .RD04 YES-EXIT RECORD CLA NO-RESET DATA FLAG TIME OUT COUNTER. JMP .RD09,I GO WAIT FOR NEXT INTERRUPT * * WAIT FOR INTERRUPT ROUTINE * .RD16 EQU * CLA CLEAR DATA FLAG TIME OUT COUNTER .RD12 EQU * INA,SZA IS IT A TIME OUT? JMP .RD12 NO-WAIT FOR INTERRUPT JMP .RD13 YES-GO TERMINATE READ * * * NON-ERROR MESSAGES REPORTING * * CALLING SEQUENCE: * JSB MSG (MS,I) * DEF RTN * DEF * NOP * . * RTN EQU * * MSG NOP LDA ERSKP CKECK ERROR MSG SKIP FLAG SZA IS IT SET? JMP MSGEX YES-EXIT LDB SW10 CHECK IF SUPRESSED JSB SWRC,I JMP MSGEX YES 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 CLA,CLE SLOW OUTPUT DEVICE MSGA LDB FPTA RETRIEVE MESSAGE JSB FMTR2,I START FORMAT MSGL0 SZA,RSS IS THERE ANY NUMBERS REQUESTED JMP OPMSG,I NO LDB NUA,I YES GET NUMBER CCA JSB FMTR2,I OUTPUT IT ISZ NUA MOVE TO NEXT NUMBER JMP MSGL0 NUA NOP FPTA NOP * * * DMA READ DRIVER *CALL: * JSB DMARD,I HIGH CORE CALL * JSB .DMRD LOW CORE CALL * THE RECORD WORD LENGTH~þú='BUFLG' * THE INPUT BUFFER S.A. ='INBUF' * N.B. IF BUFFER LENGTH IS ZERO, LENGTH IS SET TO MAX BUFFER * .DMRD NOP JSB .CLBF,I CLEAR INPUT BUFFER AREA CLA STA RDERR CLEAR READ ERROR FLAG LDA FGDMA FETCH CHANNEL # STA .DMR1 SETUP CHANNEL NUMBER LDA INBUF GET INPUT BUFFER ADDRESS ADA ..1MG SETUP BUFFER FOR INPUT FROM DMA STA .DMR2 LDA INBFL LOAD INPUT BUFFER LENGTH CPA BUFLG IS IT PRESET TO OUTPUT BUFFER LENGTH? JMP *+2 YES-READ IN ONLY BUFLG AMOUNT LDA BFMAX SET BUFFER LENGTH TO MAXIMUM STA .DMR3 CLA STA INBFL CLEAR INPUT BUFFER LENGTH JSB .DMUP,I GO TO DMA READ ROUTINE .DMR1 NOP CHANNEL NUMBER .DMR2 NOP BUFFER ADDRESS .DMR3 NOP BUFFER LENGTH JMP .DMR5 ERROR RETURN .DMR4 EQU * JMP .DMRD,I EXIT .DMR5 EQU * JSB STATS GET STATUS STA RDERR SET READ ERROR FLAG JMP .DMR4 GOTO EXIT ROUTINE * * * DMA WRITE DRIVER *CALL: * JSB DMAWT,I HIGH CORE CALL * JSB .DMWT LOW CORE CALL * * * THE RECORD WORD LENGTH ='BUFLG' * THE OUTPUT BUFFER'S S.A='FWA' * .DMWT NOP CLA STA WRERR CLEAR WRITE ERROR FLAG LDA FGDMA FETCH CHANNEL # STA .DMW1 SETUP CHANNEL NUMBER LDA FWAM GET INPUT BUFFER ADDRESS STA .DMW2 LDA BUFLG GET BUFFER LENGTH STA .DMW3 JSB .DMUP,I GOTO DMA WRITE ROUTINE .DMW1 NOP CHANNEL NUMBER .DMW2 NOP BUFFER ADDRESS .DMW3 NOP BUFFER LENGTH JMP .DMW5 ERROR RETURN .DMW4 EQU * JMP .DMWT,I EXIT .DMW5 EQU * JSB STATS GET STATUS STA WRERR SET WRITE ERROR FLAG JMP .DMW4 * * * DMAUP- SETUP DMA FOR READ OR WRITE * NOTE INTERRUPTS ARE NOT USED *CALL: * B@

* P+2 * P+3 * P+4 * P+5 * DMAUP NOP LDA DMAUP,I GET CHANNEL # STA CHNUM LDA FGINT GET INTERRUPT FLAG SZA,RSS IS IT ZERO? JMP DMP23 YES-JUMP OVER TRAP CELL SETUP LDA CMD GET SELECT FOR TRAP CELL JSB INTJP,I SETUP JMP IN TRAP CELL DEF TCCMD BASE PAGE LINK DEF DMP20 DESTINATION OF JMP LDA DTA GET SELECT CODE FOR TRAP CELL JSB INTJP,I SETUP JMP IN TRAP CELL DEF TCDAT BASE PAGE LINK DEF DMP10 DESTINATION OF JMP LDA CHNUM GET DMA CHANNEL # ADA .4 CPA .7 IS IT DMA CH 3? JMP DMP22 YES-GO SET IT UP JSB INTJP,I SETUP TRAP CELL FOR DMA DEF TCDA1 INTERRUPT BASE PAGE LINK DEF DMP11 POINTER TO DMA COMPLETION JMP DMP23 JUMP OVER CH 3 SETUP DMP22 EQU * JSB INTJP,I SETUP TRAP CELL FOR DMA DEF TCDA2 INTERRUPT BASE PAGE LINK DEF DMP11 POINTER TO DMA COMPLETION DMP23 EQU * LDA DMP02 LOAD DMA COMMAND JSB SETCH ADD NEW CHANNEL # STA DMP02 REPLACE DMA COMMAND LDA DMP03 LOAD DMA COMMAND JSB SETCH ADD NEW CHANNEL # STA DMP03 REPLACE DMA COMMAND STA DMP05 REPLACE DMA COMMAND STA DMP12 REPLACE DMA COMMAND LDA DMP04 LOAD DMA COMMAND JSB SETCH ADD NEW CHANNEL # STA DMP04 REPLACE DMA COMMAND LDA DMP13 LOAD DMA COMMAND JSB SETCH ADD NEW CHANNEL # STA DMP13 REPLACE DMA COMMAND STA DMP14 REPLACE DMA COMMAND ‹OBÿÿ ÿý:J ÿ13181-18011 1629 S 0146 13181/13183 MAG TAPE DG              H0101 9þú LDA CHNUM GET CHANNEL # ADA .4 ADD 4 TO IT STA CHNUM SAVE NEW # LDA DMP01 LOAD DMA COMMAND JSB SETCH ADD NEW CHANNEL # STA DMP01 REPLACE DMA COMMAND LDA DMP10 LOAD DMA COMMAND JSB SETCH ADD NEW CHANNEL # STA DMP10 REPLACE DMA COMMAND LDA DMP11 LOAD DMA COMMAND JSB SETCH ADD NEW CHANNEL # STA DMP11 REPLACE DMA COMMAND LDA WTDM2 LOAD DMA COMMAND JSB SETCH ADD NEW CHANNEL # STA WTDM2 REPLACE DMA COMMAND * END OF DMA INITALIZATION * ISZ DMAUP ADJUST TO START ADDRESS LDA DMAUP,I GET STARTING ADDRESS STA DMUP1 SAVE IT ISZ DMAUP LDA DMAUP,I GET WORD COUNT SZA,RSS IS IT ZERO? LDA BFMAX YES-LOAD MAXIMUM BUFFER SIZE STA DMPW SAVE WORD COUNT CMA,INA MAKE IT NEGATIVE STA DMPCT SAVE IT ISZ DMAUP ADJUST RETURN FOR POSSIBLE ERROR LDA CWDMA GET DMA CONTROL WORD DMP01 OTA CHAN+4 OUTPUT CONTROL WORD DMP02 CLC CHAN SETUP THE DMA BUFFER ADDRESS LDA DMUP1 GET BUFFER ADDRESS DMP03 OTA CHAN OUTPUT THE ADDRESS TO DMA DMP04 STC CHAN SETUP THE DMA WORD COUNT * CHECK FOR DMA * CCA CHECK FOR DMA DMP12 OTA CHAN OUTPUT MASK DMP13 LIB CHAN LOAD MASK COMPLEMENT SZB NO DMA IF B=0 JMP DMP17 YES-CONTINUE JSB CLEAR CLEAR CONTROLLER JSB ERMS,I REPORT NO DMA DEF E157 POINTER TO MESSAGE JMP DMAUP,I ABORT-ERROR EXIT E157 EQU * ASC 06,E157 NO DMA/ DMP17 EQU * CMB PATCH FOR 2114/15/16 DMA STB DMASK SAVE IT * END OF DMA CHECK LDA DMPCT GET BUFFER LENGTH DMP05 OTA CHAN OUTPUT NEG WORD COUNT TO DMA * * DMA SETUP COMPLETE * SETUP FOR A READ OR WRITE LDA ..1M˜žþúG LOAD BIT 15 MASK LDB DMUP1 GET BUFFER STARTING ADDRESS AND B IS BIT 15 SET? SZA,RSS JMP DMP06 NO-SETUP WRITE LDA .RRF YES-SETUP READ JMP DMP07 GOTO READ ROUTINE DMP06 EQU * LDA .WCC SETUP WRITE INSTRUCTION DMP07 EQU * ADA .LDB STA DMP08 STORE IT DMP08 LDB RRF LOAD READ/OR WRITE COMMAND JSB OCMMD OUTPUT READ COMMAND DMP09 STC DATA,C SET THE DATA TRANSFER DMP10 STC CHAN+4,C START DMA LDA DTA GET SELECT CODE OF TRAP CELL JSB INTJB,I LOAD TRAP CELL WITH JSB DEF TCDAT BASE PAGE LINK DEF .DATI DESTINATION OF JSB JSB WTDMA WAIT FOR DMA TRANSFER DMP11 CLC CHAN+4,C TURN OFF DMA JSB FLGWT WAIT FOR COMMAND FLAG DMP20 EQU * JSB CLRCH CLEAR ALL FLAGS JSB LDINT,I FILL TRAP CELL WITH ERROR MSG DMP14 LIB CHAN LOAD DMA WORD COUNT SZB,RSS IS IT ZERO? JMP DMP15 YES-DMA COMPLETE ADB DMASK ADB DMPW NO-COMPUTE WORD COUNT STB DMPW SAVE WORD COUNT DMP15 EQU * LDA DMPW STA INBFL SAVE INPUT BUFFER LENGTH LDA MSKEF JSB BITCK IS EOF BIT SET? JMP DMP19 YES-EXIT JSB STATS GET STATUS AND MSKIO ISOLATE I/O ERROR BITS SZA ANY I/O ERRORS? JMP DMAUP,I YES-ERROR RETURN DMP19 EQU * ISZ DMAUP OK-GO TO NORMAL RETURN JMP DMAUP,I EXIT * DMP24 EQU * JSB CLEAR CLEAR CONTROLLER JSB DATFG REPORT NO DATA FLAG JMP DMAUP,I ERROR EXIT * ..1MG EQU MSKDN CHAN EQU 2 DMA CHANNEL SET TO DMA CHANNEL 1 CWDMA EQU SW13 CHNUM NOP 1 OR 2 CHANNEL DMUP1 NOP BUFFER STARTING ADDRESS DMPCT NOP DMA WORD COUNT DMPW NOP DMA WORD COUNT (POSITIVE) MSKLS OCT 177770 MASK OFF LSD * * WTDMA_WAITS FOR DMA FLAG AND * STORES THE Te¢þúRANSFER TIME IN DTIME *CALL: * JSB WTDMA * * WTDMA NOP CLA SET UP MILLI-SEC COUNTER STA DTIME CLEAR TRANSFER TIME COUNTER LDB .ME3 SETUP TIME OUT COUNTER FOR 1 SEC. STB WTDM1 WTDM2 EQU * SFC CHAN+4 IS DMA FLAG SET? JMP WTDM3 YES-EXIT WTDM4 EQU * SFC CMMD IS THE COMMAND FLAG SET? JMP DMP20 YES-EXIT LDA .1 NO-CHECK FOR TIME OUT JSB TMRR,I GO WAIT FOR 1 MILLI-SEC ISZ DTIME INCREMENT TIME TRANSFER COUNT ISZ WTDM1 INCREMENT TIME OUT COUNTER JMP WTDM2 NO TIME OUT-GO CHECK FLAG JSB CLEAR TIME OUT-CLEAR CONTROLLER JSB ERMS,I REPORT DMA FLAG LOST DEF E163 POINTER TO MESSAGE JMP WTDM3 JUMP OVER MESSAGE * E163 EQU * ASC 10,E163 LOST DMA FLAG/ WTDM3 EQU * JMP WTDMA,I EXIT * WTDM1 NOP TIME OUT COUNTER * SETCH - SETUP CHANNEL NUMBER IN DMA CMDS. *CALL: * JSB SETCH * * SETCH NOP AND MSKLS MASK OFF CHANNEL # ADA CHNUM ADD NEW CHANNEL # JMP SETCH,I RETURN * * * * * * RWSLO - REWINDS TAPE UNIT TO LP AND CHECKS FOR * LP ONLY STATUS * NOTE: SLOW REWIND USING BSR COMMAND *CALL: * JSB RWSLO (P ) * JMP ERROR RETURN (P+1) * NORMAL RETURN(P+2) * RWSLO NOP JSB BSRWO BSR TO REACH LP RWSL1 SFC CMMD IS IT FINISHED? JMP RWSL2 YES-GO CHECK LP LDA MSKOL NO- CHECK FOR OFF-LINE JSB BITCK IS UNIT OFF-LINE? JMP RWSL3 YES-GO REPORT ERROR JMP RWSL1 NO- GO CHECK COMMAND FLAG RWSL2 EQU * JSB BSRWF BACK SPACE TO LP LDA MSKLP IS UNIT AT LP? JSB BITCK JMP RWSL4 YES-OK TO EXIT JMP RWSL1 NO-GO BSR AGAIN RWSL3 EQU * LDB MSKLP SETUP EXPECTED STATUS ³&þú JSB ERMS,I REPORT UNIT OFF-LINE DEF E140 * JMP RWSLO,I GO TO ERROR RETURN RWSL4 EQU * ISZ RWSLO ADJUST RETURN FOR NORMAL EXIT JMP RWSLO,I EXIT * * * * SUBROUTINE ALLCP- COMPARES EACH ON-LINE UNIT * - TO CONTENTS OF INPUT BUFFER *CALL: - (CLEARS INPUT BUFFER AND READS A RECORD) * JSB ALLCP * * ALLCP NOP CLA STA UNITX TEMPORARY UNIT NUMBER ALCP1 EQU * JSB UNISL GOTO SELECT UNIT ROUTINE JMP ALCP2 OFF-LINE RETURN JSB .CLBF,I CLEAR INPUT BUFFER JSB SIOR,I READ A RECORD JSB COMPR COMPARE INPUT AND OUTPUT BUFFERS ALCP2 EQU * LDA UNITX GET CURRENT UNIT # INA INCREMENT UNIT # STA UNITX SAVE IT CPA .4 IS IT LAST UNIT? JMP ALCP3 YES-EXIT ROUTINE JMP ALCP1 NO-GO TRY NEXT UNIT ALCP3 EQU * JMP ALLCP,I EXIT * * * SUBROUTINE ALLRW- REWINDS ALL UNITS * *CALL: * JSB ALLRW * ALLRW NOP CLA STA ARW01 CURRENT UNIT NUMBER ARW02 EQU * JSB UNISL GOTO SELECT UNIT SUBROUTINE JMP ARW03 OFF-LINE RETURN JSB LPREW REWIND TO LOAD POINT ARW03 EQU * LDA ARW01 GET CURRENT UNIT # INA INCREMENT UNIT # STA ARW01 SAVE IT CPA .4 IS IT THE LAST UNIT? JMP ALLRW,I YES-EXIT JMP ARW02 NO-GOTO NEXT UNIT * ARW01 NOP UNIT NUMBER * * * SUBROUTINE ALLWR- WRITES OUTPUT BUFFER ON ALL UNITS * *CALL: * JSB ALLWR * ALLWR NOP CLA STA AWR01 CURRENT UNIT NUMBER AWR02 EQU * JSB UNISL GOTO SELECT UNIT SUBROUTINE JMP AWR03 OFF-LINE RETURN JSB SIOW,I WRITE A RECORD AWR03 EQU * LDA AWR01 GET CURRENT UNIT # INA INCREMENT UNIT # STA AWR01 SAVE IT CPA .4 ûVþú IS IT THE LAST UNIT? JMP ALLWR,I YES-EXIT JMP AWR02 NO-GOTO NEXT UNIT AWR01 NOP * * * * * * * SUBROUTINE CLRBF - ROUTINE CLEARS INPUT BUFFER *CALL: * JSB CLRBF * * CLRBF NOP LDA FWAM GET FIRST WORD OF AVAILABLE MEMORY ADA BUFLG COMPUTE FW OF INPUT BUFFER STA TMP1 STORE INPUT BUFFER ADDRESS LDA LWAM GET LAST WORD AVAILABLE LDB .M1 ADA B GET LAST WORD - 1 STA TMP2 CBF01 EQU * CLA STA TMP1,I PUT ZERO IN LOCATION ISZ TMP1 INCREMENT POINTER LDA TMP2 LOAD LAST WORD AVAILABLE CPA TMP1 IS POINTER=LWA JMP CLRBF,I YES-EXIT JMP CBF01 NO-LOOP * * * * * INTERRUPT ROUTINES * * TCJMP- PUT JMP INSTRUCTION IN TRAP CELL *CALL: * LDA * JSB TCJSB * DEF

* DEF * * *INDIRECT CALL USE: * JSB INTJB,I * TCJSB NOP STA TCJS1 SAVE TRAP CELL SELECˆ¼þúT CODE LDA JSBI GET JSB INSTRUCTION AND MKADD MASK OFF ADDRESS ADA TCJSB,I ADD ON NEW ADDRESS STA TCJS1,I PUT IT IN TRAP CELL LDB TCJSB,I GET ADDRESS OF BASE PAGE LINK ISZ TCJSB ADJUST POINTER TO NEXT PARAMETER LDA TCJSB,I GET DESTINATION OF JSB STA B,I PUT IT IN BASE PAGE LINK ISZ TCJSB SKIP OVER ADDRESS-ADJUST RETURN JMP TCJSB,I RETURN TO CALLER * TCJS1 NOP TRAP CELL SELECT CODE * * * * INTON- TURN ON INTERRUPTS *CALL: * JSB INTON,I * * .INTN NOP CCA SET INTERRUPT FLAG STA FGINT JSB CLRCH CLEAR DMA,COMMAND, AND DATA CHANNELS STF INTP TURN ON INTERRUPT SYSTEM JMP .INTN,I RETURN TO CALLER * * * INTOF- TURN OFF INTERRUPTS *CALL: * JSB INTOF,I * * .INTF NOP CLA CLEAR INTERRUPT FLAG STA FGINT CLF INTP TURN OFF INTERRUPTS JMP .INTF,I RETURN TO USER * * * * * CMMDI- REPORT INTERRUPT ERROR ON * COMMAND CHANNEL *CALL: * JSB CMMDI,I * .CMDI NOP JSB CMDSV SAVE THE A AND B REG CLB SETUP EXPECTED STATUS JSB ERMS,I REPORT COMMAND INTERRUPT ERROR DEF E160 JSB CMDRS RESTORE A AND B REG JMP .CMDI,I RETURN TO CALLER * * CMDSV NOP STA CDSV1 SAVE THE A REG STB CDSV2 SAVE THE B REG JMP CMDSV,I EXIT ROUTINE * CMDRS NOP LDA TSTN GET CURRENT TEST # CPA .37 IS IT OP DESIGN? JMP .IRQ,I YES-EXIT LDA CDSV1 LDB CDSV2 RESTORE A AND B REG JMP CMDRS,I EXIT ROUTINE * * CDSV1 NOP CDSV2 NOP * * DATAI-REPORT INTERRUPT ERROR ON * DATA CHANNEL * *CALL: * JSB DATAI,I * .DATI NOP JSB CMDSV SAVE THE A AND B REG CLB SETUP EXPECTED STATUS JSB ERMS,I REPORT DATA INTERRUPT ERROR DEF E161 JSB CMDRS RESTORE A AND B REG JMP .DATI,I RETURN TO CALLER * * * DMAI- REPORT INTERRUPT ERROR ON * DMA CHANNEL *CALL: * JSB DMAI,I * .DMAI NOP CLB SETUP EXPECTED STATUS JSB CMDSV SAVE THE A AND B REG JSB ERMS,I REPORT DMA INTERRUPT ERROR DEF E162 JSB CMDRS RESTORE A AND B REG JMP .DMAI,I RETURN TO CALLER * E160 EQU * ASC 09,E160 COMMAND INT/ E161 EQU * ASC 07,E161 DATA INT/ * SKP ORG PAG14 LST * SKIP TO NEXT PAGE OF MEMORY ******************************** E162 EQU * ASC 07,E162 DMA INT/ * * * LDINT-LOADS ALL INTERRUPT CHANNELS * (COMMAND,DATA,AND DMA) WITH * ERROR MESSAGES *CALL: * JSB LDINT,I * * .LDIT NOP LDA CMD GET SELECT CODE OF COMMAND CH JSB INTJB,I GO INSERT JSB IN TRAP CELL DEF TCCMD BASE PAGE LINK DEF .CMDI ADDRESS OF SUBROUTINE LDA DTA GET SELECT CODE OF DATA CH JSB INTJB,I GO INSERT JSB IN TRAP CELL DEF TCDAT BASE PAGE LINK DEF .DATI ADDRESS OF SUBROUTINE LDA .LDI1 GET ADDRESS OF DMA CHANNEL JSB INTJB,I GO INSERT JSB IN TRAP CELL DEF TCDA1 BASE PAGE LINK DEF .DMAI ADDRESS OF SUBROUTINE LDA .LDI1 INA GET ADDRESS OF DMA CHANNEL JSB INTJB,I GO INSERT JSB IN TRAP CELL DEF TCDA2 BASE PAGE LINK DEF .DMAI ADDRESS OF SUBROUTINE JMP .LDIT,I EXIT * .LDI1 DEF CHAN+4 * * * * RDGAP-ISSUES A RFF COMMAND AND WAITS FOR FIRST * DATA FLAG THEN CLEARS IT. * CALL: íƒþú* JSB RDGAP * P+1 * P+2 * RDGAP NOP LDB RFF GET RFF COMMAND JSB OCMMD OUTPUT THE COMMAND RGP01 STC DATA,C SETUP DATA TRANSFER CLB SETUP TIME OUT COUNTER RGP02 SFC DATA IS DATA FLAG SET? JMP RGP03 YES-EXIT ROUTINE INB,SZB NO-HAS COUNTER TIMED OUT JMP RGP02 NO-GO CHECK FLAG AGAIN JSB CLEAR YES-CLEAR CONTROLLER JSB DATFG REPORT NO DATA FLAG JMP RDGAP,I ERROR EXIT RGP03 CLF DATA CLEAR DATA FLAG ISZ RDGAP SETUP FOR NORMAL RETURN JMP RDGAP,I EXIT * * DCODE-UPDATES RECORD COUNT * RECNO IS SET TO ZERO WHENEVER BOT OCCURS * *CALL: * JSB DCODE,I * * .DCOD NOP LDA MSKLP JSB BITCK IS IT AT BOT? JMP DCOD1 YES-CLEAR RECORD COUNT JMP DCOD2 NO-GO DECODE THE COMMAND DCOD1 EQU * CLA STA RECNO CLEAR RECORD COUNTER DCOD2 EQU * LDA OCMD4 GET THE LAST COMMAND AND BSR CHECK FOR 41 CODE CPA BSR IS IT A REVERSE COMMAND? JMP DCOD3 YES-GO DECREMENT REC NO. JMP DCOD4 NO-GO CHECK FORWARD MOTION * DCOD3 EQU * LDA RECNO GET RECORD NUMBER SZA SKIP IF RECORD COUNT =0 ADA .M1 SUBTRACT A RECORD STA RECNO UPDATE RECORD COUNTER JMP DCOD9 EXIT DCOD4 EQU * LDA OCMD4 GET LAST COMMAND AND .3 ISOLATE FORWARD MOTION BITS CPA .3 IS IT FORWARD MOTION? JMP DCOD8 YES-INCREMENT COUNTER LDA OCMD4 NO-GET LAST COMMAND AND .09D ISOLATE WRITE COMMAND BITS CPA .09D IS IT A WRITE COMMAND? DCOD8 EQU * ISZ RECNO YES-INCREMENT RECORD COUNTER NOP DCOD9 EQU * JMP .DCOD,I EXIT ROUTINE * * * * EXTENDED ERROR MESSAGE ROUTINE * .ERMS NOö þúP STA .ER17 SAVE REGISTERS-STATUS STB .ER18 -EXPECTED STATUS LDA FGINT LOAD INTERRUPT SYS ON FLAG STA INTFG SAVE INTERRUPT FLAG LDA .ERMS,I GET POINTER TO ERROR MSG STA .ER01 SAVE IT FOR ERROR MESSAGE ISZ .ERMS ADJUST RETURN LDA ERSKP LOAD ERROR MSG SKIP FLAG SZA IS IT SET? JMP .ERMS,I YES-EXIT SUBROUTINE * LDB SW11 GO CHECK SWITCH 11 JSB SWRC,I IS IT SET? JMP .ER15 YES-DO NOT OUTPUT MESSAGE LDA TST0F GET TEST 0 FLAG SZA IS IT TEST 0? JMP .ER15 YES-DELETE MESSAGES JSB STATS GET STATUS STA .ER14 SAVE STATUS LDA FG183 LOAD 13183 FLAG SZA,RSS IS IT A 13183? JMP .ER05 NO-SKIP OVER UNIT ID SETUP LDA .ER18 LOAD A WITH EXPECTED STATUS LDB UNIT GET THE UNIT NUMBER BLF,BLF MOVE UNIT # TO BITS 13-14 RBL,BLF ADB MSKDN ADD DENSITY BIT IOR B ADD ID TO EXPECTED STATUS STA .ER18 RESTORE EXPECTED STATUS .ER05 EQU * * BEGIN SETUP FOR NON ERROR MESSAGES LDA UNIT LOAD CURRENT UNIT # STA .ER02 SAVE IT LDA RECNO LOAD CURRENT RECORD # STA .ER03 SAVE IT LDA OCMD4 GET THE LAST COMMAND EXECUTED STA .ER04 SAVE IT LDA .ER18 GET EXPECTED STATUS STA EXPST SAVE IT ON BASE PAGE JSB INTOF,I TURN OFF THE INTERRUPT ROUTINE * BEGIN MESSAGE OUTPUT ROUTINE JSB MS,I OUTPUT MESSAGE-CURRENT UNIT DEF .ER07 RETURN DEF .ER08 POINTER TO MESSAGE .ER02 NOP CURRENT UNIT H154 EQU * .ER08 EQU * ASC 06,H154 UNIT #/ .ER07 EQU * JSB MS,I OUTPUT MESSAGE-RECORD NUMBER DEF .ER09 RETURN DEF H102 POINTER TO MESSAGE .ER03 NOP CURRENT RECORD NUMBER H102 EQU * òþúASC 07,H102 RECORD #/ .ER09 EQU * JSB MS,I OUTPUT MESSAGE-COMMAND DEF .ER11 RETURN DEF .ER12 POINTER TO MESSAGE .ER04 NOP LAST EXECUTED COMMAND H054 EQU * .ER12 EQU * ASC 08,H054 COMMAND #/ .ER11 EQU * LDA .ER14 GET STATUS IN A REGISTER JSB FMT03 GO OUTPUT MESSAGE DEF H155 POINTER TO MESSAGE JMP .ER13 JUMP OVER MESSAGE H155 EQU * ASC 11,H155 STATUS IS _ .ER13 EQU * LDA .ER18 LOAD A WITH EXPECTED STATUS JSB FMT03 OUTPUT THE MESSAGE DEF H1551 POINTER TO MESSAGE JMP .ER15 JUMP OVER MESSAGE H1551 EQU * ASC 11,H155 AND SHOULD BE _ .ER15 EQU * * ERROR MESSAGE LDA SUBTS GET CURRENT SUBTEST # ALF,ALF MOVE TO UPPER BYTE ADA TSTN LOAD CURRENT TEST # IN LOWER BYTE LDB .ER14 LOAD CURRENT STATUS JSB .ZERM,I REPORT ERROR .ER01 NOP LDA INTFG LOAD THE INTERRUPT FLAG SZA IS IT SET? JSB INTON,I YES-TURN IT BACK ON LDB SW09 CHECK SWITCH REG. BIT 9 JSB SWRC,I IS IT SET? JMP .ER16 YES-GO CHECK RETURN LDA .ER17 RESTORE A AND B REGISTER LDB .ER18 JMP .ERMS,I EXIT ROUTINE .ER16 EQU * LDA TSTN GET THE CURRENT TEST # CPA .37 IS IT OPDSN? JMP .IRQ,I YES-EXIT TO OPDSN JMP .ZUSR,I EXIT TO HALT 75 * * .ER17 NOP A REG CONTENTS .ER18 NOP B REG CONTENTS .ER14 NOP CURRENT STATUS * * SUBROUTINE FMT02-SETUP FOR CALL TO FMTR * *CALL: * JSB .FMT2,I INDIRECT CALL * DEF * * FMT02 NOP LDB FMT02,I GET MESSAGE ADDRESS ISZ FMT02 ADJUST RETURN CLA,CLE SETUP FOR OUTPUT JSB FMTR,I OUTPUT THE MESSAGE JMP FMT02,I EXIT * * * SUBROUTINE FMT03-SETUP FOR CALL TO FMTR WITH A # * M÷B@< *CALL: * LDA <# FOR MESSAGE> * JSB .FMT3,I INDIRECT CALL-OUTPUT THE MESSAGE * DEF * * * * FMT03 NOP STA FM01 SAVE OCTAL NUMBER OUTPUT LDB SW10 CHECK SWITCH 10 JSB SWRC,I IS IT SET? JMP FM08 YES-SKIP OVER MESSAGE LDA FMT03,I GET ADDRESS OF MESSAGE STA FM03 SAVE IT ISZ FMT03 ADJUST RETURN JSB FMT02 OUTPUT THE MESSAGE FM03 NOP POINTER TO MESSAGE CLE CLEAR THE E REGISTER JSB BINC OUTPUT BIT 15 OF # LDA .M5 SET UP BIT COUNTER STA COUNT FM04 EQU * JSB FMT02 OUTPUT A SPACE DEF FMTSP POINTER TO MESSAGE JSB BINC OUTPUT THE #'S BITS JSB BINC -THREE IN A ROW ™°Bÿÿ ÿý;K ÿ13181-18012 1629 S 0146 13181/13183 MAG TAPE DG              H0101 :þú JSB BINC ISZ COUNT FINISHED? JMP FM04 NO-GO OUTPUT NEXT OCTAL # JSB FMT02 OUTPUT CR-LF DEF FMTCR POINTER TO MESSAGE JMP FMT03,I EXIT FM08 EQU * ISZ FMT03 ADJUST RETURN JMP FMT03,I EXIT * * * * * SUBROUTINE BINC-DECODES OCTAL # TO BINARY OUTPUT * *CALL: * JSB BINC * * BINC NOP LDA FM01 GET THE NUMBER ELA ROTATE # INTO E STA FM01 RESTORE THE # SEZ IS THE BIT = 0? JMP FM06 NO-GO OUTPUT A 1 JSB FMT02 OUTPUT A 0 DEF FMT00 POINTER TO THE MESSAGE JMP FM07 GOTO EXIT FM06 EQU * JSB FMT02 OUTPUT A 1 DEF FMT01 POINTER TO THE MESSAGE FM07 EQU * JMP BINC,I EXIT * * * * FM01 NOP NUMBER FOR OUTPUT MESSAGE .M5 DEC -5 -5 FMT00 ASC 01,0_ 0 OUTPUT MESSAGE FMT01 ASC 01,1_ 1 OUTPUT MESSAGE FMTSP ASC 01, _ OUTPUTS A SPACE FMTCR ASC 01, / OUTPUTS A CR-LF * * * HED 7970 OPERATOR DESIGN * * OPERATOR DESIGN EXTENTION SECTION **************************** * * * * * FMTR2- * POINTS TO FMTR *CALL: * LDA * LDB * JSB FMTR2,I * * ON ENTRY THE INTERRUPT SYSTEM WILL BE TURNED OFF IF "A" * IS POSITITVE. ON EXIT THE INTERRUPT SYSTEM WILL BE CHECKED * IF THE RETURN FROM FMTR INDICATES THAT A NUMBER IS NOT * EXPECTED TO BE PASSED BACK TO THE FMTR. .FMTR NOP SSA IS IT INITIAL CALL? JMP .FMTX NO - SO DO NOT LOOK AT INT SYS STA .FTR1 SAVE A AND B REG STB .FTR2 LDA FGINT LOAD THE INTERRUPT FLAG STA .FTR3 SAVE IT JSB INTOF,I TURN INTERRUPT SYSTEM OFF LDA .FTR1 RESTORE A AND B REGISTER LDB .FTR2 .FMTX JSB FMTR,I OUTPUT THE MESSAGE SZA IS A NUMBER BEING ó”þúREQUESTED? JMP .FMTR,I YES - BYPASS CHECK OF INT SYS STA .FTR1 SAVE A AND B REG STB .FTR2 LDA .FTR3 LOAD INTERRUPT FLAG SZA WAS THE INTERRUPT SYS ON? JSB INTON,I YES-TURN IT BACK ON ************************ LDA .FTR1 RESTORE A AND B REGISTER LDB .FTR2 JMP .FMTR,I EXIT * .FTR1 NOP CONTENTS OF A REG .FTR2 NOP CONTENTS OF B REG .FTR3 NOP INTERRUPT FLAG * * SETUP FOR OPERATOR DESIGN * .OPST NOP SETUP PRIOR TO EXECUTING OPDSN JSB INTOF,I TURN OFF INTERRUPT SYSTEM JSB KCORE SETUP MAXIMUM CORE SIZE JSB .ZTCH,I LOAD ALL TRAP CELLS WITH HALTS JSB LDINT,I LOAD TRAP CELLS WITH ER MSG CLA STA CNT01 CLEAR COUNTER STA FGDMA CLEAR DMA FLAG STA FGINT CLEAR INTERRUPT FLAG STA SKPSW CLEAR SKIP SW REG CK FLAG JMP .OPST,I * * * OPERATOR DESIGN STATEMENT DEFINITIONS * AND ROUTINE POINTERS * STUDD EQU * * ASC 2,SR STATUS REPORT ASC 1,AA DEF SR0 * ASC 2,SC STATUS COMPARE ASC 1,IK DEF SC0 * ASC 2,SFC SKIP FLAG CLEAR ASC 1,IA DEF SFC0 * ASC 2,SD STANDARD DATA PATTERN ASC 1,AI DEF SD0 * ASC 2,RD READS A RECORD ASC 1,KK DEF RD0 * ASC 2,WR WRITES A RECORD ASC 1,KK DEF WR0 * * ASC 2,SEL0 SELECT UNIT 0 ASC 1,II DEF SL00 * ASC 2,SEL1 SELECT UNIT 1 ASC 1,II DEF SL10 * ASC 2,SEL2 SELECT UNIT 2 ASC 1,II DEF SL20 * ASC 2,SEL3 SELECT UNIT 3 ASC 1,II DEF SL30 * ASC 2,WCC WRITE RECORD ASC 1,II DEF WCC0 * ASC 2,WFM WRITE FILE MARK ASC 1,II DEF WFM0 * ASC 2,RRF READ RECORD ASC 1,II DEF RRF0xEþú * ASC 2,FSR FORWARD SPACE RECORD ASC 1,II DEF FSR0 * ASC 2,FSF FORWARD SPACE FILE ASC 1,II DEF FSF0 * ASC 2,GAP WRITE GAP ASC 1,II DEF GAP0 * ASC 2,BSR BACKSPACE RECORD ASC 1,II DEF BSR0 * ASC 2,BSF BACK SPACE FILE ASC 1,II DEF BSF0 * ASC 2,REW REWIND ASC 1,II DEF REW0 * ASC 2,RWO REWIND OFF-LINE ASC 1,II DEF RWO0 * ASC 2,CLR CLEAR ASC 1,II DEF CLR0 * ASC 2,GFM GAP-FILE MARK ASC 1,II DEF GFM0 * * ASC 2,CRC READ AND OUTPUT CRCC ASC 1,KI DEF CRC0 * * ASC 2,DMA READ OR WRITE UNDER DMA ASC 1,II DEF DMA0 * ASC 2,INTR READ OR WRITE UNDER INTERRUPT ASC 1,II DEF INTR0 * * ASC 2,FLAG READ OR WRITE UNDER FLAG ASC 1,II DEF FLAG0 * * READ AND OUTPUT DMA WORD COUNT * ASC 2,DMAW ASC 1,II DEF DMAW0 * * ASC 2,CRCI COMPUTE CRCC FROM INPUT BUFFER ASC 1,KK DEF CRCI0 * ASC 2,CRCO COMPUTE CRCC FROM OUTPUT BUFFER ASC 1,KK DEF CRCO0 * ASC 2,COMP COMPARE INPUT AND OUTPUT BUFFERS ASC 1,KK DEF COMP0 * ASC 2,CNT COUNTER- USE ONLY ONE TIME ASC 1,II DEF CNT0 * ASC 2,WORD FILL OUTPUT BUFFER WITH A SPECIAL ASC 1,KI WORD DEF WORD0 * ASC 2,LRCI COMPUTE LRCC FOR INPUT BUFFER ASC 1,II DEF LRCI0 * ASC 2,LRCO COMPUTE LRCC FOR OUTPUT BUFFER ASC 1,II DEF LRCO0 * * ASC 2,TRAP FILL INTERRUPT TRAP CELL WITH JMP ASC 1,KI DEF TRAP0 * ASC 2,STC SET CONTROL ASC 1,KK DEF STC0 * ASC 2,CLC CLEAR CONTROL ASC 1,KK DEF CLC0 * ASC 2,STF SET FLAG ASC 1,KK ]«þú DEF STF0 * ASC 2,CLF CLEAR FLAG ASC 1,KK DEF CLF0 * * DEC -1 END OF LIST * * * * SR0 NOP * * STATUS REPORT * JSB STATS GET STATUS STA AREG SAVE STATUS CLA,CLE BEGIN OUTPUT LDB SR01 LOAD POINTER TO MESSAGE JSB FMTR2,I OUTPUT IT CCA LDB UNIT LOAD TAPE UNIT # JSB FMTR2,I OUTPUT IT CCA LDB AREG LOAD STATUS JSB FMTR2,I OUTPUT IT JMP SR0,I EXIT * SR01 DEF *+1 ASC 09,UNIT # STATUS #/ * * * * STATUS COMPARE * SC0 NOP STA AREG SAVE A AND B REGISTER STB BREG SZA,RSS IS A REG ZERO? JMP SC02 YES-REPORT ERROR AND EXIT JSB STATS GET STATUS CPA BREG COMPARE STATUS JMP SC0,I THEY ARE =, EXIT * SETUP JMP TO NEXT STATEMENT ROUTINE ********* LDA AREG GET NEW LINE NUMBER ISZ SC0 ADJUST RETURN TO NEW LINE # JMP SC0,I EXIT SC02 EQU * JMP .OPLN,I GO REPORT NO LINE # * * * * SKIP FLAG CLEAR SFC0 NOP STA AREG SAVE A AND B REGISTER STB BREG SZA,RSS IS A ZERO? JMP SFC01 GO REPORT LINE # MISSING CPB SFC03 IS IT "D"? JMP SFC04 YES- GO CHECK DATA CHANNEL CPB SFC05 NO-CHECK FOR "C" JMP SFC06 YES-GO CHECK COMMAND CHANNEL JMP SFC06 NO-NEITHER C OR D - GO CHECK C SFC04 EQU * * DATA CHANNEL CHECK CLA O-FOR DATA CHANNEL JSB FLGCK IS FLAG SET? SFC08 EQU * YES-EXIT JMP SFC0,I EXIT SFC07 EQU * LDA AREG GET LINE # ISZ SFC0 ADJUST RETURN FOR LINE CHANGE JMP SFC0,I EXIT * COMMAND CHANNEL CHECK * SFC06 EQU * CCA ALL 1'S FOR COMAND CHANNEL JSB FLGCK IS FLAG 9­þúSET? JMP SFC08 YES-EXIT JMP SFC07 NO SFC01 EQU * REPORT LINE # MISSING JMP .OPLN,I GO REPORT NO LINE # SFC03 ASC 1,D ASCII D SFC05 ASC 1,C ASCI C * * * COMMAND OR DATA CHANNEL CHECK * *CALL: * CLA OR CCA CLA=DATA CHANNEL * CCA=COMMAND CHANNEL * JSB FLGCK * FLAG SET RETURN * FLAG NOT SET RETURN * : * . * . FLGCK NOP SZA,RSS IS A REG ZERO? JMP FGCK0 YES-GO CHECK DATA CHANNEL FGCK1 SFS CMMD NO- GO CHECK COMMAND CHANNEL JMP FGCK2 FLAG NOT SET JMP FLGCK,I FLAG SET-EXIT FGCK0 EQU * FGCK3 EQU * SFS DATA IS DATA FLAG SET? JMP FGCK2 NO JMP FLGCK,I YES-EXIT FGCK2 EQU * FLAG NOT SET ISZ FLGCK INCREMENT RETURN JMP FLGCK,I EXIT * * * STANDARD DATA PATTERN * * A REG. CONTAINS THE RECORD LENGTH * B REG. CONTAINS SPECIAL DATA PATTERN (OPTIONAL) * SD0 NOP STA AREG SAVE A AND B REGISTER STB BREG SZB,RSS IS THERE A BUFFER LENGTH? LDB BFMAX NO-GET MAXIMUM BUFFER LENGTH STB SD020 SAVE IT LDA AREG RESTORE A CPA SD0RA IS IT RANDOM DATA? JMP SD001 YES-DO IT CPA SD0SR IS IT ROTATING 1? JMP SD002 YES- CPA SD0TR IS IT TRACK SAWTOOTH? JMP SD003 YES- CPA SD0CH IS IT CHANNEL SAWTOOTH? JMP SD004 YES CPA SD012 IS IT ALL 125125? JMP SD005 YES CPA SD015 IS IT ALL 1'S? JMP SD006 YES CPA SD00S IS IT ALL 0'S? JMP SD007 YES- STA SD017 NO-ASSUME SPECIAL PATTERN LDA .1 LDB SD018 POINTER TO PATTERN JMP SD016 SD018 DEF *+1 SD017 NOP PATTERN * JMP SD0,I EXIT SD0RA ASC 1,RA SD0SR ASC 1,SR SD0TR ASC 1,TR SD0CH ASC 1,oþúCH SD012 ASC 1,FR 125125 PATTERN SD015 ASC 1,ON ALL ONES PATTERN SD00S ASC 1,ZE ALL ZEROS PATTERN * SD001 EQU * STB TMP1 SAVE THE BUFFER LENGTH SD008 EQU * SSB IS BUFFER LENGTH POSITIVE JMP SD022 NO-REPORT BUFFER LENGTH ERROR LDA BFMAX GET MAXIMUM BUFFER SIZE INA ADD ONE TO IT CMA,INA MAKE IT NEGATIVE ADB A COMPUTE AVAILABLE CORE SSB IS BUFFER TOO LARGE? JMP SD009 NO GOTO BUFFER SETUP SD022 EQU * CLB YES-SETUP ERROR MESSAGE JSB ERMS,I REPORT ERROR DEF E061 POINTER TO BUFFER FULL MSG JMP .IRQ,I EXIT SD009 EQU * LDB TMP1 GET BUFFER LENGTH STB BUFLG SAVE THE BUFFER LENGTH JSB RADBF FILL BUFFER WITH RANDOM DATA JMP SD0,I EXIT SD002 EQU * LDA .09D NINE PATTERNS IN SEQUENCE LDB TSRB ROTATING BIT PATTERN JMP SD016 SD003 EQU * LDA .5 FIVE PATTERNS IN SEQUENCE LDB TSAW TRACK SAWTOOTH PATTERN JMP SD016 SD004 EQU * LDA .5 FIVE PATTERNS IN SEQUENCE LDB CSAW CHANNEL SAWTOOTH PATTERN JMP SD016 SD005 EQU * LDA .1 LDB HLFRQ 125125 PATTERN JMP SD016 SD006 EQU * LDA .1 LDB ALL1 ALL 1'S PATTERN JMP SD016 SD007 EQU * LDA .1 LDB .00 ALL O'S PATTERN JMP SD016 SD016 EQU * JSB FILL,I FILL THE OUTPUT BUFFER DEF SD019 RETURN SD020 NOP BUFFER LENGTH DEF IRQ ERROR RETURN SD019 EQU * JMP SD0,I EXIT * .00 DEF *+1 NOP * * * TAPE COMMAND * * * SELECT UNIT 0 * SL00 NOP CLA STA UNICT SETUP UNIT COUNTER JSB UNISL SELECT TAPE UNIT NOP JMP SL00,I EXIT * * SELECT UNIT 1 SL10 NOP LDA .1 STA UNICT SETUP UNIT C$ÍþúOUNTER JSB UNISL SELECT TAPE UNIT NOP JMP SL10,I EXIT * * SELECT UNIT 2 SL20 NOP LDA .2 STA UNICT SETUP UNIT COUNTER JSB UNISL SELECT TAPE UNIT NOP JMP SL20,I EXIT * * SELECT UNIT 3 SL30 NOP LDA .3 STA UNICT SETUP UNIT COUNTER JSB UNISL SELECT TAPE UNIT NOP JMP SL30,I EXIT * WCC0 NOP LDB WCC JSB OCMMD OUTPUT COMMAND JMP WCC0,I EXIT * WFM0 NOP LDB WFM JSB OCMMD OUTPUT COMMAND JMP WFM0,I EXIT * RRF0 NOP LDB RRF JSB OCMMD OUTPUT COMMAND JMP RRF0,I EXIT * FSR0 NOP LDB FSR JSB OCMMD OUTPUT COMMAND JMP FSR0,I * FSF0 NOP LDB FSF JSB OCMMD OUTPUT COMMAND JMP FSF0,I EXIT * GAP0 NOP LDB GAP JSB OCMMD OUTPUT COMMAND JMP GAP0,I EXIT * BSR0 NOP LDB BSR JSB OCMMD OUTPUT COMMAND JMP BSR0,I EXIT * BSF0 NOP LDB BSF JSB OCMMD OUTPUT COMMAND JMP BSF0,I EXIT * REW0 NOP LDB REW JSB OCMMD OUTPUT COMMAND JMP REW0,I EXIT * RWO0 NOP LDB RWO JSB OCMMD OUTPUT COMMAND JMP RWO0,I EXIT * * CLR0 NOP LDB CLR JSB OCMMD OUTPUT COMMAND JMP CLR0,I EXIT * GFM0 NOP LDB GFM JSB OCMMD OUTPUT COMMAND JMP GFM0,I EXIT * * * * READ CRCC * CRC0 NOP CRC1 EQU * LIA DATA,C LOAD CRCC FROM LAST RECORD STA CRC2 SAVE IT CLA,CLE LDB CRC3 OUTPUT CRCC WORD MESSAGE JSB FMTR2,I CCA LDB CRC2 OUTPUT WORD JSB FMTR2,I JMP CRC0,I EXIT * CRC3 DEF *+1 ASC 07,CRCC = # TAPE/ CRC2 NOP CRCC WORD * * * SET DMA FLAG * DMA0 NOP CPA .2 IS IÖþúT CHANNEL 2? JMP DMA1 YES-OK CPA .3 NO-IS IT CHANNEL 3? JMP DMA1 YES-OK LDA .2 NO-DEFAULT TO CHANNEL 2 STA AREG SAVE IT DMA1 EQU * STA FGDMA SET DMA FLAG WITH CHANNEL # JMP DMA0,I * * SET INTERRUPT FLAG * INTR0 NOP JSB INTON,I TURN ON INTERRUPTS JMP INTR0,I * * * READ AND WRITE UNDER FLAG * (CLEAR ALL READ AND WRITE FLAGS) * * FLAG0 NOP JSB INTOF,I TURN OFF INTERRUPTS CLA STA FGDMA CLEAR FLAGS STA FGINT JSB CLRCH CLEAR CMND AND DATA CHANNELS JMP FLAG0,I EXIT * * * READ AND OUTPUT DMA WORD COUNT * DMAW0 NOP STA AREG SAVE A REGISTER CPA .2 IS IT CHANNEL 2? JMP DMAW4 YES-OK CPA .3 NO-IS IT CHANNEL 3? JMP DMAW4 YES-OK LDA .2 NO-DEFAULT TO CHANNEL 2 STA AREG SAVE IT DMAW4 EQU * LDA DMAW1 SETUP DMA CHANNEL ADA AREG STA *+1 NOP EXECUTE LIA FROM DMA CHANNEL STA DMAW2 SAVE DMA WORD COUNT CLA,CLE LDB DMAW3 OUTPUT DMA WORD COUNT MESSAGE JSB FMTR2,I CCA LDB DMAW2 OUTPUT DMA WORD JSB FMTR2,I JMP DMAW0,I EXIT DMAW1 OCT 103500 LIA CH,C-COMMAND DMAW2 NOP DMA WORD COUNT DMAW3 DEF *+1 ASC 09,DMA WORD COUNT #/ * * * READ RECORD RD0 NOP * * CHECK FOR SWITCH 7-CRCC SUPPRESS * LIA SW LOAD THE SWITCH REGISTER AND SW07 ISOLATE SWITCH 7 SZA IS SWITCH 7 SET? CCA YES-SET CRCC SKIP FLAG STA CRCFG SET CRCC FLAG * CLA STA WRERR CLEAR WRITE ERROR FLAG JSB SIOR,I READ A RECORD JSB ERRCK CHECK FOR ERROR FLAG JMP RD0,I EXIT * * WRITE RECORD * WR0 ÃÅ640NOP JSB .CKOT,I CHECK FOR OUTPUT BUFFER * * CHECK FOR SWITCH 7-CRCC SUPPRESS * LIA SW LOAD THE SWITCH REGISTER AND SW07 ISOLATE SWITCH 7 SZA IS SWITCH 7 SET? CCA YES-SET CRCC SKIP FLAG STA CRCFG SET CRCC FLAG * CLA STA RDERR CLEAR READ ERROR FLAG JSB SIOW,I WRITE A RECORD JSB ERRCK CHECK FOR ERROR FLAG JMP WR0,I EXIT * * * COMPUTE CRCC FROM OUTPUT BUFFER * CRCO0 NOP JSB .CKOT,I CHECK FOR OUTPUT BUFFER LDA FWAM LOAD BUFFER ADDRESS ß&6ÿÿ ÿý< J ÿ13181-18013 1629 S 0146 13181/13183 MAG TAPE DG              H0101 ;þú LDB BUFLG LOAD B WITH BUFFER LENGTH JSB .CRCC,I GO COMPUTE BUFFER CRCC STA CRCO1 SAVE CRCC CLA,CLE LDB CRCO2 OUTPUT CRCC MESSAGE JSB FMTR2,I CCA LDB CRCO1 OUTPUT CRCC WORD JSB FMTR2,I JMP CRCO0,I EXIT * CRCO1 NOP CRCO2 DEF *+1 ASC 12,CRCC = # OUTPUT BUFFER/ * * * CRCC ROUTINE *CALL: COMPUTES CYCLIC REDUNDANCY CHECK CHARACTER * LDA * LDB * JSB .CRCC,I * * * SEE 7970B MAGNETIC TAPE UNIT MAINTENANCE * TRAINING MANUAL PAGE C5 FOR EXPLAINATION * CRCC NOP STA TMP1 SAVE BUFFER ADDRESS CMB,INB MAKE B NEGATIVE STB COUNT SAVE BUFFER LENGTH CRCC1 EQU * LDB TMP1 LDA B,I LOAD DATA ALF,ALF SHIFT UPPER BYTE TO LOWER AND MK377 ISOLATE UPPER BYTE JSB PARIT GO ADD PARITY BIT JSB CRCR INPUT TO CRC REGISER LDB TMP1 LDA B,I LOAD DATA AGAIN AND MK377 ISOLATE LOWER BYTE JSB PARIT GO ADD PARITY BIT JSB CRCR INPUT TO CRC REGISTER ISZ TMP1 INCREMENT ADDRESS TO NEXT DATA ISZ COUNT IS IT THE LAST DATA? JMP CRCC1 NO-DO IT AGAIN CLA YES- COMPLETE CRC JSB CRCR INPUT TO CRC REGISTER XOR MSK24 COMPLEMENT ALL EXCEPT IBM 2&4 STA CRCC2 SAVE NON-INVERTED CRCC * * INVERT CRCC IN A REGISTER AND STORE IN B WITHOUT PARITY CLB,CLE CLEAR B AND E REG CRCC3 EQU * ALF,ALF MOVE TO UPPER BYTE ELA,CLE DROP OUT PARITY RAR,ERA SAVE BIT 0 ALF,ALF MOVE TO LOWER BYTE RAL,ELA INSERT BIT 0 ALF,ALF SHIFT TO UPPER BYTE JMP CRCC,I EXIT * CRCC2 NOP NON-INVERTED CRCC MSK24 OCT 753 COMPLEMENT CONSTANT (IBM 2&4) 5Oþú * * * * ADD PARITY BIT TO BYTE ROUTINE * *CALL: * JSB PARIT * LDA * * * * PARIT NOP CCE PRESET-E-TO"1" LDB .M8 LOAD B WITH MINUS 8 PARI1 EQU * SLA,RAR COMPLEMENT-E-FOR CME EVERY"1" IN INPUT DATA. AT ISZ B END,-E- CONTAINS PARITY BIT. JMP PARI1 RAR INSERT PARITY BIT INTO BYTE ELA ALF,ALF MOVE TO LOWER BYTE JMP PARIT,I EXIT * .M8 DEC -8 * * * SIMULATE CRCR- CRC REGISTER *CALL: * LDA * JSB CRCR * * * * * CRCR NOP STA CRCR3 SAVE A LDA CRCR1 LOAD OLD CRCC AND MK400 SZA IS IT ZERO? JMP CRCR4 NO-JUMP JMP CRCR5 CRCR4 EQU * LDA CRCR3 LOAD NEW BYTE XOR MSK74 OR WITH MASK 74B XOR CRCR1 OR WITH OLD CRCC JMP CRCR6 CRCR5 EQU * LDA CRCR3 LOAD NEW BYTE XOR CRCR1 OR WITH OLD CRCC CRCR6 EQU * CLE * REMOVE PARITY BIT FROM CRCC AND * SHIFT BACK ONE BIT ERA MOVE BIT 0 TO E ALF,ALF SHIFT TO UPPER BYTE ERA,RAL INSERT BIT 7 IN PARITY ALF,ALF SHIFT TO LOWER BYTE STA CRCR1 LDB CRCR3 CHECK A REG INPUT SZB IS IT ZERO? JMP CRCR,I NO-EXIT STB CRCR1 YES-CLEAR OLD CRCC JMP CRCR,I EXIT- CRCC IS IN A REG. * MSK74 OCT 74 COMPLEMENTS ITS 2-5 MK400 OCT 400 MASK FOR BIT 7 CRCR1 NOP OLD CRCC CRCR3 NOP TEMPORARY CRCR * * * COMPUTE CRCC FROM INPUT BUFFER * CRCI0 NOP JSB .CKIN,I CHECK FOR INPUT BUFFER LDA INBUF LOAD BUFFER ADDRÍkþúESS LDB INBFL GET INPUT BUFFER LENGTH JSB .CRCC,I GO COMPUTE BUFFER CRCC STA CRCI1 SAVE CRCC CLA,CLE LDB CRCI2 OUTPUT CRCC MESSAGE JSB FMTR2,I CCA LDB CRCI1 OUTPUT CRCC WORD JSB FMTR2,I JMP CRCI0,I EXIT * CRCI1 NOP CRCI2 DEF *+1 ASC 11,CRCC = # INPUT BUFFER/ * * * * * COUNTER-INCREMENTS AND PRINTS A * NUMBER EACH TIME IT IS EXECUTED * CNT0 NOP STA AREG SAVE PERSET COUNT LDB AREG LDA CNT01 LOAD COUNTER SZA IS COUNTER ZERO? JMP CNT03 NO-CONTINUE SZB,RSS YES-IS THERE A PRESET VALUE? JMP CNT03 NO-EXIT ADB .M1 YES- SUBTRACT 1 STB CNT01 SAVE IT CNT03 EQU * ISZ CNT01 NO-INCREMENT COUNTER NOP CLA,CLE LDB CNT02 OUTPUT CURRENT COUNT JSB FMTR2,I CLA,INA LDB CNT01 OUTPUT # JSB FMTR2,I JMP CNT0,I EXIT * CNT02 DEF *+1 ASC 1,#/ * * FILLS OUTPUT BUFFER WITH A SPECIAL * WORD * WORD0 NOP STA AREG SAVE SPECIAL WORD STB BREG SAVE # OF TIMES TO BE REPEATED SZB,RSS IS THERE A BUFFER LENGTH? LDB BFMAX NO-GET MAX BUFFER STB WORD1 SETUP BUFFER LENGTH STA WORD2 SETUP DATA WORD LDA .1 LDB WORD3 JSB FILL,I GO FILL UP BUFFER DEF WORD4 RETURN WORD1 NOP BUFFER LENGTH DEF IRQ ERROR RETURN WORD4 EQU * JMP WORD0,I EXIT * WORD3 DEF *+1 POINTER TO DATA WORD2 NOP DATA WORD * * * COMPUTE LRCC FOR INPUT BUFFER * LRCI0 NOP JSB .CKIN,I CHECK FOR INPUT BUFFER LDA INBUF LOAD BUFFER ADDRESS LDB INBFL LOAD BUFFER LENGTH JSB .LRCC,I GO COMPUTE LRCC STA LRCI1 SAVE LRCC CLA,CLE LDB LR»þúCI2 OUTPUT LRCC JSB FMTR2,I CCA LDB LRCI1 JSB FMTR2,I JMP LRCI0,I EXIT * LRCI1 NOP LRCC LRCI2 DEF *+1 ASC 11,LRCC = # INPUT BUFFER/ * * * COMPUTE LRCC FOR OUTPUT BUFFER * LRCO0 NOP JSB .CKOT,I CHECK FOR OUTPUT BUFFER LDA FWAM LOAD BUFFER ADDRESS LDB BUFLG LOAD BUFFER LENGTH JSB .LRCC,I GO COMPUTE LRCC STA LRCO1 SAVE LRCC CLA,CLE LDB LRCO2 OUTPUT LRCC JSB FMTR2,I CCA LDB LRCO1 JSB FMTR2,I JMP LRCO0,I EXIT * LRCO1 NOP LRCC LRCO2 DEF *+1 ASC 12,LRCC = # OUTPUT BUFFER/ * * * * COMPUTE LRCC *CALL * LDA * LDB * JSB LRCC * * * LRCC NOP STA LRCC1 SAVE ADDRESS STB LRCC2 SAVE LENGTH JSB .CRCC,I GO COMPUTE CRCC ALF,ALF SHIFT CRCC TO LOWER BYTE JSB .PRIT,I ADD PARITY STA LRCC3 SAVE CRCC CLA STA MASK SETUP MASK LDA LRCC1 GET ADDRESS STA TMP1 SETUP ADDRESS LDB LRCC2 CMB,INB STB COUNT SETUP COUNTER LRCC4 EQU * LDB TMP1 LDA B,I GET DATA ALF,ALF AND MK377 ISOLATE UPPER BYTE JSB .PRIT,I ADD PARITY XOR MASK INPUT TO LRCC REGISTER STA MASK LDB TMP1 LDA B,I GET DATA AND MK377 ISOLATE LOWER BYTE JSB .PRIT,I ADD PARITY XOR MASK COMPUTE LRC STA MASK ISZ TMP1 SETUP NEXT DATA ISZ COUNT FINISHED? JMP LRCC4 NO-LOOP LDA LRCC3 YES-GET CRCC XOR MASK COMPUTE LRC STA LRCC5 SAVE LRCC JMP LRCC,I EXIT-WITH CRCC IN A REG. * LRCC1 NOP BUFFER ADDRESS LRCC2 NOP BUFFER LENGTH LRCC3 NOP CRCC LRCC5 NOP ´þú FINAL LRCC * * TRAP0 NOP SETUP TRAP CELLS FOR INTERRUPTS STA AREG SAVE CHANNEL SELECT CODE ADA .N100 SUBTRACT 100 FROM SELECT CODE SSA,RSS IS THE SELECT CODE < 100 JMP TRAP4 NO-GO USE COMMAND CHANNEL LDA AREG RELOAD INPUT SELECT CODE ADA .M6 SUBTRACT 6 FROM SELECT CODE SSA,RSS IS THE SELECT CODE > 6? JMP TRAP5 YES-CONTINUE TRAP4 EQU * NO-USE COMMAND CHANNEL LDA CMD GET COMMAND CHANNEL SELECT CODE STA AREG SAVE IT FOR USE LATER TRAP5 EQU * STB TRAP2 SAVE LINE # FOR JMP SZB,RSS IS THE LINE # MISSING? JMP .OPLN,I YES-GO REPORT IT LDA AREG NO-SETUP TRAP CELL JSB INTJP,I FOR INTERRUPT DEF JMPIL BASE PAGE LINK DEF TRAP1 POINTER TO INTERRUPT ROUTINE JMP TRAP0,I EXIT * * TRAP1 EQU * LDA TRAP0 GET RETURN ADDRESS INA ADJUST RETURN STA TRAP3 SETUP RETURN FOR NEW LINE # LDA TRAP2 GET NEW LINE # JMP *+1,I GOTO NEW LINE NUMBER TRAP3 NOP RETURN ADDRESS TRAP2 NOP NEW LINE NUMBER * * SKP ORG PAG16 * SKIP TO NEXT PAGE OF MEMORY ******************************** * * COMPARE INPUT AND OUTPUT BUFFER ROUTINE * COMP0 NOP JSB .CKIN,I CHECK FOR INPUT BUFFER JSB .CKOT,I CHECK FOR OUTPUT BUFFER CLA CLEAR READ AND WRITE ER FLAGS STA RDERR STA WRERR JSB COMPR GO COMPARE BUFFERS JMP COMP0,I EXIT * * STC0 NOP SET CONTROL ROUTINE AND .77 GET SELECT CODE ADA STC01 ADD INSTRUCTION STA *+1 SAVE FOR EXECUTION NOP EXECUTE INSTRUCTION JMP STC0,I EXIT STC01 STC 0 * * CLC0 NOP CLEAR CONTROL ROUTINE AND .77 GET SELECT CODE ADA CLC01 ADD INSTRUCTION STA *+1 ´ðþúSAVE FOR EXECUTION NOP EXECUTE INSTRUCTION JMP CLC0,I EXIT CLC01 CLC 0 * * STF0 NOP SET FLAG ROUTINE AND .77 GET SELECT CODE ADA STF01 ADD INSTRUCTION STA *+1 SAVE FOR EXECUTION NOP EXECUTE INSTRUCTION JMP STF0,I EXIT STF01 STF 0 * * CLF0 NOP CLEAR FLAG ROUTINE AND .77 GET SELECT CODE ADA CLF01 ADD INSTRUCTION STA *+1 SAVE FOR EXECUTION NOP EXECUTE INSTRUCTION JMP CLF0,I EXIT CLF01 CLF 0 * * * * CKIN- CHECKS FOR INPUT BUFFER * IF IT DOES NOT EXIST-THEN EXITS * TO IRQ. * CKIN NOP STA AREG SAVE A AND B REGISTER STB BREG LDA INBFL CHECK INPUT BUFFER LENGTH SZA IS IT ZERO? JMP CKIN1 NO-CONTINUE JMP CKIN2 YES-ERROR EXIT CKIN1 EQU * LDA AREG RESTORE A AND B REGISTER LDB BREG JMP CKIN,I EXIT CKIN2 EQU * CLA,CLE LDB CKIN3 JSB FMTR2,I OUTPUT ERROR MESSAGE CLA,INA LDB CULN GET CURRENT LINE # JSB FMTR2,I OUTPUT IT JMP .IRQ,I ERROR EXIT * CKIN3 DEF *+1 ASC 13,NO INPUT BUFFER (LINE #)/ * * * CKOUT-CHECKS FOR OUTPUT BUFFER * IF IT DOES NOT EXIST-THEN EXITS * TO IRQ. * CKOUT NOP STA AREG SAVE A AND B REGISTER STB BREG LDA BUFLG CHECK OUTPUT BUFFER LENGTH SZA,RSS IS IT ZERO? JMP CKOT2 YES-ERROR EXIT LDA AREG RESTORE A AND B REGISTER LDB BREG JMP CKOUT,I EXIT CKOT2 EQU * CLA,CLE YES-ERROR LDB CKOT1 JSB FMTR2,I OUTPUT ERROR MESSAGE CLA,INA LDB CULN GET CURRENT LINE # JSB FMTR2,I OUTPUT IT JMP .IRQ,I ERROR EXIT * CKOT1 DEF *+1 ASC 13,NO OUTPUT BUFFER „Hþú(LINE #)/ * * * * PCMND-EXTENDS NUMBER OF PROGRAM COMMANDS IN * OPERATOR DESIGN * .PCMD NOP CPA AIL IS IT AN INPUT BUFFER LENGTH JMP PBL0 YES-GO DO IT JMP .PCMD,I ERROR RETURN PBL0 EQU * CLA,CLE BEGIN FORMAT LDB BFCT1 JSB FMTR2,I OUTPUT MESSAGE CLA,INA SETUP INTEGER OUTPUT LDB INBFL GET BUFFER LENGTH JSB FMTR2,I OUTPUT NUMBER ISZ .PCMD ADJUST RETURN JMP .PCMD,I NORMAL EXIT * * AIL ASC 01,IL BUFFER LENGTH REQUEST * * BFCT1 DEF *+1 ASC 04,BF CT #/ * * HED 7970 (13181-13183) TAPE DIAGNOSTIC * * .STAR EQU * CLC INTP,C TURN I/O SYSTEM OFF LIA SW GET SELECT CODE AND OPTIONS STA USSC SAVE IT AND .77 ELIMINATE OPTIONS STA ORGSC SAVE SELECT CODE (DATA CHANNEL) LDB A CMB,INB CHECK THAT SC>7 ADB .7 SSB ? JMP *+3 OK GO ON HLT 73B NO JMP .STAR TRY AGAIN STA SC SETUP CURRENT SELECT CODE LDB IOIP2 SETUP DATA CHANNEL I/O JSB SCIN,I INSTRUCTIONS LDA ORGSC INA GET COMMAND CHANNEL SC STA SC SETUP CURRENT SELECT CODE LDB IOIP LOAD POINTER TO IO TABLE JSB SCIN,I GO SETUP I/O INSTRUCTIONS JSB DMACK CHECKS FOR DMA OPTIONS JSB ..TIM,I GO SETUP TIMING CONSTANTS JMP .STAR ERROR RETURN * HLT 74B ALLOW CHANGE IN SWITCH REGISTER LDA MEMO GET COMPUTER SIZE AND MK77K ISOLATE COMPUTER SIZE BITS CPA SW12 IS IT AN 8K COMPUTER? RSS YES-GO SETUP FOR 8K JMP .STR1 NO-SKIP OVER LDA .STR2 GET FIRST WORD OF RELEASABLE CORE STA FWAM SAVE IT AS FWAM LDA .STR3 GET HALT 102070 STA .STAR SAVE IT FOR HALT ON ENTRY éRþú LDA .STR1 GET JUMP TO 2000K INSTRUCTION STA .STAR+1 SAVE IT - TO PREVENT REENTRY .STR1 JMP BEGIN,I GO TO START OF DIAGNOSTIC * * .STR2 DEF .STAR+2 .STR3 OCT 102070 * * HED 7970 TIMING SUBROUTINES AND TABLES * * * .TIME-SETUP FOR TIMING TABLES ON BASE PAGE *CALL: * JSB ..TIM,I * * * .TIME NOP LDA USSC LOAD OPTIONS ALF,ALF MOVE 13181/183 OPTIONS TO LOW BYTE AND .17 MASK OFF 13183/181 BITS CPA .10 IS IT 13183 WITH DMA? JMP .TI11 YES-GO SET IT UP CPA .4 IS IT 13181? JMP .TI12 YES-GO SET IT UP CPA .12 IS IT 13183 WITHOUT DMA? JMP .TI13 YES-GO SET IT UP JMP .TI14 NONE OF THE ABOVE-ERROR EXIT * .12 OCT 12 MASK CONSTANT * .TI11 EQU * LDA .TI18 SETUP 13183 HEADER MESSAGE STA HDMP LDA DMAFG IS THERE ANY DMA? SZA JMP .TI15 YES-CONTINUE HLT 71B NO-HALT JMP .TIME,I ERROR EXIT .TI15 EQU * CCA SETUP TAPE TYPE FLAG-13183 STA FG183 LDA MSKIO LOAD IO MASK ADA MSKST ADD IN SINGLE TRACK ERROR BIT STA MSKIO SAVE MASK LDA .2 STA FGDMA SETUP CHANNEL 2 DMA LDB .TIM2 LOAD 13183 TIME TABLE POINTER JMP .TI16 GO CHECK SPEED * .TI12 EQU * LDA .TI17 LOAD 13181 HEADER MESSAGE STA HDMP CLA STA FGDMA CLEAR DMA FLAG STA FG183 SETUP TAPE TYPE FLAG-13181 LDA MKIO GET IO MASK STA MSKIO SAVE MASK LDB .TIM1 JMP .TI16 SETUP 13181 TIME TABLE POINTER MKIO OCT 4022 * .TI13 EQU * LDA .TI18 SETUP 13183 HEADER MESSAGE STA HDMP CLA STA FGDMA SETUP NO DMA FLAG LDA .1 STA FG183 SETUP TAPE TYPE FLAG-13183 LDB .TIM2 SETUP 13183 TIME TABLE POINTER W þú JMP .TI16 GO CHECK SPEED * .TI17 DEF HDMS1 POINTER TO 13181 HEADER MESSAGE .TI18 DEF HDMS2 POINTER TO 13183 HEADER MESSAGE * .TI16 EQU * BEGIN SPEED CHECK ROUTINE LDA USSC GET OPTIONS ALF MOVE TAPE SPEEDS TO LOWER BITS AND .17 ISOLATE TAPE SPEED BITS CPA .10 IS IT 45 IPS? JMP .TIM3 YES-GO LOAD TABLE CPA .4 IS IT 37.5 IPS? JMP .TIM4 YES-GO LOAD TABLE CPA .2 IS IT 25 IPS? JMP .TIM5 YES-GO LOAD TABLE CPA .1 IS IT 12.5 IPS? JMP .TIM6 YES - GO LOAD TABLE * .TI14 EQU * NO-NONE OF THE ABOVE-ERROR EXIT HLT 72B ERROR HALT JMP .TIME,I ERROR EXIT * .TIM6 EQU * 12.5 IPS TABLE ADB .7 ADJUST POINTER ADDRESS .TIM5 EQU * 25 IPS TABLE ADB .7 ADJUST POINTER ADDRESS .TIM4 EQU * 37.5 IPS TABLE ADB .7 ADJUST POINTER ADDRESS .TIM3 EQU * 45 IPS TABLE * LOAD UP TIMING TABLE TO BASE PAGE LDA TIME STA .TIM8 SETUP POINTER TO BASE PAGE LDA .M7 STA .TIM9 SETUP LOOP COUNTER .TI10 EQU * LDA B,I LOAD TIMING CONSTANT STA .TIM8,I TRANSFER TO BASE PAGE INB INCREMENT TABLE POINTER ISZ .TIM8 INCREMENT BASE PAGE POINTER ISZ .TIM9 IS THIS THE 7TH TRANSFER? JMP .TI10 NO-GO DO IT AGAIN ISZ .TIME YES-ADJUST POINTER FOR RETURN JMP .TIME,I EXIT ROUTINE * .M7 DEC -7 LOOP CONSTANT .TIM8 NOP BASE PAGE POINTER .TIM9 NOP LOOP COUNTER * * * * * * MANY OF THE TIME CONSTANTS WERE EMPIRICALLY DETERMINED * * TIME DELAY TABLES * * UNIT TYPE SPEED * .TIM1 DEF *+1 DEC 1 13181 REW 45 IPS DEC 8 " WRITE " DEC 10 " CLEAR " DEC 104 ¡êþú " GAP " DEC 14 " IRG " DEC 15 " MIN BYTE " DEC 19 " MAX BYTE " * DEC 1 " REW 37.5 IPS DEC 10 " WRITE " DEC 12 " CLEAR " DEC 125 " GAP " DEC 16 " IRG " DEC 18 " MIN BYTE " DEC 23 " MAX BYTE " * DEC 2 " REW 25.0 IPS DEC 14 " WRITE " DEC 18 " CLEAR " DEC 187 " GAP " DEC 24 " IRG " DEC 27 " MIN BYTE " DEC 35 " MAX BYTE " * DEC 3 " REW 12.5 IPS DEC 29 " WRITE " DEC 35 " CLEAR " DEC 374 " GAP " DEC 48 " IRG " DEC 54 " MIN BYTE " DEC 69 " MAX BYTE " * * .TIM2 DEF *+1 DEC 1 13183 REW 45.0 IPS DEC 11 " WRITE " DEC 10 " CLEAR " DEC 60 " GAP " DEC 15 " IRG " DEC 11 " MIN BYTE " DEC 15 " MAX BYTE " * DEC 1 " REW 37.5 IPS DEC 13 " WRITE " DEC 12 " CLEAR " DEC 72 " GAP " DEC 17 " IRG " DEC 13 " MIN BYTE " DEC 18 " MAX BYTE " * DEC 2 " REW 25.0 IPS DEC 20 " WRITE " DEC 18 " CLEAR " DEC 108 " GAP " DEC 26 " IRG " DEC 20 " MIN BYTE  ¤B@< " DEC 27 " MAX BYTE " * DEC 3 " REW 12.5 IPS DEC 40 " WRITE " DEC 35 " CLEAR " DEC 216 " GAP " DEC 52 " IRG " DEC 39 " MIN BYTE " DEC 54 " MAX BYTE " * * FWAA EQU * FIRST WORD OF AVAILABLE MEMORY END f-Bÿÿ ÿý=M ÿ13184-18001 1629 S 0146 READ ONLY I/F DG              H0101 !íþúASMB,A,B,C,L 06/30/76 13184A/7970E DIAGNOSTIC HED ** HP - 13184A/7970E DIAGNOSTIC ** 13184 - 19001 ** * * 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, TAPE SPEED AND * DMA CHANNEL DESIRED. * * BITS 0 - 5 SELECT CODE * BIT 6 12.5 IPS * " 7 25.0 " * " 8 37.5 " * " 9 45.0 " * " 11 SET - USE DMA CHANNEL 2 * NOT SET - USE DMA CHANNEL 1 * * E. PRESS RUN AND WAIT FOR HALT 102074B. * F. LOAD SWITCH REGISTER: * * IF SET: * * 15 = HALT AT END OF EACH TEST * 14 = SUPPRESS ERROR HALTS * 13 = LOOP ON TEST(S) * 12 = LOOP ON DIAGNOSTIC * 11 = SUPPRESS ERROR MESSAGES * 10 = HALT AT EOT WITH MEMORY DATA REGISTER = * NEXT FORMAT I.D. * 9 = NOT USED * 8 * = FORMAT I.D. * 6 * 5 = INHIBIT DMA TRANSFERS, USE SKIP-FLAG READ * 4 = SUPPRESS REWIND TO LOAD POINT TESTS * 3 = SELECT UNIT 3 * 2 = SELECT UNIT 2 * 1 = SELECT UNIT 1 * 0 = SELECT UNIT 0 * * G. PRESS RUN. * H. RESTART - LOAD ADDRESS 2000B. * I. RECONFIGURE - LOAD ADDRESS 100B. * * CONTROL PROGRAM HALTS * * 102077 DIAGNOSTIC COMPLETED * 102076 NORMAL HALT AFTER CURRENT TEST(A=TEST #) * 102074 CONFIGURATION COMPLETED * 102073 CONFIGURATION HALT,NO SELECT CODE ENTERED * IN SWITCH REGISTER * 102072 CONFIGURATION HALT,NO TAPE DRIVE SPEED * ENTERED IN SWITCH REGISTER * 102071 UNIT SELECTED IS BUSY OR OFF-LFþúINE * 102070 NO UNIT SELECTED IN SWITCH REGISTER * * 102057 DATA RECORD COULD NOT BE READ SUCCESSFULLY * 102056 ERROR BUFFER IS FULL * 102055 ERROR HALT (A= TEST #) * * 10200X FORMAT ERROR HALT, EXCEPT IF SWITCH REGISTER * BIT 10 IS SET * * 106077 TRAP CELL HALT * ORG 100B SUP START JMP INITI,I * * LINKS TO DIAGNOSTIC CONFIGURATOR * FSTIN BSS 1 FAST INPUT DEVICE SLWOT BSS 1 SLOW OUTPUT DEVICE FSTOT BSS 1 FAST OUTPUT DEVICE SLWIN BSS 1 SLOW INPUT DEVICE FWAM DEF END FIRST WORD AVAIL. MEMORY LWAMX BSS 1 LAST WORD AVAIL. MEMORY MGTP BSS 1 MAGNETIC TAPE LINK TMC BSS 1 1 MILL. SEC. TIME OUT CONSTANT BSS 1 FAST INPUT SELECT CODE OTSC1 BSS 1 SLOW OUTPUT SELECT CODE BSS 1 FAST OUTPUT SELECT CODE BSS 1 SLOW INPUT SELECT CODE CPTO BSS 1 COMPUTER TYPE & OPTIONS BSS 1 USERS CARD TYPE & SC MEM BSS 1 MEMORY SIZE BSS 1 INTERNAL SWITCH REGISTER TIMR BSS 1 1 MILL. SEC. TIMER SWRC BSS 1 SWITCH REGISTER CHECK I2ASC BSS 1 INTEGER TO ASCII CONVERSION O2ASC BSS 1 OCTAL TO ASCII CONVERSION ASCIO BSS 1 ASCII TO OCTAL OR INTEGER DSN OCT 112102 DIAG. SERIAL NUMBER FMTR BSS 1 FORMATTER ROUTINE EWORD OCT 125252 PARITY ERROR WORD SPC 1 A EQU 0 A - REGISTER B EQU 1 B - REGISTER DATA EQU 0 DATA CHANNEL CMMD EQU DATA+1 COMMAND CHANNEL SWRG EQU 1 SWITCH REGISTER DMA EQU 6 DMA CHANNEL 1 .INBF EQU 5700B INPUT BUFFER SPC 1 ANBUF BSS 1 ANPAT BSS 1 AREG BSS 1 AREG0 BSS 1 AREG1 BSS 1 AREG2 BSS 1 AREG3 NOP BASE1 BSS 1 BREG BSS 1 BREG1 BSS 1 BREG2 NOP BUFAD BSS 1 CURRENT INPUT BUFFER STARTING ADDR. CNT1 BSS 1 CNT11 BSS 1 COUNT BSS 1 CYCNT BSS 1 CYCLE COUNT DGCNT NOP DMACW aþúBSS 1 DMA CONTROL WORD 1 ERBUF BSS 1 EXSTA NOP FLAG7 BSS 1 ID BSS 1 CURRENT TAPE FORMAT I.D. ITCNT BSS 1 RECNT BSS 1 DMA WORD COUNT AFTER READ ..SEP NOP SELCM BSS 1 SPACE ASC 1, STAT1 BSS 1 STAT2 NOP STATU BSS 1 CURRENT STATUS SWREG BSS 1 TBF00 BSS 1 TBF01 BSS 1 TBF02 BSS 1 TBF04 BSS 1 TBF05 BSS 1 TBF06 BSS 1 TBF08 BSS 1 TBF09 BSS 1 TMCN1 BSS 1 TMCN2 BSS 1 TNUMB BSS 1 CURRENT TEST NUMBER TIME BSS 1 WDCNT BSS 1 - (CURRENT EXPECTED RECORD LENGTH) SPC 1 THIRD DEC -3 N1 DEC -1 N2 DEC -2 N3 DEC -3 N4 DEC -4 N5 DEC -5 N8 DEC -8 N9 DEC -9 N11 DEC -11 N64 DEC -64 N400 DEC -400 N408 DEC -408 N1024 DEC -1024 D0 DEC 0 D1 DEC 1 D2 DEC 2 D4 DEC 4 D8 DEC 8 D16 DEC 16 D3 DEC 3 D6 DEC 6 D10 DEC 10 D12 DEC 12 D13 DEC 13 D14 DEC 14 D18 DEC 18 D19 DEC 19 D20 DEC 20 D21 DEC 21 D23 DEC 23 D25 DEC 25 D26 DEC 26 D39 DEC 39 D50 DEC 50 D9999 DEC 9999 N4000 DEC -4000 LWAM DEF IENT1 SWRCK DEF SW TG NOP * ADD1 DEF INTR1 ADD2 DEF INTR2 ADD3 DEF INTR3 ADD4 DEF INTR4 ADD5 DEF INTR5 ADD6 DEF INTR6 ADD7 DEF INTR7 ADD8 DEF INTR8 ANSI. DEF ANSI .ANSA DEF ANSIA .ANSB DEF ANSIB BASE. DEF BASE CMDS0 DEF RRF CMDS1 DEF BSR .CSRB DEF CSRB DEL0 DEF DELY0 DEF DELY0+2 DEF DELY0+4 DEF DELY0+6 DHT55 DEF HLT55 ERRBF DEF ERBFR .HEAD DEF HEAD IDPT DEF IDFOR INBUF DEF .INBF .IDFO DEF IDFOR INITI DEF IENT1 .LBF DEF LBF ..LBF DEF LBF MDIAI DEF STRT1 .MS00 DEF MS00 .MS01 DEF MS01 .MS02 DEF MS02 .MS03 DEF MS03 .MS04 DEF MS04 .MS05 DEF MS05 .MS06 DEF MS06 .MS07 DEF MS07 .MS12 DEF MS12 .MS13 DEF MS13 .MS14 DEF MS14 .MS16 DEF MS16 .MS17 DEF MS17 .MS19 DEF MS19 .MS20 DEF MS20 NTSTI DEF NTEST ONES DEF D0 PRSTI DEF PRSTA RECYL DEF RECYC SELCT DEF ATSEL SLCMS DEF ATSEL TBF10 DEF TBF09 TMPRD DEF .TMPR SPC 1 ERWRD DEF EWORD £Úþú.KEYP DEF KEY KEYPT DEF KEY .TSRB DEF TSRB .TSAW DEF TSAW .CSAW DEF CSAW SPC 1 DATAC NOP DATA CHANNEL SELECT CODE CMMDC NOP COMMAND CHANNEL SELECT CODE DEFLG NOP DATA ERROR RECORD FLAG LPCYC NOP LOOP ENABLE FLAG ODD NOP ODD BYTE RECORD FLAG RDOP NOP READ OPERATION FLAG SPC 1 ASCZ OCT 30060 B7 OCT 7 B17 OCT 17 B37 OCT 37 B40 OCT 40 B100 OCT 100 B200 OCT 200 B377 OCT 377 B400 OCT 400 B500 OCT 500 B760 OCT 760 B1001 OCT 1001 B2000 OCT 2000 B3000 OCT 3000 B4000 OCT 4000 B3777 OCT 3777 B70K OCT 70000 DMAMS OCT 177737 MASK7 OCT 37477 MSK2M OCT 140000 MSKT8 OCT 177400 NOT15 OCT 77777 NOTET OCT 17737 NOTTM OCT 17577 PADAT OCT 401 STRIP OCT 17773 HLT55 OCT 102055 BHLT OCT 106077 SPC 1 * * SWITCH REGISTER MASKS * SW4 EQU D16 SW5 EQU B40 SW10 EQU B2000 SW11 EQU B4000 SW12 OCT 10000 SW13 OCT 20000 SW14 OCT 40000 SW15 OCT 100000 SPC 1 ATSEL EQU * OCT 1400 OCT 2400 OCT 4400 OCT 10400 OCT 0 RRF OCT 23 FSR OCT 3 FSF OCT 203 OCT 110 BSR OCT 41 BSF OCT 241 REW OCT 101 CLR OCT 110 RWO OCT 105 RRFPE OCT 20023 SPC 1 * THESE VALUES OVERLAID BY CONFIGURATION SECTION * DELY0 DEC 10 1600 CPI 45.0 IPS DEC 2 " " " " DEC 20 800 " " " DEC 3 " " " " DEC 30 556 " " " DEC 4 " " " " DEC 84 200 " " " DEC 10 " " " " * TIM1 NOP THESE VALUES USED BY TESTS TIM2 NOP 28-30 TIM3 NOP * * * TIMING CONSTANTS FOR COMMAND EXERCISE TIMER * .TMPR DEC 30 30 MSEC. FOR CMMD EXERCISE DEC 15 15 MSEC. FOR CMMD EXERCISE DEC 10 10 MSEC. FOR CMM=þúD EXERCISE SPC 1 SKP * TRACK SINGLE ROTATING BIT PATTERN * TSRB EQU * OCT 2001 OCT 10000 OCT 20100 OCT 100002 OCT 4004 OCT 420 OCT 40 OCT 40200 OCT 1010 * * TRACK SAWTOOTH PATTERN * TSAW EQU * OCT 177773 OCT 175352 OCT 145212 OCT 5010 OCT 0 * * CHANNEL SAWTOOTH PATTERN * CSAW EQU * OCT 177577 OCT 37437 OCT 7407 OCT 1401 OCT 377 * * CHANNEL SINGLE ROTATING BIT PATTERN * CSRB EQU * OCT 402 OCT 2010 OCT 10040 OCT 40200 * MSIGN EQU SW15 SPC 1 JSUBA JSB ANSI.,I JSUBR JSB RAND TRAD1 JSB ADD1,I TRAD2 JSB ADD2,I TRAD3 JSB ADD3,I TRAD4 JSB ADD4,I TRAD5 JSB ADD5,I TRAD6 JSB ADD6,I TRAD7 JSB ADD7,I TRAD8 JSB ADD8,I SKP * FORMAT ID TABLE * SPC 1 IDFOR OCT 102000 9 TRACK PE 1600 CPI OCT 102001 9 TRACK NRZ 800 CPI OCT 102002 7 TRACK NRZI 800 CPI EVEN PARITY OCT 102003 " " " 556 " " " OCT 102004 " " " 200 " " " OCT 102005 " " " 800 " ODD " OCT 102006 " " " 556 " " " OCT 102007 " " " 200 " " " OCT 0 START OVER SPC 1 * ANSI FORMAT "A" PATTERN WORDS * SPC 1 ANSIA EQU * OCT 177777 OCT 67557 OCT 20040 OCT 130260 OCT 177660 OCT 67440 OCT 20157 OCT 130377 SPC 1 * ANSI FORMAT "B" PATTERN WORDS * SPC 1 ANSIB EQU * OCT 177777 OCT 137276 OCT 0 OCT 40501 OCT 177501 OCT 137000 OCT 276 OCT 40777 SKP KEY EQU * OCT 61470 OCT 22533 OCT 65552 OCT 22004 OCT 20452 OCT 26412 OCT 22004 OCT 20045 OCT 22413 OCT 4312 OCT 6353 OCT 4312¸^þú OCT 6740 OCT 2642 OCT 6740 OCT 2642 OCT 6740 OCT 2642 OCT 140 OCT 6042 OCT 2100 OCT 6003 OCT 73635 OCT 20755 OCT 22554 OCT 134500 * * DECREMENT THE TEST NUMBER * SPC 1 DECNO NOP LDB TNUMB ADB N1 STB TNUMB JMP DECNO,I SPC 1 * RANDOM NUMBER GENERATOR * SPC 1 RAND NOP LDA BASE LOAD THE BASE ADA PRIME SUBTRACT THE PRIME SSA SKIP IF IT'S STILL POSITIVE LDA BASE THE BASE ISN'T BIG ENOUGH CLE,ELA DOUBLE THE BASE OR REMAINDER STA BASE -FOR THE NEXT TRY JMP RAND,I SPC 1 PRIME DEC -31069 BASE BSS 1 SKP EOTTS NOP JSB STATS GET STATUS AND B40 TEST FOR EOT CPA B40 JMP EENT0 CHECK FOR THE HALT ISZ EOTTS EXIT P+2 JMP EOTTS,I EENT0 LDB SW10 SWITCH 10 SET? JSB SWRCK,I RSS JMP REWD NO, REWIND THE TAPE JMP EOTTS,I YES, EXIT AND STOP REWD LDA REW START THE DRIVE REWINDING JSB ACMMD JSB RWDET WAIT FOR IT TO FINISH CLA,CLE LDB .MS06 JSB FMTR,I 'EOT' JSB PCYCT ADD THE CYCLE COUNT JMP RECYL,I SPC 1 RWDET NOP REWIND DETECT ROUTINE JSB FLGWT WAIT FOR THE COMMAND FLAG JSB STATS GET STATUS AND B3000 CPA B3000 JMP *-3 LOOP UNTIL FINISHED REWINDING JMP RWDET,I * RWDWT NOP JSB FLGWT WAIT FOR COMMAND FLAG JSB STATS GET THE STATUS AND KEEP AND B3000 -CHECKING FOR REWIND STATUS CPA B3000 JMP *-3 LOOP UNTIL FINISHED REWINDING LDA STATU RETRIEVE THE STATUS AND SLA -CHECK THE OFF-LINE BIT JMP BENT0 IT'S SET, HALT JMP RWDWT,I SPC 1 * ** PROGRAM'S FORMAT FLAG SET ** SPC 1 FORFL NOP CLA ÃÏ*($ JSB FORID CHECK THE RECORDING FORMAT JMP *+3 IT'S 9 TRACK INA,RSS IT'S 7 TRACK EVEN PARITY IOR MSIGN IT'S " " ODD " STA FLAG7 SET THE PROGRAM'S FORMAT FLAG JMP FORFL,I SKP * ** TAPE MARK STATUS CHECK ** SPC 1 * CALL: "A" - CONTAINS THE CURRENT STATUS WORD * * RETURN: P+1 - NO TAPE MARK FOUND OR HAS EXTRA STATUS * P+2 - GOOD TAPE MARK FOUND * "A" - CONTENTS ARE LOST SPC 1 TMARK NOP SZA,RSS IS THERE ANY STATUS ? JMP TMARK,I NO, EXIT P+1 AND NOTTM MASK OUT THE TAPE MARK BIT SZA,RSS IS THERE ANYOTHER STATUS ? ENT39 ISZ TMARK NO, INCREMENT THE RETURN ADDRESS JMP TMARK,I SPC 1 * TELEPRINTER CHECK ROUTINE * SPC 1 * RETURN: P+1 - THERE ISN'T A TELEPRINTER IN THE SYSTEM * P+2 - THERE IS A TELEPRINTER IN THE SYSTEM SPC 1 TTYCK NOP STA AREG1 SAVE A REGISTER LDA OTSC1 CPA D0 IS THERE A TTY SELECT CODE? JMP *+2 NO TTY ISZ TTYCK LDA AREG1 RESTORE A REG. JMP TTYCK,I SPC 1 * ** SWITCH 15 CHECK ROUTINE ** SPC 1 S15CK NOP LDB SW15 JSB SWRCK,I SWITCH 15 SET? RSS YES JMP S15CK,I IT'S NOT SET, EXIT LDA TNUMB LOAD TEST NUMBER LDB STATU AND STATUS HLT 76B STOP ! JMP S15CK,I SPC 1 * * SWITCH 11 CHECK * * JSB S11CK * < SWITCH 11 SET > * < SWITCH 11 NOT SET > * “Ð*ÿÿ ÿý> J ÿ13184-18002 1629 S 0146 READ ONLY I/F DG              H0101 "íþúS11CK NOP LDB SW11 SWITCH 11 SET? JSB SWRCK,I * RSS YES ISZ S11CK NO, ADJUST RETURN JMP S11CK,I * * SWITCH 14 CHECK * * JSB S14CK * < SWITCH 14 SET > * < SWITCH 14 NOT SET > * S14CK NOP LDB SW14 SWITCH 14 SET? JSB SWRCK,I * RSS N--YES ISZ S14CK NO, ADJUST RETURN JMP S14CK,I SPC 1 SPC 1 * PRINT CYCLE COUNT SPC 1 PCYCT NOP CLA,CLE LDB .MS00 JSB FMTR,I 'CYCLE(S)' CLA,INA LDB CYCNT JSB FMTR,I CYCLE COUNT JMP PCYCT,I SKP * ** COMMAND EXERCISE ROUTINE ** SPC 1 * SW 0 READ ONE RECORD FORWARD (RRF) * SW 1 FORWARD SPACE ONE RECORD (FSR) * SW 2 FORWARD SPACE ONE FILE (FSF) * SW 3 CLEAR THE CONTROLLER (CLR) * - - - - - - - - - - - - - - - - - * SW 4 BACKSPACE ONE RECORD (BSR) * SW 5 BACKSPACE ONE FILE (BSF) * SW 6 REWIND TO LOAD POINT (REW) * SW 7 CLEAR THE CONTROLLER (CLR) * - - - - - - - - - - - - - - - - - * SW 8 REWIND AND GO OFF LINE (RWO) * * ANY OF THE FIRST FOUR COMMANDS CAN BE COMBINED WITH ANY * OF THE NEXT FOUR, OR ANY OF THE NINE CAN BE USED ALONE. * * SW 12 10 MILL. SEC. DELAY * SW 13 15 MILL. SEC. DELAY * SW 14 30 MILL. SEC. DELAY * * THESE TIMING DELAYS BETWEEN COMMANDS CAN BE USED * AT ANY TIME. ONLY THE LEFTMOST SET SWITCH WILL BE * EXECUTED (I.E. SW 14 HAS PRIORITY OVER SW 13, ETC.). * * SW 15 HALT AFTER COMMAND(S) HAS(HAVE) BEEN EXECUTED. * SPC 1 ORG 1000B BEGIN LIA CMMD,C LOAD THE STATUS AND CHECK AND B40 -FOR END-OF-TAPE BIT SZA,RSS IS IT SET ? JMP BENT1 NO, CONTINUE LDA REW YES, REWIND THE TAPE JMP ENT17+1 BENT1 LDB B377 ANY COMMAND OPTIONS JSB SWRCK,I ENTERED? QoþúRSS YES JMP BENT0 NO, TAKE NORMAL HALT IMMEDIATELY AND B17 YES, ISOLATE FIRST COMMAND FIELD SZA,RSS ANY OF THESE OPTIONS WANTED? JMP ENT77 NO, GO CHECK FOR 2ND OPTION LDB CMDS0 YES, GET POINTER TO COMMAND LIST ENT72 SLA,RAR TEST FOR THE COMMAND, SHIFT JMP ENT17 OUTPUT THE COMMAND ISZ B ADVANCE POINTER JMP ENT72 ENT17 LDA B,I GET THE COMMAND JSB ACMMD OUTPUT THE CMMD JSB RWDWT TEST FOR REWINDING OPERATION JSB TIMER TEST FOR TIMING OPTION ENT77 LDB B760 ANY COMMANDS IN JSB SWRCK,I SECOND FIELD? RSS YES JMP ENT16 NO ALF,ALF ALF LDB CMDS1 YES, SET 2ND CMMD STACK S.A. ENT14 SLA,RAR TEST FOR THE COMMAND, SHIFT JMP ENT15 COMMAND FOUND, OUTPUT IT ISZ B NOT THIS ONE, ADVANCE POINTER JMP ENT14 ENT15 LDA B,I GET THE COMMAND JSB ACMMD OUTPUT CMMD JSB RWDWT TEST FOR THE REWINDING OPERATION JSB TIMER TEST FOR TIMING OPTION ENT16 LDB SW15 JSB SWRCK,I IS SWITCH 15 SET? BENT0 HLT 77B YES, NORMAL HALT JMP BEGIN GO TO START SPC 1 TIMER NOP TIMING PERIOD ROUTINE LDB B70K ANY TIMING BITS SET? JSB SWRCK,I * RSS YES JMP TIMER,I NO, USE FLAG LDB TMPRD SET TIMING CONSTANT RAL RAL,SLA THIS TIME ? JMP ENT18 YES, START THE DELAY ISZ B NO, TRY NEXT JMP *-3 ENT18 LDA B,I GET THE CONSTANT JSB TIMR,I JMP TIMER,I RETURN +1 SPC 1 FLGWT NOP THIS ROUTINE WILL WAIT APPROX. STA AREG -ONE SECOND FOR THE COMMAND STB BREG LDB N4000 4000 MS COUNT STB TG CIO2 SFC CMMD JMP ENT20 GOT THE FLAG ISZ TG DO 1MS WAIT FOR 4000 TIMES RSS NOT DONE YET! JMP ENT19 ^ÚþúERROR ON COMMAND FLAG LDA D1 JSB TIMR,I WAIT FOR 1 MS JMP CIO2 GO BACK AND CHECK AGAIN ENT19 JSB STATS GET THE STATUS & HOLD JSB S11CK SUPPRESS ERROR MESSAGE? JMP ENT20-2 ISZ TNUMB UPDATE TEST NUMBER JSB TSTNI,I PRINT TEST NUMBER JSB DECNO UPDATE TEST NUMBER CLA,CLE LDB .MS12 JSB FMTR,I 'CMMD FLAG WAIT TIMED OUT !' JSB SKPL CR/LF LDA CLR CLEAR THE INTERFACE JSB ACMMD ENT20 JSB STATS GET THE STATUS AND HOLD LDA AREG RESTORE THE "A" REG LDB BREG RESTORE THE "B" REG JMP FLGWT,I SPC 2 * COMMAND OUT PUT TO MAG TAPE SUBROUTINE SPC 1 OCMMD NOP CMMD SHOULD BE IN THE "B" REG. CIO3 OTB CMMD JSB STATS GET THE STATUS JSB REJBT TEST REJECT BIT SZA,RSS JMP REJCT CIO4 STC CMMD,C JMP OCMMD,I SPC 1 ACMMD NOP COMMAND IN THE "A" REG CIO5 OTA CMMD CIO6 STC CMMD,C JMP ACMMD,I SPC 1 STATS NOP CIO7 LIA CMMD AND STRIP GET RID OF THE EXTRA BITS STA STATU HOLD THE STATUS TEMPORARILY STA B * JMP STATS,I SPC 1 CLEAR NOP CLEAR THE CONTROLLER LDA CLR OUT PUT CLEAR CMMD JSB ACMMD JSB FLGWT WAIT FOR THE OPERATION TO FINISH JMP CLEAR,I SPC 1 BSRWF NOP BACKSPACE RECORD WITH FLAG LOOP LDA BSR BACK SPACE COMMAND JSB ACMMD DO THE COMMAND JSB FLGWT WAIT FOR THE CMMD FLAG JMP BSRWF,I SPC 1 FWDSP NOP FORWARD SPACE ONE RECORD LDB FSR JSB OCMMD JMP FWDSP,I SKP * ** REJECT ROUTINES ** SPC 1 * CALL: "A" - CONTAINS THE STATUS WORD * * RETURN: "A" = 1 IF THE REJECT BIT IS NOT SET * = 0 IF THE REJECT BIT IS SET SPC 1 REJBT NOP REJECT STATUS BIT TEST AND D8 CPA D8 CL‰QþúA,RSS CCA JMP REJBT,I SPC 1 REJCT JSB S11CK SUPPRESS ERROR MESSAGE? JMP REJC0 YES CLA,CLE LDB .MS01 JSB FMTR,I 'COMMAND WAS REJECTED' REJC0 CLB THE EXPECTED STATUS IS CLEAR CCA JSB TEST * * JSB DECNO DECREMENT THE TEST NUMBER JSB S14CK SUPPRESS ERROR HALT? JMP RECYL,I YES,START DIAGNOSTIC OVER JSB STATS NO, GET STATUS LDA TNUMB GET TEST NUMBER HLT 55B ERROR HALT INDICATOR JSB LOPTN TEST FOR LOOP OPTION JMP RECYL,I RESTART DIAGNOSTIC SPC 1 * ** PROGRAM TEST ROUTINE ** SPC 1 TEST NOP STB BREG HOLD THE EXPECTED STATUS ISZ TNUMB INCREMENT THE TEST'S NUMBER SZA,RSS WAS THE TEST IN ERROR JMP TEST2 NO, CHECK SWITCH 15 JSB S11CK SUPPRESS ERROR MESSAGE? JMP TEST1 IT'S SET, DON'T PRINT OR STORE JSB TTYCK CHECK FOR TELEPRINTER JMP TEST4 NO, STORE THE MESSAGE JSB TSTNI,I THERE IS A TTY, PRINT THE LDB BREG -ERROR MESSAGE JSB PRSTI,I -THEM LDA RDOP CHECK THE READ OPERATION PRO- SZA,RSS -GRAM FLAG JMP TEST0 IT WASN'T SET, SPACE ONE LINE JSB PCHRI,I -AND PRINT BOTH WORDS CLA RESET THE READ OPERATION PRO- STA RDOP GRAM FLAG TEST0 JSB SKPL SPACE ONE LINE TEST1 JSB S14CK SUPPRESS ERROR HALT? JMP TEST2 YES CHECK SWITCH 15 LDA CLR NO, CLEAR THE INTERFACE JSB ACMMD LDA TNUMB LOAD TEST NUMBER LDB STATU AND STATUS HLT 55B TEST2 JSB S15CK CHECK SWITCH 15 TEST3 JSB EOTTS CHECK FOR THE END OF TAPE NOP JMP TEST,I EXIT TEST4 LDA ERBUF CPA INBUF ERROR BUFFER FULL? JMP TEST6 YES, CONTINUE LDA CYCNT GET CYCLE COUNT AND POS- ALF,ALF -ITION IT TO THE UPPER HALF OF ±îþú LDB TNUMB -WORD, WITH THE TEST'S NUMBER IOR B -IN THE LOWER HALF STA ERBUF,I PUT IT IN THE 1ST WORD OF THE ISZ ERBUF ERROR MESSAGE & MOVE THE POINTER LDA STATU GET THE TEST'S STATUS AND PUT IT STA ERBUF,I -IN THE 2ND WORD OF THE ERROR ISZ ERBUF -MESSAGE AND MOVE THE POINTER LDA RDOP CHECK THE PROGRAM'S READ OPER- SZA -ATION FLAG JMP TEST5 IT WAS SET, STORE THE WORDS CLA NO READ, STORE ZEROS STA ERBUF,I THE 3RD WORD ISZ ERBUF MOVE THE POINTER STA ERBUF,I THE 4TH WORD ISZ ERBUF MOVE THE POINTER JMP TEST1 CHECK CONTROL SWITCHES TEST5 LDA TBF05,I GET THE WORD IN ERROR AND STORE STA ERBUF,I -IT IN THE 3RD WORD ISZ ERBUF MOVE THE POINTER LDA TBF04,I GET THE GOOD WORD AND STORE IT STA ERBUF,I -IN THE 4TH WORD ISZ ERBUF MOVE THE POINTER JMP TEST1 CHECK CONTROL SWITCHES TEST6 HLT 56B JMP MDIAI,I GO BACK TO THE START SKP * TEST LOOPING ADDRESS ROUTINES SPC 1 SAVAD NOP SAVE TEST STARTING ADDRESS ISZ LPCYC LOOPING INDICATOR JMP SAVAD,I ISZ LPCYC JMP SAVAD,I SPC 1 LOPTN NOP TEST SW 13 FOR LOOP OPTION LDB SW13 JSB SWRCK,I SWITCH 13 SET? JMP ENT29 YES, GET THE S.A. LDB LPCYC NO, LOOK AT LOOPING INDICATOR SZB LOOPING BEFORE ? JMP LOPTN,I NO, CONTINUE WITH NEXT TEST JMP RECYL,I YES, START DIAGNOSTIC OVER ENT29 JSB EOTTS TEST FOR THE END OF TAPE NOP CLB STB LPCYC RESET LOOPING INDICATOR JMP SAVAD,I SPC 1 * ** FORMAT ID. CHECK ** SPC 1 * CALL: "A" - CONTENTS NOT SIGNIFICANT * "B" - " " " * * RETURN: P+1 - THE RECORDING MODE IS A 9 TRACK FORMAT * P+2 - THE RECORDING MODE IS A 7 TRACK FORMAT EVEN *  7þúPARITY * P+3 - THE RECORDING MODE IS A 7 TRACK FORMAT ODD * PARITY * "A" - CONTENTS FROM ENTRY ARE UNCHANGED * "B" - CONTAINS THE CURRENT FORMAT'S ID. SPC 1 FORID NOP STA AREG0 SAVE THE CONTENTS OF "A" FOR EXIT LDA ID LOAD THE CURRENT FORMAT'S ID. LDB ID " " " " " AND D6 MASK OFF ALL BUT BITS 1&2 SZA,RSS IS IT A 7 OR 9 TRACK FORMAT ? JMP ENT48 IT'S 9 TRACK ISZ FORID IT'S 7 TRACK, BUT WHICH ONE ? LDA ID LOAD THE CURRENT ID. AGAIN AND B7 MASK OFF ALL BUT BITS 0,1,& 2 RAR,RAR POSITION BIT 2 SLA,RSS IS IT SET ? JMP ENT48 NO, IT'S EVEN PARITY, EXIT P+2 AND MSK2M MASK OFF ORGINAL BIT 2 (0 NOW) SZA IS IT EVEN OR ODD PARITY ISZ FORID IT'S ODD PARITY, EXIT P+3 ENT48 LDA AREG0 RESTORE THE CONTENTS OF "A" JMP FORID,I SKP * BUFFER FILL ROUTINE * SPC 1 * CALL: "A" - CONTAINS THE NUMBER OF PATTERNS IN THE SEQUENCE * "B" - CONTAINS THE S.A. OF THE PATTERN SEQUENCE SPC 1 .FILL NOP STA AREG HOLD THE S.A. OF THE PATTERN STA TBF01 STB BREG HOLD THE NUMBER OF PATTERNS IN STB CNT1 -THE SEQUENCE & SET ITS COUNT LDA N1024 FILL THE CORE BUFFER STA COUNT SET THE WORD COUNTER LDA INBUF SET THE INPUT BUFFER'S S.A. MORE LDB TBF01,I STB A,I START FILLING THE BUFFER ISZ TBF01 INA ISZ CNT1 INCREMENT THE PATTERN COUNT JMP .ENT0 LDB BREG RESET THE PATTERN SEQUENCE STB CNT1 -COUNTER LDB AREG RESET THE PATTERN SEQUENCE STB TBF01 -POINTER .ENT0 ISZ COUNT INCREMENT THE BUFFER WORD JMP MORE - COUNT JMP .FILL,I SPC 1 * BUFFER CLEAR ROUTINE * SPC 1 CLRBF NOP STB TBF06 SAVE THE CONTENTS OF "B" ST™åþúA TBF02 SAVE THE CONTENTS OF "A" LDA DHT55 HALT55'S LDB N1 JSB .FILL LOAD THE HALTS INTO THE BUFFER LDA TBF02 RESTORE THE "A" REGISTER LDB TBF06 RESTORE THE "B" REGISTER ALSO JMP CLRBF,I SKP * ANSI WORST CASE PATTERN GENERATION * SPC 1 ANSI NOP STB BREG SAVE THE CONTENTS OF "B" ISZ ITCNT INCREMENT THE ITERATION COUNT JMP ENT67 USE THE SAME PATTERN AGAIN ISZ THIRD INCREMENT THE THIRD COUNT JMP ENT68 GO TO THE SAME KEY WORD LDA N3 RESET THE THIRD COUNTER STA THIRD ISZ KEYPT ADVANCE THE KEY WORD POINTER ENT68 LDA THIRD GET THE THIRD COUNT CMA 1'S COMPLEMENT SLA IS IT THE 2ND THIRD ? JMP ENT69 YES, GET THE ITERATION COUNT RAR,SLA NO, IS IT THE 1ST THIRD? JMP ENT70 YES, GET THE ITERATION COUNT LDA KEYPT,I LOAD THE KEY WORD & GET THE RAR,RAR -COUNT RAR ENT71 LDB A HOLD THE WORD AND D3 GET THE ITERATION COUNT CMA STA ITCNT SET THE ITERATION COUNTER LDA B SET UP TO GET THE PATTERN ALF,RAR -CODE AND B7 LDB ANPAT GET THE ANSI PATTERN BUFFER'S ADB A -S.A. & SELECT THE PATTERN WORD LDA B,I GET THE PATTERN WORD STA ANBUF HOLD IT FOR THE NEXT TIME, MAYBE JMP ENT81 CONTINUE ENT69 LDA KEYPT,I LOAD THE KEY WORD AND GET THE ALF,ALF -COUNT JMP ENT71 GO GET THE ITERATION COUNT ENT70 LDA KEYPT,I LOAD THE KEY WORD AND GET ALF,RAR -COUNT JMP ENT71 GO GET THE ITERATION COUNT ENT67 LDA ANBUF USE THE SAME PATTERN WORD AGAIN LDB KEYPT,I LOAD THE KEY WORD AND CHECK FOR SSB,RSS -THE LAST WORD INDICATOR JMP ENT81 CONTINUE LDB THIRD LOAD THE COUNT FOR THE KEY WORD CMB -PACK SLB,RSS IS TëùþúHE COUNT = 1 ? JMP ENT81 NO, CONTINUE LDB ITCNT GET THE ITERATION COUNT AND CPB N1 -CHECK IT FOR THE LAST ONE RSS JMP ENT81 IT WASN'T, CONTINUE LDB .KEYP RESET THE KEY WORD POINTER STB KEYPT LDB N3 RESET THE THIRD COUNTER STB THIRD LDB N5 PRESET THE ITERATION COUNTER STB ITCNT CCB PRESET THE FIRST PATTERN WORD STB ANBUF ENT81 LDB BREG RESTORE "B" JMP ANSI,I SPC 1 * ** RANDOM DATA AND ANSI PATTERN DATA COMPARE ** SPC 1 WDCOM NOP LDA TBF10 SET POINTER FOR PCHAR STA TBF04 LDA BUFAD SET THE BUFFER'S S.A. STA TBF05 LDA WDCNT SET THE WORD COUNT STA CNT11 STA RDOP SET THE READ OPERATION FLAG WENT0 NOP GET THE WORD AND COMPARE LDB FLAG7 CHECK THE PROGRAM'S FORMAT FLAG SZB,RSS IS IT SET ? JMP WENT2 NO, IT'S 9 TRACK DATA AND MASK7 YES, IT'S 7 TRACK DATA SLB,RSS WHICH 7 TRACK PARITY ? JMP WENT2 IT'S ODD PARITY STA B HOLD THE CONTENTS OF "A" AND MSKT8 MASK OFF THE 8 LOWER BITS SZA,RSS ARE ALL BITS IN THE BYTE ZERO ? JMP WENT3 YES, ADD THE DATA PAD LDA B RESTORE THE CONTENTS OF "A" AND B377 MASK OFF THE 8 HIGHER BITS SZA,RSS IS THIS BYTE ZERO ? JMP WENT3 YES LDA B RESTORE THE CONTENTS OF "A" JMP WENT2 NO WENT3 LDA B RESTORE THE CONTENTS OF "A" IOR PADAT ADD THE BIT PAD WENT2 CPA TBF05,I JMP WENT1 IT COMPARES, CONTINUE STA TBF10,I SAVE WORD IN ERROR CCA CLB THE EXPECTED STATUS IS CLEAR JSB TEST * * ISZ CNT11 INCREMENT THE WORD COUNTER RSS JMP WDCOM,I ENT74 NOP CYCLE THE ROUTINE ISZ CNT11 JMP *-2 JMóRþúP WDCOM,I WENT1 ISZ TBF05 ADVANCE THE BUFFER'S POINTER ISZ CNT11 INCREMENT THE WORD COUNTER JMP WENT0 COMPARE THE NEXT WORDS CLA RESET THE READ OPERATION FLAG STA RDOP JSB TEST JMP WDCOM,I SKP * ** PATTERN - DATA COMPARE ROUTINE ** SPC 1 * CALL: "A" - CONTAINS THE S.A. OF THE DATA PATTERN SEQUENCE * "B" - CONTAINS THE NUMBER OF WORDS IN THE SEQUENCE * * RETURN: "A" - CONTENTS ARE LOST * "B" - " " " PATCM NOP STA AREG THE S.A. OF THE PATTERN STA TBF04 STB BREG THE # OF WORDS IN THE PAT. SEQ. STB CNT1 SET THE PATTERN SEQUENCE COUNT LDB BUFAD SET THE BUFFER'S S.A. STB TBF05 LDA WDCNT SET THE WORD COUNT STA CNT11 STA RDOP SET THE READ OPERATION'S FLAG ENT11 LDA TBF05,I GET THE INPUT BUFFER WORD AND LDB FLAG7 CHECK THE PROGRAM'S FORMAT FLAG SZB,RSS IS IT SET ? JMP PENT0 NO, IT'S 9 TRACK DATA STA TBF08 IT'S 7 TRACK, HOLD "A" LDA DEFLG LOAD THE PROGRAM'S FLAG SZA,RSS IS THIS THE "DE" TEST ? JMP ENP01 NO LDA TBF04,I LOAD THE PATTERN WORD AND MASK7 STRIP THE TOP 2 BITS OFF JMP ENP02 ENP01 LDA TBF04,I LOAD THE PATTERN WORD AND MASK7 MASK OFF THE EXTRA BITS SLB,RSS WHICH 7 TRACK PARITY JMP PENT2 IT'S ODD PARITY ENP02 STA B HOLD THE CONTENTS OF "A" AND MSKT8 MASK OFF THE 8 LOWER BITS SZA,RSS ARE ALL BITS IN THE BYTE ZERO ? JMP PENT3 YES, ADD THE BIT PAD LDA B RESTORE THE CONTENTS OF "A" AND B377 MASK OFF THE 8 HIGHER BITS SZA,RSS IS THIS BYTE ZERO ? JMP PENT3 YES LDA B RESTORE THE CONTENTS OF "A" JMP PENT2 NO PENT3 LDA B RESTORE THE CONTENTS OF "A" IOR PADAT ADD THE DATA BIT PAD PENT2 CPA TBú?<:6F08 COMPARE THE TWO WORDS JMP ENT08 THEY COMPARE JMP PENT1 NON-COMPARE PENT0 CPA TBF04,I COMPARE THE DATA TO THE PATTERN JMP ENT08 IT COMPARES, CONTINUE PENT1 CCA IT DIDN'T COMPARE LDB ODD CHECK THE ODD BYTE INDICATOR SZB,RSS JMP ENT79 IT'S NOT SET LDB B4000 SET THE EXPECTED STATUS AS "OB" RSS ENT79 CLB THE EXPECTED STATUS IS CLEAR JSB TEST * * JMP PATCM,I -THE LAST ONE IN THE BUFFER ENT08 ISZ CNT1 INCREMENT THE PATTERN SEQ. COUNT JMP ENT10 LDA AREG RESET THE PATTERN BUFFER'S STA TBF04 -POINTER LDB BREG RESET THE PATTERN SEQUENCE COUNTER STB CNT1 RSS ENT10 ISZ TBF04 ADVANCE THE PATTERN POINTER ISZ TBF05 ADVANCE THE BUFFER'S POINTER ISZ CNT11 JMP ENT11 GO COMPARE THE NEXT WORDS CLA RESET THE READ OPERATION'S FLAG STA RDOP JSB TEST JMP PATCM,I * * ** ERROR BUFFER CLEAR ROUTINE ** * CLRER NOP CLA CLEAR A REG. LDB ERRBF LOAD B WITH ERROR BUFFER LOC. CLRE1 EQU * STA B,I STORE A ZERO IN ERROR BUFFER ISZ B INCREMENT ERROR BUFFER POINTER CPB INITI FINISHED? JMP CLRE2 YES- EXIT JMP CLRE1 NO-GO ZERO OUT NEXT LOCATION CLRE2 EQU * JMP CLRER,I Ë<ÿÿ ÿý?N ÿ13184-18003 1629 S 0146 READ ONLY I/F DG              H0101 #íþú* SKPL NOP SPACE ONE LINE CLA,CLE LDB SLASH JSB FMTR,I CR/LF JMP SKPL,I * TSTNI DEF TSTNO PCHRI DEF PCHAR * SLCDD DEF SLCD0 POINTERS TO DATA CHANNEL DEF SLCD1 I/O POINTER LIST SLCDC DEF SLCD2 POINTERS TO COMMAND CHANNEL DEF SLCD3 I/O POINTER LIST * * POINTERS TO TIMING TABLES * T12.5 DEF S12.5 T25.0 DEF S25.0 T37.5 DEF S37.5 TT45 DEF S45.0 * T45.0 DEF DELY0 SLASH DEF *+1 ASC 1,/ SPC 2 * TESTS 28 - 30 (34B - 36B) * NTEST NOP LDB RRF ISSUE READ RECORD JSB OCMMD COMMAND DIO25 STC DATA,C LDA TIM1 DATA FLAG SHOULD NOT BE JSB TIMR,I SET YET DIO26 SFC DATA * CCA,RSS IS IS SET,ERROR CLA IT ISN'T SET CLB EXPECTED STATUS (CLEAR) JSB TEST (28) (34B) CLA DIO27 SFS DATA WAIT UNTIL DATA FLAG SETS RSS JMP ENT91 INA,SZA JMP *-4 ISZ TNUMB DATA FLAG TIME OUT JSB S11CK SUPPRESS ERROR MESSAGE? JMP ENT91-2 YES JSB TSTNI,I PRINT TEST NUMBER CLA,CLE LDB .MS20 JSB FMTR,I 'DATA FLAG TIMED OUT' ISZ TNUMB JMP ENT92 ENT91 EQU * LDA TIM2 COMMAND FLAG JSB TIMR,I SHOULD NOT BE SET YET CIO31 SFC CMMD CCA,RSS IT IS SET,ERROR CLA IT ISN'T SET LDB D18 EXPECTED STATUS (TE,DE) JSB TEST (29) (35B) LDA TIM3 COMMAND FLAG SHOULD BE JSB TIMR,I SET AFTER THIS TIME OUT CIO32 SFS CMMD CCA,RSS IT ISN'T SET,ERROR CLA LDB D18 EXPECTED STATUS (DE,TE) JSB TEST (30) (36B) ENT92 EQU * JSB BSRWF BACKSPACE RECORD JSB FLGWT WAIT FOR COMMAND FLAG JMP NTEST,I SKP ORG 2000B STRT1 CLA,CLE LDB .HEAD JSB FMTR,I '13184A-7970E MAG. TAPE DIAG.' MDIAG LDA D2u|þú SET FIRST ADDRESS FOR TRAP CELLS LDB BHLT LOAD B-REG. WITH HALT CODE STB A,I STORE TRAP CELL HALT INA ADVANCE POINTER CPA B100 FINISHED? JMP *+2 YES JMP *-4 NO * CLC 0,C TURN OFF ALL INTERRUPTS LDA DMACW SET THE DMA'S CONTROL WORD DMA1 OTA DMA JSB TTYCK CHECK FOR TELEPRINTER JSB CLRER NO- ZERO OUT ERROR BUFFER * LDA ERRBF SET THE ERROR BUFFER'S S.A. STA ERBUF LDA .IDFO RESET THE FORMAT ID POINTER STA IDPT MENT0 CLA STA CYCNT SET THE CYCLE COUNTER TO ZERO JMP ENT34 RECYC CLC 0,C CLEAR THE CONTROLS LDB SW12 JSB SWRCK,I SWITCH 12 SET? JMP ENT34 YES, RESTART MAIN PROGRAM JSB PCYCT NO, PRINT THE CYCLE COUNT MENT1 CLB LDA CYCNT LOAD CYCLE COUNT HLT 77B YES CLC01 CLC 0,C ENT34 CLA RESET ALL COUNTERS & ACTIVE BUFF STA RECNT CLEAR THE REMAINDER COUNT BUFFER ISZ CYCNT LDA CYCNT GET THE CYCLE COUNT CPA D9999 TEST FOR COUNT ROLL OVER JMP MENT0 GO BACK & RESET THE CYCLE COUNT LIA SWRG LOAD SWITCH REGISTER AND ALF,ALF -GET THE INTENDED FORMAT ID RAL,RAL AND B7 IOR IDFOR STA ID SAVE THE ID OF THIS FORMAT SPC 1 * ** INITIAL CLEAR AND UNIT SELECT TEST SECTION ** SPC 1 JSB SAVAD SET THE PROGRAM LOOP S.A. CLA STA TNUMB UPDATE TEST NUMBER LDA CLR CLEAR THE CONTROLLER JSB ACMMD LDA D50 JSB TIMR,I TIME OUT 50 MSEC. JSB STATS GET THE STATUS AND CHECK FOR AND B400 -CONTROLLER BUSY SZA CCA,RSS THE TEST FAILED CLA CLB THE EXPECTED STATUS IS CLEAR JSB TEST (1) * * JSB LOPTN CHECK FOR THE LOOP OPTION SPC 1 JSB SAVAD SET THE ¡ þúPROGRAM'S LOOP S.A. LDA D1 STA TNUMB UPDATE TEST NUMBER SENT0 LDB B17 ANY UNIT SELECT JSB SWRCK,I SWITCHES SET? JMP SENT2 YES, CONTINUE JSB S11CK SUPPRESS ERROR MESSAGE? JMP *+4 YES CLA,CLE LDB .MS07 JSB FMTR,I 'NO UNIT SELECT SWITCH SET' JSB S14CK SUPPRESS ERROR HALT? RSS YES SENT1 HLT 70B NO, UNIT SELECT HALT JMP SENT0 WAIT FOR THE OPERATOR SENT2 SLA,RSS IS THIS THE SELECTED ONE ? JMP SENT4 NO, TRY THE NEXT ONE LDB SLCMS,I YES, LOAD ITS SELECT COMMAND AND STB SELCM -PUT IT IN THE COMMAND BUFFER JMP SENT5 MOVE THE TABLE POINTER SENT4 ISZ SLCMS MOVE THE TABLE'S POINTER RAR -AND POSITION IT JMP SENT2 SENT5 LDA SELCT RESET THE SELECT COMMAND CODE STA SLCMS -TABLE POINTER LDA B400 OUTPUT A NO SELECT COMMAND CODE CIO8 OTA CMMD JSB STATS LOAD THE STATUS AND CHECK FOR SLA -ANY ON-LINES CLA,RSS THE TEST PASSED CCA THE TEST FAILED LDB B1001 THE EXPECTED STATUS IS (OF, TB) JSB TEST (2) * * JSB LOPTN CHECK FOR THE ROUTINE'S LOOP JSB SAVAD SET THE ROUTINE'S LOOP S.A. LDA D2 STA TNUMB UPDATE TEST NUMBER LDA FSR LOAD THE FORWARD SPACE COMMAND CIO9 OTA CMMD -AND OUTPUT IT JSB STATS LOAD THE STATUS AND CHECK AND D8 -FOR THE REJECT BIT SZA IS IT SET ? CLA,RSS YES, THE TEST PASSED CCA NO, THE TEST FAILED LDB B1001 THE EXPECTED STATUS IS (OF, CR, ADB D8 -TB) JSB TEST (3) * * JSB LOPTN CHECK FOR A PROGRAM LOOP JSB SAVAD SET THE PROGRAM'S LOOP S.A. LDA D3 STA TNUMB UPDATE TEST NUMBER LDA SELCM LOAD THE SELECT COMMAND AND ÒþúOUT CIO10 OTA CMMD -PUT IT JSB STATS LOAD THE STATUS AND CHECK FOR AND B1001 -THE SELECTED UNIT ON LINE SZA CCA THE TEST FAILED CLB THE EXPECTED STATUS IS CLEAR JSB TEST (4) * * JSB LOPTN CHECK FOR A PROGRAM LOOP LDA STATU RETRIEVE THE LAST TEST'S STATUS AND B1001 -AND CHECK FOR ON LINE SZA,RSS JMP SENT7 IT IS, CHECK UNIT BUSY STATUS JSB S14CK SUPPRESS ERROR HALT? RSS YES HLT 71B UNIT SELECT HALT, WAIT FOR THE JMP MDIAG -OPERATOR SENT7 EQU * SPC 1 * ** I-O CHANNEL TEST SECTION ** SPC 1 LDA D4 STA TNUMB UPDATE TEST NUMBER DIO1 STF DATA SET THE DATA CHANNEL FLAG DIO2 CLF DATA CLEAR THE DATA CHANNEL FLAG DIO3 SFC DATA -AND CHECK IT CCA,RSS IT'S NOT CLEAR, THE TEST FAILED CLA THE TEST PASSED CLB THE EXPECTED STATUS IS CLEAR JSB TEST (5) * * DIO4 SFS DATA IS THE DATA FLAG SET? CLA,RSS NO, THE TEST PASSES CCA THE TEST FAILED CLB THE EXPECTED STATUS IS CLEAR JSB TEST (6) * * JSB LOPTN CHECK THE PROGRAM LOOP LDA D6 STA TNUMB UPDATE TEST NUMBER DIO5 STF DATA SET THE DATA CHANNEL FLAG DIO6 SFS DATA IS IT SET? CCA,RSS NO, THE TEST FAILED CLA THE TEST PASSED CLB THE EXPECTED STATUS IS CLEAR JSB TEST (7) * * DIO7 SFC DATA IS IT SET? CLA,RSS NO, THE TEST PASSES CCA THE TEST FAILED CLB THE EXPECTED STATUS IS CLEAR JSB TEST (8) (10B) * * JSB LOPTN CHECK THE PROGRAM LOOP JSB SAVAD SET THE PROGRAM'S LOOP S.A. LDA D8 STA TNUMB ™æþúUPDATE TEST NUMBER CIO11 STF CMMD SET THE COMMAND CHANNEL FLAG CIO12 CLF CMMD CLEAR THE COMMAND CHANNEL FLAG CIO13 SFC CMMD -AND CHECK IT CCA,RSS IT'S NOT CLEAR, THE TEST FAILED CLA THE TEST PASSED CLB THE EXPECTED STATUS IS CLEAR JSB TEST (9) (11B) * * CIO14 SFS CMMD CHECK THE COMMAND FLAG CLA,RSS IT'S NOT SET, THE TEST PASSES CCA THE TEST FAILED CLB THE EXPECTED STATUS IS CLEAR JSB TEST (10) (12B) * * JSB LOPTN CHECK THE PROGRAM LOOP LDA D10 STA TNUMB UPDATE TEST NUMBER CIO15 STF CMMD SET THE COMMAND CHANNEL FLAG CIO16 SFS CMMD -AND CHECK IT CCA,RSS IT'S NOT SET, THE TEST FAILED CLA THE TEST PASSED CLB THE EXPECTED STATUS IS CLEAR JSB TEST (11) (13B) * * CIO17 SFC CMMD IS IT CLEAR? CLA,RSS NO, THE TEST PASSES CCA THE TEST FAILED CLB THE EXPECTED STATUS IS CLEAR JSB TEST (12) (14B) * * JSB LOPTN CHECK THE PROGRAM LOOP JSB SAVAD SET THE PROGRAM'S LOOP S.A. LDA D12 STA TNUMB UPDATE TEST NUMBER LDA TRAD1 SET THE TRAP CELL FOR A DATA STA DATAC,I -CHANNEL INTERRUPT DIO8 STC DATA SET THE CONTROL AND THE FLAG DIO9 STF DATA -IN THE CHANNEL STF00 STF 0 TURN ON THE INTERRUPT SYSTEM NOP CCA IF THE PROGRAM DOES THIS IN- JMP ENT12 -STRUCTION, THE TEST FAILED INTR1 NOP THE NORMAL INTERRUPT RE-ENTRY CLF00 CLF 0 CLEAR THE INTERRUPT SYSTEM LDA TRAD2 SET THE DATA CHANNEL TRAP CELL STA DATAC,I -FOR ANY MULTI INTERRUPTS STF01 STF 0 TURN THE INTERRUPT SYSTEM AGAIN NOP CLA THE TEST PASSED JMP ENT12 INTR2 NOP ~2þú MULTI INTERRUPT RE-ENTRY POINT CLC02 CLC 0,C CLEAR THE INTERRUPT SYSTEM CCA THE TEST FAILED ENT12 EQU * CLC03 CLC 0,C RESET ALL CONTROL BUFFERS CLB THE EXPECTED STATUS IS CLEAR JSB TEST (13) (15B) * * JSB LOPTN CHECK THE PROGRAM LOOP JSB SAVAD SET THE PROGRAM'S LOOP S.A. LDA D13 STA TNUMB UPDATE TEST NUMBER LDA TRAD3 SET THE TRAP CELL FOR A COMMAND STA CMMDC,I -CHANNEL INTERRUPT LDA CLR PERFORM A CLEAR COMMAND TO TEST JSB ACMMD -COMMAND CHANNEL INTERRUPT STF02 STF 0 TURN ON THE INTERRUPT SYSTEM LDA D50 TIME OUT 50 MSEC. JSB TIMR,I * JSB STATS TEST FAILED, GET ERROR STATUS CCA JMP ENT13 INTR3 NOP THE NORMAL INTERRUPT RE-ENTRY CLF01 CLF 0 CLEAR THE INTERRUPT SYSTEM LDA TRAD4 SET THE COMMAND CHANNEL TRAP STA CMMDC,I -CELL FOR ANY MULTI INTERRUPTS STF03 STF 0 TURN ON THE INTERRUPT AGAIN NOP CLA THE TEST PASSED JMP ENT13 INTR4 NOP MULTI INTERRUPT RE-ENTRY POINT CLC04 CLC 0,C CLEAR THE INTERRUPT SYSTEM JSB STATS TEST FAILED, GET ERROR STATUS CCA ENT13 EQU * CLC05 CLC 0,C RESET ALL THE CONTROL BUFFERS CLB THE EXPECTED STATUS IS CLEAR JSB TEST (14) (16B) * * JSB LOPTN CHECK THE PROGRAM LOOP JSB SAVAD SET THE PROGRAM'S LOOP S.A. LDA D14 STA TNUMB UPDATE TEST NUMBER DMA2 CLC DMA,C MAKE SURE THAT THE DMA CHANNEL DMA3 STF DMA - IS CLEARED LDA ONES SET THE SINGLE WORD BUFFER'S DAM1 CLC DMA-4 -S.A. DAM2 OTA DMA-4 LDA N1 TRANSFER ONLY ONE WORD OUT TO DAM3 STC DMA-4 -THE DATA CHANNEL DAM4 OTA DMA-4 LDA TRAD5 SET THE DMA TRAP CELL DMA4 STA DMA LDA TRAD6 SET THE DATA CHANNEL'Súˆþú TRAP STA DATAC,I -CELL STF04 STF 0 TURN ON THE INTERRUPT SYSTEM DMA5 STC DMA START THE DMA DIO10 STF DATA START THE TRANSFER DIO11 STC DATA NOP CCA IF THIS SECTION OF THE PROGRAM ISZ TNUMB -IS EXECUTED, THEN NEITHER JMP ENT00 -CHANNEL INTERRUPTED INTR5 NOP THE DMA'S INTERRUPT RE-ENTRY CLF02 CLF 0 CLEAR THE INTERRUPT SYSTEM CLA THE TEST PASSES JMP ENT04 INTR6 NOP DATA CHANNEL'S RE-ENTRY CLF03 CLF 0 CLEAR THE INTERRUPT SYSTEM CCA THE TEST FAILED ENT04 CLC DMA TURN OFF THE DMA DMA6 STF DMA ZERO THE WORD COUNT DIO12 CLC DATA,C CLB THE EXPECTED STATUS IS CLEAR JSB TEST (15) (17B) * * JMP ENT05 ENT00 CLC DMA TURN OFF THE DMA DMA7 STF DMA ZERO THE WORD COUNT DIO13 CLC DATA,C CLB THE EXPECTED STATUS IS CLEAR JSB TEST (16) (20B) * * ENT05 EQU * CLC06 CLC 0,C CLEAR THE INTERRUPT SYSTEM JSB LOPTN CHECK THE PROGRAM LOOP JSB SAVAD SET THE PROGRAM'S LOOP S.A. LDA D16 STA TNUMB UPDATE TEST NUMBER LDA TRAD7 SET THE DATA CHANNEL'S TRAP CELL STA DATAC,I LDA TRAD8 SET THE COMMAND CHANNEL'S TRAP STA CMMDC,I -CELL STF05 STF 0 TURN ON THE INTERRUPT SYSTEM DIO14 STC DATA SET THE DATA CHANNEL CONTROL DIO15 STF DATA -AND FLAG CIO18 STC CMMD SET THE COMMAND CHANNEL CONTROL CIO19 STF CMMD -AND FLAG NOP CCA IF THIS SECTION OF THE PROGRAM ISZ TNUMB -IS EXECUTED, NEITHER CHANNEL JMP CLC08 -INTERRUPTED INTR7 NOP DATA CHANNEL INTERRUPT RE-ENTRY CLF04 CLF 0 CLEAR THE INTERRUPT SYSTEM CLA THE TEST PASSES JMP CLC07 INTR8 NOP COMMAND CHANNEL'S INTERRUPT RE- CLF05 CLF 0 CLEAR THE INTERRUPT SYST¾gþúEM CCA -ENTRY, THE TEST FAILED CLC07 CLC 0,C TURN OFF THE INTERRUPT SYSTEM CLB THE EXPECTED STATUS IS CLEAR JSB TEST (17) (21B) * * JMP ENT35 CLC08 CLC 0,C TURN OFF THE INTERRUPT SYSTEM CLB THE EXPECTED STATUS IS CLEAR JSB TEST (18) (22B) * * ENT35 JSB LOPTN CHECK THE PROGRAM LOOP OPTION JSB CLEAR RESET THE INTERFACE SPC 1 * OPTIONAL REWIND & LOAD POINT TESTS * SPC 1 LDB SW4 JSB SWRCK,I IS SWITCH 4 SET? JMP ENT38 IT'S SET, CONTINUE JSB SAVAD SET THE PROGRAM'S LOOP S.A. LDA D18 STA TNUMB UPDATE TEST NUMBER JSB FWDSP MOVE AWAY FROM THE LOAD POINT JSB FLGWT WAIT FOR THE COMMAND FLAG LDB REW REWIND COMMAND JSB OCMMD JSB FLGWT WAIT FOR THE COMMAND FLAG JSB STATS GET STATUS STA TBF01 HOLD THE CURRENT STATUS AND B3000 TEST FOR REWIND & UNIT BUSY CPA B3000 CLA,RSS CCA STA TBF02 JSB RWDET LOOP UNTIL REWIND IS FINISHED LDA TBF01 RESTORE THE TEST STATUS STA STATU LDA TBF02 LDB B3000 SET THE EXPECTED STATUS- ADB B400 -(RW, TB, CB)- JSB TEST (19) (23B) * * JSB LOPTN CHECK THE LOOP OPTION JSB SAVAD SET THE PROGRAM LOOP S.A. LDA D19 STA TNUMB UPDATE TEST NUMBER JSB STATS TEST FOR LOAD POINT STATUS AND B100 SZA CLA,RSS CMA LDB B100 SET THE EXPECTED STATUS (LP) JSB TEST (20) (24B) * * JSB LOPTN CHECK FOR THE LOOP OPTION JSB SAVAD SET THE PROGRAM LOOP S.A. LDA D20 STA TNUMB UPDATE TEST NUMBER LDA BSR TEST COMMAND REJECT AT BOT CIO20 OTA CMMD JSB STATS GET STATUS & TEST REJECT Bë|þúIT JSB REJBT CHECK FOR A REJECT AT LOAD SZA -POINT, A > 0, NO REJECT CCA,RSS CLA LDB CLR LOAD THE EXPECTED STATUS (CR, LP) JSB TEST (21) (25B) * * JSB LOPTN CHECK FOR THE LOOP OPTION JSB SAVAD SET THE LOOP S.A. LDA D21 STA TNUMB UPDATE TEST NUMBER LDB REW CIO21 OTB CMMD CIO22 STC CMMD,C JSB STATS GET THE STATUS AND CHECK FOR AND B400 -CONTROLLER BUSY CPA B400 CLA,RSS TEST PASSED CCA TEST FAILED CLA ** TEST 22 BYPASSED ** FIX************** LDB B500 THE EXPECTED STATUS IS (LP, CB) JSB TEST (22) (26B) * * LDA D1 WAIT 1 MILL. SEC. JSB TIMR,I * JSB STATS GET THE STATUS AND CHECK FOR AND B400 -NOT BUSY CPA B400 CCA,RSS THE TEST FAILED CLA TEST PASSED LDB B100 LOAD THE EXPECTED STATUS (LP) JSB TEST (23) (27B) * * JSB LOPTN CHECK THE PROGRAM LOOP OPTION SPC 1 * ** FORMAT START AND VERIFICATION SECTION ** SPC 1 ENT38 LDA D23 STA TNUMB UPDATE TEST NUMBER LDA N64 SET THE SEARCH CONSTANT STA COUNT COMMN JSB FWDSP SPACE FORWARD ONE RECORD ISZ COUNT INCREMENT THE SEARCH COUNT RSS KEEP TRYING JMP ENT03 PRINT: COULDN'T FIND CYCLE START JSB FLGWT WAIT FOR THE OPERATION TO FINISH JSB EOTTS CHECK FOR THE END-OF-TAPE JMP ENT40 SET UP THE NEXT FORMAT JSB STATS GET THE STATUS AND FIRST CHECK AND B200 -FOR A TAPE MARK SZA,RSS JMP COMMN NO, TRY THE NEXT SEQUENCE JSB FWDSP SPACE FORWARD ONE MORE RECORD JSB FLGWT WAIT FOR THE OPERATION TO FINISH JSB STATS GET THE STATUS AND CHECK FOR AND B200 -ANOTHER TÖpþúAPE MARK CPA B200 JMP ENT42 CONTINUE TO THE FORMAT ID RECORD JMP COMMN NO TAPE MARK, TRY AGAIN ENT40 ISZ IDPT ADVANCE THE ID TABLE POINTER LDA IDPT,I GET THE NEXT FORMAT ID SZA,RSS WAS THIS THE LAST ONE ? JMP ENT41 YES, RESET THE TABLE POINTER STA *+1 NO, HALT AND DISPLAY THE NEXT ID NOP FORMAT ERROR HALT JMP MENT0 START THE PROGRAM AGAIN ENT41 LDA .IDFO RESET THE ID TABLE POINTER STA IDPT JMP ENT40+1 GET THE FIRST ENTRY ENT03 JSB S11CK SUPPRESS ERROR MESSAGE? JMP MENT2 YES CLA,CLE LDB .MS04 JSB FMTR,I 'COULDN'T FIND CYCLE START' MENT2 CCA LDB B200 THE EXPECTED STATUS IS TM JSB TEST (24) (30B) * * LDA ID GET THE FORMAT ID AND STOP STA *+3 FORMAT ERROR HALT JSB STATS LOAD THE STATUS AND THE LDA TNUMB LOAD TEST NUMBER NOP HALT AND WAIT FOR THE OPERATOR JMP MDIAG START OVER * IRG (2) ENT42 ISZ TNUMB INCREMENT THE TEST NUMBER JSB S15CK CHECK SWITCH 15 * * LIA SWRG LOAD THE SWITCH REGISTER'S STA SWREG -CONTENTS AND HOLD THEM IOR SW5 SET SWITCH 5 OTA SWRG LDA INBUF SET THE INPUT BUFFER'S S.A. LDB N1 SET THE NUMBER OF WORDS JSB CLRBF CLEAR THE READ BUFFER JSB READ READ THE RECORD JSB RSTAT CHECK THE READ STATUS JSB RREAD HAD DATA ERRORS, REREAD LDA INBUF,I GET THE FORMAT ID FROM THE TAPE IOR IDFOR ADD THE HALT MASK CHARACTERS CPA ID -RECORD & COMPARE TO THE SW REG JMP ENT80 IT MATCHES, CONTINUE CCA CLB THE EXPECTED STATUS IS CLEAR JSB TEST (25) (31B) * * LDB ID GET THE ID THAT WAS LOADED IN <4B@<þúED CLB THE EXPECTED STATUS IS CLEAR JSB TEST (42) (52B) * * JSB FWDSP FORWARD SPACE ONE RECORD LDA SELCM ISSUE A UNIT SELECT COMMAND JSB ACMMD JSB STATS GET THE STATUS AND HOLD IT AND D8 -CHECK THE COMMAND REJECT BIT CPA D8 CLA,RSS THE TEST PASSED CCA THE TEST FAILED LDB D8 THE EXPECTED STATUS IS CR JSB TEST (43) (53B) * * JSB FLGWT WAIT FOR THE COMMAND FLAG * IRG (5) JSB FWDSP START SPACING OVER THE TAPE MARK LDA BSR ISSUE ANOTHER MOTION COMMAND AND CIO27 OTA CMMD -CHECK THE REJECT STATUS BIT JSB STATS GET THE STATUS AND HOLD IT AND D8 -CHECK THE REJECT STATUS BIT CPA D8 CLA,RSS THE TEST PASSED CCA THE TEST FAILED LDB D8 THE EXPECTED STATUS IS "CR" JSB TEST (44) (54B) * * JSB FLGWT WAIT FOR THE COMMAND FLAG * IRG (6) LDB RRF START A READ OPERATION JSB OCMMD DIO17 STC DATA,C SET THE DATA TRANSFER CONTROL JSB FLGWT WAIT FOR THE OPERATION TO FINISH * IRG (7) JSB STATS GET THE STATUS AND CHECK FOR THE AND D18 -DATA ERROR AND TIMING STATUS CPA D18 CLA,RSS THE TEST PASSED CCA THE TEST FAILED LDB D18 THE EXPECTED STATUS IS "DE","TE" JSB TEST (45) (55B) * * JSB FORID CHECK THE RECORDING FORMAT JMP *+3 IT'S 9 TRACK JMP ENT36 IT'S 7 TRACK JMP ENT36 IT'S A 7 TRACK MODE CPB IDFOR+1 WHICH 9 TRACK FORMAT ? JMP ENT37 IT'S 800 CPI LDB DEL0 IT'S 1600 CPI, LOAD THE TIMING JMP ENT58 -CONSTANTS ENT36 CPB IDFOR+2 IS IT 800 CPI ? JMP ENT37 YES, SET THE CONSTANT Oþú CPB IDFOR+5 IS IT 800 CPI ? JMP ENT37 YES, SET THE CONSTANT CPB IDFOR+3 NO, TRY 556 CPI JMP ENT65 IT'S 556 CPI, SET THE CONSTANT CPB IDFOR+6 TRY THE OTHER 556 CPI JMP ENT65 IT'S THIS 556 CPI LDB DEL0+3 IT'S 200 CPI, LOAD THE TIMING JMP ENT58 -CONSTANTS ENT65 LDB DEL0+2 IT'S 556 CPI, LOAD THE TIMING JMP ENT58 -CONSTANTS ENT37 LDB DEL0+1 IT'S 800 CPI, LOAD THE TIMING ENT58 LDA B,I -CONSTANTS STA TMCN1 STORE FIRST CONSTANT (-10%) INB GET 'WINDOW' CONSTANT LDA B,I STA TMCN2 STORE SECOND CONSTANT (+10%) LDA RRF CIO28 OTA CMMD START A READ OPERATION JSB STATS LOAD THE STATUS AND CHECK JSB REJBT -THE REJECT BIT SZA,RSS WAS IT SET ? JMP REJCT YES CIO29 STC CMMD,C NO,START THE TAPE DIO18 STC DATA,C TURN ON DATA CHANNEL ALSO LDA INBUF INITIALIZE DMA FOR A 400 WORD IOR MSIGN -READ DAM9 CLC DMA-4 DAM10 OTA DMA-4 LDA N400 DAM11 STC DMA-4 DAM12 OTA DMA-4 CLA STA COUNT INITIALIZE TIMING COUNTER DIO19 SFC DATA WAIT APPROX. 1/4 SECOND JMP STDMA -FOR FIRST DATA FLAG INA,SZA JMP *-3 JSB S11CK SUPPRESS ERROR MESSAGE? JMP STDMA-2 YES ISZ TNUMB UPDATE TEST NUMBER JSB TSTNI,I PRINT CYCLE COUNT AND TEST NO. CLA,CLE LDB .MS20 JSB FMTR,I 'DATA FLAG WAIT TIMED OUT' JSB S15CK IS SWITCH 15 SET? JMP ENT90 STDMA STC DMA,C FLAG FOUND, START DMA LDA TMCN1 WAIT WHILE DMA IS WORKING JSB TIMR,I DMA11 SFC DMA DMA SHOULDN'T BE FINISHED JMP ENT75 IT IS FINISHED,ERROR LDA TMCN2 ADDITIONAL WAIT, DMA SHOULD JSB TIMR,I COMPLETE DURING THIS WAIT DMA12 SFS DMA IS DMA FINISHED? JMP ENT75 NO,ERROR JMP *+3 YES ENT75 JSB STATS ERROR, LOAD THE TEDþúST'S STATUS * IRG (8) CCA,RSS THE TEST FAILED CLA CLB THE EXPECTED STATUS IS CLEAR JSB TEST (46) (56B) * * ENT90 EQU * JSB FLGWT WAIT FOR THE OPERATION TO FINISH JSB BSRWF BACK SPACE THE RECORD * IRG (7) SPC 1 * ** DATA TRANSFER TEST SECTION ** SPC 1 LDA N5 SET THE INITIAL ITERATION COUNT STA ITCNT CCA INITIALLY SET THE FIRST PATTERN STA ANBUF -WORD LDA .ANSA SET THE FORMAT "A" PATTERN STA ANPAT LDA N408 SET THE WORD COUNT STA WDCNT LDA JSUBA SET THE COMPARE ROUTINE WITH STA WENT0 -THE ANSI DATA SUB CALL STA ENT74 LDA INBUF GET THE INPUT BUFFER'S S.A. JSB RDATA START THE DATA TRANSFER JSB WDCOM (47) (57B) * * LDA N5 SET THE INITIAL ITERATION COUNT STA ITCNT CCA INITIALLY SET THE FIRST PATTERN STA ANBUF -WORD LDA .ANSB SET THE FORMAT "B" PATTERN STA ANPAT LDA N408 SET THE WORD COUNT STA WDCNT LDA INBUF GET THE INPUT BUFFER'S S.A. JSB RDATA START THE DATA TRANSFER JSB WDCOM (48) (60B) * * LDA JSUBR SET THE COMPARE ROUTINE WITH STA WENT0 -THE RANDOM DATA SUB CALL STA ENT74 LDB N4 GET THE STARTING WORD COUNT ENT60 STB WDCNT SET THE WORD COUNT FOR RDATA LDA BASE1 SET THE BASE NUMBER FOR THE STA BASE -RANDOM NUMBER GENERATOR LDA INBUF GET THE INPUT BUFFER'S S.A. JSB RDATA START THE DATA TRANSFER JSB WDCOM (49-57) (61B-71B) * * JSB LENCH GO TO THE RECORD LENGTH CONTROL JMP ENT60 ALL RECORDS HAVEN'T BEEN READ ENT63 LDA N2 SET THE ROUTINE'S PASS COUNT STA TIME ENT59 LDA BAŒþúSE1 SET THE BASE NUMBER FOR THE STA BASE -RANDOM NUMBER GENERATOR LDA INBUF SET THE READ BUFFER'S S.A. JSB RDATA DO THE DATA TRANSFER JSB WDCOM (58-59) (72B-73B) * * LDB WDCNT DOUBLE THE WORD COUNT BLS ISZ TIME INCREMENT THE ROUTINE'S PASS JMP ENT59 -COUNT AND DO IT ONE MORE TIME ENT76 EQU * LDA .TSRB THE TRACK SINGLE ROTATING BIT LDB N9 -PATTERN, 9 WORDS LONG JSB PATCO DO THE TRANSFER AND COMPARE LDA .TSAW THE TRACK SAWTOOTH PATTERN LDB N5 THE PATTERN IS 5 WORDS LONG JSB PATCO DO THE TRANSFER AND COMPARE LDA .CSAW THE CHANNEL SAWTOOTH PATTERN LDB N5 THE PATTERN IS 5 WORDS LONG JSB PATCO DO THE TRANSFER AND COMPARE SPC 1 JMP RECYC END OF THE MAIN PROGRAM SPC 1 * PATTERN DATA COMPARE * SPC 1 * CALL: "A" - PATTERN S.A. * "B" - NUMBER OF WORDS IN THE PATTERN SEQUENCE SPC 1 PATCO NOP STA AREG2 HOLD THE S.A. OF THE PATTERN STB BREG1 HOLD THE NUMBER OF WORDS LDB N4 SET THE NUMBER OF WORDS IN THE ENT64 STB WDCNT -FIRST RECORD LDA INBUF SET THE INPUT BUFFER'S S.A. JSB RDATA START THE DATA TRANSFER LDA AREG2 LDB BREG1 JSB PATCM (60-86) (74B-126B) * * JSB LENCH CHECK THE NEXT RECORD LENGTH JMP ENT64 ALL RECORDS HAVEN'T BEEN READ JMP PATCO,I SPC 1 * RECORD LENGTH CONTROL ROUTINE * SPC 1 * CALL: WDCNT IS ASSUMED TO BE LOADED PRIOR TO USING RDATA * * RETURN: P+1 - CONTINUE WITH THE WORD COUNT DOUBLED * P+2 - ALL THE RECORDS IN THE SERIES HAVE BEEN READ * "B" - THE NEXT WORD COUNT SPC 1 LENCH NOP LDA WDCNT LOAD THE WORD COUNT ALS DOUBLE IT STA WDCNT RESTORE IT TO THE COUNTER STA B SET "B" AND B3eþú777 IS THE WORD COUNT GREATER THAN SZA -1024 WORDS ? JMP LENCH,I NO, GET THE NEXT RECORD ISZ LENCH YES, EXIT AND CHANGE PATTERNS JMP LENCH,I SKP * DATA TRANSFER ROUTINE * SPC 1 * CALL: WDCNT HAS TO BE SET PRIOR TO ENTERING THIS ROUTINE * "A" = THE S.A. OF THE INPUT BUFFER SPC 1 RDATA NOP STA BUFAD SET THE BUFFER'S S.A. LDB WDCNT LOAD THE PRESET WORD COUNT JSB CLRBF CLEAR THE READ BUFFER JSB READ READ THE RECORD JSB RSTAT CHECK THE READ STATUS JSB RREAD HAD ERRORS RE-READ THE RECORD JMP RDATA,I SPC 1 * READ STATUS ROUTINE * SPC 1 * RETURN: P+1 - DATA ERRORS * P+2 - NO ERRORS SPC 1 RSTAT NOP LDA STATU RETRIEVE THE STATUS OF THE READ RAR,SLA CHECK THE DATA ERROR STATUS BIT JMP RSTAT,I HAD ERRORS, EXIT P+1 SZA,RSS JMP ENT50 NO OTHER STATUS, EXIT P+2 ALF REPOSITION THE BITS IN THE REG. SSA,RSS IS BIT 12 (SE) SET ? JMP ENT09 NO CCA YES CLB THE EXPECTED STATUS IS CLEAR JSB TEST * * JSB DECNO DECREMENT THE TEST'S NUMBER ENT09 LDA STATU RETRIEVE THE CURRENT STATUS AND NOTET MASK OUT THE (E0T) STATUS BIT SZA,RSS ENT50 ISZ RSTAT NO STATUS RETURN POINT JMP RSTAT,I SKP READ NOP STA BUFAD SAVE THE INPUT BUFFER'S S.A. STB WDCNT SAVE THE WORD COUNT JMP ENT51 READ1 NOP RE-READ ENTRY POINT LDA READ1 SET THE ROUTINE RETURN POINT STA READ ENT51 LDB SW5 SWITCH 5 SET? JSB SWRCK,I * RSS YES, DO SKIP FLAG READ JMP ENT55 DO A DMA TRANSFER LDB RRF START THE READ JSB OCMMD DIO20 STC DATA,C SET THE DATA TRANSFER CONTROL LDA BUFAD RETRIEVE THE BUFFER'S S.A. STA TBF01 LDB WD=¾B@ * LDB * JSB STMSK * * * STMSK NOP STA STAT2 AND B SZA,RSS ISZ STMSK LDA STAT2 JMP STMSK,I * .SEP DEF *+1 ASC 2,SE,_ ASC 2,OB,_ ASC 2,RW,_ ASC 2,TB,_ ASC 2,CB,_ ASC 2,TM,_ ASC 2,LP,_ ASC 2,ET,_ ASC 2,TE,_ ASC 2,CR,_ ASC 2,FP,_ ASC 2,DE,_ ASC 2,OF,_ SPC 1 SPC 1 MS00 ASC 6,# CYCLE(S)/ MS01 ASC 11,COMMAND WAS REJECTED/ MS02 ASC 10,ERROR IN WORD NO. #/ MS03 ASC 9,RE-READ REQUIRED/ MS04 ASC 13,COULDN'T FIND CYCLE START/ MS05 ASC 11,UNABLE TO READ RECORD/ MS06 ASC 2,EOT/ MS07 ASC 13,NO UNIT SELECT SWITCH SET/ MS12 ASC 14,CMMD FLAG WAIT TIMED OUT !/ MS13 ASC 9,WORD IN ERROR IS _ MS14 ASC 9,AND IT SHOULD BE _ MS16 ASC 6,STATUS WAS _ MS17 ASC 3,CLEAR/ MS19 ASC 5,# TEST #/ MS20 ASC 14,DATA FLAG WAIT TIMED OUT!/ HEAD ASC 15,13184A-7970E MAG. TAPE DIAG./ SPC 1 END EQU * SKP * ** PROGRAM INITIALIZATION AND CONFIGURATION ** SPC 1 ORG 16000B IENT1 LIA SWRG LOAD THE SWITCH REGISTER AND GET STA B -THE 131ùQþú84'S S.C. AND THE DRIVE'S AND B37 -SPEED SZA WAS THERE A S.C. ENTERED? JMP IENT2 YES, CONTINUE HLT 73B NO,STOP AND LET THE OPERATOR JMP IENT1 -SET ONE IN THE SWITCH REGISTER IENT2 STA SC184 SAVE THE 13184'S SELECT CODE STA DATAC ALSO SAVE THE DATA AND COMMAND INA -CHANNEL I-O ADDRESSES STA CMMDC LDA B RESTORE "A" WITH THE SWITCH REG- ALF,ALF -ISTER CONTENTS AND POSTITION THE RAL,RAL -DRIVE'S SPEED INDICATOR AND B37 SZA WAS THE SPEED INDICATOR ENTERED ? JMP IENT3 YES, CONTINUE HLT 72B NO,STOP AND LET THE OPERATOR JMP IENT1 -ENTER ONE IENT3 SLA,RSS IS THE SPEED 12.5 IPS JMP IENT4 NO, TRY THE NEXT LDB T12.5 YES, SET THE TIMING CONSTANTS JMP IENT7 IENT4 RAR SLA,RSS IS IT 25.0 IPS JMP IENT5 NO, TRY THE NEXT ONE LDB T25.0 YES, SET THE TIMING CONSTANTS JMP IENT7 IENT5 RAR SLA,RSS IS IST 37.5 IPS JMP IENT8 LDB T37.5 YES, SET THE TIMING CONSTANTS JMP IENT7 IENT8 LDB TT45 IT'S 45.0 IPS,SET TIMING CONSTANTS IENT7 LDA T45.0 SET THE S.A. OF THE TIMING TABLE STA TBF00 LDA N11 SET THE NUMBER OF CONSTANTS THAT STA COUNT -ARE IN THE TABLE LDA B,I GET THE CONSTANT AND STORE IT IN STA TBF00,I -THE TABLE INB ADVANCE THE CONSTANT POINTER ISZ TBF00 ADVANCE THE TIMING TABLE POINTER ISZ COUNT INCREMENT THE CONSTANT COUNTER JMP *-5 NOT DONE YET IENT9 EQU * * * LDA B20K SET THE CONTROL WORD FOR THE DMA IOR SC184 -CHANNEL STA DMACW SAVE THE CONTROL WORD LDA SLCDD+1 CONFIGURE DATA CHANNEL LDB SLCDD SELECT CODES JSB CNFG * DEF DATAC * LDA SLCDC+1 CONFIGURE COMMAN¹ÙþúD CHANNEL LDB SLCDC SELECT CODES JSB CNFG * DEF CMMDC * LDB SW11 DMA CHANNEL 1 OR JSB SWRCK,I CHANNEL 2? JMP CONT7 CHANNEL 2 LDA SLCDM+1 CONFIGURE DMA CHANNEL 1 LDB SLCDM * JSB CNFG * DEF D6 * LDA SLCDA+1 CONFIGURE DMA CONTROL CHANNEL 1 LDB SLCDA * JSB CNFG * DEF D2 JMP CONT2 CONT7 LDA SLCDM+1 CONFIGURE DMA CHANNEL 2 LDB SLCDM * JSB CNFG * DEF D7 * LDA SLCDA+1 CONFIGURE DMA CONTROL CHANNEL 2 JSB CNFG * DEF D3 * CONT2 HLT 74B CONFIGURATION COMPLETE HALT JMP MDIAI,I GO TO MAIN PROGRAM * CNT00 BSS 1 SC184 BSS 1 D7 DEC 7 TEMP NOP * * CONFIGURE I/O INSTRUCTIONS * CNFG NOP CMA,INA ADA B STA CNT00 - (NUMBER OF POINTERS) LDA CNFG,I LDA A,I STA TEMP GET SELECT CODE CNFG1 LDA B,I GET I/O INSTRUCTION STA TBF00 LDA A,I AND B.17M ADA TEMP INSERT SELECT CODE STA TBF00,I INB ADVANCE POINTER ISZ CNT00 FINISHED? JMP CNFG1 NO ISZ CNFG YES JMP CNFG,I * * B.17M OCT 177700 B20K OCT 20000 * * POINTERS TO DATA CHANNEL SC * SLCD0 EQU * DEF DIO1 TEST 5 DEF DIO2 TEST 5 DEF DIO3 TEST 5 DEF DIO4 TEST 6 DEF DIO5 TEST 7 DEF DIO6 TEST 7 DEF DIO7 TEST 8 DEF DIO8 TEST 13 DEF DIO9 TEST 13 DEF DIO10 TEST 15 DEF DIO11 TEST 15 DEF DIO12 TEST 15 DEF DIO13 TEST 16 DEF DIO14 TEST 17 DEF DIO15 TEST 17 DEF DIO16 TEST 38 DEF DIO17 TEST 45 DEF DIO18 TEST 46 DEF DIO19 TEST 46 DEF DIO20 READ DEÈ2þúF DIO21 READ DEF DIO22 READ DEF DIO23 READ DEF DIO24 READ DEF DIO25 TEST 28 DEF DIO26 TEST 28 DEF DIO27 TEST 29 DEF ENT54 READ SLCD1 EQU * * * POINTERS TO COMMAND CHANNEL * SLCD2 EQU * DEF BEGIN COMMAND EXERCISE DEF CIO2 FLGWT DEF CIO3 OCMMD DEF CIO4 OCMMD DEF CIO5 ACMMD DEF CIO6 ACMMD DEF CIO7 STATS DEF CIO8 TEST 2 DEF CIO9 TEST 3 DEF CIO10 TEST 4 DEF CIO11 TEST 9 DEF CIO12 TEST 9 DEF CIO13 TEST 9 DEF CIO14 TEST 10 DEF CIO15 TEST 11 DEF CIO16 TEST 11 DEF CIO17 TEST 12 DEF CIO18 TEST 17 DEF CIO19 TEST 17 DEF CIO20 TEST 21 DEF CIO21 TEST 22 DEF CIO22 TEST 22 DEF CIO23 TEST 26 DEF CIO24 TEST 33 DEF CIO25 TEST 33 DEF CIO26 TEST 38 DEF CIO27 TEST 44 DEF CIO28 TEST 46 DEF CIO29 TEST 46 DEF CIO30 READ DEF CIO31 TEST 29 DEF CIO32 TEST 30 SLCD3 EQU * * * POINTERS TO DMA CHANNEL * DEF DMA1 DEF DMA2 TEST 15 DEF DMA3 TEST 15 DEF DMA4 TEST 15 DEF DMA5 TEST 15 DEF DMA6 TEST 15 DEF DMA7 TEST 16 DEF DMA8 TEST 38 DEF DMA9 TEST 38 DEF DMA10 TEST 38 DEF DMA11 TEST 46 DEF DMA12 TEST 46 DEF DMA13 READ DEF DMA14 READ DEF DMA15 READ DEF ENT00 TEST 16 DEF ENT04 TEST 15 DEF STDMA TEST 46 * * POINTERS TO DMA CONTROL CHANNEL * SLCD5 EQU * DEF DAM1 TEST 15 DEF DAM2 TEST 15 DEF DAM3 TEST 15 DEF DAM4 TEST 15 DEF DAM5 TEST 38 DEF DAM6 TEST 38 DEF DAM7 TEST 38 Åþú DEF DAM8 TEST 38 DEF DAM9 TEST 46 DEF DAM10 TEST 46 DEF DAM11 TEST 46 DEF DAM12 TEST 46 DEF DAM13 READ DEF DAM14 READ DEF DAM15 READ DEF DAM16 READ DEF DAM17 READ SLCD6 EQU * * SLCDM DEF SLCD3 POINTERS TO DMA CHANNEL DEF SLCD5 I/O POINTER LIST SLCDA DEF SLCD5 POINTERS TO DMA CONTROL CHANNEL DEF SLCD6 I/O POINTER LIST * * DMA TIMING WINDOWS FOR 400 WORD TRANSFER * (TEST 46). THE ODD POSITION (1ST, 3RD, ETC.) * IS THE TIME BEFORE THE DMA FLAG IS DUE TO * SET, AND THE EVEN POSITION IS THE ADDITIONAL * TIME (WINDOW) DURING WHICH THE DMA FLAG * SHOULD SET. * * S45.0 DEC 10 1600 CPI 45.0 IPS DEC 2 " " " " DEC 20 800 " " " DEC 3 " " " " DEC 30 556 " " " DEC 4 " " " " DEC 84 200 " " " DEC 10 " " " " * * THE FINAL THREE CONSTANTS OF EACH TIMING * SECTION (S45.0, S37.5, S25.0,S12.5) ARE * USED FOR TESTS 28 - 30 (34B - 36B). * DEC 7 " DEC 1 " DEC 3 " * S37.5 DEC 12 1600 CPI 37.5 IPS DEC 2 " " " " DEC 25 800 " " " DEC 3 " " " " DEC 36 556 " " " DEC 4 " " " " DEC 101 200 " " " DEC 10 " " " " * DEC 8 " DEC 1 " DEC 4 " * S25.0 DEC 18 1600 " 25.0 " DEC 3 " " " " DEC 37 800 " " " DEC 4 " " " " DEC 54 556 " " " J·640 DEC 7 " " " " DEC 151 200 " " " DEC 17 " " " " * DEC 12 " DEC 2 " DEC 5 " * S12.5 DEC 37 1600 " 12.5 " DEC 4 " " " " DEC 75 800 " " " DEC 8 " " " " DEC 109 556 " " " DEC 12 " " " " DEC 304 200 " " " DEC 33 " " " " * DEC 25 " DEC 4 " DEC 11 " * SPC 1 LBF EQU * SPC 1 END ”$6ÿÿ ÿýB P ÿ13185-18001 1449 S 0122 0113185A MICROFILMER INTFC. DIAGNOSTIC             H0101 ?Éþú ASMB¬A¬B¬Ã¬Ì  ±3±¸5 ÃÏM DÉAGNÏSÔÉà       HÅD ªª HP - ±3±¸5 ÃÏM DÉAGNÏSÔÉà ª  ª         ÒÅVÉSÉÏN DAÔÅ ±0¯²´¯·´ ª         HP PAÒÔ NÏ. ±3±¸5-±900± ª        ÏÒG 0       SUP ª     GÅNÅÒAÌ ÏPÅÒAÔÉNG PÒÏÃÅDUÒÅ ª  ª         A. ÌÏAD DÉAGNÏSÔÉàÃÏNÆÉGUÒAÔÏÒ AND SÅÔ ÉÔ UP. ª         B. ÌÏAD DÉAGNÏSÔÉàMAÉN PÒÏGÒAM ª         Ã. ÌÏAD ADDÒÅSS ±00B. ª         D. ÌÏAD S×ÉÔÃH ÒÅG. ×ÉÔH SÅÌÅÃÔ ÃÏDÅ AND ÏPÔÉÏNS ª            ±. ÌÏAD ±3±¸5 SÅÌÅÃÔ ÃÏDÅ ÉN BÉÔS 0-5. ª            ². ÌÏAD ±²566 SÅÌÅÃÔ ÃÏDÅ ÉN BÉÔS 6-±±. ª         Å. PÒÅSS ÒUN AND ×AÉÔ ÆÏÒ HAÌÔ ±0·0·´. ª         Æ. ÌÏAD S×ÉÔÃH ÒÅGÉSÔÅÒ ª                   ÉÆ SÅÔ ½: ª                   ±5 ½ HAÌÔ AÔ ÅND ÏÆ ÅAÃH ÔÅSÔ ª                   ±´ ½ SUPPÒÅSS ÅÒÒÏÒ HAÌÔS ª                   ±3 ½ ÌÏÏP ÏN ÌASÔ ÔÅSÔ ª                   ±² ½ ÌÏÏP ÏN DÉAGNÏSÔÉà ª                        (SUPPÒÅSS AÌÌ ÏPÅÒAÔÏÒ ÉNÔÅÒVÅNÔÉÏN© ª                   ±± ½ SUPPÒÅSS ÅÒÒÏÒ MÅSSAGÅS ª                   ±0 ½ SUPPÒÅSS NÏN-ÅÒÒÏÒ MÅSSAGÅS ª                    9 ½ SUPPÒÅSS HAÌÔ AÆÔÅÒ ²56 ÔÅSÔ ÃYÃÌÅS ª  ª         G. PÒÅSS ÒUN. ª         H. ÒÅSÔAÒÔ - ÌÏAD ADDÒÅSS ²000B ª         É. ÒÅÃÏNÆÉGUÒÅ ÉÆ ÔÅSÔÉNG É¯Ï ÉNÔÅÒÆAÃÅ - ÌÏAD ADDÒÅSS ±00B ª  ª         GÅNÅÒAÌ ÃÏMPUÔÅÒ HAÌÔS ª  ª         ±0²0ØØ    Å ÏÒ H  000 ÔÏ 06· ª         ±060ØØ    Å ÏÒ H  ±00 ÔÏ ±6· ª         ±030ØØ    Å ÏÒ H  ²00 ÔÏ ²6· ª         ±0·0ØØ    Å ÏÒ H  300 ÔÏ 36· ª  ª         ÃÏNÔÒÏÌ PÒÏGÒAM HAÌÔ MÅSSAGÅS ª  ª         ±0²0··    ÅND ÏÆ DÉAG (A ½ PASS ÃÏUNÔ© ª         ±0²0·6    ÅND ÏÆ ÔÅSÔ (A ½ ÔÅSÔ £© ª         ±0²0·5    AÌÔÅÒNAÔÅ MÏDÅ HAÌÔ ª         ±0²0·´    SÅÌÅÃÔ ÃÏDÅ ÉNPUÔ ÃÏMPÌÅÔÅ ª         ±0²0·3    USÅÒ SÅÌÅÃÔ ÃÏDÅ ÅÒÒÏÒ ÆÏÒ MÉÃÒÏÃÉÒÃUÉÔ ª         ±0²0·²    USÅÒ SÅÌÅÃÔ ÃÏDÅ ÅÒÒÏÒ ÆÏÒ ÃÏM ª         ±0²0·±    NÏ DMA ÉN ÃÏNÆÉGUÒAÔÏÒ ÏÒ HAÒD×AÒÅ ª         ±0²0·0    NÏÒMAÌ HAÌÔ AÆÔÅÒ ²56 ÔÅSÔ ÃYÃÌÅS ª  ª         ±060··    ÔÒAP ÃÅÌÌ HAÌÔ ª  ª  ª        HÅD PÒÏGÒAM ÏÒGANÉZAÔÉÏN ÃHAÒÔ ª         ªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªª ª         ª         ÃÏ‚þúNÆÉGUÒAÔÏÒ            ±00B    ª ª         ª            ÌÉNKAGÅ ÔABÌÅ                ª ª         ªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªª ª         ª         ÅØÅÃUÔÉVÅ               ±30B    ª ª         ª         ÌÉNKAGÅ                         ª ª         ªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªª ª         ª         ÃÏNSÔANÔS               ±50B    ª ª         ª            AND                          ª ª         ª         SÔÏÒAGÅ                         ª ª         ªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªª ª         ª                                ²000B    ª ª         ª         ÅØÅÃUÔÉVÅ ÃÏNÔÒÏÌ               ª ª         ª                                         ª ª         ªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªª ª         ª                                         ª ª         ª                                         ª ª         ª                                         ª ª         ª                                         ª ª         ª                                         ª ª         ª         MAÉN DÉAGNÏSÔÉÃS (±-39©         ª ª         ª                                         ª ª         ª                                         ª ª         ª                                         ª ª         ª                                         ª ª         ª                                         ª ª         ªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªª ª         ª         ÉNÉÔÉAÌÉZAÔÉÏN SÅÃÔÉÏN          ª ª         ª         ÔABÌÅ ÏÆ É¯Ï ÉNSÔÒ PÏÉNÔÅÒS     ª ª         ªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªª ª  ª  ª  ª  ª  ª  ª  ª  ª  ª  ª  ª  ª  ª  ª  ª  ª  ª  ª  ª        HÅD ÃÏNÆÉGUÒAÔÏÒ ÌÉNKAGÅ ÔABÌÅ A     ÅÑU 0         A ÒÅGÉSÔÅÒ ÒÅÆÅÒÅNÃÅ B     ÅÑU ±         B ÒÅGÉSÔÅÒ ÒÅÆÅÒÅNÃÅ S×    ÅÑU ±         S×ÉÔÃH ÒÅGÉSÔÅÒ ÒÅÆÅÒÅNÃÅ ÉNÔP  ÅÑU 0         ÉNÔÅÒÒUPÔ ÃHANNÅÌ ÒÅÆÅÒÅNÃÅ ª  ª        ÏÒG ±00B ª  BÅGÉN ÊMP ÃÆÉG¬É    GÏ ÔÏ ÃÏNÆÉGUÒAÔÉÏN SÅÃÔÉÏN ÆAÉN  BSS ±         ÆASÔ ÉNPUÔ (PHÏÔÏ ÒÅADÅÒ© SÌÏP  BSS ±   ”Rþú      SÌÏ× ÏUÔPUÔ (ÌÉSÔ© ÆAÏP  BSS ±         ÆASÔ ÏUÔPUÔ (DUMP ÏÒ PUNÃH© SÌÉN  BSS ±         SÌÏ× ÉNPUÔ (KÅYBÏAÒD© Æ×AM  DÅÆ Æ×AA      ÆÉÒSÔ ×ÏÒD ÏÆ AVBÌ. MÅMÏÒY Ì×AM  BSS ±         ÌASÔ ×ÏÒD ÏÆ AVBÌ. MÅMÏÒY       BSS ±         NÏÔ USÅD (MAG ÔAPÅ© ÏÔMà BSS ±         ± MÉÌÌ SÅàÔÉMÅ ÏUÔ ÃÏUNÔ       BSS ´         SÅÌÅÃÔ ÃÏDÅS ÆÏÒ É¯Ï ÃPÔÏ  BSS ±         ÃÏMPUÔÅÒ ÔYPůÏPÔÉÏNS USSà BSS ±         USÅÒ ÃAÒD ÔYPÅ AND SÅÌÅÃÔ ÃÏDÅ MÅMÏ  BSS ±         MÅMÏÒY SÉZÅ AND ÔYPÅ ÉS×Ò  BSS ±         ÉNÔÅÒNAÌ S×ÉÔÃH ÒÅGÉSÔÅÒ ÔMÒÒ  BSS ±         ± MÉÌÌ SÅàÔÉMÅÒ S×Òà BSS ±         ÃÏNÆÉGUÒAÔÏÒ S×ÉÔÃH ÃK PÔÒ É²AS  BSS ±         ÉNÔÅGÅÒ ÔÏ ASÃÉÉ ÃÏNVÅÒSÉÏN ϲAS  BSS ±         ÏÃÔAÌ ÔÏ ASÃÉÉ ÃÏNVÅÒSÉÏN AS²N  BSS ±         ASÃÉÉ ÃÏNVÅÒSÉÏN DSNÌ  BSS ±         DÉAGNÏSÔÉàSÅÒÉAÌ NUMBÅÒ ÆMÔÒ  BSS ±         ÆÏÒMAÔÔÅÒ PÒÃK3 ÏÃÔ ±²5²5²    PAÒÉÔY ÅÒÒÏÒ ÃHÅÃK ×ÏÒD ª  ª  ª         ÃÏNÔÒÏÌ ÌÉNKAGÅ AND DAÔA ÒÅÆÅÒÅNÃÅS ª  ÃÆÉG  DÅÆ ZÃÏNÆ     ÃÏNÆÉGUÒAÔÉÏN SÅÃÔÉÏN ÔSÔN  ÏÃÔ 0         ÃUÒÒÅNÔ ÔÅSÔ NUMBÅÒ ª  ª  Z.²   ÏÃÔ ² Z.··  ÏÃÔ ·· Z.M±  DÅà-± ª  ª  ª  ª         ÉNÉÔÉAÌÉZÅ ÔÒAP ÃÅÌÌ HAÌÔS ª  ZÉÔÃH NÏP       ÌDA ZÔSH      GÅÔ SÔAÒÔÉNG ÔÒAP ÃÅÌÌ HAÌÔ       ÌDB Z.²       GÅÔ ÆÉÒSÔ ÔÒAP ÃÅÌÌ ÌÏÃAÔÉÏN ZÔSHÌ SÔA B¬É       PUÔ ÉÔ ÉN PÌAÃÅ       ÃPB Z.··      AM É ÆÉNÉSHÅD       ÊMP ZÉÔÃH¬É   YÅS       ÉNB             NÅØÔ ADDÒÅSS       ÊMP ZÔSHÌ ª  ZÔSH  ÏÃÔ ±060·· ª  ª  ª  ª  ª         ÉNÉÔÉAÌÉZÅ SÅÌÅÃÔ ÃÏDŠɯϠÉNSÔÒUÃÔÉÏNS ª  ZÉSà NÏP       SÔA ZÉÏSà    SAVÅ SÅÌÅÃÔ ÃÏDÅ       SÔB ZÉÏAD     SAVÅ ÔABÌÅ ADDÒÅSS ZÉÏÌ  ÌDB ZÉÏAD¬É   GÅÔ ADDÒÅSS ÏÆ ÌÏÃAÔÉÏN       ÃPB Z.M±      ÉS ÉÔ ÔHÅ ÔÅÒMÉNAÔÏÒ       ÊMP ZÉSìɠ   YÅS ÒÅÔUÒN ÔÏ ÃAÌÌÅÒ       ÌDA B¬É       NÏ - GÅÔ ÃÏNÔÅNÔS       AND ZÉÏM      MASK ÏÆÆ ÏÌD SÅÌÅÃÔ ÃÏDÅ       ÉÏÒ ZÉÏSà    ADD ÉN NÅ× SÅÌÅÃÔ ÃÏDÅ       SÔA B¬É       ÒÅSÔÏÒÅ  ÉÔ       ÉSZ ZÉÏAD     MÏVÅ ÔÏ NÅØÔ ADDÒÅSS       ÊMP ZÉÏÌ      DÏ ÉÔ ª  ZÉÏSàNÏP ZÉÏAD NÏP ZÉÏM  ÏÃÔ ±···00 ª  ª  ª  ZÃÅND ÅÑU ª       HÅD ªª HP - ±3±¸5 ÃÏM ¦ÕþúDÉAGNÏSÔÉà       ÏÒG ±²²B       DÅÆ .S×ÒG     ÌÉNK ÔÏ S×ÉÔÃH ÒÅG. ÃHÅÃK ª        ÏÒG ±²6B DSN   ÏÃÔ ±3·000    DÉAGNÏSÔÉàSÅÒÉAÌ £       ÏÒG ZÃÅND ª  ª  ª  ª                  BASÅ PAGÅ VAÒÉABÌÅS ª  ÉN    ÅÑU 0         ±²566 MÉÃÒÏÃÉÒÃUÉÔ S.Ã. DAÔA  ÅÑU 0         DAÔA ÃHANNÅÌ S.Ã. ÃMMD  ÅÑU DAÔA+±    ÃÏMMAND ÃHANNÅÌ S.Ã. ÃHAN  ÅÑU ²         DMA ÃHANNÅÌ ± AÏUÔ  ÅÑU ÏÔMÃ+3    SÅÌÅÃÔ ÃÏDÅ ÏÆ ÏUÔPUÔ DÅVÉÃÅ BÏUÔ  ÅÑU ÏÔMÃ+²    SÅÌÅÃÔ ÃÏDÅ ÏÆ ÏUÔPUÔ DÅVÉÃÅ ÅÒÒB. ÅÑU 6550B     ÅÒÒÏÒ BUÆÆÅÒ SÔAÒÔÉNG ADDÒÅSS ÉNBÆ. ÅÑU ´000B     ÉNPUÔ BUÆÆÅÒ SÔAÒÔÉNG ADDÒÅSS ÏUÔB. ÅÑU 5000B     ÏUÔPUÔ BUÆÆÅÒ SÔAÒÔÉNG ADDÒÅSS PAÃB. ÅÑU 6000B     PAÃK BUÆÆÅÒ SÔAÒÔÉNG ADDÒÅSS AÒÅG  BSS ± BÒÅG  BSS ± ÃÏUNÔ BSS ± ÃYÃNÔ BSS ±         ÃYÃÌÅ ÃÏUNÔÅÒ DMAñ BSS ±         S.Ã. ÏÆ MÉÃÒÏÃÉÒÃUÉÔ ÃAÒD DMAò BSS ±         S.Ã. ÏÆ ±3±¸5 ÃAÒD ÅÒÃNÔ BSS ±         ÃUÒÒÅNÔ ÅÒÒÏÒ BUÆÆÅÒ ÃÏUNÔ ÅÒBUÆ BSS ±         ÃUÒÒÅNÔ ÅÒÒÏÒ BUÆÆÅÒ ADDÒÅSS ÆÒSÔ± BSS ±         ÔÅMPÏÒAÒY PAÒÉÔY ÃHÅÃK ÉNBUÆ BSS ±         PÏÉNÔÅÒ ÔÏ ÉNPUÔ BUÆÆÅÒ ÏBUÆÆ BSS ±         PÏÉNÔÅÒ ÔÏ ÏUÔPUÔ BUÆÆÅÒ PAÃKB BSS ±         PÏÉNÔÅÒ ÔÏ PAÃK BUÆÆÅÒ SÔAÔU NÏP           SÔAÔUS- NÏÔ USÅD S×ÒÅG BSS ±         ÔÅMPÏÒAÒY S×ÉÔÃH ÒÅG SAVÅ ÔÒÃNÔ BSS ±         ×ÏÒD ÃÏUNÔ ÆÏÒ DMA ÔÒANSÆÅÒ ÔNUMB ÅÑU ÔSÔN      ÃUÒÒÅNÔ ÔÅSÔ NUMBÅÒ ÃNÔ×  NÏP           ×ÏÒD ÃÏUNÔ ÉN ÅÒÒÏÒ GÏÏD× NÏP           GÏÏD ×ÏÒD BAD×  NÏP           BAD ×ÏÒD ª  ª  B3··  ÏÃÔ    3·· B´00  ÏÃÔ    ´00 B±60K ÏÃÔ ±60000 B±··K ÏÃÔ ±··000 GÏ    ÏÃÔ ±00000    "GÏ" ÃÏMMAND PÒÃK± ÏÃÔ ±··´00    ÏDD PAÒÉÔY ×ÏÒD PÒÃK² ÏÃÔ ±··±··    ÅVÅN PAÒÉÔY ×ÏÒD ª  ª  ª                   S×ÉÔÃH ÒÅGÉSÔÅÒ MASKS ª  S×0¸  ÏÃÔ ´00       BÉÔ ¸ S×09  ÏÃÔ ±000      BÉÔ 9 S×±0  ÏÃÔ ²000      BÉÔ ±0 S×±±  ÏÃÔ ´000      BÉÔ ±± S×±²  ÏÃÔ ±0000     BÉÔ ±² S×±3  ÏÃÔ ²0000     BÉÔ ±3 S×±´  ÏÃÔ ´0000     BÉÔ ±´ S×±5  ÏÃÔ ±00000    BÉÔ ±5 ª  ª                   NUMÅÒÉÃAÌ ÃÏNSÔANÔS ª  .´    ÏÃÔ ´ .²00  ÏÃÔ ²00 ª  D0    DÅà0 D3    DÅà3 D3·   DÅà3· N±    DÅà-± N²    DÅà-² N´    DÅàÄþú-´ N±´¸  DÅà-±´¸      ÅÒÒÏÒ BUÆÆÅÒ ÌÅNGÔH N²56  DÅà-²56      MAØÉMUM ÃYÃÌÅ ÃÏUNÔ ª  ª         ÔÉMÅ DÅÌAY ÔABÌÅ ª  DÅÌY0 NÏP           30 US DÅÌAY DÅÌY± NÏP           ±00 US DÅÌAY DÅÌY² NÏP           ±00 US DÅÌAY DÅÌY3 NÏP           3·5 US DÅÌAY ª  ÅÒÒBÆ DÅÆ ÅÒÒB.     PÏÉNÔÅÒ ÔÏ ÅÒÒÏÒ BUÆÆÅÒ ÉADD± DÅÆ ÉNÔÒ± ÉADD² DÅÆ ÉNÔÒ² ÉADD3 DÅÆ ÉNÔÒ3 ÉADD´ DÅÆ ÉNÔÒ´ ÉADD5 DÅÆ ÉNÔÒ5 ÉADD6 DÅÆ ÉNÔÒ6 ÉADD· DÅÆ ÉNÔÒ· ÉADD¸ DÅÆ ÉNÔÒ¸ ÉNBÆÒ DÅÆ ÉNBÆ. ª  ª                   ÌÉNKS ÔÏ SUBÒÏUÔÉNÅS ª  MS    DÅÆ MSG       PÏÉNÔÅÒ ÔÏ MÅSSAGÅ ÒÏUÔÉNÅ .ZÔÃH DÅÆ ZÉÔÃH     PUÔS HAÌÔS ÉN ÔÒAP ÃÅÌÌS .ZÉSàDÅÆ ZÉSà     PÏÉNÔÅÒ ÔÏ ÃHANGÅ SÅÌÅÃÔ ÃÏDÅ ÆMÔÒ² DÅÆ .ÆMÔÒ     ÌÉNK ÔÏ SPÅÃÉAÌ ÆÏÒMAÔÔÅÒ ÆMÔ3  DÅÆ ÆMÔ03     ÌÉNK ÔÏ SPÅÃÉAÌ ÆÏÒMAÔÔÅÒ ÆMÔ²  DÅÆ ÆMÔ0²     ÌÉNK ÔÏ SPÅÃÉAÌ ÆÏÒMAÔÔÅÒ ª  ª  ª  ÏNÅS  DÅÆ D0 ÏPÅN± DÅÆ ÏPÅNÔ ÏPÅN¸ DÅÆ ÏPÅN9 ÏPN±± DÅÆ ÏPN±²     ÏPÅÒAÔÏÒ MÏDÅ ÒÅÔUÒN ÆÏÒ ÔÒANS ÏUÔBÆ DÅÆ ÏUÔB. PAÃK. DÅÆ PAÃB. PÃHÒS DÅÆ PÃHAÒ PÒÃÃÔ DÅÆ PÃYÃÔ .BÅGN DÅÆ BÅGN±     PÏÉNÔÅÒ ÔÏ SÔAÒÔ ÏÆ DÉAGNÏSÔÉà .SÔAÒ DÅÆ SÔAÒÔ     ²000B SÔAÒÔ ÏÆ DÉAGNÏSÔÉà ÔÅSÔN DÅÆ ÔSÔNÏ     PÏÉNÔÅÒ ÔÏ PÒÉNÔ ÔÅSÔ £  SPà± ÃMMDàNÏP           ÉNÔÅÒÒUPÔ ÌÉNK ÆÏÒ ÃÏMMAND ÃHANNÅÌ DAÔAàNÏP           ÉNÔÅÒÒUPÔ ÌÉNK ÆÏÒ DAÔA ÃHANNÅÌ NÏÔÔY NÏP           NÏ ÔÔY ÆÌAG ÔÒÆÌG NÏP           ÔÒANSÆÅÒ ÆÌAG  SPà± ÏPÒÅÔ ÊMP ÏPÒÔN ÏPÅN6 ÊMP ÏPÅN² ÔÒAD± ÊSB ÉADD±¬É ÔÒAD² ÊSB ÉADD²¬É ÔÒAD3 ÊSB ÉADD3¬É ÔÒAD´ ÊSB ÉADD´¬É ÔÒAD5 ÊSB ÉADD5¬É ÔÒAD6 ÊSB ÉADD6¬É ÔÒAD· ÊSB ÉADD·¬É ÔÒAD¸ ÊSB ÉADD¸¬É ª  S×ÒGA NÏP       ÌÉA S×        ÌÏAD S×ÉÔÃH ÒÅG. ÔÏ A       ÊMP S×ÒGA¬É ª  ª     ÃAÌÌ ª     ÌDB eþúUMB     -AND NUMBÅÒ BÅÆÏÒÅ SÔÏPPÉNG       ÉNA           ÉNÃÒÅMÅNÔ ÔÅSÔ £       HÌÔ 5²B       HAÌÔ ÏN ÅÒÒÏÒ SÔÏP ÅNÔ3² ÅÑU ª       ÊMP DAÔÆG¬É   ÅØÉÔ MSG0² ASà±3¬DAÔA ÆÌAG ×AÉÔ ÔÉMÅD ÏUÔ¯ ª  ÃÏÅND ÅÑU ª ª              ªª  PÒÏGÒAM ÉNÉÔÉAÌÉZAÔÉÏN SÅÃÔÉÏN  ªª  SPà± ª         ÃÏNÆÉGUÒAÔÉÏN SÅÃÔÉÏN ª  ZÃÏNÆ ÃÌàÉNÔP¬Ã    ÔUÒN É¯Ï SYSÔÅM ÏÆÆ ª  ª         ÔÉMÅ DÅÌAY ÔABÌÅ SÅÔUP ª        ÌDA ÏÔMà     GÅÔ ÔÉMÉNG ÆÒÏM ÃÏNÆÉGUÒAÔÏÒ       ÃMA¬ÉNA       MAKÅ ÉÔ PÏSÉÔÉVÅ       AÒS           DÉVÉDÅ BY ² (500US©       AÒS           DÉVÉDÅ ÉÔ BY ² (²50US©       SÔA B         SAVÅ ÉÔ ÔÅMPÏÒAÒÉÌY       AÒS           DÉVÉDÅ ÉÔ BY ² (±²5US©       ADA B         ÃÏMPUÔÅ 3·5US DÅÌAY       ÃMA¬ÉNA       MAKÅ ÉÔ NÅGAÔÉVÅ       SÔA DÅÌY3     SAVÅ ÉÔ ÆÏÒ 3·5US DÅÌAY       ÌDA B         GÅÔ ²50US DÅÌAY       AÒS           DÉVÉDÅ BY ² (±²5US©       AÒS           DÉVÉDÅ BY ² (6².5US©       SÔA B         SAVÅ ÉÔ ÔÅMPÏÒAÒÉÌY       AÒS           DÉVÉDÅ BY ² (3±.²US©       ÉNA           ÉNÃÒÅASÅ DÅÌAY ÔÉMÅ       ÉNA       ÃMA¬ÉNA       MAKÅ ÉÔ NÅGAÔÉVÅ       SÔA DÅÌY0     SAVÅ 3± US DÅÌAY       ÃMA¬ÉNA       MAKÅ ÉÔ PÏSÉÔÉVÅ       ADA B         SÅÔUP 90US DÅÌAY       ÃMA¬ÉNA       MAKÅ ÉÔ NÅGAÔÉVÅ       SÔA DÅÌY²     SAVÅ ÉÔ ÆÏÒ 90US DÅÌAY       SÔA DÅÌY± ª  ª                   ÅND ÏÆ ÔÉMÅ DÅÌAY SÅÔUP ª  ª         ±SÔ DMA ÃHÅÃK ª         ÃHÅÃK ÃÏNÆÉGUÒAÔÏÒ ª        ÌDA ÃPÔÏ      ÌÏAD ÃÏMPUÔÅÒ AND ÏPÔÉÏNS       AND .²00      ÃHÅÃK ÆÏÒ ± ÃHANNÅÌ DMA       SZA¬ÒSS       ÉS ÉÔ ZÅÒÏ?       ÊMP DMA±      YÅS-ÏK ÔÏ ÃÏNÔÉNUÅ       ÊMP DMA²      NÏ-ÒÅPÏÒÔ NÏ DMA DMA±  ÅÑU ª       ÌDA ÃPÔÏ      ÌÏAD ÃÏMPUÔÅÒ AND ÏPÔÉÏNS       AND .´        ÃHÅÃK ÆÏÒ ² ÃHANNÅÌ DMA       SZA           ÉS ÔHÅÒÅ ANY DMA?       ÊMP DMA3      YÅS-ÃÏNÔÉNUÅ       ÊMP DMA²      NÏ-ÒÅPÏÒÔ NÏ DMA DMA3  ÅÑU ª ª         ²ND DMA ÃHÅÃK ª         ÃHÅÃK HAÒD×AÒÅ ª        SÔàÃHAN      SÅÔUP ×ÏÒD ÃÏUNÔ ÒÅGÉSÔÅÒ       SÔàÃHAN+±    ÆÏÒ BÏÔH ÃHANNÅÌS       ÃÃA           SÅÔUP ÏUÔPUÔ ×ÏÒD ÃÏUNÔ ,Vþú      ÏÔA ÃHAN      ÏUÔPUÔ ÉÔ ÃHANNÅÌ ±       ÏÔA ÃHAN+±    ÏUÔPUÔ ÉÔ ÔÏ ÃHANNÅÌ ²       ÌÉB ÃHAN      ÌÏAD BAÃK ÉN ÃHANNÅÌ ±       ÃPA B         ÉS ÉÔ ÔHÅ SAMÅ ×ÏÒD?       ÊMP DMA´      YÅS-ÃÏNÔÉNUÅ       ÊMP DMA²      NÏ-ÒÅPÏÒÔ NÏ DMA DMA´  ÅÑU ª       ÌÉB ÃHAN+±    ÌÏAD BAÃK ÉN ÃHANNÅÌ ²       ÃPA B         ÉS ÉÔ ÔHÅ SAMÅ ×ÏÒD?       ÊMP DMA5      YÅS-ÏK ÔÏ ÃÏNÔÉNUÅ DMA²  ÅÑU ª         NÏ-ÒÅPÏÒÔ NÏ DMA       ÊSB MS¬É      ÒÅPÏÒÔ ÅÒÒÏÒ       DÅÆ DMA6      ÒÅÔUÒN       DÅÆ Å055      PÏÉNÔÅÒ ÔÏ MÅSSAGÅ Å055  ÅÑU ª       ASà0´¬NÏ DMA¯ DMA6  ÅÑU ª       ÃÌA           ÃÌÅAÒ A       ÃÌB           ÃÌÅAÒ B       HÌÔ ·±B       HAÌÔ AÆÔÅÒ MÅSSAGÅ       ÊMP ZÃÏNÆ     ÔÒY ÔÏ ÃÏNÆÉGUÒÅ AGAÉN ª  DMA5  ÅÑU ª ª  ª                   ÅND ÏÆ DMA ÃHÅÃK ª  ª         SÅÔUP NÏ ÏUÔPUÔ DÅVÉÃÅ ÆÌAG ª        ÃÃB           SÅÔUP ÆÌAG VAÌUÅ       ÌDA BÏUÔ      ÌÏAD ÏUÔPUÔ DÅVÉÃÅ SÅÌÅÃÔ ÃÏDÅ       SZA¬ÒSS       ÉS ÉÔ ZÅÒÏ?       SÔB NÏÔÔY     YÅS-SÅÔ ÆÌAG       ÌDA AÏUÔ      NÏ-ÔÒY NÅØÔ DÅVÉÃÅ       SZA¬ÒSS       ÉS ÉÔ ZÅÒÏ?       SÔB NÏÔÔY     YÅS-SÅÔ ÆÌAG ª                   ÅND ÏÆ ÃHÅÃK ª  ª        ÊSB .ZÔÃH¬É   PUÔ ÅÒÒÏÒ HAÌÔS ÉN ÔÒAPS ª  ÉÅNÔ5 ÊSB S×ÒGA     ÌÏAD ÔHÅ S×ÉÔÃH ÒÅGÉSÔÅÒ       SÔA B         HÏÌD ÉÔ ÔÅMPÏÒAÒÉÌY ÉN "B"       AND B3·       MASK ÔHÅ 5 ÌSB'S       SZA           ×AS ÔHÅÒÅ A SÅÌÅÃÔ ÃÏDÅ ÅNÔÅÒÅD       ÊMP ÉÅNÔ0     YÅS¬ ÃÏNÔÉNUÅ       HÌÔ ·²B       NϬ SÔÏP AND ÌÅÔ ÔHÅ ÏPÅÒAÔÏÒ       ÊMP ÉÅNÔ5     ÒÅSÅÔ ÔHÅ S×ÉÔÃH ÒÅGÉSÔÅÒ ÉÅNÔ0 SÔA Sñ¸5     SAVÅ ÔHÅ ±3±¸5'S SÅÌÅÃÔ ÃÏDÅ       SÔA DAÔAà    SAVÅ ÔHÅ DAÔA AND ÃÏMMAND       ÉNA           -ÃHANNÅÌ É-Ï ADDÒÅSSÅS       SÔA ÃMMDà       ÌDA B         ÒÅSÔÏÒÅ "A" ×ÉÔH ÔHÅ S×ÉÔÃH ÒÅG-       AÌÆ¬AÌÆ       -ÉSÔÅÒ'S ÃÏNÔAÉNS AND PÏSÔÉÏN       ÒA̬ÒAÌ       -ÔHÅ ±²566B'S É-Ï SÅÌÅÃÔ ÃÏDÅ       AND B3·       MASK ÔHÅ 5 ÌSB'S       SZA           ×AS ÔHÅÒÅ A SÅÌÅÃÔ ÃÏDÅ ÅNÔÅÒÅD ?       ÊMP ÉÅNÔ±     YÅS¬ ÃÏNÔÉNUÅ       HÌÔ ·3B       NϬ SÔÏP AND ÌÅÔ ÔHÅ ÏPÅÒAÔÏÒ       ÊMP ÉÅNÔ5     -ÒÅSÅÔ ÔHÅ S×ÉÔÃä+þúH ÒÅGÉSÔÅÒ ÉÅNÔ± SÔA SÃMÉà    SAVÅ ÔHÅ ±²566B'S SÅÌÅÃÔ ÃÏDÅ ª  ª         DMA SÅÔUP ª        ÌDA B²0K      SÅÔ ÔHÅ ÃÏNÔÒÏÌ ×ÏÒD ÆÏÒ ÔHÅ       ÉÏÒ SÃMÉà    -ÆÉÒSÔ DMA ÃHANNÅÌ ÔÏ HANDÌÅ       SÔA DMAñ       ÏÔA 6B        -ÔHÅ ±²566B MÉÃÒÏ-ÃÉÒÃUÉÔ ÃAÒD       ÌDA B²0K      SÅÔ ÔHÅ ÃÏNÔÒÏÌ ×ÏÒD ÆÏÒ ÔHÅ       ÉÏÒ Sñ¸5     -SÅÃÏND DMA ÃHANNÅÌ ÔÏ HANDÌÅ       SÔA DMAò       ÏÔA ·B        -ÔHÅ ±3±¸5 ÉNÔÅÒÆAÃÅ ÃAÒD ª  ª         SÅÔUP É¯Ï ÉNSÔÒUÃÔÉÏNS ª  ª        ÌDA Sñ¸5     GÅÔ SÅÌÅÃÔ ÃÏDÅ ÆÏÒ DAÔA ÃHANNÅÌ       ÌDB .DAÔ      GÅÔ PÏÉNÔÅÒ ÔÏ ÌÉSÔ       ÊSB .ZÉSìɠ  GÏ ÃHANGÅ SÅÌÅÃÔ ÃÏDÅS ª        ÌDA Sñ¸5     GÅÔ DAÔA ÃHANNÅÌ SÅÌÅÃÔ ÃÏDÅ       ÉNA           ÃÏMPUÔÅ ÃÏMMAND ÃHANNÅÌ S.Ã.       ÌDB .ÃMD      GÅÔ PÏÉNÔÅÒ ÌÉSÔ       ÊSB .ZÉSìɠ  GÏ ÃHANGÅ SÅÌÅÃÔ ÃÏDÅS ª        ÌDA SÃMÉà    GÅÔ S.Ã. ÏÆ MÉÃÒÏ ÃÉÒÃUÔ ÃAÒD       ÌDB .MÉà     GÅÔ PÏÉNÔÅÒ ÔϠɯϠÌÉSÔ       ÊSB .ZÉSìɠ  GÏ ÃHANGÅ SÅÌÅÃÔ ÃÏDÅS ª  ª        HÌÔ ·´B       ÉNÉÔÉÌÉZAÔÉÏN ÃÏMPÌÅÔÅ HAÌÔ       ÊMP .SÔAҬɠ  ÊUMP ÔÏ ÔHÅ MAÉN PÒÏGÒAM  SPà± Sñ¸5 BSS ±         ±3±¸5 SÅÌÅÃÔ ÃÏDÅ SÃMÉàBSS ±         MÉÃÒÏÃÉÒÃUÉÔ SÅÌÅÃÔ ÃÏDÅ  SPà± B3·   ÏÃÔ     3· B²0K  ÏÃÔ  ²0000 .DAÔ  DÅÆ ª+±       PÏÉNÔÅÒ ÔÏ DAÔA ÃH ÌÉSÔ       DÅÆ DAÔ0±       DÅÆ DAÔ0²       DÅÆ DAÔ03       DÅÆ DAÔ0´       DÅÆ DAÔ05       DÅÆ DAÔ06       DÅÆ DAÔ0·       DÅÆ DAÔ0¸       DÅÆ DAÔ09       DÅÆ DAÔ±0       DÅÆ DAÔ±±       DÅÆ DAÔ±²       DÅÆ DAÔ±3       DÅÆ DAÔ±´       DÅÆ DAÔ±5       DÅÆ DAÔ±6       DÅÆ DAÔ±·       DÅÆ DAÔ±¸       DÅÆ DAÔ±9       DÅÆ DAÔ²0       DÅÆ DAÔ²±       DÅÆ DAÔ²²       DÅÆ DAÔ²3       DÅÆ DAÔ²´       DÅÆ DAÔ²5       DÅÆ DAÔ²6       DÅÆ DAÔ²·       DÅÆ DAÔ²¸       DÅÆ DAÔ²9       DÅà-±        ÅND ÏÆ ÌÉSÔ .ÃMD  DÅÆ ª+±       PÏÉNÔÅÒ ÔÏ ÃÏMMAND ÌÉSÔ       DÅÆ ÃMD0±       DÅÆ ÃMD0²       DÅÆ ÃMD03       DÅÆ ÃMD0´       DÅÆ ÃMD05       DÅÆ ÃMD06       DÅÆ ÃMD0·       DÅÆ ÃMD0¸       DÅÆ ÃMD09       DÅÆ ÃMD±0       DÅÆ ÃMD±±     'þú  DÅÆ ÃMD±²       DÅÆ ÃMD±3       DÅÆ ÃMD±´       DÅÆ ÃMD±5       DÅÆ ÃMD±6       DÅÆ ÃMD±·       DÅÆ ÃMD±¸       DÅÆ ÃMD±9       DÅÆ ÃMD²0       DÅÆ ÃMD²±       DÅÆ ÃMD²²       DÅÆ ÃMD²3       DÅÆ ÃMD²´       DÅÆ ÃMD²5       DÅÆ ÃMD²6       DÅÆ ÃMD²·       DÅÆ ÃMD²¸       DÅÆ ÃMD²9       DÅÆ ÃMD30       DÅÆ ÃMD3±       DÅÆ ÃMD3²       DÅÆ ÃMD33       DÅÆ ÃMD3´       DÅà-± ª  .MÉà DÅÆ ª+±       PÏÉNÔÅÒ ÔÏ MÉÃÒÏ ÃAÒD S.Ã.       DÅÆ MÉÃ00       DÅÆ MÉÃ0±       DÅÆ MÉÃ0²       DÅÆ MÉÃ03       DÅÆ MÉÃ0´       DÅÆ MÉÃ06       DÅÆ MÉÃ0·       DÅÆ MÉÃ0¸       DÅÆ MÉÃ09       DÅÆ MÉñ0       DÅÆ MÉñ±       DÅÆ MÉñ²       DÅÆ MÉñ3       DÅÆ MÉñ´       DÅÆ MÉñ5       DÅÆ MÉñ6       DÅÆ MÉñ·       DÅà-±        ÅND ÏÆ ÌÉSÔ ª  ª    PÒÉNÔ ÃYÃÌÅ ÃÏUNÔ  SPà± PÃYÃÔ NÏP       ÌDA ÃYÃNÔ     GÅÔ ÔHÅ ÃYÃÌÅ NUMBÅÒ       SÔA PÃYñ     SAVÅ ÉÔ ÆÏÒ MÅSSAGÅ       ÌDB S×±0       ÊSB S×Òìɠ   ÉS S×ÉÔÃH ±0 SÅÔ?       ÊMP PÃYÃԬɠ  YÅS-ÅØÉÔ       ÊSB MS¬É      ÏUÔPUÔ ÃYÃÌÅ £       DÅÆ PÃYò     ÒÅÔUÒN       DÅÆ MSG00     PÏÉNÔÅÒ ÔÏ MÅSSAGÅ PÃYñ NÏP           ÃYÃÌÅ NUMBÅÒ MSG00 ASà6¬£ ÃYÃÌÅ(S©¯ PÃYò ÅÑU ª       ÊSB ÆMÔ²¬É    DÏ ÃÒÌÆ       DÅÆ ÆMÔÃÒ       ÊMP PÃYÃÔ¬É ª  ÔSÔNÏ NÏP       ÌDA ÃYÃNÔ     GÅÔ ÔHÅ ÃYÃÌÅ NUMBÅÒ       SÔA ÔSÔN±     SAVÅ ÃYÃÌÅ £ ÆÏÒ MSG       ÌDA ÔNUMB     GÅÔ ÔHÅ ÔÅSÔ NUMBÅÒ       SÔA ÔSÔN²     SAVÅ ÔÅSÔ £ ÆÏÒ MSG       ÊSB MS¬É      ÏUÔPUÔ MÅSSAGÅ       DÅÆ ÔSÔN3     ÒÅÔUÒN       DÅÆ MSG±9     PÏÉNÔÅÒ ÔÏ MÅSSAGÅ ÔSÔN± NÏP           ÃYÃÌÅ £ ÔSÔN² NÏP           ÔÅSÔ £ MSG±9 ASà5¬£ ÔÅSÔ £¯ ÔSÔN3 ÅÑU ª       ÊMP ÔSÔNÏ¬É ª  ª    PÒÉNÔ ÔHÅ GÏÏD AND BAD ÃHAÒAÃÔÅÒS    ª  SPà± PÃHAÒ NÏP       ÌDA ÃÏUNÔ     GÅÔ ×ÏÒD ÃÏUNÔ       ADA B´00      ADD ´00 ÏÃÔAÌ       ÉNA           GÅÔ ×ÏÒD ÉN ÅÒÒÏÒ       SÔA ÃNÔ×      SAVÅ ÉÔ       SÔA PÃHA±     PUÔ ×ÏÒD ÃÏUNÔ ÉN MÅSSAGÅ       ÊSB MS¬É      GÏ ÏUÔPUÔ MÅSSAGÅ       DÅÆ PÃHA²     ÒÅÔUÒN       DÅÆ MSG±²     PÏÉNÔÅÒ ÔÏAÑþú MÅSSAGÅ PÃHA± NÏP           ×ÏÒD ÉN ÅÒÒÏÒ-ÃÏUNÔ PÃHA² ÅÑU ª       ÌDA PAÃKB¬É   ÌÏAD ÔHÅ ×ÏÒD ÉN ÅÒÒÏÒ       SÔA BAD×      SAVÅ BAD ×ÏÒD       ÊSB ÆMÔ3¬É    ÏUÔPUÔ MÅSSAGÅ       DÅÆ MSG±3     PÏÉNÔÅÒ ÔÏ MÅSSAGÅ       ÌDA ÏBUÆÆ¬É   ÌÏAD ÔHÅ GÏÏD ×ÏÒD       SÔA GÏÏD×     SAVÅ GÏÏD ×ÏÒD       ÊSB ÆMÔ3¬É    ÏUÔPUÔ MÅSSAGÅ       DÅÆ MSG±´     PÏÉNÔÅÒ ÔÏ MÅSSAGÅ       ÊMP PÃHAÒ¬É ª  MSG±² ASà0¸¬×ÏÒD ÉN ÅÒÒÏÒ £¯ ª  MSG±3 ASà9¬×ÏÒD ÉN ÅÒÒÏÒ ÉS _ ª  MSG±´ ASà9¬AND ÉÔ SHÏUÌD BÅ _ ª  ª  ª  ª     SUBÒÏUÔÉNÅ ÆMÔ0²-SÅÔUP ÆÏÒ ÃAÌÌ ÔÏ ÆMÔÒ ª  ªÃAÌÌ: ª     ÊSB ÆMÔ²¬É   ÉNDÉÒÅÃÔ ÃAÌÌ ª     DÅÆ  * JSB I.36 * * EXIT: * A=0: OPERATION INITIATED. XFER CONTROL TO C.36 ON DMA OR * TIMER INTERRUPT * 1: (NOT USED) * 2: ILLEGAL RQ OR CONTROL-RQ SUBFUNC CODE * 3: "INOPERABLE DEVICE" -- NO CORRESPONDING ST ENTRY. * HIGHLY UNLIKELY ERROR; OCCURS ONLY WHEN THERE ARE * MORE THAN 32 SUBCHANNELS * 4: IMMEDIATE COMPLETION * B=TRANSMISSION LOG (ONLY IF A=4) * * * OCT 113 VERSION NUMBER: YEAR OCT 1425 BITS 9-6=MONTH...BITS 5-0=DAY I.36 NOP ?I1 JMP FIRST ZAPPED AFTER FIRST TIME STA SC SAVE SELECT CODE CLA CLEAR DYNAMIC STATUS STA &XSTA,I * GET STATE TABLE ADDRESS LDA &UNIT,I GET SCHNL LSR 6 AND =B37 STA SCHNL ADA STX PTR TO ST ENTRY OFFSET LDB &STAD,I SZB,RSS JMP NOST NO ST ENTRY (VERY RARE) ADB A,I PTR TO ST ENTRY STB @ST * GO TO APPROPRIATE I/O SECTION LDA &CNTL,I GET RQ CODE AND =B77 CPA =D1 JMP IREAD CPA =D2 JMP IW‹+þúRIT CPA =D3 JMP ICNTL * *************************** * EXIT INITIATION SECTION * *************************** * BADRQ EQU * ILL RQ CODE LDA =D1 JMP I.36,I ABORT * NOST EQU * NO ST ENTRY LDA =D3 JMP I.36,I ABORT * BADAD EQU * BAD WCS ADDR LDA =B3 STA &XSTA,I JMP IEXIT * VIOL EQU * WCS ADDR CONFLICT (ASSIGN/ENABLE) LDA =B7 STA &XSTA,I JMP IEXIT * NOBUF EQU * BUFFER TOO SMALL (READ STATE) LDA =B13 STA &XSTA,I JMP IEXIT * BADST EQU * I/O OR ENABLE RQ ON UNKNOWN SCHNL LDA =B15 STA &XSTA,I JMP IEXIT * NRESP EQU * NON-RESPONDING DMA LDA =B17 STA &XSTA,I * IEXIT EQU * NO XMISSN: CONTROL (& STATE) EXIT CLA RETURN 0 XMISSION STA &WCNT,I DDONE EQU * DMA XMISSN COMPLETE CLA FAKE XMISSN RESIDUE STA COUNT IDONE EQU * COMPLETION EXIT JSB TIO B=XMISSN LOG LDA =D4 JMP I.36,I DONE * IPAUS EQU * TIME-OUT EXIT JSB SAVE CLA JMP I.36,I WAIT FOR INTERRUPT * * *************** * LOGICAL I/O * *************** * * ****************************** * * I R E A D * * EXEC CALL: * JSB EXEC * DEF *+6 * DEF RCODE * DEF CONWD * DEF BUFR * DEF LEN * DEF WCSAD * : * RCODE DEC 1 * CONWD DEC * BUFR BSS <2W, W=# MICROWORDS> * LEN DEC <2W OR -4W> * WCSAD OCT * IREAD EQU * READ OR STATUS RQ LDA &CNTL,I GET SUBFUNC FIELD AND ENSURE CLB EXTRANEOUS BITS ARE NOT SET LSR 6 CPA =D1 JMP STATE READ STATE RQ SZA JMP BADRQ ILL RQ CODE JSB UNKN? DOWN STATE OR DOWN 12978'S? JMP BADST YES: DON'T ALLOW I/O JSB SIO LDA &UNIT,I DMA AþúSSIGNED? SSA,RSS JMP IR.1 NO JSB GTSC GO TO APPROPRIATE DMA DVR DEF DR1K DEF DR1K DEF IR256 ALWAYS NON-DMA IR.1 EQU * JSB GTSC GO TO APPROPRIATE NON-DMA DVR DEF IR1K DEF IR1K DEF IR256 * DR1K EQU * DMA 1K READ JSB SET1K SET UP 1K BOARD CLA,CCE A=CWD1 INDICATES NO STC/CLC JSB DMA E=1 FOR READ JSB XFR1K DO DMA TRANSFER JMP DDONE * IR1K EQU * NON-DMA 1K READ JSB SIO1K INITIALIZE TRANSFER JSB NR1K JMP IDONE DONE JMP IPAUS TIME-OUT * IR256 EQU * NON-DMA 1/4K READ JSB NODMA RETURN DMA CHANNEL JSB NR256 JMP IDONE DONE JMP IPAUS TIME-OUT * * ****************************** * * I W R I T * * EXEC CALL: * JSB EXEC * DEF *+6 * DEF RCODE * DEF CONWD * DEF BUFR * DEF LEN * DEF WCSAD * : * RCODE DEC 2 * CONWD OCT * BUFR BSS <2W, W=# MICROWORDS> * LEN DEC <2W OR -4W> * WCSAD OCT * IWRIT EQU * JSB UNKN? DOWN STATE OR DOWN 12978'S? JMP BADST YES: DON'T ALLOW I/O LDA &CNTL,I ENSURE EXTRANEOUS BITS ARE NOT SET AND =B177600 SZA JMP BADRQ JSB SIO LDA &UNIT,I DMA ASSIGNED? SSA,RSS JMP IW.1 NO JSB GTSC GO TO APPROPRIATE DMA DVR DEF DW1K DEF DW1K DEF IW256 ALWAYS NON-DMA IW.1 EQU * JSB GTSC GO TO APPROPRIATE NON-DMA DVR DEF IW1K DEF IW1K DEF IW256 * DW1K EQU * DMA 1K WRITE JSB SET1K SET UP 1K BOARD CLA,CLE A=CWD1 INDICATES NO STC/CLC JSB DMA E=0 FOR WRITE JSB XFR1K DO DMA TRANSFER JSB VERF? CHECK FOR VERIFY OPTION JMP DDONE NO VERIFY RQ JSB NODMA RETURN DMA TO SYSTEM ¡þúJSB SIO1K RE-INITIATE I/O JMP IPAUS * IW1K EQU * NON-DMA 1K WRITE JSB SIO1K INITIALIZE TRANSFER JSB NW1K JMP *+2 DONE--CHECK FOR VERIFY RQ JMP IPAUS TIME-OUT JSB VERF? JMP IDONE NO VERIFY RQ JSB RESET JSB SIO1K RE-INITIATE I/O JMP IPAUS TIME-OUT * IW256 EQU * NON-DMA 1/4K WRITE JSB NODMA RETURN DMA CHANNEL JSB NW256 JMP *+2 DONE--CHECK FOR VERIFY RQ JMP IPAUS TIME-OUT JSB VERF? JMP IDONE NO VERIFY RQ JSB RESET JMP IPAUS TIME-OUT * * ****************************** * * I C N T L * ICNTL EQU * LDA &CNTL,I GET SUBFUNC FIELD AND ENSURE CLB EXTRANEOUS BITS ARE NOT SET LSR 6 CPA =D1 JMP ASSGN CPA =D2 JMP ENAB CPA =D3 JMP DISAB CPA =D4 JMP DNRQ JMP BADRQ ILL CNTL RQ * * ****************************** * * A S S G N * * EXEC CALL: * JSB EXEC * DEF *+4 * DEF RCODE * DEF CONWD * DEF WCSAD * : * RCODE DEC 3 * CONWD OCT * WCSAD OCT * * FOR HP12978A, ACCEPT ASSIGN REQUEST ONLY IF 1/4K BOARD IS IN DOWN STATE * OR ADDRESS IS SAME AS CURRENT BASE ADDRESS. SET HP12978A ENABLED. FOR * HP13197A IS IN DOWN STATE, SET DISABLED. * * NOTE THAT WCSAD WILL BE PASSED THROUGH &BUFR IN THE EQT. * * WE USE 'FLAG' HERE TO INDICATE WHETHER ADDRESS CONTENTION CHECK * SHOULD BE MADE ON DOWNED BOARD. FOR HP13197A, WE DON'T HAVE TO * SINCE BOARD WILL COME UP DISABLED. BUT FOR HP12978A, WE MUST * SINCE BOARD IS ALWAYS ENABLED. * ASSGN EQU * JSB GTSC CASE ON SCHNL DEF A.1K DEF A.1K DEF A.256 1/4K BOARD * A.1K EQU * PHYSICALLY ASSIGN ADDR TO 1K BOARD CLA SET 'FLAG' FOR "DISABLED" STA FLAG LDA =B177000 JSB A.BAí+þúS ADJUST BASE ADDR AND CHECK JSB A.SET SET BASE ADDR IN ST ENTRY JSB DOWN? JSB DABLE YES: LOGICALLY DISABLE ALL SCHNLS JSB BASES A=SCHN1 BASE ADDR, B=SCHN0 BASE ADDR ALF,ALF RAR,RAR (WE SHIFT AGAIN BELOW) IOR B RAR JSB A1K SEND BLOCK NUMBERS JMP IEXIT * A.256 EQU * CLA,INA SET 'FLAG' FOR "PSEUDO-DISABLED" STA FLAG LDA =B177400 JSB A.BAS ADJUST BASE ADDR AND CHECK JSB DOWN? JMP A.OK LDA @ST,I NO: CHECK FOR SAME BASE ADDR AND =B177 ALF,ALF CPA BASE JMP IEXIT THE SAME: BOARD IS ALREADY ENABLED JMP BADAD NOT THE SAME: REJECT ASSIGN RQ A.OK EQU * LOGICALLY ALTER STATE OF 1/4K BOARD JSB A.SET ON RETN, A=ST ENTRY AND =B117777 (ASSUME PRIOR DOWN STATE) STA @ST,I LDA #UNKN REDUCE UNKN COUNTER SSA,INA STA #UNKN JMP IEXIT * A.BAS NOP INTERNAL SUBR. A=BASE ADDR MASK. AND &BUFR,I ISOLATE BLOCK/MODULE NUMBER SSA JMP BADAD ERROR: WCS ADDR<0 STA BASE LDB @ST,I SCHNL ENABLED? BLF,RBR SSB,SLB DOWN (NEITHER BIT 0)? LDB FLAG YES: USE FLAG CMB,SSB,SLB ENABLED OR PSEUDO-DISABLED? JMP A.BAS,I NO--OK TO PROCEED LDB @ST CHECK FOR CONFLICTS WITH OUR SCHNL JSB DUPE? (SISTER SCHNLS WERE CHECKED PREVIOUSLY) JMP VIOL ERROR: CONFLICTING ADDR SPACES JMP A.BAS,I * A.SET NOP SET BASE ADDR IN ST ENTRY LDA @ST,I AND =B177600 LDB BASE BLF,BLF IOR B STA @ST,I JMP A.SET,I A=ST ENTRY * * ****************************** * * D I S A B * * EXEC CALL: * JSB EXEC * DEF *+3 * DEF RCODE * DEF CONWD * : * RCODE DEC 3 * CONWD OCT * * ALGORITHM: * 1.0 IF DOWN, IGNORE REQUEST WITHOUT Eù×þúRROR (ESSENTIALLY DISABLED * ALREADY) * 1.1 IF 12978A (AND NOT DOWN), REQUEST HAS NO AFFECT SINCE CANNOT * DYNAMICALLY ALTER CONTROL STATE. RETURN PSEUDO-DISABLE ERROR * BUT DO NOT ALTER STATE TABLE. * 1.2 IF 13197A (AND NOT DOWN), DYNAMICALLY DISABLE BOARD OR SET * PSEUDO-DISABLE SUBCHANNEL IF BROTHER SUBCHANNEL IS ENABLED. * (IF THERE ARE UNKNOWN 12978A'S, WE DON'T HAVE TO DO THIS * SINCE WE KNOW THAT NO ENABLE REQUEST HAS BEEN HONORED. * NONETHELESS, WE IGNORE THIS DEGENERATE CASE.) * DISAB EQU * JSB DOWN? INACTIVE SCHNL? JMP IEXIT YES: IGNORE RQ WITHOUT NOTICE JSB GTSC CASE ON SCHNL DEF D.1K DEF D.1K DEF D.2 1/4K BOARD: RETURN PSEUDO-DISABLE ERROR * D.1K EQU * JSB EN? BROTHER SCHNLS ENABLED? JMP D.PSD YES: PSEUDO-DISABLE THIS ONE JSB DABLE NO: LOGICALLY DISABLE ALL SCHNLS JSB DS1K PHYSICALLY DISABLE 1K BOARD JMP IEXIT * D.PSD EQU * PSEUDO-DISABLE BOARD LDA @ST,I AND =B147777 CLEAR ENABLE BIT IOR =B060000 SET PSEUDO-DISABLE BIT STA @ST,I D.2 EQU * SET PSEUDO-DISABLE ERROR LDA =B11 STA &XSTA,I JMP IEXIT * * ******************************** * * E N A B * * EXEC CALL: * JSB EXEC * DEF *+3 * DEF RCODE * DEF CONWD * : * RCODE DEC 3 * CONWD OCT * * WE FILTER "UNKNOWN" SUBCHANNELS FIRST: NO SUBCHANNEL MAY BE ENABLED * UNTIL THE STATE OF ALL 12978A BOARDS IS KNOWN (BY ASSIGNING A BASE * ADDRESS OR DISABLING) AND UNTIL THE STATE OF THE CURRENT SUBCHANNEL * IS KNOWN (BY ASSIGNING A BASE ADDRESS). THESE RESTRICTIONS ARE * NEEDED: (1) TO ENSURE THE INTEGRITY OF THE ADDRESS CONTENTION CHECKS * (SINCE THE 12978A BOARD IS ALWAYS ENABLED, WE CANNOT PREVENT ADDRESS * CONFLICTS UNTIL WE ARE MADE AWARE OF THEIR ADDRESS SPACE), AND (2) TO * ENSURE THAT DYNAMICALLY CONFGÂþúIGUARABLE BOARDS (EG., 13197A) HAVE BEEN * ASSIGNED BLOCK NUMBERS PRIOR TO ENABLING. * * IF 12978A (1/4K) BOARD, WE ACCEPT REQUEST BUT IT HAS NO AFFECT. THIS * IS BECAUSE BOARD MUST ALREADY BE ENABLED (SINCE WE ENABLED BOARD WHEN * ADDRESS WAS ASSIGNED). * ENAB EQU * JSB UNKN? DOWN STATE OR DOWN 12978'S JMP BADST YES: DON'T ALLOW ENABLE JSB #SCHN GET # SCHNLS (NEGATIVE) STA CNT1 STA CNT2 FOR E.PSD SUBR LDB &STAD,I STB @PTR E.LP1 EQU * CHK FOR CONFLICTS WITH EACH SISTER SCHNL LDA @PTR,I IF SCHNL IS NOT DISABLED, NO NEED ALF,RAR TO CHECK FOR CONFLICTS: DONE BEFORE CMA,SSA,SLA,RSS BOTH BITS RESET (=DISABLED)? JMP E.NX1 NO: IGNORE NON-DISABLED SCHNL LDA @PTR,I ST ENTRY AND =B177 CONVERT MODULE NUMBER... ALF,ALF ...TO BASE ADDR LDB @PTR PTR TO ST ENTRY JSB DUPE? JMP VIOL CONFLICT E.NX1 EQU * ISZ @PTR ISZ CNT1 JMP E.LP1 JSB GTSC CASE ON SCHNL DEF E.1K DEF E.1K DEF IEXIT 1/4K BOARD: ALREADY ENABLED * E.1K EQU * 1K BOARD JSB BASES A=SCHNL1 MOD#, B=SCHNL0 MOD# ALF,ALF CONVERT MODULE NUMBERS... BLF,BLF ...TO BASE ADDRS JSB DJNT? CONFLICT BETWEEN SCHNLS? DEC 1 DEC 0 JMP VIOL YES: NOT DISJOINT JSB E.PSD NO: PSEUDO-DISABLE SISTER SCHNLS JSB EN1K PHYSICALLY ENABLE BOARD LDA @ST,I LOGICALLY ENABLE SCHNL AND =B147777 IOR =B010000 STA @ST,I JMP IEXIT * * INTERNAL SUBROUTINE: SET DISABLED SISTER SCHNLS TO PSEUDO-DISABLE. * THIS ROUTINE IS CALLED ONLY FOR DEVICES WITH INTERDEPENDENT SCHNLS * WHICH CANNOT BE INDIVIDUALLY DISABLED/ENABLED. * E.PSD NOP LDB &STAD,I E.LP2 EQU * PSEUDO-DISABLE OTHER SCHNLS LDA B,I ENABLED? ALF,SLA JMP E.NX2 LDA B,I NO: SET PSEUDO-DISABLE BIEÇþúT IOR =B020000 STA B,I E.NX2 EQU * INB ISZ CNT2 JMP E.LP2 JMP E.PSD,I * * ****************************** * * D N R Q * * EXEC CALL: * JSB EXEC * DEF *+3 * DEF RCODE * DEF CONWD * : * RCODE DEC 3 * CONWD OCT * * CALLED BEFORE :DN'ING BOARD (IE., REMOVING FROM MAINFRAME). WE SET DOWN * STATE FOR TWO REASONS: (1) EXCLUDE SUBCHANNELS FROM ADDRESS CONTENTION * CHECKS, AND (2) PREVENT SUBSEQUENT ACCESS TO BOARD WITHOUT PRIOR ASSIGNMENT * OF BASE ADDRESS. FOR 13197A (1K) BOARD, WE ALSO PHYSICALLY DISABLE BOARD. * WE DO NOT REQUIRE THAT BOARD IS IN INACTIVE STATE AT THE TIME ON THE * ASSUMPTION THAT IF USER IS ABOUT TO REMOVE BOARD, HE MUST HAVE FULL * CONTROL OVER IT. FOR 12978A (1/4K) BOARD, WE MUST INCREMENT "UNKN" * COUNTER. * DNRQ NOP JSB SETST SET ALL SCHNLS TO DOWN STATE OCT 030000 JSB GTSC CASE ON SCHNL DEF DN.1K DEF DN.1K DEF DN256 1/4K BOARD * DN.1K EQU * PHYSICALLY DISABLE 1K BOARD JSB DS1K JMP IEXIT * DN256 EQU * DECREMENT "UNKN" COUNTER LDA #UNKN SSA,INA INCREMENT IF NEGATIVE STA #UNKN JMP IEXIT * * ****************************** * * S T A T E * * EXEC CALL: * JSB EXEC * DEF *+5 * DEF RCODE * DEF CONWD * DEF STATE * DEF LEN * : * RCODE DEC 1 * CONWD OCT * STATE BSS 2 * LEN DEC <2 OR -4 (OR GREATER)> * * NOTE THAT THIS IS A READ REQUEST. THIS IS SO THAT WE CAN * RETURN INFORMATION TO THE CALLER. THE LENGTH OF STATE AND * THE SIZE OF LEN MAY EXCEED TWO WORDS. * STATE EQU * LDA &LEN,I CHECK BUFLEN SSA,RSS BYTE COUNT? JMP S.CHK CMA,INA YES INA ROUND UP TO WORD ARS S.CHK EQU * ADA =D-2 BUFLEN>=2? SSA JMP NOBUF NO öi640 LDA @ST,I FORMAT SCHNL & STATUS LSR 7 AND =B177 LDB &BUFR,I STA B,I INB LDA @ST,I FORMAT BASE ADDR AND =B177 ALF,ALF STA B,I JMP IEXIT * * *************** * SUBROUTINES * *************** * * ****************************** * * B A S E S * * EXIT: * A= BASE ADDR FOR SCHNL 1 * B= BASE ADDR FOR SCHNL 0 * * PICKS UP BASE MODULE #'S FOR 2-SCHNL DEVICE (EG., 1K BOARD) AND PUTS INTO * A & B REGISTERS. * BASES NOP LDB &STAD,I PTR TO ST ENTRIES LDA B,I FIRST ST ENTRY AND =B177 BASE ADDR FOR SCHNL 0 SWP INA LDA A,I SECOND ST ENTRY AND =B177 BASE ADDR FOR SCHNL 1 JMP BASES,I * * ****************************** * * D A B L E * * LOGICALLY DISABLE ALL SISTER SUBCHANNELS. APPLIES TO ALL INTERCONNECTED * SUBCHANNELS (EG., 13197A). * DABLE NOP JSB SETST DISABLE ALL SCHNLS OCT 0 JMP DABLE,I * * ****************************** * * D J N T ? * d6ÿÿþú* ENTRY: * LDA * LDB * JSB DJNT? * DEC * DEC * * * VERIFIES THAT THE TWO SCHNLS FORM DISJOINT ADDR SPACES. * THAT IS: * NOT (BASE1<=BASE2 * DOWN? NOP LDA @ST,I GET ST ENTRY ALF,RAR SSA,SLA,RSS BOTH BITS SET? ISZ DOWN? NO: NOT IN DOWN STATE JMP DOWN?,I * * ****************************** * * D U P E ? * * ENTRY: * LDA * LDB * JSB DUPE? * * * VERIFIES THAT SCHNL ADDR SPACE IS DISJOINT FROM ANY OTHER * NON-DISABLED (NOT UNKNOWN) SCHNLS * DUPE? NOP STA D.BAS STB D.ST LDA D.ST,I GET SCHNL LSR 7 AND =B37 STA DU.1+2 LDA ST PTR TO START OF ST STA D.PTR D.LP EQU * LDA D.PTR,I NEXT ST ENTRY ALF,RAR SSA,SLA,RSS UNKNOWN STATE (BOTH BITS SET)... CMA,SSA,SLA ...OR DISABLED (NEITHER SET)? JMP DU.NX YES: IGNORE LDA D.PTR,I GET SCHNL # LSR 7 AND =B37 STA DU.1+1 LDA D.PTR,I GET BASE ADDR ALF,ALF AND =B77400 LDB D.BAS DU.1 JSB DJNT? DEC 0 SCHNL 1 DEC 21þú0 SCHNL 2 JMP *+2 SKIP IF CONFLICT JMP DU.NX DISJOINT: NO CONFLICT LDA D.PTR CURRENT SCHNL? CPA D.ST JMP DU.NX YES: IGNORE "CONFLICT" JMP DUPE?,I ERROR DU.NX EQU * LDA D.PTR,I LAST ST ENTRY? ISZ D.PTR SSA,RSS JMP D.LP ISZ DUPE? JMP DUPE?,I OKAY D.BAS BSS 1 D.PTR DEF 0 D.ST DEF 0 * * ****************************** * * E N ? * * ENTRY: * JSB EN? * * * CHECKS FOR ENABLED BROTHER SUBCHANNELS (FOR INTERRELATED SUBSCHANNELS). * EN? NOP JSB #SCHN GET # SCHNLS FOR BOARD STA N.CNT LDB &STAD,I N.LP EQU * ANY SISTER SCHNLS ENABLED? CPB @ST JMP N.NXT (IGNORE OURSELF) LDA B,I ALF,SLA JMP EN?,I ENABLED BROTHER SUBCHANNEL N.NXT EQU * INB ISZ N.CNT JMP N.LP ISZ EN? NO ENABLED BROTHER SUBCHANNELS JMP EN?,I N.CNT BSS 1 * * ****************************** * * I N C L ? * * ENTRY: * LDA * LDB * JSB INCL? * DEC * * * EXIT (IF NO ERROR): * A=REMAINING SPACE ON BOARD * B=STARTING RAM ADDR * * VERIFIES THAT BASE<=ADDR 0<=LEN-(ADDR-BASE)-1 * INCL? NOP CMB,INB BASE<=ADDR? ADA B ADDR-BASE STA I.RA SAVE RAM OFFSET CMA,SSA,RSS A=-(ADDR-BASE)-1 JMP I.ERR ADDR * * SETS ALL INTERRELATED SUBCHANNELS TO STATE SPECIFIED IN STATE MASK. MASK * MUST CONTAIN STATE IN BITS 13-12 (ZEROES ELSEWHERE). * SETST NOP JSB #SCHN COMPUTE # BROTHER SCHNLS STA S.CNT LDB &STAD,I PTR TO ST ENTRIES S.LP EQU * TRAVERSE ST SUB-TABLE LDA B,I ST ENTRY AND =B147777 CLEAR STATE BITS IOR SETST,I INCLUDE NEW STATE STA B,I INB ISZ S.CNT JMP S.LP ISZ SETST DONE: SKIP PARAMETER JMP SETST,I S.CNT BSS 1 * * ****************************** * * S I O * * ALGORITHMS: * * 1.0 ADDR+BUFLEN<=BASE+LEN * 1.1 0<=LEN-(ADDR-BASE)-BUFLEN (=DELTA) * * 2.0 IF DELTA<0 THEN BUFLEN=BUFLEN-DELTA, WHERE BUFLEN<0 * SIO NOP * * COMPUTE LENGTH OF WCS TRANSFER. BYTE- AND ODD-LENGTH WORD COUNTS ARE * ROUNDED UP TO MICROWORD (EVEN-LENGTH) COUNT. WE SET SIGN * IN &CNTL IN EQT TO REMEMBER WHETHER BYTE OR WORD COUNT WAS * GIVEN. NOTE THAT SIGN MUST BE RESET (OR SET) EXPLICITLY * SINCE BITS MAY BE SET ACCORDING TO REQUEST TYPE (STANDARD, * BUFFERED, SYSTEM, CLASS). * LDA &LEN,I CLE,SSA,INA,RSS SKIP IF BYTE COUNT JMP S.0 E=0 FOR WORD COUNT CMA,CCE,INA E=1 FOR BYTE COUNT ADA =D4 ROUND UP: ADD 3 PLUS 1 AT SKIP ARS S.0 EQU * A=WORD COUNT+1, E=BYTE-COUNT FLAG ARS ROUND UP TO WORD PAIR BOUNDARY CMA,INA NEGATIVE WCS COUNT STA &WCNT,I A=-WCS COUNT LDB &CNTL,I SET SIGN FOR BYTE CNT ELB,RBR STB &CNTL,I * * BOUNDS CHECK ON WCSAD * LDA SCHNL STA S.2+1 LDA @ST,I GET BASE ADDR AND =B177 ALF,ALF STA B B=BASE ADDR LDA &WCS,I USER'S WCS ADDR SSA JMP BADAD S.2 JSB INCL? DEC 0 hoþú SCHNL # JMP BADAD ADDR NOT IN SCHNL * A=REMAINING # MICROWORDS * B=RAM ADDR (PRESERVE B-REG) ADA &WCNT,I BUFLEN<=AVAIL LEN? CMA,SSA,INA A=+RESIDUE JMP S.3 IN-BOUNDS ADA &WCNT,I NO: TRUNCATE BUFLEN (-VE) STA &WCNT,I LDA =B5 SET STATUS: DATA OVERRUN STA &XSTA,I * SET UP LOCALS. NOTE THAT WE DO NOT PUT RAMAD & COUNT INTO &WCS AND * &LEN HERE. THIS IS DONE IN SAVE (AND TIO USES THE LOCALS). S.3 EQU * LDA OFF ADJUST RAM OFFSET (B=RAM ADDR) ADA SCHNL ADB A,I STB RAMAD LDA &BUFR,I STA BUFR LDA &WCNT,I STA COUNT SZA,RSS ZERO LENGTH: TRANSFER COMPLETE! JMP IDONE JMP SIO,I * * ******************** * * U N K N ? * * ENTRY: * * JSB UNKN? * * * RETURNS TO IF CURRENT BOARD IS IN UNKNOWN STATE OR * IF THERE STILL EXISTS AT LEAST ONE 1/4K BOARD IN AN UNKNOWN STATE. * UNKN? NOP JSB DOWN? JMP UNKN?,I YES: TAKE ERROR EXIT LDA #UNKN UNKNOWN 1/4K BOARDS? SZA,RSS ISZ UNKN? NO: TAKE GOOD EXIT JMP UNKN?,I * * ********************** * * X F R 1 K * * HANDLES DMA TRANSFER TO HP13197A. SINCE DMA CONTROLLER ALWAYS * DOES A CLF TO THE DEVICE AFTER EACH TRANSFER, DMA WILL DISABLE * BOARD. CONSEQUENTLY, WE MUST RE-ENABLE BOARD AFTER TRANSFER IF * APPROPRIATE. FOR THE SAME REASON, WE MUST REMAIN IN DRIVER DURING * DMA TRANSFER TO PREVENT CONCURRENT ACCESS (EXECUTION) TO THE BOARD. * XFR1K NOP JSB STC1K INITIATE TRANSFER JSB WAIT SFS ON DMA LDA @ST,I WAS BOARD ENABLED OR PSEUDO-DISABLED? ALF,RAR CMA,SSA,SLA,RSS JSB EN1K YES: RE-ENABLE IT JMP XFR1K,I * * ****************************** * * F I R S T * * ENTRY: * LDA * JMP FIRST * * EXIT: * A= WCS SELECT CODE * FIRST EQU * STA ORGSC SAVE WC1pþúS SC LDA &DRTS CMA,INA STA CNT1 LDA &DRT STA @PTR F.LP EQU * WALK DOWN DRT LDA @PTR,I GET EQT # AND =B77 SZA,RSS UNDEFINED EQT? JMP F.NXT YES ADA =D-1 COMPUTE EQT ADDR MPY =D15 ADA &EQT PTR TO EQT ENTRY STA B ADB =D3 GET SELECT CODE (BITS 5-0) LDA B,I EQT &UNIT ENTRY AND =B77 (FOR ASSIGNING ADDR TO 1K BOARD) STA SC INB GET DVR # (BITS 13-8) LDA B,I EQT &STAT ENTRY ALF,ALF AND =B77 CPA =B36 WCS DVR? JMP *+2 JMP F.NXT NO ADB =D8 GET ST ADDR STB @EQST SAVE PTR TO EQT &STAD ENTRY LDA B,I SZA ST ENTRY DEFINED? JMP F.NXT YES LDB @ST NO: ADD TO ST INB CPB LIMST JMP F.FIN TABLE OVERFLOW * ADD SUBCHNL(S) TO ST TABLE -- PRESERVE B-REG LDA @PTR,I GET SCHNL # (BITS 15-11) ALF,RAL AND =B37 JSB GOTO CASE ON SCHNL DEF F.SC0 DEF F.SC0 DEF F.SC2 * F.SC0 EQU * FOR 1K BOARD LDA =B12 DISABLE,SCHNL=0,ADDR=5000B STA B,I INB CPB LIMST JMP F.NXT TABLE OVERFLOW LDA =B214 DISABLE,SCHNL=1,ADDR=6000B STA B,I STORE ENTRY STB BREG SAVE B-REGISTER LDA =B605 PHYSICALLY ASSIGN BASE ADDR JSB A1K LDB BREG RESTORE B-REGISTER JMP F.1 * F.SC2 EQU * FOR 1/4K BOARD ISZ #UNKN LDA =B30400 DOWN,SCHNL=2,ADDR=0B STA B,I STORE ENTRY * F.1 EQU * B=PTR TO LAST WORD OF ST ENTRY LDA @ST PUT ST ADDR INTO EQT INA STA @EQST,I STB @ST UPDATE ST PTR (PTS TO LAST ENTRY) F.NXT EQU * ISZ @PTR ISZ CNT1 JMP F.LP CONTINUE DRT WALK F.FIN EQU * TABLE COMPLETE LDA @ST,I MARK LAST ENTRY IOR =B100000 ST§+þúA @ST,I LDA #UNKN NEGATE FOR USE AS COUNT-DOWN CMA,INA STA #UNKN CLA ZAP JUMP TO HERE STA ?I1 LDA ORGSC RESTORE WCS SELECT CODE JMP ?I1+1 RETURN @EQST DEF 0 ORGSC BSS 1 INITIAL WCS SELECT CODE BREG BSS 1 FOR B-REG (TEMPRORARY) HED RTE DVR36 WCS DRIVER -- CONTINUATION SECTION ********************************************* * * * C O N T I N U A T I O N S E C T I O N * * * ********************************************* * * ENTRY: * LDA * JSB C.36 * * * * EXIT: * A=0 (NO ERROR) * B=TRANSMISSION LOG (FOR COMPLETION RETURN ONLY) * * NOTE THAT THE SELECT CODE WILL BE FOR THE DMA CHANNEL IF WE COME HERE * FROM A DMA TRANSFER. * * NORMALLY, LOCALS SAVED IN EQT (FROM LAST CALL TO DVR) CONTAIN ADJUSTED * STATE OF DVR. THAT IS, THEY REFLECT THE FACT THAT TRANSMISSION HAS * TAKEN PLACE. (FOR VERIFY OPERATION AFTER NON-DMA TRANSFER, LOCALS * MUST BE RESET IN INITIATION SECTION.) * * C.36 NOP JSB CIO RESET LOCAL STATE IFZ LDA &UNIT,I TIMED-OUT? (BIT 12) ALF SSA JMP CTIME YES JSB VERF? VERIFY RQ? JMP DDONE NO: TERMINATE DMA XFER JSB NODMA RETURN DMA CHANNEL JSB SIO1K RE-INITIATE I/O * CTIME EQU * CONTINUE OPERATION XIF LDA &CNTL,I CASE ON RQ CODE AND =B77 JSB GOTO DEF CVERF DEF CREAD DEF CWRIT * ***************************** * EXIT CONTINUATION SECTION * ***************************** * VERR EQU * VERIFY ERROR LDA &XSTA,I IOR =B41 STA &XSTA,I * IFZ DDONE EQU * TERMINATE DMA TRANSFER CLA FAKE TRANSMISSION LOG STA COUNT XIF CDONE EQU * JSB TIO CLA ËLþú B=XMISSION LOG JMP C.36,I * CPAUS EQU * JSB SAVE CLA ISZ C.36 JMP C.36,I * * ****************************** * * C R E A D * CREAD EQU * CONTINUE NON-DMA READ LDA SCHNL GO TO APPROPRIATE DRIVER ADA CRIO JSB A,I JMP CDONE DONE JMP CPAUS TIME-OUT * CRIO DEF *+1,I DEF NR1K DEF NR1K DEF NR256 * * ****************************** * * C W R I T * CWRIT EQU * CONTINUE NON-DMA WRITE LDA SCHNL GO TO APPROPRIATE DRIVER ADA CWIO JSB A,I JMP *+2 DONE: CHECK FOR VERIFY RQ JMP CPAUS TIME-OUT JSB VERF? JMP CDONE NO VERIFY RQ JSB RESET JSB GTSC CASE ON SCHNL DEF CW1K DEF CW1K DEF CPAUS * CW1K EQU * JSB SIO1K RE-INITIATE I/O JMP CPAUS * CWIO DEF *+1,I DEF NW1K DEF NW1K DEF NW256 * * ****************************** * * C V E R F * CVERF EQU * CONTINUE (NON-DMA) VERIFY LDA SCHNL GO TO APPROPRIATE DRIVER ADA CVIO JSB A,I JMP CDONE DONE JMP CPAUS TIME-OUT * CVIO DEF *+1,I DEF NV1K DEF NV1K DEF NV256 * * ****************************** * * C I O * * ENTRY: * JSB CIO * CIO NOP CONTINUATION: SET UP LOCALS LDA &UNIT,I GET WCS SELECT CODE AND =B77 STA SC LDA &BUFR,I STA BUFR LDA &LEN,I STA COUNT LDA &WCS,I STA RAMAD LDA &UNIT,I LSR 6 AND =B37 STA SCHNL JMP CIO,I HED RTE DVR36 WCS DRIVER -- GLOBAL SUBROUTINES * * ****************************** * * G O T O * * ENTRY: * LDA * JSB GOTO * DEF * DEF * : * * NOTE THAT INDEXING IS ZERO-ORIGINED. * GOTO NOP ADA GOTO IOR =B100000 SET INDIRECT BIT JMP A,I * * **********¢0.********************* * * G T S C * * ENTRY: * JSB GTSC * DEF * DEF * : * * NOTE THAT INDEXING IS ZERO-ORIGINED. * GTSC NOP PRESERVE B-REG LDA SCHNL ADA GTSC IOR =B100000 SET INDIRECT BIT JMP A,I * * ****************************** * * N O D M A * NODMA NOP RELEASE DMA DLD &INT,I NB: WE MAY NOT HAVE A DMA CHNL CPA &EQT1 CLA CPB &EQT1 CLB DST &INT,I JMP NODMA,I * * ****************************** * * R E S E T VE0ÿÿþú* * ENTRY: * JSB RESET * * NOTE THAT FOR HP13197A (1K) I/O, RAM ADDR IS SET UP ONLY ONCE. * CONSEQUENTLY, WE DON'T NEED TO UPDATE/RESET IT FOR CONTINUATION * & VERIFY OPERATIONS. THIS IS PREDICATED ON THE ASSUMPTION THAT * I/O TO A BOARD IS DONE THROUGH ONE & ONLY ONE EQT. THEREFORE, WE * CAN PROCESS ONLY ONE I/O REQUEST AT A TIME. * * ON THE OTHER HAND, THE BUFR ADDR AND COUNT ARE UPDATED FOR ALL * NON-DMA I/O AND, THEREFORE, BE RESET PRIOR TO VERIFY OPERATION. * RESET NOP RESET COUNTERS JSB GTSC DEF RS.1 HP13197A: DON'T RESET RAM ADDR DEF RS.1 DEF RS.0 RS.0 EQU * LDA RAMAD BACK-UP RAM ADDR ADA &WCNT,I STA RAMAD RS.1 EQU * LDA &WCNT,I STA COUNT ALS ADA BUFR BACK-UP BUFR ADDR STA BUFR JMP RESET,I * * ****************************** * * S A V E * * SAVE LOCAL VARIABLES IN PREPARATION FOR TIME-OUT. ALSO SET UP * TIME-OUT VALUES. * SAVE NOP LDA BUFR SAVE LOCALS STA &BUFR,I LDA COUNT STA &LEN,I LDA RAMAD STA &WCS,I LDA =D-2 # 10-MSEC FOR TIME-OUT STA &TIMR,I SET UP TIMER LDA &UNIT,I SET TIME-OUT RQ BIT IOR =B010000 STA &UNIT,I JMP SAVE,I * * ****************************** * * T I O * * EXIT: * B=TRANSMISSION LOG (ALWAYS >=0) * * SETS UP STATUS FIELD AND TURNS OFF TIMER-RQ BIT. RETURNS * TRANSMISSION LOG IN BYTES OR WORDS DEPENDING ON ORIGINAL * LENGTH PARAMETER IN EXEC CALL (INDICATED BY SIGN OF &CNTL * IN EQT). * TIO NOP TERMINATE I/O LDA &STAT,I SET STATUS FIELD IN EQT AND =B177000 IOR &XSTA,I STA &STAT,I LDA &UNIT,I CLEAR TIME RQ BIT AND =B167777 STA &UNIT,I LDB &WCNT,I COMPUTE XMISSION LOG CMB,INB RETURN POSITIVE VALUE ADB COUNT COUNT<0 IN CASE OF VERIFY ERROR LDA &CNTL,I SSA SKIP IF WORD COUNT ‚FþúDESIRED BLS BLS JMP TIO,I * * ****************************** * * V E R F ? * * ENTRY: * JSB VERF? * * VERF? NOP LDA &CNTL,I VERIFY RQ? AND =B177 CPA =B102 JMP *+2 JMP VERF?,I XOR &CNTL,I SET VERIFY STATE STA &CNTL,I ISZ VERF? JMP VERF?,I HED RTE DVR36 WCS DRIVER -- PHYSICAL DRIVERS ************************************* * * * P H Y S I C A L D R I V E R S * * * ************************************* * * * ******************** * TIMING CONSTANTS * ******************** * * CONSTANTS DERIVED FROM LOOP TIMINGS FOR EACH NON-DMA DRIVER. * WE ENSURE THAT TIME SPENT IN PHYSICAL DRIVER IS LESS THAN * 2.1 MSEC (IE., ABOUT 2 MSEC), BASED ON 21MX INSTRUCTION TIMES * (10/1975). * .DTIM ABS -250 .R1K ABS -72 .W1K ABS -74 .V1K ABS -58 .R256 ABS -45 .W256 ABS -45 .V256 ABS -39 * * *************** * DMA DRIVERS * *************** * * ****************************** * * D M A * * ENTRY: * E=1 FOR READ; E=0 FOR WRITE * * LDA * JSB DMA * * IS THE DMA CONTROL WORD SANS SELECT CODE (ADDED IN THIS * ROUTINE). * * FOR TRANSFER TO 13197A (1K) BOARD, WE ASSUME THAT "CLC WCS" * PRECEDES THIS. OTHERWISE, SRQ REMAINS HIGH FROM LAST DMA * TRANSFER, AND TRANSFER WOULD BEGIN PREMATURELY WITH "STC DMA" * HERE. * * BECAUSE THE DRIVER NO LONGER RETURNS TO RTE DURING THE DMA * TRANSFER, WE DON'T HAVE TO MAKE A SPECIAL CASE FOR PRIVILEGED * INTERRUPT ROUTINES. WE ALWAYS CLC DMA TO IGNORE THE DMA INTERRUPT * AND SFS ON THE DMA FLAG. (THE CODE BRACKETED BETWEEN THE IFZ-XIF * STATEMENTS WAS FOR THE PRIVILEGED INTERRUPT PROCESSING.) * * WE USE THE FOLLOWING TEMPORARIES: * DVR1 = COMPLETED CWD1 * DVR2 = DMA BUFFER ADDR WITH READ/WRITE FLAG SET. * DMA NOP IOR SC ADD WCS SELECT CODE STA j'þúDVR1 LDA BUFR SET I/O FLAG IN DMA BUFR ADDR ELA,RAR STA DVR2 LDA &CHAN CONFIGURE HIGH-DMA INSTRUCTIONS JSB CONFG DEF ?H1 DEF ?H2 DEF ?H3 DEF ?H4 DEF ZERO LDA &CHAN ADA =D-4 JSB CONFG CONFIGURE LOW-DMA INSTRUCTIONS DEF ?L1 DEF ?L2 DEF ?L3 DEF ?L4 DEF ZERO LDA DVR1 SEND CWD1: CONTROL WORD ?H1 OTA .DMAH ?L1 CLC .DMAL SEND CWD2: BUFFER ADDR LDA DVR2 ?L2 OTA .DMAL ?L3 STC .DMAL SEND CWD3: XFER LENGTH LDA COUNT MINUS NUMBER OF MICROWORDS ALS ...TIMES 2 ?L4 OTA .DMAL IFZ * FOLLOWING IS REQUIRED IN CASE OF PRIV INTERRUPT ROUTINE. * IN THAT CASE, WE MUST LEAVE INTERRUPTS ENABLED AND CLEAR * DMA CLF 0 DISABLE INTERRUPT SYSTEM XIF ?H2 STC .DMAH,C INITIATE DMA IFZ LDA &DMMY PRIV ROUTINE? SZA,RSS JMP DMA,I NO: LEAVE INTERRUPTS OFF XIF ?H4 CLC .DMAH YES: IGNORE DMA INTERRUPT IFZ LDB &INT GET PTR TO INT ENTRY LDA &CHAN CPA =D7 INB LDA B,I SET SIGN IOR =B100000 STA B,I STF 0 RE-ENABLE INTERRUPT SYSTEM XIF JMP DMA,I * * ******************** * * W A I T * * FOR HP13197A, WAIT FOR DMA COMPLETION (INDICATED BY DMA FLAG BEING * SET). SINCE DMA TRANSFER DISABLES BOARD (WITH CLF TO DEVICE), * WE MUST REMAIN IN DRIVER DURING TRANSFER TO PREVENT CONCURRENT * ACCESS (EXECUTION) TO BOARD. THIS IS OKAY SINCE TRANSFER SHOULD * TAKE UNDER 900 MSECS (FOR 512 WORDS). WATCHDOG TIMER IN A-REG * IS SET JUST IN CASE DMA FAILS. * * I/O INSTRUCTIONS USED HERE MUST BE SET UP BY "DMA" ROUTINE. * WAIT NOP LDA .DTIM SET UP WATCHDOG TIMER WAIT0 EQU * INA,SZA,RSS JMP NRESP OOPS: NON-RESPONDING DMA ?H3 SFS .DMAH JMP WAIT0 JMP WAIT,I * * **************************Mðþú* * 13197A (1K WCS) DRIVERS * *************************** * * ******************** * * S I O 1 K * * COMPOSITE OF SET1K AND STC1K, CALLED WHEN NOT SETTING UP DMA * BETWEEN BOARD SET-UP AND TRANSFER INITIATION. * SIO1K NOP JSB SET1K JSB STC1K JMP SIO1K,I * * ****************************** * * S E T 1 K * SET1K NOP INITIATE 1K READ/WRITE TRANSFER LDA SC CONFIGURE WCS INSTRUCTIONS JSB CONFG DEF ?W16 DEF ?W17 DEF ?W18 CONFIGURE STC IN STC1K DEF ZERO LDA RAMAD SET RAM ADDR ?W16 CLC .WCS SET COMMAND MODE ?W17 OTA .WCS JMP SET1K,I ALSO INITIATES DMA XFER * * ******************** * * S T C 1 K * * ACTUALLY INITIATES WCS TRANSFER. DMA SET-UP MUST PRECEDE THIS. * "STC WCS" MUST BE CONFIGURED BY SET1K (ASSUMED TO HAVE ALREADY * BEEN CALLED). * STC1K NOP ?W18 STC .WCS JMP STC1K,I * * ****************************** * * A 1 K * * ENTRY: * LDA * JSB A1K * * FORM OF BLOCK MASK: * BITS 11-6: BLOCK # FOR RAM ADDR 512-1023 * BITS 5-0: BLOCK # FOR RAM ADDR 0-511 * * DYNAMICALLY ALTER BLOCK NUMBERS ON 1K BOARD. * WE USE THE FOLLOWING TEMPORARY: * DVR1 = BLOCK MASK. * A1K NOP STA DVR1 SAVE BLOCK MASK LDA SC CONFIGURE WCS INSTRUCTIONS JSB CONFG DEF ?W22 DEF ?W23 DEF ?W24 DEF ZERO LDA DVR1 BLOCK MASK ?W22 CLC .WCS SET COMMAND MODE ?W23 OTA .WCS (ANOMALY) ?W24 OTA .WCS SEND BLOCK NUMBER JMP A1K,I * * ****************************** * * D S 1 K * * PHYSICALLY DISABLE 1K BOARD * DS1K NOP LDA SC CONFIGURE WCS INSTRUCTIONS JSB CONFG DEF ?W21 DEF ZERO ?W21 CLF .WCS JMP DS1K,I * * ****************************** * * E N 1 K * * PHSYICALLY ENABLE 1K BOARD * EN1K NOP LDA SC CONFIGURE WCS INSTRUCTIONS JSB CONF­½þúG DEF ?W20 DEF ZERO ?W20 STF .WCS JMP EN1K,I * * ****************************** * * N R 1 K * * ENTRY: * JSB NR1K * * * NR1K NOP NON-DMA 1K READ LDA SC CONFIGURE WCS INSTRUCTIONS JSB CONFG DEF ?W1 DEF ?W2 DEF ZERO LDA .R1K SET LOOP "TIMER" STA TIMER NR.1 EQU * ?W1 LIA .WCS READ MICROWORD ?W2 LIB .WCS DST BUFR,I ISZ BUFR ISZ BUFR ISZ COUNT JMP *+2 JMP NR1K,I DONE ISZ TIMER JMP NR.1 ISZ NR1K JMP NR1K,I * * ****************************** * * N W 1 K * * ENTRY: * JSB NR1K * * * NW1K NOP NON-DMA 1K WRITE LDA SC CONFIGURE WCS INSTRUCTIONS JSB CONFG DEF ?W3 DEF ?W4 DEF ZERO LDA .W1K SET LOOP "TIMER" STA TIMER NW.1 EQU * DLD BUFR,I WRITE MICROWORD ?W3 OTA .WCS ?W4 OTB .WCS ISZ BUFR ISZ BUFR ISZ COUNT JMP *+2 JMP NW1K,I DONE ISZ TIMER JMP NW.1 ISZ NW1K JMP NW1K,I * * ****************************** * * N V 1 K * * ENTRY: * JSB NR1K * * * NV1K NOP NON-DMA 1K VERIFY LDA SC CONFIGURE WCS INSTRUCTIONS JSB CONFG DEF ?W5 DEF ?W6 DEF ZERO LDA .V1K STA TIMER NV.1 EQU * ?W5 LIA .WCS READ MICROWORD ?W6 LIB .WCS JSB CMP COMPARE JMP VERR ERROR ISZ COUNT JMP *+2 JMP NV1K,I DONE ISZ TIMER JMP NV.1 ISZ NV1K JMP NV1K,I * * ***************************** * 12978A (1/4K WCS) DRIVERS * ***************************** * * ****************************** * * N R 2 5 6 * * ENTRY: * JSB NR1K * * * NR256 NOP NON-DMA 1/4K READ JSB CFRD CONFIGURE WCS INSTRUCTIONS LDA .R256 SET LOOP "TIMER" STA TIMER NR.2 EQU * JSB READ READ MICROWORD DST BUFR,I ISZ BUFR ISZ BUFR ISZ COUNT JMP *+2 JMP NR256,I DONE ISZ TIMER JMP NR.2 ISZ NR256 JMP NR256,I * * ****************************** * * N W 2 5 6 * * ENTRY: * JSB NR1K * * * NW256 NOP NON-DMA 1/4K WRITE LDA SC CONFIGURE WCS INSTRUCTIONS JSB CONFG DEF ?W7 DEF ?W8 DEF ?W9 DEF ?W10 DEF ZERO LDA .W256 SET LOOP "TIMER" STA TIMER NW.2 EQU * LDA BUFR,I GET 1ST 8 BITS OF MICROWORD AND =B377 IGNORE UPPER BYTE LDB RAMAD ADD WCS ADDR TO HIGH BYTE BLF,BLF IOR B ISZ BUFR LDB BUFR,I GET REMAINDER OF MICROWORD ?W7 STF .WCS WRITE MICROWORD ?W8 OTA .WCS ?W9 OTB .WCS ?W10 STC .WCS ISZ BUFR ISZ RAMAD ISZ COUNT JMP *+2 JMP NW256,I DONE ISZ TIMER JMP NW.2 ISZ NW256 JMP NW256,I * * ****************************** * * N V 2 5 6 * * ENTRY: * JSB NR1K * * * NV256 NOP NON-DMA 1/4K VERIFY JSB CFRD CONFIGURE WCS INSTRUCTIONS LDA .V256 SET LOOP "TIMER" STA TIMER NV.3 EQU * JSB READ READ MICROWORD JSB CMP COMPARE JMP VERR ERROR ISZ COUNT JMP *+2 JMP NV256,I DONE ISZ TIMER JMP NV.3 ISZ NV256 TIME-OUT JMP NV256,I * * *************** * SUBROUTINES * *************** * * ****************************** * * C F R D * * CONFIGURE WCS INSTRUCTIONS IN "READ" FOR 12978A ONLY. * CFRD NOP LDA SC JSB ãÑþúCONFG DEF ?W11 DEF ?W12 DEF ?W13 DEF ?W14 DEF ?W15 DEF ZERO JMP CFRD,I * * ****************************** * * C M P * * ENTRY: * LDA <1ST MICROWORD> * LDB <2ND MICROWORD> * JSB CMP * * CMP NOP COMPARE WCS & BUFR MICROWORDS XOR BUFR,I COMPARE 1ST 8 BITS... AND =B377 ...IGNORING HIGH BYTE ISZ BUFR SZA JMP CMP2 DIFFER CPB BUFR,I COMPARE REMAINING 16 BITS ISZ CMP OKAY CMP2 EQU * ISZ BUFR JMP CMP,I * * ****************************** * * C O N F G * * ENTRY: * LDA