.TITLE ADRMAP - AD15 RANDOM INPUT STATUS MAP. / / / 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. /W.A. DESIMONE /EDIT 002 11-18-71 / /CALLING SEQUENCE: CALL ADRMAP(ISTE,IG,ICH,IERR,IATM,IESYN,IMOV) / JMS* ADRMAP / JMP .+10 / ADDR OF INPUT STATUS / ADDR OF GAIN /1,2,4,OR 8 (10) / ADDR OF CHANNEL # /1 - 128(10) / ADDR OF ERROR PARAMETER /-1 RETURNED IF ERROR(BAD CHL OR GAIN). / /0 RETURNED IF NO ERROR. / ADDR OF ADD-TO-MEM. PARAM. /SET = NON-ZERO / ADDR OF EXT. SYNC. PARAM. /SET = NON-ZERO / ADDR OF MEM. OVFL. PARAM. /SET = ZERO. / NEXT INSTRUCTION. / /LAST THREE ARGUMENTS ARE OPTIONAL AND ASSUMED 0 IF NOT SPEC. / /ADRMAP(ISTE,IG,ICH,IERR,IATM,IESYN,IMOV) - MAP AD15 I/O PARAMETERS /INTO AD15 INPUT STATUS BIT ASSIGNMENTS AND RETURN AS ISTE. IF IERR /IS RETURNED NEG., ERROR IN IG OR ICH SPECIFIED. IATM,IESYN AND /IMOV ARGUMENTS ARE ASSUMED 0 IF NOT SPECIFIED. / .EJECT .GLOBL ADRMAP,.DA / ADRMAP 0 /SUBR. ENTRY. JMS* .DA JMP ARGEND STE 0 /ADDR OF INPUT STATUS ELEMENT. G 0 /ADDR. OF GAIN (1,2,4,OR 8) CH 0 /ADDR. OF CHANNEL # (1- 128) ERR 0 /ADDR. OF ERROR VAR. (NEG OF ERROR) ATM 0 /ADDR. OF ADD-TO-MEM. PARAM. (OPTIONAL) ESYN 0 /ADDR. OF EXT. SYNC. PARAM. (OPTIONAL) MOV 0 /ADDR. OF MEM. OVF. PARAM. (OPTIONAL) ARGEND LAC* G /CHECK GAIN FOR 1,2,4,OR 8. RETURN NEG SAD (1) /ERR VAL IF NOT ONE OF THESE. JMP G0 SAD (2) JMP G1 SAD (4) JMP G2 SAD (10) JMP G3 ADERR CLC DAC* ERR /SET USERS ERROR VAR. NEG. EXIT DZM ATM /INIT OPTIONAL ARGUMENTS DZM ESYN DZM MOV LAC (6000) /BITS 6,7 SET FOR DEFAULT(6=MEM. OVFL.,7=DCH MODE) DAC ISB JMP* ADRMAP /EXIT. /GAIN TABLE. GTB 0 /GAIN=1 200000 /GAIN=2 400000 /GAIN=4 600000 /GAIN=8 / /TEMP. STORAGE. GBP GTB /GAIN TABLE POINTER. TCH 0 /TEMP. FOR CHANNEL NO. ISB 6000 /TEMP. FOR INPUT STATUS BUILD. / G3 ISZ GBP /8 TO 3 MAPPING. G2 ISZ GBP /4 TO 2 MAPPING. G1 ISZ GBP /2 TO 1 MAPPING G0 LAC* GBP /1 TO 0 MAPPING. XOR ISB DAC ISB /BUILD INPUT STATUS LAC (GTB) /REINIT. POINTER TO GAIN TABLE. DAC GBP LAC* CH /GET CHANNEL # AND CHECK TO SEE IF VALID. AAC -1 /MINUS 1 FOR AD15 HARDWARE. DAC TCH /SAVE IN CASE OK. AND (776000) SZA /IF ZERO OK. (0-177(8)). JMP ADERR /ERROR. /GET PARAMETERS AND SET STE APPROP. FOR RETURN. LAC ATM /ADD TO MEM PARAM.? SNA JMP NP1 /NO. ASSUME OFF. GET NXT PARAM. LAC* ATM /YES. IF NON-ZERO, SET BIT 9. SZA LAC (400) /BIT 9. XOR ISB /BUILD INPUT STATUS AS WE GO. DAC ISB NP1 LAC ESYN /EXT. SYNC PARAM.? SNA JMP NP2 /NO. ASSUME OFF. GET NXT. PARAM. LAC* ESYN /YES. IF NON-ZERO,SET EXTERNAL. SZA LAC (1000) /BIT 8. XOR ISB DAC ISB NP2 LAC MOV /MEM. OVFL. PARAM.? SNA JMP NP3 /IF NOT SPEC.,ASSUME ENABLED. LAC* MOV /YES. IF NON-ZERO,DISABLE. SZA LAC (4000) /OR OFF BIT 6 NP3 XOR ISB XOR TCH /CHANNEL NO. DAC ISB DAC* STE /TO USER. JMP EXIT .END