
/
/      PROCESS D...........OSCILLOSCOPE DISPLAY.
COMND5 0
       SZA
       JMP .+3
       DZM DISFLG 
       JMP* COMND5   /STOP DISPLAY
       LAC FSAM      /CALCULATE FIRST DISPLAY POINT
       JMS MUL
       LAC TDISP0
       DAC SAVE14
       LAC %MHIGH     /INTERCHANGE HIGH AND LOW FOR DIV
       JMS DIV
       LAC SAVE14
       LAC P1000
       DAC SAVE15     /SAVE RESULT
                       /CHECK IF IN RANGE
       CMA!IAC
       TAD NSAM
       SMA
       JMP .+4
       LAC MESS1     /NOT IN RANGE
       JMS ASPRT
       JMP* COMND5
                     /OK, STORE STARTING POINT
       LAC SAVE15
       DAC NDISP0
                      /CALCULATE NUMBER OF DISPLAY POINTS
       LAC FSAM
       JMS MUL
       LAC RDISP
       DAC SAVE14
       LAC %MHIGH
       JMS DIV
       LAC SAVE14
       LAC P100
       DAC NDISP1     /NUMBER OF DISPLAY POINTS
       TAD NDISP0     /ADD STARTING POINT
       DAC NDISP2     /STORE LAST POINT
                      /TEST IF SAMPLE RANGE EXCEEDED
       CMA!IAC
       TAD NSAM
       SMA
       JMP .+3
       LAC NSAM      /YES, THEN LAST POINT = NSAM
       DAC NDISP2
/
       CLA           /CALCULATE XINC
       JMS DIV
       LAC (777777
       LAC NDISP1
       DAC XINC
       LAC DMODE   / WHICH DISPLAY MODE?
       SZA
       JMP .+4
       701521      /DACY 2'S COMPLEMENT INITIALIZE
       701541      /DACX 2'S COMPLEMENT INITIALIZE
       JMP .+2
       701561      /UNSIGNED DAYX INITIALIZE
       LAC B4000   /INITIALIZE DISPLAY
       DAC XAXIS
       LAC NDISP0
       DAC NDISP
       TAD BUFADD
       DAC XADD
       CLA!IAC
       DAC DISFLG    /OK TO DISPLAY
       JMP* COMND5
TDISP0 0
RDISP  0
NDISP0 0
NDISP1 0
NDISP2 0
B7777  7777
P100   144
SAVE14 0
SAVE15 0
DISFLG 0
MESS1  MESS1+1
       .SIXBT "   STARTING POINT OUT OF RANGE@"
MUL=MULT
