Definition of Engineering Terms and Phrases
"A" "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M",
"N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z"

### HP Basic Programming Language

BASIC. Beginner's All-purpose Symbolic Instruction Code, a non-graphical programming language. While HP basic was their version of BASIC.
The code is an example of HP BASIC used to program over the IEEE-488 bus [from 1985].
The bus controller is an HP-85 Controller and the other device is an SD-350 spectrum analyzer.

The code configures buffers on the HP-85 [lines 40 to 70]. Then tells the SD-350 to take an FFT of the spectrum and transfer the data to the controller.
Line 80 assigns the SD-350 to address 705. This tell the controller that when it talks to the SD-350 to send address 705. Recall that the physical address of a device was set by DIP switches on the devices rear panel. The Output statements send commands to the SD-350 [address 705] registers. The statement is register address, 'comma', function [xxx,Y]. For example line 90 reads the size of the FFT. While line 130 reads the FFT data.

10     ! This is a comment
20     ! spectrum analyzer data transfer
30     ! set-up buffers to store data
40     DIM Buff\$[ 1600 ] BUFFER
50     DIM Buff1\$[ 1600 ] BUFFER
60     ASSIGN @Buff to BUFFER Buff\$
70     ASSIGN @Buff1 to BUFFER Buff1\$
80     ASSIGN @Sd350 to 705
90     OUTPUT @Sd350 USING "#,B";204
100    ENTER @Sd350 USING "#,B";X
110    S=2"(X-2)*50
120    X=0
130    OUTPUT @Sd350 USING "#,B";207,1
140    TRANSFER @Sd350 TO @Buff:COUNT S,WAIT
150    X=X+1
160    PRINT X," ",NUM(Buff\$[1]), NUM(Buff\$[2]),NUM(Buff\$[3])
170    OUTPUT @Sd350 USING "#,B":234,2
180    OUTPUT @Sd350 USING "#,B":234,0
190    OUTPUT @Sd350 USING "#,B":239,0
200    TRANSFER @Buff TO @Sd350; COUNT S,WAIT
210    OUTPUT @Sd350 USING "#,B":207,0
220    TRANSFER @Buff1 TO @Sd350; COUNT S,WAIT
230    CONTROL @Buff1,4:0
240    FOR I=1 TO S
250    IF NUM(Buff\$[I])<>NUM(Buff1\$[I]) THEN GOTO 200
260    NEXT I
270    GOTO 130
280    PRINT "FAILURE"
290    END

I was controlling a SD-350, among other test equipment, via an HP-85 Controller in a lab environment in mid 1985. However I really don't recall if I wrote this code or not. In any case the test gear involved was certainly retired long ago. So the code only serves as an example of a controller talking over the GPIB interface.