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? 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 *+5 DEF ERRCD DEF ERMSG DEF #ERRU DEF DVMSU JMP DVMSU,I ERMSG DEC 3 ASC 2,DVM END