User`s manual

1620 Header=BIT(Lower_word,0)*128+Rng
1630 Exp=BINAND(Header,7)
1640 ELSE
1650 Upper_word=READIO(-16,Base_addr+12)
1660 CALL Data_ready
1670 Lower_word=READIO(-16,Base_addr+12)
1680 Header=SHIFT(Upper_word,8)
1690 Count=65536.*BINAND(Upper_word,255)+2.*
SHIFT(Lower_word,1)
1700 Exp=BINAND(Header,7)
1710 IF Count>=8388608 THEN
1720 Count=(Count-16777216.)/8388608
1730 ELSE
1740 Count=Count/8388608
1750 END IF
1760 END IF
1770 IF Func=2 THEN
1780 Readings(I)=Count*256*8^(Exp)
1790 ELSE
1800 Readings(I)=Count*8^(Exp-1)
1810 END IF
1820 NEXT I
1830 PRINT Readings(*)
1840 SUBEND
1850 !
This subprogram resets the multimeter by disabling the SYSFAIL bit,
1860 !then writing a ’1’ to Control register bit 0, and then writing a ’0’ to
1870 !Control register bit 0. Once the reset completes, SYSFAIL is re-enabled.
1880 SUB Mm_reset
1890 Mm_reset: !
1900 COM Base_addr,Aper,Func,Rng
1910 WRITEIO -16,Base_addr+4;2
1920 WRITEIO -16,Base_addr+4;3
1930 WRITEIO -16,Base_addr+4;2
1940 REPEAT
1950 CALL Read_status(Status,Rdy,Done,Indardy,Qryrdy,Noerr,Pass_fail)
1960 UNTIL Pass_fail
1970 WRITEIO -16,Base_addr+4;0
1980 SUBEND
238 HP E1326B/E1411B Multimeter Register-Based Programming Appendix C