* * MODIFY I/O INSTRUCTIONS * SETIO NOP ENTRY POINT. STA CHAN SAVE I/O CHANNEL NUMBER. LDB SETIO,I GET ADDR.-1 OF CONFIG. TABLE. LDA B,I GET ADDR.+1 OF TABLE END STA LSTND AND SAVE IT. ISZ SETIO SET FOR RETURN VIA (P+2). SET1 INB INCR. POINTER IN CONFIG. TABLE. CPB LSTND IF DONE, JMP SETIO,I RETURN. LDA B,I GET ADDRESS OF I/O INSTRUCTION STA IOINS AND SAVE IT. LDA IOINS,I GET I/O INSTRUCTION. AND M64 MASK OFF SELECT CODE. IOR CHAN PUT ON NEW SELECT CODE. STA IOINS,I REPLACE INSTRUCTION. JMP SET1 REPEAT. * * GET I/O SLOT # FROM KEYBOARD * GETSL NOP ENTRY POINT JSB READ READ FROM TTY INTO INPUT BUFF. JMP GETSL,I NO DATA ENTERED, TRY AGAIN. JSB BICON GET DATA AND CONVERT TO BINARY. JMP GETSL,I NONE FOUND, TRY AGAIN. STA STORA SAVE CONSTANT. AND M8 IF N NOT GREATER SZA,RSS THAN SEVEN, JMP GETSL,I TRY AGAIN. AND M64 IF N GREATER SZA,RSS THAN 64B, TRY AGAIN. ISZ GETSL SET FOR "SUCCESS" EXIT (P+2). LDA STORA RECOVER CONSTANT N. JMP GETSL,I RETURN. * * PUNCH ABSOLUTE BLOCK * PNCHA NOP ENTRY POINT. STA END SAVE BLOCK END AND STB BUFAD START ADDRESSES. PNCH1 CMB,INB COMPUTE BLOCK ADA B LENGTH AND STA B SAVE IN A. ADB M64 IF NUMBER OF CHARS. REMAINING SSB,RSS IN BLOCK < 65, SET FOR LDA B100 64 WORD RECORD LENGTH. LDB BUFAD GET STARTING ADDRESS OF RECORD. JSB POUT PUNCH RECORD LENGTH CHARACTER. CMA,INA SET RECORD LENGTH COUNTER STA RECL TO NEG. OF RECORD LENGTH. CLA PUNCH NULL JSB POUT CHARACTER. LDA B PUNCH STARTING ADDRESS JSB 103B,I OF RECORD. PNCH4 LDA BUFAD,I PUNCH ONE WORD JSB 103B,I OF RECORD. ADB A UPDATE CHECKSUM REGISTER. ISZ BUFAD INCREMENT BUFFER POINTER. ISZ RECL INCREMENT RECORD LENGTH COUNTER. JMP PNCH4 GO PUNCH NEXT WORD. LDA B RECORD DONE. JSB 103B,I PUNCH CHECKSUM. CLA PUNCH JSB 103B,I FOUR JSB 103B,I NULL CHARACTERS. PNCH5 CLC PNC,C RESET PUNCH I/O. LDA END IF DONE WITH LDB BUFAD ENTIRE BLOCK CPB END EXIT FROM JMP PNCHA,I PUNCH ROUTINE. JMP PNCH1 MORE TO PUNCH. * * PUNCH TWO-CHARACTER WORD * PUN NOP ENTRY POINT. STA STORA SAVE A REGISTER. ALF,ALF ROTATE FIRST CHAR. INTO POSITION JSB POUT AND PUNCH. LDA STORA RETRIEVE WORD AND JSB POUT PUNCH SECOND CHARACTER. LDA STORA RESTORE A REGISTER. JMP PUN,I RETURN. * * PUNCH ONE CHARACTER IN A * POUT NOP ENTRY POINT AND B377 MASK OFF EXTRA BITS. POUT1 OTA PNC OUTPUT CHARACTER POUT2 STC PNC,C TO PUNCH. POUT3 SFS PNC WAIT FOR PUNCH JMP POUT3 TO FINISH. JMP POUT,I RETURN. * * PUNCH LEADER/TRAILER * LDR NOP ENTRY POINT. LDA M70 SET TO PUNCH STA CTR 14 INCH LEADER/TRAILER. CLA PUNCH TWO JSB 103B,I NULL CHARACTERS. ISZ CTR PUNCH JMP *-2 TWO MORE. JMP LDR,I DONE, RETURN. * * CONVERT ASCII OCTAL # TO BINARY INTEGER * BICON NOP ENTRY POINT. CLB STB NUMBR INITIALIZE STB STORB STORAGE. BIC1 JSB GETCR GET CHAR. FROM ASCII INPUT BUFF. RSS NO MORE CHARACTERS. LDB A ADB M48 ASCII 60B SSB OR GREATER? JMP BIC2 NO, MAY BE END OF CONSTANT. ADB M10 ASCII 72B SSB,RSS OR LESS? JMP BIC2 NO, MAY BE END OF CONSTANT. AND .15 MASK OFF EXTRA BITS. LDB A AND B7 TEST IF CPA B OCTAL RSS DIGIT. JMP BICON,I NOT OCTAL, RETURN VIA (P+1), ISZ STORB INDICATE NUMBER FOUND. STA STORA SAVE DIGIT. LDA NUMBR ROOM FOR ADA MS0 ONE MORE DIGIT? SSA,RSS JMP BICON,I NO, RETURN VIA (P+1). LDA NUMBR MULTIPLY ALS,ALS PARTIAL CONSTANT ALS BY EIGHT. ADA STORA ADD ON STA NUMBR NEXT DIGIT. JMP BIC1 GO LOOK FOR NEXT DIGIT. BIC2 LDB STORB LDA NUMBR NUMBER, IF ANY, IN A. SZB WAS NUMBER FOUND? ISZ BICON YES, SET "SUCCESS EXIT" (P+2). JMP BICON,I RETURN. * * POWER FAIL SUBROUTINE * PFAIL JSB ZERO PROGRAM ZERO HLT 4,C JMP 100B RETURN TO MAIN PROGRAM. * FWAM1 EQU * END OF BASE PAGE SECTION. ORG 2000B SKP HED TEST ROUTINES * * TEST 1 * T.01 JSB CHRIN SET TTY INTERRUPT RETURN POINT JSB PRINT PRINT TITLE DEF MES5 CLA INITIALIZE FAIL FLAG STA FAIL1 JSB ZERO PROGRAM ZERO X1, 20V LIMIT LDB .5MA JSB OUTP PROGRAM 5 MA LDB TIMA GET TIMING CONSTANT ADDRESS LDA B,I GET TIMING CONSTANT INA,SZA,RSS TIMING LOOP FOR 50U SEC JMP NOF1 FLAG DIDN'T RETURN ON TIME SFS PSI CHECK FLAG JMP *-3 FLAG NOT SET, LOOP INB FLAG RETURNED,CHECK ADA B,I RETURNING TIME SSA JSB TS1.1 FLAG RETURN TOO SOON TS1.0 JSB PRINT DOES THE UNIT PROGRAM? DEF MES14 JSB READ READ FROM TTY JMP TS1.0 JSB YCHEK IS THE ANSWER YES? JSB TS1.2 NO,GO SET FAIL FLAG LDB TIMA YES, SET UP FOR 2M SEC ADB .2 RANGE CHANGE FLAG TEST STB TEMP LDB .5MA PROGRAM 50 MA ON LDA .4 X10 RANGE IOR UNIT JSB OUTP LDB TEMP LDA B,I INA,SZA,RSS 2M SEC WAITING LOOP JMP NOF2 NO FLAG RETURN SFS PSI JMP *-3 FLAG NOT SET,LOOP INB FLAG RETURNED ADA B,I CHECK TIMING SSA JSB TS1.3 FLAG TOO SOON TS1.7 JSB PRINT DOES DCS PROGRAM? DEF MES15 JSB READ READ ANSWER JMP *-3 JSB YCHEK IS ANSWER YES? JSB TS1.4 NO,SET FAIL FLAG SUM1 LDB FAIL1 LOAD B WITH FAIL FLAG SZB IF B IS 0, TEST PASSED JMP TS1.5 IF NOT LOAD A WITH FAIL ADDRESS JSB OK PRINT "TEST OK" LDA A11 LOAD PASS ADDRESS INA TS1.6 LDB STAR STORE A STAR AT PROPER STB A,I POSITION IN TEST TABLE LDB BLANK STORE A BLANK AT "NOT PERFORMED" LDA A13 POSITION STB A,I JSB ZERO PROGRAM ZERO LDA GO CHECK GO FLAG SZA IF SET, GO TO TEST 2 JMP T.02 JMP TEST OTHERWISE, GO TO "TEST #?" TS1.5 LDA A12 LOAD FAIL ADDRESS JMP TS1.6 NOF1 JSB PRINT TIMED OUT ON 50U SEC FLAG DEF MES13 ISZ FAIL1 SET FAIL FLAG JMP TS1.0 NOF2 JSB PRINT TIMED OUT ON 2M SEC FLAG DEF MES18 ISZ FAIL1 SET FAIL FLAG JMP TS1.7 TS1.1 NOP 50U SEC FLAG TOO SOON JSB PRINT DEF MES16 ISZ FAIL1 JMP TS1.1,I TS1.2 NOP JSB NCHEK IF THE REPLY WAS N JMP TS1.0 X1 RANGE WAS NOT JSB PRINT RESPONDING DEF MES17 ISZ FAIL1 SET FAIL FLAG JMP TS1.2,I TS1.3 NOP JSB PRINT 2M SEC FLAG RETURN TOO SOON DEF MES19 ISZ FAIL1 JMP TS1.3,I TS1.4 NOP IF THE ANSWER WAS N JSB NCHEK X10 RANGE WASN'T RESPONDING JMP TS1.7 JSB PRINT DEF MES20 ISZ FAIL1 SET FAIL FLAG JMP TS1.4,I * * TEST 2 * T.02 JSB CHRIN SET TTY INTERRUPT RETURN ADDR. JSB PRINT PRINT TITLE DEF MES21 CLA CLEAR FAIL FLAG STA FAIL2 JSB ZERO PROGRAM ZERO STA TEMP SAVE OUTPUT WORD II JSB PRINT SET A-METER TO 16MA RANGE DEF MES22 JSB READ READ FROM TTY JMP *-3 JSB YCHEK JMP *-5 LDB .10MA PROGRAM 10 MA LDA TEMP JSB OUTP TS2.1 JSB PRINT METER READING? DEF MES23 JSB READ READ FROM TTY JMP *-3 JSB CONST CONVERT INTO NUMBER JMP TS2.1 ADA M11 CHECK IS THE READING SZA WITHIN +- 1 MA INA,SZA,RSS IF NOT,SET FAIL FLAG JMP *+3 INA,SZA JSB TS2.3 LDB .10MA PROGRAM -10 MA CMB,INB LDA TEMP JSB OUTP TS2.2 JSB PRINT METER READING? DEF MES23 JSB READ READ FROM TTY JMP *-3 NO DATA TRY AGAIN JSB CONST CONVERT INTO NUMBER JMP TS2.2 ADA P9 CHECK ACCURACY SZA IF NOT WITHIN +-1 INA,SZA,RSS FAIL TEST JMP *+3 INA,SZA JSB TS2.3 JSB ZERO PROGRAM ZERO JSB PRINT SET DCS VOLTMETER TO 20 VOLT RANGE DEF MES69 JSB PRINT SET AMMETER BACK TO 160 MA RANGE, DEF MES75 SO IT DOESN'T PEG WHAT JSB PRINT SHORT SENSING RES. DEF MES26 JSB READ READ REPLY JMP *-3 JSB YCHEK YES? JMP WHAT LDB .10MA OUTPUT 100MA LDA .4 X10 RANGE, 20V LIMIT IOR UNIT STA TEMP SAVE CONTROL CODE JSB OUTP CALL UNIT JSB PRINT VOLTMETER READING? DEF MES27 JSB READ READ FROM TTY JMP *-3 JSB CONST CONVERT TO NUMBER JMP *-5 NO #,TRY AGAIN ADA M11 CHECK IF READING +-1 SZA VOLT OF INA,SZA,RSS 10 VOLTS JMP *+3 INA,SZA JMP TS2.4 FAIL TS2.5 LDB .10MA PROGRAM -100 MA CMB,INB LDA TEMP X10 RANGE, 20VLIMIT JSB OUTP TS2.6 JSB PRINT VOLTMETER READING? DEF MES27 JSB READ READ FROM TTY JMP *-3 JSB CONST CONVERT INTO NUMBER JMP TS2.6 ADA P9 CHECK IF READING SZA +-1 VOLT INA,SZA,RSS OF 10 VOLTS JMP *+3 INA,SZA JMP TS2.7 PASS SUM2 LDB FAIL2 LOAD B WITH FAIL FLAG SZB IF B=0,TEST OK JMP TS2.8 IF NOT,LOAD FAIL ADDR. JSB OK PRINT "TEST OK" LDA A21 LOAD PASS ADDR. INA TS2.9 LDB STAR STORE A STAR AT PROPER STB A,I ADDRESS LDB BLANK STORE A BLANK AT LDA A23 "NOT PERFORMED" STB A,I JSB ZERO PROGRAM ZERO JSB PRINT SET DCS VOLTMETER TO 100 VOLT RANGE DEF MES80 JSB PRINT REMOVE SHORT FROM 10 OHMS DEF MES74 JSB READ JMP *-3 JSB YCHEK JMP *-5 SKIP2 LDA GO CHECK GO FLAG SZA IF SET, GOT TO TEST 3 JMP T.03 IF NOT GO TO "TEST #?" JMP TEST TS2.3 NOP PRINT MESSAGE JSB PRINT "AMMETER NOT ACCURATE" DEF MES28 ISZ FAIL2 SET FAIL FLAG JMP TS2.3,I TS2.4 JSB PRINT PRINT MESSAGE DEF MES24 "VOLTMETER NOT ACCURATE" ISZ FAIL2 SET FAIL FLAG JMP TS2.5 TS2.7 JSB PRINT SAME AS TS2.4 WITH DEF MES24 DIFFERENT RETURNING ISZ FAIL2 ADDRESS JMP SUM2 TS2.8 LDA A22 LOAD FAIL ADDRESS JMP TS2.9 * * TEST 3 * T.03 JSB CHRIN SET TTY INTERRUPT RETURN ADDR. JSB PRINT PRINT TITLE DEF MES29 CLA CLEAR FAIL FLAG STA FAIL3 STA AMPS SET ZERO BIT PATTERN INA STA RANGE TS3.0 JSB ZERO1 PROGRAM 0 MA,X10,20V LIMIT LDA .4 OUTPUT WORD II IOR UNIT X10 RANGE, 20V LIMIT STA TEMP SAVE OUTPUT WORD II JSB PRINT REQUEST DVM READING DEF MES67 JSB READ READ FROM TTY JMP *-3 TRY AGAIN LDA M2 INITIALIZE FOR STA MAG INTEGER PACK JSB RNDOF,I CHECK ZERO MA JMP *-7 TRY AGAIN SZB,RSS SKIP IF BAD JMP TS3.2 PASS ZERO CHECK JSB PRINT REQUEST FOR ZERO ADJUST DEF MES31 JSB READ READ FROM TTY JMP *-3 TRY AGAIN JSB YCHEK CHECK RESPONSE JMP *-5 ASK AGAIN JMP TS3.0 START OVER TS3.2 LDA MESA INITIALIZE MESSAGE ADDRESS STA MSG SAVE IT LDB M15 INITIALIZE COUNTER STB CNT SAVE IT CCB SET B TO BLS 1111111111111110 TS3.1 STB AMPS SAVE IT LDA TEMP LOAD OUTPUT WORD II JSB OUTP OUTPUT TO UNIT JSB PRINT REQUEST DVM READING DEF MES67 JSB READ READ FROM TTY JMP *-3 LDB M2 INITIALIZE FOR STB MAG INTEGER PACK JSB RNDOF,I EVALUATE JMP *-7 TRY AGAIN SZB,RSS SKIP IF NEGATIVE JMP TS3.4 PASSED JSB PRNTT PRINT ERROR MESSAGE DEF MSG,I ISZ FAIL3 SET FAIL FALG TS3.4 ISZ CNT DECREASE COUNTER JMP TS3.7 LOOP LDB FAIL3 LOAD B WITH FAIL FLAG SZB IF B=0 TEST OK JMP TS3.5 GO LOAD FAIL ADRESS JSB OK PRINT "TEST OK" LDA A31 LOAD PASS ADDRESS INA TS3.6 LDB STAR STORE A STAR AT PROPER STB A,I POSSITION LDB BLANK STORE A BLANK AT LDA A33 "NOT PERFORMED" POSITION STB A,I JSB ZERO LDA GO CHECK GO FLAG SZA IF SET JMP T.04 GO TO TEST 4 JMP TEST IF NOT GO TO "TTST #?" TS3.5 LDA A32 LOAD FAIL ADDRESS JMP TS3.6 TS3.7 LDB AMPS SET NEXT PROGRAM CURRENT RBL BIT PATTERN ISZ MSG SET NEXT MESSAGE ADDRESS JMP TS3.1 MESA DEF *+1 MESSAGE TABLE DEF MES46 DEF MES45 DEF MES44 DEF MES43 DEF MES42 DEF MES41 DEF MES40 DEF MES39 DEF MES38 DEF MES37 DEF MES36 DEF MES35 DEF MES34 DEF MES33 DEF MES32 * * TEST 4 * T.04 JSB CHRIN SET TTY INTERRUPT RETURN ADDRESS JSB PRINT PRINT TITLE DEF MES48 LDA M1 GET -1 FOR TEST 4 X1 RANGE CHECK STA T4X1 STORE -1 FOR USE IN FLOATING POINT ROUTINES CLA STA FAIL4 CLEAR FAIL FLAG STA RANGE LDA M4 SET STA CNT COUNTER LDA MESA1 INITIALIZE MESSAGE ADDRESS STA MSG SAVE IT LDA P3277 STA AMPS LDB INF1A OUTPUT WORD I LDA .12X1 OUTPUT WORD II IOR UNIT X1, 20V LIMIT STA TEMP SAVE IT TS4.1 JSB OUTP CALL UNIT JSB PRINT REQUEST DVM READING DEF MES67 JSB READ READ FROM TTY JMP *-3 NO INTEGER, TRY AGAIN LDA M2 STA MAG JSB RNDOF,I CALL CONVERSION ROUTINE JMP TS4.1+1 TRY AGAIN SZB,RSS JMP TS4.4 PASS JSB PRINT DEF MES52 JSB PRNTT FAIL DEF MSG,I ISZ FAIL4 SET FAIL FLAG TS4.4 ISZ CNT INCREMENT COUNTER JMP TS4.7 GET NEXT VALUE LDB FAIL4 LOAD B WITH FAIL FLAG SZB WERE ALL TESTS PASSED? JMP TS4.5 NO, GET FAIL ADDRESS JSB OK YES, PRINT "TEST OK" LDA A41 LOAD PASS ADDRESS INA TS4.6 LDB STAR STORE A STAR AT PROPER STB A,I POSTITION LDB BLANK STORE A BLANK AT LDA A43 "NOT PERFORMED" POSITION STB A,I JSB ZERO LDA GO CHECK GO FLAG SZA IF SET JMP T.05 GO TO TEST 5 JMP TEST IF NOT GO TO "TEST #?" TS4.5 LDA A42 LOAD FAIL ADDRESS JMP TS4.6 TS4.7 ISZ MSG SET NEXT MESSAGE ADDRESS LDA CNT GET COUNT CPA M2 IS X10 POS NEXT? JMP MX10P CPA M1 IS X10 NEG NEXT? JMP MX10N LDB P3277 CMB STB AMPS LDB INF1A CMB COMPLIMENT LDA TEMP GET LAST OUTPUT WORD II JMP TS4.1 DO IT AGAIN MX10P LDB INF1A GET LAST OUTPUT WORD I STB AMPS SAVE IT CLA,INA STA RANGE LDA .4 MAKE NEW OUTPUT WORD II IOR UNIT X10,20V LIMIT STA TEMP SAVE IT JMP TS4.1 DO IT AGAIN MX10N CLA CLEAR T4X1 FOR TEST 4 X10 RANGE CHECK STA T4X1 IN FLOATING POINT ROUTINES LDA M1 RESTORE MINUS 1 TO "A" REGISTER LDB AMPS GET LAST OUTPUT WORD I CMB COMPLIMENT IT STB AMPS SAVE IT LDA TEMP GET LAST OUTPUT WORD II JMP TS4.1 DO IT AGAIN MESA1 DEF *+1 DEF MES4 DEF MES51 DEF MES59 DEF MES68 * * TEST 5 * T.05 JSB CHRIN SET TTY INTERRUPT RETURN ADDRESS JSB PRINT PRINT TITLE DEF MES53 LDA M4 SET COUNTER STA CNT CLA CLEAR FAIL FLG STA FAIL5 LDA MODEL GET PROGRAM CURRENT ADDRESS ADA .2 FOR VOLTAGE LIMIT TEST STA MA SAVE IT IN MA LDA MESSA INITIALIZE MESSAGE ADDRESS STA MSG CLB,INB LDA UNIT INITIALIZE STATS,FOR CHECKING INA STATUS WORD FROM DVS CARD CMA,INA INA,SZA,RSS JMP *+3 BLS JMP *-3 STB STATS LDA CLADR LOAD THE VOLTAGE LIMIT CODE STA CLADD STORE IT IN CLADD JSB PRINT SHORT SENSING RESISTOR DEF MES26 JSB READ JMP *-3 JSB YCHEK JMP *-5 TS5.0 JSB ZERO1 INITIALIZE THE UNIT TO ZERO LDA M1600 BEFORE EACH TEST. INA, SZA JMP *-1 LDA CLADD,I GET VOLTAGE LIMIT CODE IOR UNIT OR IN THE UNIT STA TEMP SAVE THE WORD II LDB MA,I GET PROGRAM CURRENT JSB OUTP OUTPUT LDA M1600 WAITING LOOP FOR THE INA,SZA CURRENT TO COME UP JMP *-1 LIA PSI READ STATUS AND STATS CHECK AGAINST THE MASK SZA NO UNIT SHOULD BE LATCHED JMP TS5.1 IF LATCHED, PRINT MESS. ISZ MA PROGRAM NEXT CURRENT LDB MA,I THIS SHOULD CAUSE THE UNIT LDA TEMP TO LATCH JSB OUTP OUTPUT TO DCS LDA M1600 INA,SZA WAITING LOOP FOR THE JMP *-1 CURRENT TO COME UP LIA PSI READ STATUS AND STATS CHECK AGAINST MASK SZA,RSS THE UNIT SHOULD BE LATCHING JMP TS5.2 IF NOT PRINT ERROR MESS. TS5.3 ISZ MA GO TO NEXT VOLTAGE LIMIT CODE ISZ MSG ISZ CLADD ISZ CNT JMP TS5.0 LOOP JSB ZERO1 PROGRAM ZERO LDB FAIL5 CHECK FAIL FLAG SZB JMP TS5.4 FAILED,GO LOAD FAIL ADDRESS JSB OK PASSED LDA A51 LOAD PASS ADDRESS INA TS5.5 LDB STAR STORE A STAR AT PROPER POSITION STB A,I LDB BLANK STORE A BLANK AT LDA A53 "NOT PERFORMED" POSITION STB A,I JSB ZERO PROGRAM ZERO JSB PRINT REMOVE SHORT FROM 10 OHMS DEF MES74 JSB READ JMP *-3 JSB YCHEK JMP *-5 SKIP5 LDA GO CHECK GO FLAG SZA IF SET JMP T.06 GO TO TEST 6 JMP TEST IF NOT GO TO "TEST #?" TS5.4 LDA A52 LOAD FAIL ADDRESS JMP TS5.5 TS5.1 JSB PRINT MESSAGE FOR LATCHED AT DEF MES55 TOO LOW VOLTAGE JSB PRNTT PRINT CORRESPOND LATCH DEF MSG,I CODE ISZ MA ISZ FAIL5 JMP TS5.3 TS5.2 JSB PRINT MESSAGE FOR NOT LATCHED DEF MES56 AT PROPER VOLTAGE JSB PRNTT PRINT CORRESPOND LATCH DEF MSG,I CODE ISZ FAIL5 SET FAIL FLAG JMP TS5.3 MESSA DEF *+1 TABLE FOR MESSAGES OF DEF MES70 4 LATCH CODES DEF MES71 DEF MES72 DEF MES73 * * TEST 6 * T.06 JSB CHRIN SET TTY INTERRUPT RETURN ADDRESS JSB PRINT PRINT TITLE DEF MES47 CLA CLEAR FAIL FLAG STA FAIL6 JSB PRINT PRESS RUN IF HLT DEF MES58 CLC PSI REQUEST TIMING MODE INTERRUPT OTA PSI LDA .8X1 PROGRM A CURRENT IOR UNIT STA TEMP LDB MODEL PROGRAM CURRENT OF ADB P4 FIFTH ENTRY OF SPEC. TABLE LDB B,I STB AMPS SAVE IT STF 00 ENABLE INTERUPT SYSTEM TS6.4 CLC PSI,C STC PSI SET CONTROL ON DVS CARD OTB PSI OUTPUT TO DVS OTA PSI SFS PSI WAIT FOR FLAG JMP *-1 TS6.6 JSB PRINT DID COMPUTER HLT? DEF MES60 JSB READ JMP *-3 JSB YCHEK JSB TS6.0 NO,PRINT ERROR MESSAGE JSB PRINT PRESS RUN IF HLT DEF MES58 TS6.5 CLC PSI REQUEST ALARM MODE INTERRUPT LIA PSI LDB .10MA OUTPUT A CURRENT LDA UNIT CLC PSI,C STC PSI OTB PSI OTA PSI SFS PSI WAIT FOR FLAG JMP *-1 TS6.7 JSB PRINT DID COMPUTER HLT? DEF MES60 JSB READ JMP *-3 JSB YCHEK IF YES TEST OK JSB TS6.1 IF NOT ALARM MODE INTERRUPT NOT TS6.8 JSB ZERO1 FUNCTIONING PROGRAM ZERO JSB PRINT SET DCS VOLTMETER TO 20 VOLT RANGE DEF MES69 JSB PRINT SHORT SENSING RES. DEF MES26