.TITLE RBCD - READ BCD CONTACT SENSE MODULE. / / / FIRST PRINTING, FEBRUARY 1974 / / THE INFORMATION IN THIS DOCUMENT IS SUBJECT TO / CHANGE WITHOUT NOTICE AND SHOULD NOT BE CONSTRUED / AS A COMMITMENT BY DIGITAL EQUIPMENT CORPORATION. / DIGITAL EQUIPMENT CORPORATION ASSUMES NO RESPON- / SIBILITY FOR ANY ERRORS THAT MAY APPEAR IN THIS / DOCUMENT. / / THE SOFTWARE DESCRIBED IN THIS DOCUMENT IS FUR- / NISHED TO THE PURCHASER UNDER A LICENSE FOR USE ON / A SINGLE COMPUTER SYSTEM AND CAN BE COPIED (WITH / INCLUSION OF DIGITAL'S COPYRIGHT NOTICE) ONLY FOR / USE IN SUCH SYSTEM, EXCEPT AS MAY OTHERWISE BE PRO- / VIDED IN WRITING BY DIGITAL. / / DIGITAL EQUIPMENT CORPORATION ASSUMES NO RESPONSIBILITY / FOR THE USE OR RELIABILITY OF ITS SOFTWARE ON EQUIP- / MENT THAT IS NOT SUPPLIED BY DIGITAL. / / COPYRIGHT (C) 1974, BY DIGITAL EQUIPMENT CORPORATION / / .EJECT /COPYRIGHT 1971, DIGITAL EQUIPMENT CORP., MAYNARD, MASS. /EDIT 002 10-14-71 W.A. DESIMONE. /CALLING SEQUENCE: CALL RBCD(LUN,IMN,IMD,IEV) / JMS* RBCD / JMP .+5 /SUBR. RETURN. / ADDR OF LUN / ADDR OF MODULE NO. (LOWEST=1) / ADDR OF MODULE DATA (RETURNED IN BCD) / ADDR. OF EV. (OPTIONAL) / NEXT INSTRUCTION. / /RBCD(LUN,IMN,IMD,IEV) - READ INDICATED CONTACT SENSE MODULE (IMN) /VIA LOGICAL UNIT #=LUN. RETURN MODULE DATA IN BCD IN IMD. EV /ARGUMENT OPTIONAL. / /REGISTER DEFINITIONS* X10=10 /AUTO-INCR. 10. / .EJECT .GLOBL RBCD,.DA RBCD 0 /SUBR. ENTRY. JMS* .DA JMP ARGEND LUN 0 /ADDR. OF LUN. MN 0 /ADDR. OF MODULE NO. MD 0 /ADDR OF MODULE DATA. EV 0 /ADDR. OF EV. (OPTIONAL) ARGEND LAC* LUN /LUN TO CPB. DAC CPB2 LAC* MN /MODULE #-1 TO CPB. AAC -1 DAC CPB3 LAC (R) /LOCAL TO MODULE DATA ADDR. DAC CPB4 /TO CPB. LAC EV /EV ADDR. TO CPB. DAC CPB1 DAC CPBWF1 /ALSO TO WAITFOR CPB. CAL RD /READ CONTACT SENSE AND WAITFOR IN ORDER TO CAL WF /PROCESS. (DATA TO BCD). .EJECT LAC R /CONVERT DATA IN BITS 2-17 TO BCD. AND (17) /MASK LO DIGIT. DAC SUM /INIT. SUM FOR CONVERSION. LAW -3 /SET CNT. USE EV. CNT OVERFLOW WILL INIT. EV. DAC EV LAC (B10-1) /PTR. TO TABLE OF PLACE VALUES. DAC* (X10) /TO AUTO-INCR. 10. LOOP LAC R /GET NEXT DIGIT. LRS +4 DAC R /SAVE FOR NEXT ITER. AND (17) /MASK. DAC F1 /SET ONE FACTOR IN-LINE FOR MUL. LAC* X10 /GET PLACE VALUE AS OTHER FACTOR. CLL /CLEAR LINK FOR MUL. MUL /MULTIPLY. F1 XX /RESULT IN MQ. LACQ TAD SUM /BUILD SUM. DAC SUM /AAVE FOR NEXT INTER. ISZ EV /BUMP CNT. JMP LOOP /NOT DONE. LOOP. DAC* MD /TO CALLER. DONE. JMP* RBCD /EXIT .DEC B10 10 100 1000 .OCT /CAL PARAM. BLKS. / /READ CONTACT SENSE PARAM. BLK. RD 7400 /FUNCT. CODE. CPB1 0 /EV VAR. ADDR. CPB2 0 /LUN. CPB3 0 /MODULE # (LOWEST=0) CPB4 0 /MODULE DATA (BITS 2-17) / /WAITFOR CAL PARAM. BLK. WF 20 /FUNCTION CODE. CPBWF1 0 /EV ADDR. / /TEMPS. R 0 /FOR MODULE DATA. SUM 0 /SUM FOR BCD CONVERSION. .END