A large commit.
[pdp8.git] / sw / os8 / v3d / sources / fortran / dectapes / dectape2 / adc.ra
1 /
2 / VERSION 5A 4-27-77 PT
3 /
4 ADSK=6534
5 ADRB=6533
6 ADST=6532
7 ADLM=6531
8 ADCL=6530
9 SAM=100
10 LINC=6141
11 ESF=4
12 PDP=2
13 SECT8 ADC /AD SAMPLER (UNBUFFERED, UNCOLCKED)
14 BASE 0
15 STARTD
16 FLDA 0 /GET RETURN ADDRESS
17 FSTA ADCRET
18 FADD L2 /GET ADDR OF ARG POINTER
19 FSTA 0
20 FLDA% 0 /GET ADDR OF CHANNEL NUMBER
21 FSTA 0
22 STARTF
23 FLDA% 0 /GET THE CHANNEL NUMBER
24 ALN 0 /FIX IT
25 FSTA CHANEL /STORE IT FOR ADC8
26 TRAP4 ADC8 /GO TO PDP8 CODE TO DO THE SAMPLING
27 FLDA SAMPLE
28 FNORM /GET THE SAMPLE AND NORMALIZE IT
29 FDIV L511 /SCALE BETWEEN -1 AND +1
30 ADCRET, JA .
31 L2, 0;2
32 L511, F 511.
33 SAMPLE, 13;0;0
34 CHANEL, 0;0;0
35 ADC8, 0 /PDP8 MODE END OF ADC
36 IFSW 8 <
37 ADCL /CLEAR AD LOGIC
38 TAD CHANEL+2 /SET MULTIPLEXOR CHANNEL
39 ADLM
40 ADST /START CONVERSION
41 ADSK /WAIT FOR IT
42 JMP .-1
43 ADRB /READ CONVERTOR BUFFER>
44 IFNSW 8 <
45 TAD CHANEL+2 /CREATE FIRST SAM
46 TAD SAM0
47 DCA DOSAM
48 IOF
49 LINC /ENTER LINC MODE WITHOUT INTERRUPTS
50 ESF /DISABLE FAST SAM
51 DOSAM, 0
52 PDP
53 ION /BACK IN 8 MODE, TURN ON INTERRUPTS>
54 DCA SAMPLE+1 /SAVE SAMPLE
55 CIF CDF
56 JMP% ADC8
57 IFNSW 8 <
58 SAM0, SAM 0>
59 \f