ASMB,R,L,C,F,B HED ISA S61.1 ANALOG INPUT 92413-16002 REV A * * ADC.. - ANALOG INPUT ROUTINES FOR ISA S61.1 * * * SOURCE TAPE - 92413-18002 REV. A * RELOC. TAPE - 92413-16002 REV. A * * * * * AIRDF,AIRDW - ANALOG INPUT IN RANDOM ORDER * AISQF,AISQW - ANALOG INPUT IN SEQUENTIAL ORDER * NORM - SYSTEM NORMALIZE * PACER - SETS UP SYSTEM PACER * RGAIN - READS GAIN ON A CHANNEL * SGAIN - SETS GAIN ON A CHANNEL * NAM ADC..,7 92413-16002A 08APR75 EXT ..ADC,EXEC,$LIBR,$LIBX,..FCM,.ENTR ENT NORM,AIRDF,AISQF,SGAIN,RGAIN,PACER ENT AIRD,AIRDW,AISQ,AISQW SUP * * "RGAIN" READS THE GAIN OF A GIVEN CHANNEL OR GROUP OF CHANNELS * CALLING SEQUENCE: * CALL RGAIN(CHN1,GN1) * * WHERE: CHN1 - DESIRED CHANNEL NUMBER * GN1 - FLOATING POINT GAIN OF CHANNEL "CHN1" * CHN1 NOP GN1 NOP RGAIN NOP JSB .ENTR FETCH PARAMETER DEF CHN1 ADDRESSES LDA .ERR. DUMMY UP ERROR RETURN STA ERR LDA RGAIN SAVE RETURN STA ENTRY ADDRESS LDA CHN1,I FIND CHANNEL ENTRY JSB FCHN IN CONFIGURATION TABLE SSB,RSS IF HL-SE JMP *+4 THEN SET THE DLD FLT1 GAIN TO JMP RG2 ONE. BLS COMPUTE ADDRESS OF GAIN ADB DFCTR CONVERSION FACTOR STB GAIN AND SAVE DLD FACTR GAIN = FDV GAIN,I .005 / CONVERSION FACTOR RG2 DST GN1,I STORE GAIN JMP ENTRY,I AND RETURN * FLT1 DEC 1.0 SKP * * "SGAIN" READS THE GAIN OF A GIVEN CHANNEL OR GROUP OF CHANNELS * CALLING SEQUENCE: * CALL SGAIN(CHN2,GN2) * * WHERE: CHN2 - DESIRED CHANNEL NUMBER * GN2 - FLOATING POINT GAIN OF CHANNEL "CHN2" * CHN2 NOP GN2 NOP SGAIN NOP JSB .ENTR FETCH PARAMETER DEF CHN2 ADDRESSES LDA .ERR. DUMMY UP ERROR RETURN STA ERR LDA SGAIN SAVE RETURN STA ENTRY ADDRESS LDA CHN2,I FIND CHANNEL ENTRY JSB FCHN IN CONFIGURATION TABLE SSB IF NOT LOW LEVEL JMP ENTRY,I RETURN DLD FACTR COMPUTE TEMP = ADA M1 (ADJUSTMENT FOR ROUND OFF ERROR) FDV GN2,I .005 / GN2 SSA IF GAIN WAS NEGATIVE JSB ..FCM MAKE POSITIVE DST TEMP AND SAVE LDB M7 INITIALIZE STB CNTR LOOP COUNTER LDA DFCTR INITIALIZE GAIN STA AFCTR TABLE POINTER * SGN1 DLD TEMP IF DESIRED GAIN FSB AFCTR,I IS > OR = TABLE SSA VALUE, THEN JMP SGN2 SET UP GAIN ISZ AFCTR INCREMENT GAIN ISZ AFCTR TABLE POINTER ISZ CNTR LAST ENTRY? JMP SGN1 NO, CONTINUE LOOKING * SGN2 LDA ADRS,I FETCH GAIN ENTRY AND ASL 3 SHIFT GAIN BITS INTO "B" LDB CNTR PUT NEW ADB .7 GAIN IN "B" ASR 3 SHIFT GAIN BITS BACK INTO "A" * JSB $LIBR TURN OFF INTERRUPT SYSTEM NOP AND UPDATE STA ADRS,I CONFIGURATION TABLE ENTRY JSB $LIBX TURN INTERRUPT SYSTEM BACK DEF ENTRY ON AND RETURN SKP * "NORM" PERFORMS A SYSTEM NORMALIZE ON THE SPECIFIED UNIT * UNIT NOP NORM NOP JSB .ENTR FETCH PARAMETER DEF UNIT ADDRESS LDA NORM SAVE RETURN STA ENTRY ADDRESS LDB UNIT FIND SUBSYSTEM JSB FNDLU LOGICAL UNIT NUMBER * JSB EXEC ************************************* DEF *+5 SYSTEM DEF .2 NORMALIZE DEF LU REQUEST DEF .1 DEF .1 ************************************** * JMP ENTRY,I ELSE, RETURN * * "FNDLU" FINDS THE LOGICAL UNIT NUMBER CORRESPONDING TO THE * SUBSYSTEM NUMBER SPECIFIED IN THE CALL. IF THE NUMBER IS ZERO * OR NEGATIVE AN ERROR IS GIVEN * FNDLU NOP CLA,INA ASSUME UNIT 1 SZB IF UNIT SPECIFIED LDA B,I FETCH IT CMA,INA COMPLEMENT AND SSA,RSS JMP ENTRY,I IF <=0 THEN RETURN STA CNTR SAVE COMP. FOR LOOP COUNTER LDB ..ADC FETCH ADDRESS OF CONFIG. TABLE ADA B,I LEGITIMATE UNIT SSA ADDRESS? JMP ENTRY,I NO - RETURN INB,RSS BUMP TBL PNTR TO 1ST SUBSYS. ENTRY * NXTSS ADB B,I FETCH NEXT SUBSYSTEM ENTRY ISZ CNTR UNIT FOUND? JMP NXTSS NO, CONTINUE SEARCH * INB FETCH SUBSYSTEM LDB B,I LOGICAL UNIT NUMBER STB LU AND SAVE JMP FNDLU,I RETURN SKP * "AIRDF" PEFORMS ANALOG INPUT FROM THE CHANNELS SPECIFIED IN * A REAL ARRAY. THE RESULTS ARE CONVERTED TO FLOATING POINT VOLTS * AND RETURNED IN ANOTHER REAL ARRAY. * * CALLING SEQUENCE: * CALL AIRDF(NUM,CHAN,VOLT,ERR) * WHERE: NUM1 - NUMBER OF CHANNELS TO BE READ ( IF N<0 THEN * PERFORM PACED CONVERSION) * CHAN - INTEGER ARRAY CONTAINING CHANNEL NUMBERS * VOLT - REAL ARRAY FOR CONVERTED DATA * ERR - ERROR RETURN PARAMETER * BIT 0 = OVERFLOW ON AT LEAST ONE READING * BIT 1 = PACE ERROR ON AT LEAST ONE READING * AIRDF NOP FLOATING PT. RANDOM SCAN LDA AIRDF FETCH RETURN ADDRESS CLB AND CLEAR FIXED POINT FLAG JMP RDSCN GO TO RANDOM SCAN * AIRDW NOP INTEGER RANDOM SCAN LDA AIRDW FETCH RETURN ADDRESS CLB,INB AND SET FIXED POINT FLAG * RDSCN JSB SETUP FETCH PARAMETERS * AIRD1 LDA CHAN,I LOAD NEXT CHANNEL NUMBER JSB FCHN FIND HARDWARE ADDRESS IOR =B100000 SET TO RANDOM MODE IOR PACED OR IN PACE BIT STA CHANL AND SAVE SSB IF GAIN IS NEGATIVE JMP RDHL GO TO HIGH LEVEL READ XOR =B140000 SET UP GAIN STA GCHN CHANNEL ENTRY * JSB EXEC ***************************** DEF *+5 LOW DEF .2 LEVEL DEF LU RANDOM DEF RBUF1 READ DEF .2 ***************************** JMP AIRD2 GO TO VOLTAGE CONVERSION * RDHL JSB EXEC ************************* DEF *+5 HIGH DEF .2 LEVEL DEF LU RANDOM DEF RBUF2 READ DEF .1 ***************************** * AIRD2 AND =B200 CHECK FOR PROPER REMOTE SZA,RSS AND OR LOCAL SZB,RSS OPERATION JMP ERR2 ELSE, GIVE ERROR 2 * LDB VOLT2,I FETCH READING JSB CONV PERFORM CONVERSION ISZ CHAN BUMP CHANNEL ADDRESS ISZ VOLT2 BUMP INPUT DATA ADDRESS ISZ CNTR LAST CHANNEL JMP AIRD1 NO, CONTINUE JMP ENTRY,I YES, RETURN SKP * "SETUP" FETCHES AND TESTS CALLING PARAMETERS FOR VALIDITY * FOR ROUTINES AIRDW,AIRDF,AISQW AND AISQF. * SETUP NOP STA ENTRY SAVE RETURN ADDRESS STB FIXPT SAVE FIXED POINT FLAG JMP ENTRY+1 GO TO PARAM. FETCH * NUMRD NOP CHAN NOP VOLT NOP ERR NOP ENTRY NOP JSB .ENTR FETCH PARAMETER .ERR. DEF NUMRD ADDRESSES CLB,INB INITIALIZE ERROR STB ERR,I TO ONE CLB LDA NUMRD,I FETCH NUMBER OF CHANNELS SSA IF NEGATIVE LDB =B10000 # OF CHANLS SET STB PACED PACE BIT SSA IF NEGATIVE CMA,INA MAKE POSITIVE STA NUM AND SAVE CMA,INA,SZA,RSS COMPLEMENT # OF CHANNELS JMP ERR3 IF ZERO GIVE ERROR STA CNTR SAVE FOR LOOP COUNTER LDA FIXPT IF FIXED POINT LDB VOLT FLAG IS CLEAR SZA,RSS DATA BUFFER ADDRESS IF ADB NUM IN CENTER OF ARRAY STB VOLT1 VOLT, ELSE AT STB VOLT2 BEGINNING OF VOLT JMP SETUP,I SKP * "FCHN" IS A SUBROUTINE WHICH FINDS THE ENTRY IN THE 2313 * CONFIGURATION TABLE WHICH CORRESPONDS TO A GIVEN CHANNEL NUMBER * * CALLING SEQUENCE : * "A" CONTAINS THE SOFTWARE ANALOG CHANNEL NUMBER * RETURNED : * "A" CONTAINS THE HARDWARE ADDRESS OF THE DESIRED MPX CHANNEL * "LU" _ LOGICAL UNIT NUMBER OF THE SUBSYSTEM CONTAINING "A" * "ADRS" _ ADDRESS OF THE CONF. TABLE ENTRY FOR "A" * "GAIN" _ GAIN FOR THE CHANNEL (-1 IF HIGH LEVEL) * "REMCH" _ # OF CHANNELS REMAINING IN ENTRY * * IF THE CHANNEL IS OUTSIDE THE BOUNDS OF THE TABLE "FCHN" * BRANCHES TO "ERR3" * FCHN NOP CMA,SSA,INA,SZA COMPLEMENT CHANNEL NUM. RSS IF LESS THAN OR JMP ERR3 EQUAL TO ZERO GIVE ERROR #3 STA MCHN SAVE -(CHANNEL NUM.) STA NMCHN CCA ASSUME STA GAIN HIGH LEVEL LDA ..ADC FETCH ADDRESS OF FIRST STA .ADC INA SUBSYSTEM ENTRY IN CONF. TABLE CLB "B"_ CURRENT SUBSYSTEM # JMP STFCH SEARCH FOR SUBSYS. CONTAINING CHAN. * NXSUB STA NMCHN SAVE # OF CHNLS PAST LAST SUBSYS. INB INCREMENT NUMBER OF SUBSYSTEMS CPB .ADC,I LAST SUBSYSTEM? JMP ERR3 YES - GO TO CHANNEL NOT FOUND LDA ADRS FETCH ADDRESS OF ADA ADRS,I NEXT SUBSYSTEM STFCH STA ADRS AND SAVE ADA .2 IS LAST CHANNEL IN LDA A,I CURRENT SUBSYSTEM BEYOND ADA MCHN THE DESIRED SSA CHANNEL? JMP NXSUB NO - GO TO NEXT SUBSYSTEM * * SUBSYSTEM CONTAINING CHANNEL FOUND. THE FOLLOWING CODE * SEARCHES THE SUBSYSTEM ENTRY FOR ACTUAL CHANNEL ENTRY * LDA ADRS FETCH THE INA LOGICAL UNIT NUMBER LDB A,I OF THE SUBSYSTEM STB LU AND SAVE ADB =B100 SET UP DMA LU STB DMALU AND SAVE ADA .2 COMPUTE ADDRESS OF HIGH LEVEL STA ADRS1 SINGLE ENDED CHANNEL COUNT STA ADRS AND SAVE LDB NMCHN FETCH -(CHANNEL IN THIS SUBSYSTEM) RSS NXTEN ISZ ADRS BUMP ENTRY ADDRESS LDA ADRS,I FETCH AND MASK AND =B3777 NEXT ENTRY ADB A CHANNEL IN SSB THIS ENTRY? JMP NXTEN NO, CONTINUE SEARCH * INB ENTRY FOUND, STB REMCH SAVE CHANNELS REMAINING ISZ NMCHN COMPUTE -(CHNLS-1) NOP CLA LDB ADRS1 FETCH HL-SE ADDRESS CPB ADRS IF ENTRY IS HIGH LEVEL - SE JMP HLSE1 GO TO COMPUTE LOCATION INB IF ENTRY IS CPB ADRS HIGH LEVEL DIF. JMP HLDIF GO TO COMPUTE DIF. LOCATION * CHANNEL MUST BE LOW LEVEL THEN, SO COMPUTE GAIN LDB ADRS,I FETCH RRL 3 GAIN STA GAIN AND SAVE * * TO CONVERT CHANNEL NUMBER TO 2313 HARDWARE ADDRESS THE * FOLLOWING ALGORITHM IS APPLIED: * * BOX = (N-1)/384 (384= 12 SLOTS * 32 CHANNELS/SLOT) * * SLOT.CHANNEL = REMAINDER FROM THE ABOVE QUOTIENT * * WHERE "N" IS THE SUBSYSTEM RELATIVE CHANNEL ADDRESS. SINCE * MULTIPLEXERS CANNOT OCCUPY SLOTS 0-2 IN BOX 0, * 96 MUST BE ADDED TO CHANNEL NUMBERS. * ALSO DIFFERENTIAL INPUT CHANNELS MUST BE COUNTED TWICE. * HLDIF LDA ADRS1,I COMPUTE ADA NMCHN NUMBER HLSE1 ADA NMCHN OF CMA,INA CHANNELS ADA .96 START SLOT =3 CLB COMPUTE DIV .384 HP 2313 ALF,ALF BOX, SLOT ALS AND CHANNEL IOR B ADDRESS LDB GAIN RETURN WITH ADDRESS IN JMP FCHN,I "A" AND GAIN IN "B" * .32 DEC 32 .96 DEC 96 .384 DEC 384 SKP * "CONV" IS A SUBROUTINE WHICH CONVERTS 2313 READINGS TO * FLOATING POINT VOLTS. * * CALLING SEQUENCE: * "B" - 2313 READING * * RETURNED: * THE COMPUTED VOLTAGE IS PUT IN THE ADDRESS SPECIFIED BY * "VOLT" AND THEN "VOLT" IS INCREMENTED TO POINT AT THE NEXT * FLOATING POINT LOCATION. * * ERR HAS BIT 1 SET IF OVERFLOW AND BIT 2 SET IF PACE ERROR. * ALSO ON OVERFLOW, + OR - 1E37 IS RETURNED FOR VOLTAGE. * CONV NOP LDA .4 IF PACE ERROR BRS,SLB,BRS SET ERROR TO STA ERR,I FOUR LDA FIXPT GET INTEGER FLAG BRS,CLE,BRS TOTAL SHIFT 4 PLACES CPB =B3777 IF POS. OVERFLOW, E_1 CCE,RSS AND GO TO OVERFLOW CPB =B174000 IF NEG. OVERFLOW, E_0 JMP OVRFL AND GO TO OVERFLOW SZA IF INTEGER, JMP CONV,I EXIT LDA B MOVE READING TO A REG. LDB GAIN COMPUTE BLS ADDRESS OF ADB DFCTR CONVERSION FACTOR STB TEMP AND SAVE FLT FLOAT THE 2313 READING FMP TEMP,I MULTIPLY BY CONVERSION FACTOR STVLT DST VOLT,I STORE VOLTAGE IN ARRAY ISZ VOLT COMPUTE NEXT ISZ VOLT FLOATING POINT ADDRESS JMP CONV,I RETURN * OVRFL LDB .4 SET ERROR TO 4 STB ERR,I SZA IF INTEGER, JMP CONV,I EXIT * DLD =F1E37 RETURN POSITIVE SEZ,RSS OR NEGATIVE JSB ..FCM INFINITY FOR JMP STVLT READING SKP SKP *************************** DFCTR DEF FACTR+2 FACTR DEC .005,5E-6,1E-5,2E-5,4E-5 DEC 5E-5,1E-4,2E-4,4E-4 RBUF1 OCT 3 ---------------------------------- OCT 2 Q BUFFER DEF GCHN FOR LOW LEVEL RBUF2 OCT 5 --------- OCT 1 Q BUFFER DEF CHANL FOR HIGH LEVEL VOLT2 NOP ---------------------------------- * M7 DEC -7 .7 OCT 7 * GCHN NOP GAIN GAIN NOP BUFFER * SKP * "AISQF" PERFORMS ANALOG INPUT IN SEQUENTIAL ORDER. THE RESULTS * ARE CONVERTED TO FLOATING POINT VOLTS AND RETURNED IN A REAL ARRAY. * * CALLING SEQUENCE: * CALL AISQF(NUM2,CHAN,VOLT2,ERR1) * WHERE: NUM2 - NUMBER OF CHANNELS TO BE READ ( IF N<0 THEN * PERFORM PACED CONVERSION) * CHAN - STARTING CHANNEL OF SCAN (IF CHAN<0 THEN * PERFORMS NUM2 READINGS FROM CHANNEL -CHAN) * VOLT2 - REAL ARRAY FOR CONVERTED DATA * ERR - ERROR RETURN PARAMETER * BIT 0 = OVERFLOW ON AT LEAST ONE READING * BIT 1 = PACE ERROR ON AT LEAST ONE READING * AISQF NOP FOATING PT. SEQUENTIAL SCAN LDA AISQF FETCH RETURN ADDRESS CLB CLEAR FIXED POINT FLAG JMP SQSCN GO TO SEQUENTIAL SCAN * AISQW NOP FIXED PT. SEQUENTIAL SCAN LDA AISQW FETCH RETURN ADDRESS CLB,INB SET FIXED POINT FLAG * SQSCN JSB SETUP GO TO INITIALIZE ROUTINE * LDA CHAN,I SAVE START CHANNEL AS NXTSC STA SINGL SINGLE CHAN. FLAG SSA IF NEGATIVE CMA,INA MAKE POSITIVE JSB FCHN FETCH CHANNEL HARDWARE ADDRESS IOR DIGTZ FORM DIGITIZE COMMAND STA CHANL WORD AND SAVE IOR PACED OR IN PACE BIT SSB,RSS IF LOW LEVEL JMP LLSQ GO PROCESS LDB SINGL IF SINGLE CHANNEL SSB SCAN GO TO JMP HLSQR HIGH LEVEL EXEC CALL IOR =B160000 GENERATE SEQUENTIAL LDB ADRS COMMAND, SETTING CPB ADRS1 BIT 0 IF IOR .1 SINGLE ENDED SCAN * LDB REMCH LENGTH OF SCAN ADB CNTR IS THE SMALLER CMB,SSB,INB,RSS OF -CNTR CLB OR THE REMAINDER ADB REMCH OF THE CHANNELS STB NUM IN THIS ENTRY * HLSQR STA SEQ SAVE MODE * JSB EXEC **************************** DEF *+5 PERFORM DEF .2 HIGH DEF DMALU LEVEL DEF SBUF2 SCAN DEF .3 *********************** * SQCON AND =B200 CHECK FOR PROPER REMOTE SZA,RSS AND OR LOCAL OPERATION SZB,RSS JMP ERR2 ELSE, GIVE ERROR 2 * THE FOLLOWING INSTRUCTIONS CONVERT THE DATA JUST READ IN * TO FLOATING POINT AND UPDATE POINTERS "VOLT", AND "VOLT1" * TO POINT AT REMAINING STORAGE. LDA NUM FETCH # CHANNELS THIS SCAN CMA,INA NUMBER OF CHANNELS STA LOOPC READ FOR LOOP COUNTER * SQC1 LDB VOLT1,I FETCH NEXT READING JSB CONV CONVERT TO FLOATING POINT ISZ VOLT1 BUMP DATA ADDRESS ISZ LOOPC LAST CHANNEL JMP SQC1 NO - CONTINUE * SQC2 LDB NUM UPDATE -(NUMBER OF CHNLS) ADB CNTR REMAINING SSB,RSS IF CNTR=0 , END OF JMP ENTRY,I SCAN SO RETURN STB CNTR OTHERWISE SAVE LDA NUM COMPUTE NEW ADA SINGL START CHANNEL CMB,INB SAVE POSITIVE NUMBER OF STB NUM CHANNELS REMAINING JMP NXTSC GO TO NEXT SCAN * * LLSQ XOR =B160000 SET UP STA GCHN GAIN ENTRY XOR =B160000 RESTORE "A" TO DIGITIZE LDB SINGL IF NOT SINGLE SSB,RSS CHANNEL SCAN, IOR =B160000 CHANGE TO SEQUENTIAL STA SEQ AND SAVE SSB IF SINGLE CHANNEL SCAN JMP LLSQR GO PERFORM SCAN AND =B37 COMPUTE THE NUMBER CMA,INA OF CHANNELS REMAINING ADA .32 ON THE ADDRESSED ARS LOW LEVEL CARD ADA CNTR SCAN LENGTH CMA,SSA,INA IS EQUAL CLA TO THE SMALLEST OF ADA CNTR THE FOLLOWING: ADA REMCH 1. # CHNLS LEFT ON CARD CMA,SSA,INA,RSS CLA 2. # CHNLS LEFT IN SCAN ADA REMCH STA NUM 3. # CHNLS LEFT IN TABLE ENTRY * LLSQR JSB EXEC *********************** DEF *+5 PERFORM DEF .2 LOW DEF DMALU LEVEL DEF SBUF1 SCAN DEF .5 ************************ * JMP SQCON CONVERT DATA TO FLOATING VOLTS * SBUF1 OCT 3 ----------------------------- OCT 2 DEF GCHN SBUF2 OCT 3 OCT 1 SEMI-DYNAMIC BUFFER DEF CHANL FOR 2313 SCANS OCT 3 OCT 0 DEF SEQ .4 OCT 4 NUM NOP NUMBER OF READINGS VOLT1 NOP DATA STORAGE OCT 3 CLEAN OCT 1 UP OPERATION DEF DIGTZ TO RELEASE LL MPX * DIGTZ OCT 120000 M1 DEC -1 SKP * "PACER" SETS UP THE SYSTEM PACER, OR IF THE PACE RATE IS ZERO * TURNS OFF THE SYSTEM PACER. * * CALLING SEQUENCE: * * CALL PACER(RATE,MULT,MODE [,UNIT]) * WHERE: * RATE - BASIC PACER RATE (0 <= RATE <= 256) * MULT - DECADE MULTIPLIER TIMES THE BASIC 1 MICROSECOND * RATE ( 0 <= MULT <= 7 ) * MODE - EXTERNAL/START STOP MODE (BITS 11 AND 12 OF PACER * COMMAND WORD - SEE 12755A MANUAL) * UNIT - SUBSYSTEM NUMBER (OPTIONAL - ASSUMED 1) * RATE NOP MULT NOP MODE NOP UNIT1 NOP ERR4 NOP PACER NOP JSB .ENTR FETCH PARAMETER DEF RATE ADDRESSES CLA,INA PRESET ERROR TO 1 STA ERR4,I LDA PACER SAVE RETURN STA ENTRY ADDRESS LDB UNIT1 FETCH LOGICAL JSB FNDLU UNIT NUMBER * CLB CHECK ALL LDA RATE,I PARAMETERS ASR 5 FOR THE FOLLOWING IOR MULT,I LIMITS: ARS RATE 0 - 255 IOR MODE,I MODE 0 - 3 ARS,ARS MULT 0 - 7 SZA IF ANY PARAMETER OUT OF JMP ERR3. RANGE RETURN ERR=3 *P CLA,INA ASSUME ONE STA ENTNM WORD ENTRY LDB DCMD2 FETCH OUTPUT BUFFER ADDRESS LDA MODE,I IF MODE = 0 SZA,RSS AND RATE IS NOT 0 CPA RATE THEN GO TO GENERATE JMP NZMOD PACER COMMAND WORD ADB M1 ELSE, GENERATE A 10 MS DELAY INA BEFORE PROGRAMMED ISZ ENTNM RATE STARTS * NZMOD STB DEFBF STORE QUEUE BUFFER ADDRESS LSL 3 GENERATE IOR MULT,I PACER LSL 8 COMMAND IOR RATE,I WORD IOR =B60000 AND STA CMD2 SAVE * JSB EXEC ************************ DEF *+5 SET DEF .2 UP DEF LU PACER DEF QBUF DEF .1 ******************************* * AND =B200 CHECK FOR PROPER REMOTE SZA,RSS AND OR LOCAL SZB,RSS OPERATION ERR2. LDA .2 STA ERR4,I JMP ENTRY,I * ERR3. LDA .3 JMP ERR2.+1 * ERROR ROUTINES FOR 2313 INTERFACE * ERR2 - ERROR NUMBER 2 * ERR3 - ERROR NUMBER 3 ERR3 LDA .3 RSS ERR2 LDA .2 STA ERR,I JMP ENTRY,I * QBUF OCT 3 QUEUE BUFFER FOR PACER CALL ENTNM NOP DEFBF NOP DCMD2 DEF CMD2 OCT 61412 10 MS START IMMEDIATE CMD2 NOP SKP A EQU 0 B EQU 1 AIRD EQU AIRDW AISQ EQU AISQW NMCHN EQU AISQF CNTR EQU AISQW LU EQU AIRDW SINGL EQU AIRDF SEQ EQU GN1 CHANL EQU CHN2 REMCH EQU SGAIN .ADC EQU RATE ADRS EQU NORM ADRS1 EQU SETUP MCHN EQU ENTNM FIXPT EQU DEFBF TEMP EQU GCHN AFCTR EQU RGAIN .1 EQU RBUF2+1 .2 EQU RBUF1+1 .3 EQU RBUF1 .5 EQU RBUF2 PACED EQU CHN1 LOOPC EQU FCHN DMALU EQU PACER END