510OUTPUT Vxi_address;"STAT:OPER:ENAB 256"
520OUTPUT Vxi_address;"DIAG:INT:SET1 ON"
530OUTPUT Vxi_address;"DIAG:INT:ACT ON"
540!
550OUTPUT Vxi_address;"*OPC?"
560ENTER Vxi_address;Done
570!
580ON INTR 7 GOSUB Service
590ENABLE INTR 7;2
595! dav/edge int enable, port 0/1 select
600OUTPUT Vxi_address;"VXI:WRITE 128,4,96"
610!
620LOOP
630DISABLE INTR 7
635! get edge int status register
640OUTPUT Vxi_address;"VXI:READ? 128,6"
650ENTER Vxi_address;G
660OUTPUT Vxi_address;"VXI:READ? 128,8"! get dav status register
670ENTER Vxi_address;E
680ENABLE INTR 7;2
690Istat=BINAND(G,15)
700Dstat=BINAND(E,15)
710DISP "DAV Status Reg: ";Dstat,"EInt Status Reg: ";Istat
720END LOOP
730!
740Service: !
750DISABLE INTR 7
755! disable E1459A ints, port 0/1 select
760OUTPUT Vxi_address;"VXI:WRITE 128,4,0"
770!
780A=SPOLL(Vxi_address)
790OUTPUT Vxi_address;"STAT:OPER:EVEN?"
800ENTER Vxi_address;S_op
810OUTPUT Vxi_address;"DIAG:INT:RESP?"
820ENTER Vxi_address;R
830!
840REPEAT
850OUTPUT Vxi_address;"SYST:ERR?"
860ENTER Vxi_address;Ec,A$
870UNTIL Ec=0
880!
890N=N+1
900PRINT "Int #: ";N
910!
915! get dav status register
920OUTPUT Vxi_address;"VXI:READ? 128,8"
930ENTER Vxi_address;A
940!
950A=BINAND(A,15)
960PRINT "DAV Status: ";A
970!
975! get dav data register, port 0
980OUTPUT Vxi_address;"VXI:READ? 128,18"
990ENTER Vxi_address;A
1000 PRINT "DAV Data Reg Port 0: ";A
1010 !
1015 ! get pos edge register, port 0
1020 OUTPUT Vxi_address;"VXI:READ? 128,20"
100 HP E1459A Register Definitions