2 / VERSION 5A 4-27-77 PT
7 COMMZ #PAGE0 /STANDARD PAGE 0
9 0 /ALPHA REG FOR PDP-12
10 ENTRY #DISP /THIS IS SO #PAGE0 CAN BE LOADED
13 TAD BUFADR+2 /GET BUFFER ADDRESS
15 TAD DBFLD /SET UP CHANGABLE CDF
17 DBFLD, HLT /GO TO FIRST FIELD OF BUFFER
18 TAD PLTXR+4 /NUMBER OF POINTS
21 JMP ENDDL /BEGIN DISPLAY
22 DSPLUP, /START OF DISPLAY LOOP
24 TAD% BUFADR /GET X VALUE
25 6053 /LOAD X DISPLACEMENT
27 ISZ BUFADR /BUMP ADDRESS
31 6054 /LOAD Y DISPLACEMENT
33 ISZ BUFADR /INCR ADDRESS
36 6052 /SKIP ON BEAM POSITIONED
41 TAD% BUFADR /GET X DISPLACEMENT
42 DCAZ 17 /INTO ALPHA REG
43 ISZ BUFADR /INCREMENT ADDRESS
45 JMS BUMPF /INCREMENT DATA FIELD
46 TAD% BUFADR /GET Y DISPLACEMENT
52 ISZ BUFADR /INCR BUFFER POINTER
56 ENDDL, ISZ NPTS /INCREMENT COUNTER
59 JMP% DISPLY /RETURN TO IDLE Q
60 BUMPF, 0 /FIELD CHANGER
64 FLDDB, HLT /CHANGE IT NOW
66 PUTONQ, 0 /PUT DISPLY ONTO BACKROUND Q
67 TAD BUFADR+1 /CREATE CDF FOR DISPLAY LOOP
74 6050 /CLEAR DISPLAY LOGIC
84 JMP% PUTONQ /CALLED VIA TRAP4
135 FLDA% PLTBAS,1 /GET ARG ADDRESSES
142 FLDA% N /NUMBER OF POINTS TO PLOT
145 LDX -1,2 /XR 2 IS THE INDEXER
146 PLTLUP, JXN PLOOP,3+ /ANY MORE ROOM IN PLOT BUFFER ?
147 LDX -1,3 /NO, FIX COUNT
149 PLOOP, FLDA% Y,2+ /GET Y VALUE
150 FMUL YSCALE /SCALE IT
151 FSUB YZERO /SUBTRACT LOWER LIMIT
154 FLDA% X,2 /GET X VALUE OF PAIR
155 FMUL XSCALE /SCALE IT
156 FSUB XZERO /SUBTRACT LOWER LIMIT
159 FSTA XYPAIR,0 /XYPAIR+1,+2 CONTAINS THE POINT
160 FLDA XYPAIR /STORE THIS DOUBLE WORD INTO PLOT BUFFER
162 ADDX 1,4 /TROUBLE IS, WE WANT POST INCREMENT
164 JXN PLTLUP,1+ /LOOP IF MORE POINTS
169 FLDA 30 /GET RETURN ADDRESS
171 FLDA 0 /GET ARG POINTER
181 FLDA% PLTBAS,1 /GET ARG ADDRESSES
192 FLDA% N /NUMBER OF POINTS TO PLOT
195 LDX -1,2 /XR 2 IS THE INDEXER
196 PLOTRL, FLDA% Y,2+ /GET Y VALUE
197 FMUL YSCALE /SCALE IT
198 FSUB YZERO /SUBTRACT LOWER LIMIT
201 FLDA% X,2 /GET X VALUE OF PAIR
202 FMUL XSCALE /SCALE IT
203 FSUB XZERO /SUBTRACT LOWER LIMIT
206 FSTA XYPAIR,0 /XYPAIR+1,+2 CONTAINS THE POINT
207 FLDA XYPAIR /STORE THIS DOUBLE WORD INTO PLOT BUFFER
209 ADDX 1,5 /TROUBLE IS, WE WANT POST INCREMENT
211 JXN PLOTRL,1+ /LOOP IF MORE POINTS
216 LDX 0,4 /DISABLE DISPLAY LOOP
218 FLDA% PLTBAS,1 /GET ARG POINTERS
224 FLDA% N /SIZE OF BUFFER
225 FMUL L1P5 /NUMBER OF 2 WORD PAIRS
227 ATX 3 /INTO SOME CHOICE XRS
228 TRAP4 PUTONQ /PUTISPLY ONTO IDLE Q
230 \f SECT SCALE /SET SCALING FACTORS
234 FLDA% PLTBAS,1 /GET ARGS
243 FLDA% XHI /COMPUTE X RANGE
246 FLDA% YHI /NOW Y RANGE
249 FLDA RANGE /COMPUTE XSCALE
252 FLDA RANGE /NOW Y SCALE
255 FLDA% XLO /COMPUTE XZERO