File: XYPLOT.LS of Disk: V50/Source/Source-Listing-RALF-1
(Source file text) 


RALF V50A    8-APR-92    PAGE 1

            /PLOTTER ROUTINES FOR OS/8 FORTRAN 4
            /
            /
            / VERSION 50A 28-MAY-80 WVDM
            /
            /
                    FIELD1  PDPPLT
                    EXTERN  ONQI            /ALL THESE ROUTINES USE XRS
                    EXTERN  #DISMS          /TO GET ARGS FROM FPP CODE
                    BSW=7002                /OLD RALFY
                                            /ASSUMES USER ADDED 6502(CLEAR FLAG)
                                            /TO FRTS CLEAR QUEUE
00000 0000  INTST,  0                       /INIT PTRS + ADD JOB TO INTERRUPT QUEUE
00001 4266          JMS     MULTI8          /TEST IF UNDER MULTI8
00002 3651          DCA%    PBFCNT+1        /COUNTER FOR LOCN OF NEXT CHAR
00003 1261          TAD     PUBFMX+1        /TO PLOT
00004 7041          CIA
00005 1257          TAD     PUBFMN+1        /MAKE A COUNTER OF LENGTH
00006 3655          DCA%    PMBFLG+1        /RESET BUFFER POINTERS
00007 1257          TAD     PUBFMN+1
00010 3647          DCA%    OCHAR+1
00011 1257          TAD     PUBFMN+1
00012 3653          DCA%    ICHAR+1
00013 1263          TAD     DISMS+1
00014 3665          DCA%    PDISMS+1        /FOR HANG
00015 6507          6507                    /SET INTERRUPT ENABLE FOR 8/ES ONLY
00016 6211          CDF     10
00017 4644          JMS%    QPLDBL+1        /DO AN INITAL PEN UP
00020 4627  M8EX,   JMS%    VONQI+1         /ADD TO INTERRUPT QUEUE
00021 6501          6501
00022 0000          ADDR    INTPLT
00023 0736  
00024 6203          CIF CDF
00025 5600          JMP%    INTST
00026 0000  VONQI,  ADDR    ONQI
00027 0000  
                                            /THIS ROUTINE CALLED ONCE FOR EACH CALL
00030 0000  SETUP,  0                       /TO XYPLOT AND DOES INITIAL PEN UP OR DOWN
00031 1246          TAD     SETXR           /GET PEN STATE
00032 0245          AND     A3
00033 7110          CLL     RAR             /LOOK AT 3 BITS
00034 7440          SZA                     /SKIP IF 0
00035 7620          SNL     CLA
00036 7001          IAC                     /3=UP,0-2=DOWN
00037 7100          CLL
00040 4644          JMS%    QPLDBL+1
00041 6203          CDF CIF
00042 5630          JMP%     SETUP
            /
00043 0000  QPLDBL, ADDR    PLDBL
00044 0614  
00045 0003  A3,     3
            SETXR,  
00046 0000  OCHAR,  ADDR    POCHAR+1
00047 0664  
00050 0000  PBFCNT, ADDR    BUFCNT
RALF V50A    8-APR-92    PAGE 1-1

00051 0671  
00052 0000  ICHAR,  ADDR    PICHAR+1
00053 0670  
00054 0000  PMBFLG, ADDR    MBUFLG
00055 0673  
00056 0000  PUBFMN, ADDR    USBFMN
00057 0103  
00060 0000  PUBFMX, ADDR    USBFMX
00061 0173  
00062 0000  DISMS,  ADDR    #DISMS
00063 0000  
00064 0000  PDISMS, ADDR    DISPTR
00065 0630  
            /
00066 0000  MULTI8, 0                       /CHECK ON MULTI8
00067 6254          6254                    /SKIP ON MULTI8
00070 5275          JMP     M8RET
00071 1277          TAD     M8SKP           /KILL INTERRUPT PART
00072 3701          DCA%    XLIMOK+1
00073 1302          TAD     XM8JMP          /KILL ONQUEU
00074 3220          DCA     M8EX
00075 7240  M8RET,  CLA CMA                 /WAS IN INTST+1
00076 5666          JMP%    MULTI8
            /
00077 7410  M8SKP,  SKP
00100 0000  XLIMOK, ADDR    LIMOK
00101 0645  
00102 5224  XM8JMP, JMP     VONQI-2
00103 0000  USBFMN, ZBLOCK 70               /PLOTTING BUFFER
00173 0000  USBFMX, 0
RALF V50A    8-APR-92    PAGE 2

            
                    ORG     INTST+200
            /THESE ROUTINES GET THE PLOTTING CODES WITHIN A LETTER
            /PASS THEM AS X,Y PAIRS FOR PLOT ROUTINE
00200 0000  LEFT,   0
00201 4234          JMS     GETXYS          /GET A LEFT HAND X,Y PAIR
00202 7012          RTR
00203 7012          RTR
00204 7012          RTR
00205 4210          JMS     PASSXY
00206 6203          CDF     CIF
00207 5600          JMP%    LEFT
            /
00210 0000  PASSXY, 0
00211 3233          DCA     LETCD2          /SAVE XY PAIR
00212 1233          TAD     LETCD2
00213 7112          CLL     RTR
00214 7010          RAR                     /GET IN LO 3 BITS
00215 0230          AND     P7
00216 3232          DCA     LETCD1          /PASS X VALUE
00217 1233          TAD     LETCD2          /NOW FOR THE Y PART
00220 0230          AND     P7
00221 3233          DCA     LETCD2          /PASS THE Y VALUE
00222 5610          JMP%    PASSXY
            /
00223 0000  RIGHT,  0                       /GET A RIGHT HAND X,Y PAIR
00224 4234          JMS     GETXYS
00225 4210          JMS     PASSXY
00226 6203          CDF     CIF
00227 5623          JMP%    RIGHT
00230 0007  P7,     7
00231 0000  LETCOD, 0
00232 0000  LETCD1, 0
00233 0000  LETCD2, 0
RALF V50A    8-APR-92    PAGE 3

            
            /THIS RTN GETS XY PAIRS FROM THE PACKED SEQ FOR EACH LETTER
00234 0000  GETXYS, 0
00235 1231          TAD     LETCOD
00236 7100          CLL
00237 1255          TAD     LOCNPT          /START OF LETTER CODE
00240 3233          DCA     LETCD2          /UPDATE PTR TO LETTER
00241 7004          RAL                     /IF LINK SET,CROSSED FIELDS
                                            /SO UPDATE FIELD POINTER
00242 1254          TAD     LOCNFL          /FIELD PASSED FROM FINDIT RTN
00243 7106          CLL     RTL
00244 7004          RAL
00245 1253          TAD     CDFINS
00246 3247          DCA     NFLD
00247 0000  NFLD,   0                       /SET FIELD
00250 1633          TAD%    LETCD2          /GET PLOTTING CODES
00251 6211          CDF     10
00252 5634          JMP%    GETXYS
            /
00253 6201  CDFINS, 6201
00254 0000  LOCNFL, 0                       /FIELD
00255 0000  LOCNPT, 0
RALF V50A    8-APR-92    PAGE 4

            
            /HERES START OF TABLE FOR PDP-8ES
            /
00256 6503  OCT8BL, 6503    /PEN UP
00257 6505          6505    /PEN DOWN
00260 0040          40      /PEN R          /GEOM. OCTANT 1=CODED OCTANT 8
00261 0044          44                      /2=7,3=3,4=4,5=2,6=1,7=5,8=6
00262 0004          4       /DRUM UP
00263 0044          44
00264 0020          20      /PEN L
00265 0024          24
00266 0004          4       /DRUM UP
00267 0024          24
00270 0040          40      /PEN R
00271 0050          50
00272 0010          10      /DRUM D
00273 0050          50
00274 0020          20      /PEN L
00275 0030          30
00276 0010          10      /DRUM D
00277 0030          30
RALF V50A    8-APR-92    PAGE 5

            
            /FIGURE OUT IF A MAJOR MOVE OR MAJ+MINOR
00300 0000  FIGURE, 0                       
00301 7100          CLL
00302 1326          TAD     RATIO2
00303 1330          TAD     HOLD2
00304 3330          DCA     HOLD2           /ADD LO WORDS
00305 7004          RAL                     /CARRY LINK
00306 1325          TAD     RATIO1
00307 1327          TAD     HOLD1           /ADD HI WORDS
00310 3327          DCA     HOLD1
00311 7100          CLL
00312 1327          TAD     HOLD1
00313 7004          RAL                     /G.T. 1?
00314 7420          SNL
00315 5322          JMP     MAJONL          /NO-MAJOR MOVE ONLY
00316 7110          CLL RAR                 /PUT IT BACK-1
00317 3327          DCA     HOLD1
00320 7001          IAC
00321 5700          JMP%    FIGURE          /RETURN WITH AC=1
00322 7200  MAJONL, CLA
00323 5700          JMP%    FIGURE          /RETURN WITH 0 AC
            /
00324 0000  RATIO,  0                       /RATIO CALCULATED IN REALPT
00325 0000  RATIO1, 0
00326 0000  RATIO2, 0
00327 0000  HOLD1,  0
00330 0000  HOLD2,  0
            
00331 0000  SPCAS,  0                       /INITIALIZE HOLD1+2 TO A ROUNDING FUDGE
00332 3327          DCA     HOLD1
00333 1336          TAD     RFUDGE
00334 3330          DCA     HOLD2
00335 5731          JMP%    SPCAS
00336 1000  RFUDGE, 1000                    /TAKES CARE OF TRUNCATION ERRORS
RALF V50A    8-APR-92    PAGE 6

            
                    ORG LEFT+200
            /THESE ROUTINES DETERMINE THE START OF PLOTTING CODES FOR A CHAR
            /PASSED AS A HOLLERITH (6 BIT) FROM SYMBOL RTN.
            /FIND LOCN OF START OF PLOT VECTORS
            /FOR LEFT HALF OF 2 6BIT CHARACTERS
            /
            NXTLCN,
00400 0000  PLETPS, ADDR    LOCNPT          /POINTS TO START OF CODE FOR PASSED LETTER
00401 0255  
            /
            COUNT,                          /COUNT OF STEPS INTO CHAR PLOTTING CODE TABLE
00402 0000  PLCNM1, ADDR    LOCNFL          /USED TO PASS FIELD
00403 0254  
            /
00404 0000  TXTADR, 0
00405 0000          0
00406 0000          0                       /ADDRESS OF PACKED 6 BIT LETTERS TO PRINT
00407 0000  LETTER, 0
00410 0000  PSYMB,  ADDR    SYMTBL
00411 0000  
00412 0007  PP7,    7
            /
00413 0000  FINDLF, 0               
00414 1205          TAD     TXTADR+1        /DO FIELD STUFF
00415 0212          AND     PP7
00416 7106          CLL RTL
00417 7004          RAL
00420 1304          TAD     CDF
00421 3222          DCA     DOCDF
00422 7000  DOCDF,  NOP
00423 1606          TAD%    TXTADR+2        /GET 2 6-BIT VALUES
00424 6211          CDF     10
00425 3207          DCA     LETTER
00426 1207          TAD     LETTER          /MOVE LEFT CHAR
00427 7002          BSW
00430 0301          AND     P77             /INTO RIGHTMOST 6 BITS
00431 4237          JMS     FINDIT
00432 2206          ISZ     TXTADR+2        /PREPARE FOR NEXT CHAR TO LEFT
00433 5235          JMP     FLDOK           /IF SKIPS,THEN AT FIELD BOUNDARY
00434 2205          ISZ     TXTADR+1        /SO UPDATE FIELD ALSO
00435 6203  FLDOK,  CDF CIF
00436 5613          JMP%    FINDLF
RALF V50A    8-APR-92    PAGE 7

            
00437 0000  FINDIT, 0                       /GET LOCN OF LETTER IN SYMBOL TABLE
00440 7550          SPA     SNA             /CHECK FOR 0
00441 1300          TAD     P40             /WHICH DEFAULTS TO SPACE
00442 7141          CIA     CLL             /MAKE A COUNTER
00443 3204          DCA     TXTADR
00444 3202          DCA     COUNT           /ZERO TOTAL STEP COUNTER
00445 1303          TAD     PTRTBL+1
00446 3200          DCA     NXTLCN          /POINTS TO LOCN IN POINTER TABLE
00447 1302          TAD     PTRTBL          /THIS TBL HAS STEPS FOR EACH LETTER,
00450 7106          CLL RTL                 /SO COUNT TOTAL STEPS TO DESIRED LETTER
00451 7004          RAL
00452 1304          TAD CDF
00453 3254          DCA     SCANTB
00454 7000  SCANTB, NOP
00455 1600          TAD%    NXTLCN          /GET NEXT STEP COUNT
00456 6211          CDF     10
00457 1202          TAD     COUNT           /AND ADD IT TO TOTAL STEP COUNT
00460 3202          DCA     COUNT
00461 2200          ISZ     NXTLCN          /BUMP POINTER
00462 7410          SKP                     /SKIP IF DIDN'T CROSS BOUNDARIES
00463 1305          TAD     P10             /IT DID.UPDATE FIELD WORD
00464 1254          TAD     SCANTB
00465 3254          DCA     SCANTB
00466 2204          ISZ     TXTADR
00467 5254          JMP     SCANTB          /NOT THERE YET
00470 7100          CLL
00471 1202          TAD     COUNT           /ADD COUNT TO
00472 1211          TAD     PSYMB+1         /START OF CODE TABLE
00473 3601          DCA%    PLETPS+1        /NOW ITS CORRECT PTR
00474 7004          RAL                     /IF LINK SET,CROSSED FLD BOUNDS
00475 1210          TAD     PSYMB           /GET FIELD OF TABLE
00476 3603          DCA%    PLCNM1+1        /PASS IT
00477 5637          JMP%    FINDIT          /GOT THE LETTER
            /
00500 0040  P40,    40
00501 0077  P77,    77
00502 0000  PTRTBL, ADDR    SYMCNT
00503 0552  
00504 6201  CDF,    6201
00505 0010  P10,    10
RALF V50A    8-APR-92    PAGE 8

            
00506 0000  FINDRT, 0
00507 1207          TAD     LETTER          /LEFT FROM LAST LEFT LETTER
00510 0301          AND     P77
00511 4237          JMS     FINDIT
00512 6203          CDF CIF
00513 5706          JMP%    FINDRT
            /
00514 0000  PASNUM, 0               /ROUTINE TO HANDLE NUMBERS FROM FORTRAN SUBR NUMBER
00515 1204          TAD     TXTADR          /NOT CALLED BY USER DIRECTLY
00516 7001          IAC
00517 7450          SNA
00520 5327          JMP USZRO               /IF EQ -1, USE 0
00521 1372          TAD     T2
00522 7510          SPA                     /L.T. -3 BAD
00523 5327          JMP     USZRO           /SO USE 0
00524 1371          TAD     M15
00525 7710          SPA CLA                 /G.T. 9 BAD TOO
00526 5334          JMP     USEIT           /IT'S -3,-2,0-9
00527 7200  USZRO,  CLA
00530 1370  INDEX,  TAD     P60             /INDEX INTO TABLE
00531 4237          JMS     FINDIT
00532 6203          CDF CIF
00533 5714          JMP%    PASNUM
00534 1204  USEIT,  TAD     TXTADR
00535 5330          JMP     INDEX
            /
00536 0000  PASINT, 0                       /PLOT AN INTEGER EQUIV OR CENTERED
00537 1204          TAD     TXTADR          /(100-117 DEC = 144-165 OCT)
00540 7550          SPA SNA                 /L.T. 0 NO GOOD
00541 5357          JMP     USSPAC
00542 1367          TAD     M166            /G.T. 117 DEC. BAD
00543 7500          SMA 
00544 5357          JMP     USSPAC
00545 1365          TAD     A22
00546 7500          SMA
00547 5362          JMP     OKVAL           /ITS A CENTERED 100-121 (144-165)
00550 1366          TAD     P44
00551 7700          SMA     CLA
00552 5357          JMP     USSPAC          /64-99 DEC (100-143 OCT) ILLEGAL
00553 1204          TAD     TXTADR
00554 4237  ACHAR,  JMS     FINDIT
00555 6203          CDF CIF
00556 5736          JMP%    PASINT
            /
00557 7200  USSPAC, CLA 
00560 1300          TAD     P40             /DEFAULT TO SPACE
00561 5354          JMP     ACHAR
            /
00562 1364  OKVAL,  TAD     P100            /PASS CENTEREDS AS 100-121
00563 5354          JMP     ACHAR
            /
00564 0100  P100,   100
00565 0022  A22,    22
00566 0044  P44,    44
00567 7612  M166,   -166
RALF V50A    8-APR-92    PAGE 8-1

00570 0060  P60,    60
00571 7763  M15,    -15
00572 0002  T2,     2
RALF V50A    8-APR-92    PAGE 9

            
                    ORG NXTLCN+200
                    EXTERN  #HANG
            /
00600 0000  NINPLT, 0                       /NON-INTERRUPT TIME PLOT RTN
00601 4662          JMS%    PSPCAS+1        /PREPARE FOR OCTANT CHECK
00602 2260  MORE,   ISZ     STP2            /INC LOW ORDER COUNT
00603 5210          JMP     ANOTHR          /1 STEP
00604 2257          ISZ     STP1            /ANY HIGH ORDER ?
00605 5210          JMP     ANOTHR          /DO ANOTHER STEP
00606 6203  DONE,   CDF CIF                 /ALL DONE WITH THIS VECTOR
00607 5600          JMP%    NINPLT
            /
00610 4676  ANOTHR, JMS%    PFIGUR+1        /TO FIGURE OUT IF MAJ OR DIAG
00611 1255          TAD     PDPXR           /RETURNS WITH 0 IF MAJ ONLY,
00612 4214          JMS     PLDBL           /1 IF MAJ + MINOR OCTANT
00613 5202          JMP     MORE
            /
00614 0000  PLDBL,  0                       /DO 1 STEP
00615 1272          TAD     POCTBL+1        /START OF VECTOR TABLE
00616 3277          DCA     PLTVCT          /SAVE PTR TO PROPER PLOT VECTOR
00617 6212          CIF     10
00620 1271          TAD     BUFCNT          /GET NUM CHARS IN BUF -1
00621 1273          TAD     MBUFLG          /AND MINUS LENGTH
00622 7100          CLL
00623 7710          SPA     CLA
00624 5232          JMP     ISROOM          /STILL ROOM IN BUFFER
00625 6002          IOF                     /NO ROOM YET. GO TO HANG
00626 6202          CIF     0
00627 4666          JMS%    PHANG+1
00630 0000  DISPTR, 0
00631 6001          ION                     /HANG LEAVES INTERRUPTS OFF
00632 1677  ISROOM, TAD%    PLTVCT          /NOW GET THE VECTOR
00633 3670          DCA%    PICHAR+1        /INTO BUFFER
00634 2270          ISZ     PICHAR+1        /UPDATE LOCN
00635 1270          TAD     PICHAR+1
00636 7041          CIA
00637 1300          TAD PBMX+1              /ARE WE OVERFLOWING MAX LOCN OF BUFFER?
00640 7100          CLL
00641 7700          SMA     CLA             /PAST END?
00642 5245          JMP     LIMOK           /NO
00643 1274          TAD     PBMN+1          /YES-RESET TO BOTTOM
00644 3270          DCA     PICHAR+1
00645 2271  LIMOK,  ISZ     BUFCNT          /UPDATE CHAR COUNT,IF EMPTY WAS -1,SO NOW 0
00646 5614          JMP%    PLDBL           /WASNT EMPTY-CANT START TO PLOT
00647 5301          JMP OUTSUB              /WAS EMPTY, BUMP PLOTTER
RALF V50A    8-APR-92    PAGE 10

            
00650 0000  PENOP,  0       
00651 1255          TAD     PDPXR           /USE AS INDEX INTO OPCODE TBL
00652 4214          JMS     PLDBL
00653 6203          CDF CIF
00654 5650          JMP%    PENOP
            /
00655 0000  PDPXR,  0
            /
00656 0000  TOTSTP, 0
00657 0000  STP1,   0
00660 0000  STP2,   0                       /TOTSTP,STP1,STP2 TOGETHER!
            /
00661 0000  PSPCAS, ADDR    SPCAS
00662 0331  
00663 0000  POCHAR, ADDR    USBFMN
00664 0103  
            /
            INTFLG,                         /HANG ALWAYS FIELD 0
00665 0000  PHANG,  ADDR    #HANG
00666 0000  
00667 0000  PICHAR, ADDR    USBFMN
00670 0103  
            /
            BUFCNT, 
00671 0000  POCTBL, ADDR    OCT8BL
00672 0256  
            /
            MBUFLG, 
00673 0000  PBMN,   ADDR    USBFMN
00674 0103  
00675 0000  PFIGUR, ADDR    FIGURE
00676 0300  
            /
            PLTVCT,
00677 0000  PBMX,   ADDR    USBFMX
00700 0173  
RALF V50A    8-APR-92    PAGE 11

            
00701 7200  OUTSUB, CLA     
00702 1664          TAD%    POCHAR+1        /GET NEXT LINE TO PLOT
00703 3321          DCA     QTEMP5          /SAVE ACTUAL VECTOR FOR A SECOND
00704 2264          ISZ     POCHAR+1
00705 1264          TAD     POCHAR+1
00706 7041          CIA
00707 1300          TAD PBMX+1              /CHECK THAT OUTPUT DOESNT OVERFLOW BUFFER
00710 7100          CLL
00711 7700          SMA     CLA             /WILL IT?
00712 5315          JMP     CLRFLG          /NO
00713 1274          TAD     PBMN+1          /YES
00714 3264          DCA     POCHAR+1        /RESET  IT
00715 6502  CLRFLG, 6502
00716 1321          TAD     QTEMP5          /GET VARIABLE
00717 7700          SMA CLA
00720 5332          JMP     NOPEN           /REAL PLOTTING
00721 7000  QTEMP5, NOP                     /DIRECT IOT OR AC COMMAND
00722 1265  OUTCHK, TAD     INTFLG
00723 7650          SNA CLA                 
00724 5614          JMP%    PLDBL           /DONE FOR NON-INTERRUPT
00725 3265          DCA     INTFLG          /INT MODE. CLEAR FLAG
00726 6203          CDF CIF 0
00727 5731          JMP%    XDISMS+1
            /
00730 0000  XDISMS, ADDR    #DISMS
00731 0000  
            /
00732 1321  NOPEN,  TAD     QTEMP5          /ITS AN 8E
00733 6506          6506                    /SEND A CHAR
00734 7200          CLA
00735 5322          JMP      OUTCHK         /RETURN
RALF V50A    8-APR-92    PAGE 12

            
00736 0000  INTPLT, 0                       /HERE ONLY IF FLAG SET
00737 7240          CLA     CMA     
00740 1271          TAD     BUFCNT          /DECREMENT BUFFER COUNTER
00741 7510          SPA
00742 5347          JMP     EMPTY
00743 3271          DCA     BUFCNT
00744 2265          ISZ     INTFLG          /SHOULD NEVER SKIP
00745 7000          NOP
00746 5301          JMP     OUTSUB  
00747 7240  EMPTY,  CLA CMA
00750 3271          DCA     BUFCNT          /INITIALIZE BUFFER CNT-1
00751 6502          6502                    /CLEAR
00752 5736          JMP%    INTPLT          /EXIT IN FLD 1
            /
00753 0000  DONECK, 0                       /BE SURE BUFFER EMPTY BEFORE EXITING
00754 7200          CLA
00755 4214          JMS     PLDBL           /DO A FINAL PEN UP
00756 1271  WAIT,   TAD     BUFCNT
00757 7700          SMA     CLA
00760 5356          JMP     WAIT            /STILL MORE TO DO
00761 6500          6500                    /CLEAR INTERRUPT ENABLE FOR 8/ES
00762 6203          CIF     CDF             /ALL EMPTY
00763 5753          JMP%    DONECK
RALF V50A    8-APR-92    PAGE 13

            
                    SECT    XYPLOT
00000 1030          JA      STNOW           
00001 0231  
            /
00002 1030  #PLSTR, JA      .               /HERES THE INITIALIZATION ROUTINE
00003 0002  
00004 1030          JA      #XPLOT          /STANDARD CALLING SEQUENCE.
00005 0213  
00006 3031          TEXT    +XYPLOT+        /SHARED BY ALL SUBROUTINES
00007 2014  
00010 1724  
00011 1100  PLOTXR, SETX    XRPLOT
00012 0020  
00013 1110          SETB    BPPLOT
00014 0015  
00015 0040  BPPLOT, FNOP
00016 0000          0
00017 0000          0
00020 0000  XRPLOT, 0                       /MULTI PURPOSE XRS
00021 0000  XR1,    0       
00022 0000  XR2,    0       
00023 0000  TERM2,  0
00024 0000  XR4,    0
00025 0000  XR5,    0
00026 0000  YPT,    F 0.                    /VALUE ACTUALLY PLOTTED
00027 0000  
00030 0000  
00031 0000  XPT,    F 0.
00032 0000  
00033 0000  
00034 0000  TERM1,  F 0.                    
00035 0000  
00036 0000  
00037 0000  ARG1,   F 0.
00040 0000  
00041 0000  
00042 0000  YDIFF,  F 0.                    /PEN VALUE
00043 0000  
00044 0000  
                    ORG 10*3+BPPLOT
00045 0040          FNOP
00046 1030          JA      PLOTXR
00047 0011  
00050 0000          0
00051 1030  PLTRTN, JA      .
00052 0051  
            /
00053 0000  MAJOR,  F 0.                    /HORIZONTAL AXIS MOVE
00054 0000  
00055 0000  
00056 0000  MINOR,  F 0.                    /DIAGONAL AXIS MOVE
00057 0000  
00060 0000  
00061 0000  XOLD,   F 0.                    /OLD X PT
00062 0000  
RALF V50A    8-APR-92    PAGE 13-1

00063 0000  
00064 0000  YOLD,   F 0.                    /OLD Y PT
00065 0000  
00066 0000  
00067 0000  PENCM,  F 0.                    /OLD PEN STATUS
00070 0000  
00071 0000  
00072 7772  INCR,   F .01                   /INCREMENT-DEPENDENT ON EACH PLOTTER
00073 2436  
00074 5605  
00075 0001  FACTC,  F 1.                    /FACTOR SET TO 1 INITIALLY
00076 2000  
00077 0000  
00100 0000  XACT,   F 0.
00101 0000  
00102 0000  
00103 0000  YACT,   F 0.                    /HOLDS X,Y VALUES TYPED IN
00104 0000  
00105 0000  
00106 0000  XDIFF,  F 0.                    /DELTA X
00107 0000  
00110 0000  
00111 0001  P1,     F 1.
00112 2000  
00113 0000  
00114 0002  PF2,    F 2.
00115 2000  
00116 0000  
00117 0002  P3,     F 3.
00120 3000  
00121 0000  
00122 0003  P4,     F 4.
00123 2000  
00124 0000  
00125 0003  PF7,    F 7.
00126 3400  
00127 0000  
00130 0000  PT5,    F .5
00131 2000  
00132 0000  
00133 0000  PORS,   F 0.                    /=1 IF ENTERED FROM SYMBOL RTN
00134 0000  
00135 0000  
00136 0000  ONCE,   F 0.                    /SO GO THRU PLOTS ONLY ONCE
00137 0000  
00140 0000  
00141 0000  XCHRPT, F 0.                    /X,Y VALUES FROM PDP TABLES
00142 0000  
00143 0000  
00144 0000  YCHRPT, F 0.
00145 0000  
00146 0000  
00147 0000  NUMENT, F 0.                    /INDICATES ENTRY FROM NUMBER SUBRTN
00150 0000  
00151 0000  
00152 0000  COSANG, F 0.
RALF V50A    8-APR-92    PAGE 13-2

00153 0000  
00154 0000  
00155 0000  SINANG, F 0.
00156 0000  
00157 0000  
00160 7773  DEGRAD, F 0.017453293           /RADIANS TO DEGRRES
00161 2167  
00162 6432  
00163 0007  F100,   F 100.
00164 3100  
00165 0000  
00166 0000  XREAL,  F 0.                    /FOR ORIGIN + WHERE RTN
00167 0000  
00170 0000  
00171 0000  YREAL,  F 0.
00172 0000  
00173 0000  
00174 0000  CENTSY, F 0.                    /CENTERED SYMBOL INDICATOR      
00175 0000  
00176 0000  
00177 0000  NUMSYM, F 0.                    /NO. OF CHARS TO PLOT
00200 0000  
00201 0000  
00202 0000  ANGADJ, F 0.
00203 0000  
00204 0000  
            /
00205 0000          0
00206 1030  SYMSTR, JA      .               /SYMBOL ENTRY
00207 0206  
00210 1030          JA      SYMST           /NEEDED TO PICK UP 2 WORD ADDRESS
00211 0506  
00212 0000          0
            /
                    BASE 0
00213 0006  #XPLOT, STARTD
00214 0210          FLDA    10*3            /SAVE CALLER'S NEXT LOCN
00215 6400          FSTA    PLTRTN
00216 0051  
00217 0200          FLDA    0
00220 1100          SETX    XRPLOT          /GET POINTER TO START OF CALLER'S ARG LIST
00221 0020  
00222 1110          SETB    BPPLOT
00223 0015  
                    BASE    BPPLOT
00224 0101          LDX     1,1
00225 0001  
00226 6206          FSTA    ARG1
00227 1030          JA      #PLSTR
00230 0002  
            /
00231 1120  STNOW,  JSA     #PLSTR          /XYPLOT ENTRY
00232 0002  
00233 0616  SYMENT, FLDA%   ARG1,1
00234 6204          FSTA    XPT
00235 0716          FLDA%   ARG1,1+
RALF V50A    8-APR-92    PAGE 13-3

00236 6203          FSTA    YPT
00237 0716          FLDA%   ARG1,1+
00240 6207          FSTA    YDIFF           /VALUE OF PEN
00241 0005          STARTF
00242 0604          FLDA%   XPT             /X POINT
00243 3217          FDIV    INCR            /ALL INTERNAL CALCULATIONS DONE
00244 1120          JSA     MAKINT          /IN TERMS OF PLOTTING INTERVALS,
00245 0321  
00246 6221          FSTA    XACT            /HENCE INTEGERS SO INTEGERIZE IT
00247 4220          FMUL    FACTC
00250 1120          JSA     MAKINT
00251 0321  
00252 6204          FSTA    XPT             /WITH EFFECT OF FACTOR
00253 0603          FLDA%   YPT
00254 3217          FDIV    INCR
00255 1120          JSA     MAKINT
00256 0321  
00257 6222          FSTA    YACT
00260 4220          FMUL    FACTC
00261 1120          JSA     MAKINT
00262 0321  
00263 6203          FSTA    YPT             /WITH EFFECT OF FACTOR
00264 0607          FLDA%   YDIFF           /2=DOWN,3=UP;NEG=NEW ORG
00265 6216          FSTA    PENCM
00266 1010          JGE     MORPEN
00267 0271  
00270 0003          FNEG                    /ABS VALUE
00271 1120  MORPEN, JSA     MAKINT  
00272 0321  
00273 1100  TRYAGN, SETX    SETXR
00274 0046  
00275 0020          ATX     0               /ABS VALUE PEN
00276 0030          XTA     0               /FOR THE FPP SIMULATOR
00277 1100          SETX    XRPLOT
00300 0020  
00301 2226          FSUB    P3              /PASS ONLY 0-3
00302 1020          JLE     ALEGAL          /GOOD BOY
00303 0307  
00304 0002          FCLA
00305 1030          JA      TRYAGN          /OTHERWISE,YOU GET A 0
00306 0273  
            /
00307 4000  ALEGAL, TRAP4   SETUP
00310 0030  
00311 0220          FLDA    FACTC           /LOAD NEWEST FACTOR 1 INITIALLY
00312 4214          FMUL    XOLD            /UPDATE INITIAL X
00313 6214          FSTA    XOLD
00314 0220          FLDA    FACTC
00315 4215          FMUL    YOLD            /AND Y
00316 6215          FSTA    YOLD
00317 1030          JA      REALPT          /GO DO ALL THE PLOTTING
00320 0333  
            /
00321 1030  MAKINT, JA      .               /FOR ALL THOSE INTEGERIZATIONS REQUIRED
00322 0321  
00323 1231          FADD    PT5             /ROUND THE VALUE
RALF V50A    8-APR-92    PAGE 13-4

00324 0010          ALN     0               /GET RID OF FRACTIONAL PART
00325 0004          FNORM                   /NORMALIZE IT FOR OTHER FPP OPERATIONS
00326 1030          JA      MAKINT
00327 0321  
RALF V50A    8-APR-92    PAGE 14

            
            /HERES THE CALCULATING PART OF PLOT ROUTINES
00330 0002  PRERL1, FCLA
00331 1030  PREREL, JA      .               /RTN USED AS SUBRTN 
00332 0331  
00333 0204  REALPT, FLDA    XPT             /AND JA'D TO
00334 2214          FSUB    XOLD            /COMPARE NEW X AND OLD
00335 6223          FSTA    XDIFF
00336 1010          JGE     ABSDX
00337 0341  
00340 0003          FNEG
00341 6205  ABSDX,  FSTA    TERM1           /ABS DELTA X
00342 0203          FLDA    YPT
00343 2215          FSUB    YOLD            /SAME FOR Y PTS
00344 6207          FSTA    YDIFF
00345 1020          JLE     DELXY           
00346 0350  
00347 0003          FNEG
00350 1205  DELXY,  FADD    TERM1           /DX-DY
00351 6205          FSTA    TERM1           /DETERMINE OCTANT + MAJOR AXIS
00352 1060          JGT     XMAJ
00353 0362  
00354 0207          FLDA    YDIFF           /Y AXIS IS MAJOR
00355 6212          FSTA    MAJOR   
00356 0223          FLDA    XDIFF           
00357 6213          FSTA    MINOR
00360 1030          JA      KNOWOC
00361 0366  
            /
00362 0223  XMAJ,   FLDA    XDIFF           /X AXIS MAJOR
00363 6212          FSTA    MAJOR
00364 0207          FLDA    YDIFF
00365 6213          FSTA    MINOR
00366 0101  KNOWOC, LDX     2,1             /2*OCTANT VALUE COLLECTED IN XR1
00367 0002  
00370 0223          FLDA    XDIFF           /USES A SPECIAL (NON-SEQUENTIAL) ORDERING
00371 1020          JLE     .+4
00372 0375  
00373 0111          ADDX    10,1
00374 0010  
00375 0207          FLDA    YDIFF
00376 1020          JLE     .+4
00377 0402  
00400 0111          ADDX    4,1
00401 0004  
00402 0205          FLDA    TERM1
00403 1020          JLE     .+4
00404 0407  
00405 0111          ADDX    2,1             /KEEP IT IN XR1
00406 0002  
00407 0102          LDX     0,2     
00410 0000  
00411 0212          FLDA    MAJOR           /GET MAJOR MOVE
00412 1050          JLT     NEGMAJ          /NEED NEG VALUE
00413 0420  
00414 1000          JEQ     NOTHIN          /IF NO MAJOR MOVES,THEN NO MOVES
RALF V50A    8-APR-92    PAGE 14-1

00415 0450  
00416 0003          FNEG
00417 6212          FSTA    MAJOR           /NOW NEG VALUE
00420 2224  NEGMAJ, FSUB    P1              /-1 FOR FOR NULL SKIP
00421 1120          JSA     MAKINT
00422 0321  
00423 0010          ALN     0               /RIGTH JUSTIFY
00424 6400          FSTA    TOTSTP          /PASS THIS TO PDP CODE STP1,STP2
00425 0656  
00426 0213          FLDA    MINOR           /USE 2 WORD RATIO TO DET SEQ OF MOVES
00427 1060          JGT     POSMIN          /ABS VALUE
00430 0434  
00431 1000          JEQ     ZROCAS  
00432 0436  
00433 0003          FNEG
00434 3212  POSMIN, FDIV    MAJOR           /FORM RATIO OF MINOR TO MAJOR MOVES
00435 0012          ALN     2       
00436 6400  ZROCAS, FSTA    RATIO           /DOWN TO PDP CODE
00437 0324  
00440 0031          XTA     1               /GET 2*OCTANT
00441 1100          SETX    PDPXR
00442 0655  
00443 0020          ATX     0
00444 1100          SETX    XRPLOT
00445 0020  
00446 4000          TRAP4   NINPLT
00447 0600  
RALF V50A    8-APR-92    PAGE 15

            
00450 0232  NOTHIN, FLDA    PORS
00451 1000          JEQ     REGPLT          /0 MEANS WAS FROM XYPLOT
00452 0463  
00453 1050          JLT     SYMSET          /WAS A MOVE IN SYMBOL
00454 0474  
00455 0002          FCLA                    /IS 1ST MOVE IN SYMBOL (0 ORG)
00456 6214          FSTA    XOLD
00457 6215          FSTA    YOLD
00460 6232          FSTA    PORS
00461 1030          JA      SYMSTR
00462 0206  
            /
00463 0216  REGPLT, FLDA    PENCM
00464 1050          JLT     ZEROLD          /NEG MEANS ZERO THE ORG
00465 0502  
00466 0221          FLDA    XACT            /SET X AND Y FOR NEXT MOVE
00467 6214          FSTA    XOLD            /TO START AT END OF THIS MOVE
00470 0222          FLDA    YACT
00471 6215  YS,     FSTA    YOLD
00472 1030          JA      PLTRTN
00473 0051  
            /
00474 0204  SYMSET, FLDA    XPT             /CONT FROM CURRENT POINT
00475 6214          FSTA    XOLD
00476 0203          FLDA    YPT
00477 6215          FSTA    YOLD
00500 1030          JA      PRERL1
00501 0330  
            /
00502 0002  ZEROLD, FCLA
00503 6214          FSTA    XOLD
00504 1030          JA      YS
00505 0471  
            /
                    ENTRY   SYMSTR
00506 0006  SYMST,  STARTD                  /USED BY SYMBOL FOR ORIGIN PLOT
00507 0250          FLDA    SYMSTR          /GET START OF ARG CHAIN
00510 6206          FSTA    ARG1
00511 0101          LDX     1,1
00512 0001  
00513 0005          STARTF
00514 0224          FLDA    P1
00515 6232          FSTA    PORS            /SET THE "FROM SYMBOL" INDICATOR
00516 0006          STARTD
00517 1030          JA      SYMENT
00520 0233  
RALF V50A    8-APR-92    PAGE 16

            
                    ENTRY   WHERE           /WITHOUT EFFECT OF FACTOR
00521 1120  WHERE,  JSA     #PLSTR
00522 0002  
00523 0616          FLDA%   ARG1,1
00524 6205          FSTA    TERM1           /ADDRESS
00525 0716          FLDA%   ARG1,1+
00526 6207          FSTA    YDIFF           /SAVE ADDRESSES
00527 0716          FLDA%   ARG1,1+
00530 6206          FSTA    ARG1
00531 0005          STARTF
00532 0214          FLDA    XOLD
00533 4217          FMUL    INCR
00534 6605          FSTA%   TERM1
00535 0215          FLDA    YOLD
00536 4217          FMUL    INCR
00537 6607          FSTA%   YDIFF           /SEND BACK THE VALUES
00540 0220          FLDA    FACTC
00541 6606          FSTA%   ARG1
00542 1030          JA      PLTRTN
00543 0051  
            /
                    ENTRY   FACTOR          /RESET FACTOR VALUE
00544 1120  FACTOR, JSA     #PLSTR
00545 0002  
00546 0616          FLDA%   ARG1,1
00547 6206          FSTA    ARG1
00550 0005          STARTF
00551 0606          FLDA%   ARG1
00552 1010          JGE     ABSFCT
00553 0555  
00554 0003          FNEG                    /ABS VALUE
00555 6220  ABSFCT, FSTA    FACTC
00556 1030          JA      PLTRTN
00557 0051  
RALF V50A    8-APR-92    PAGE 17

            
            /MUST DO A PLOTS AS FIRST ROUTINE IN ANY PLOTTING SEQUENCE.
            /USER SPECIFIES INCREMENT AND NON-IMPLEMENTED ARG.
                    ENTRY   PLOTS
00560 1120  PLOTS,  JSA     #PLSTR
00561 0002  
00562 0616          FLDA%   ARG1,1
00563 6204          FSTA    XPT
00564 0716          FLDA%   ARG1,1+
00565 6206          FSTA ARG1
00566 0005          STARTF                  /THIS RTN SETS UP LOTS OF CONSTANTS
00567 0604          FLDA%   XPT     
00570 6217          FSTA    INCR
00571 0233          FLDA    ONCE            /ONLY SET UP INTERRUPTS ONCE
00572 1040          JNE     NOINT
00573 0600  
00574 0606          FLDA%   ARG1
00575 0002          FCLA                    /NOT IMPLEMENTED
00576 4000          TRAP4   INTST
00577 0000  
00600 0224  NOINT,  FLDA    P1
00601 6220          FSTA    FACTC           /FACTOR=1 INITIALLY
00602 6233          FSTA    ONCE            /SET INT DONE FLAG
00603 0002          FCLA
00604 6216          FSTA    PENCM           /SO WILL DO 1ST PEN MOVEMENT
00605 6214          FSTA    XOLD
00606 6215          FSTA    YOLD
00607 6232          FSTA    PORS
00610 1030          JA      PLTRTN
00611 0051  
            /
                    ENTRY   PLEXIT          /BE SURE ALL DONE 
00612 1120  PLEXIT, JSA     #PLSTR
00613 0002  
00614 0005          STARTF
00615 4000          TRAP4   DONECK
00616 0753  
00617 1030          JA      PLTRTN  
00620 0051  
RALF V50A    8-APR-92    PAGE 18

            
                    SECT    SYMBOL
                    EXTERN  SIN
                    EXTERN  COS
00000 1120          JSA     #PLSTR
00001 0002  
00002 0616  SYM1,   FLDA%   ARG1,1
00003 6204          FSTA    XPT             /X POINT
00004 0716          FLDA%   ARG1,1+
00005 6203          FSTA    YPT             /Y VALUE
00006 0716          FLDA%   ARG1,1+
00007 6207          FSTA    YDIFF           /HEIGHT
00010 0716          FLDA%   ARG1,1+
00011 6205          FSTA    TERM1           /TEXT
00012 0716          FLDA%   ARG1,1+
00013 6202          FSTA    TERM2           /ANGLE
00014 0716          FLDA%   ARG1,1+
00015 6206          FSTA    ARG1            /NUMBER CHARS.
00016 0005          STARTF
00017 0602          FLDA%   TERM2
00020 4241          FMUL    DEGRAD          /CONVERT TO RADIANS
00021 6234          FSTA    XCHRPT          /THEN DONT NEED SIND
00022 0604          FLDA%   XPT
00023 6237          FSTA    COSANG          /VALUE OF X
00024 0603          FLDA%   YPT             
00025 6240          FSTA    SINANG
00026 0002          FCLA
00027 6400          FSTA    TXTADR
00030 0404  
00031 6216          FSTA    PENCM           /SO ALWAYS DOES INITIAL PEN U/D
00032 6245          FSTA    CENTSY
00033 0205          FLDA    TERM1           /GET TEXT ADDRESS
00034 6400          FSTA    TXTADR          /PUT IT DOWN IN PDP PART
00035 0404  
RALF V50A    8-APR-92    PAGE 19

            
00036 0607          FLDA%   YDIFF           /ASSUME ITS A REGULAR
00037 1010          JGE     NOTNEG          /NEGATIVE SIZE IS NOT NICE
00040 0042  
00041 0003          FNEG
00042 3230  NOTNEG, FDIV    PF7             /ADJUST LATER IF A CENT
00043 6247          FSTA    ANGADJ
00044 0606          FLDA%   ARG1            /SHOWS NUM. CHARS + PEN STATUS
00045 6246          FSTA    NUMSYM
00046 1010          JGE     REGSYM          /GT OR =0 IS REG SYM
00047 0211  
00050 0605          FLDA%   TERM1           /CHECK FOR REG CHAR PASSED
00051 2242          FSUB    F100            /AS AN INTEGER EQUIV.
00052 1050          JLT     INTEQ           /ITS A INTEGER EQUIV
00053 0205  
00054 0607          FLDA%   YDIFF           /CENTERED SYMBOL
00055 1010          JGE     NOTNG1
00056 0060  
00057 0003          FNEG
00060 3227  NOTNG1, FDIV    P4
00061 6247          FSTA    ANGADJ
00062 0246          FLDA    NUMSYM          /-1=PEN UP;-2=PEN DOWN (CNTRD ONLY)
00063 1224          FADD    P1
00064 1010          JGE     UPPEN           /MOVE WITH PEN UP
00065 0143  
00066 6245          FSTA    CENTSY          /NEG MEANS DOWN FROM THE START
00067 0225  PTITDN, FLDA    PF2
00070 6235  CPEN,   FSTA    YCHRPT          /=-2 FOR DOWN(CENT. + INTEQ ONLY)
                                            / -3 FOR UP FOR ALL SYMBOLS + INTEQ
00071 1120          JSA     SYMSTR          /PLOT ORIGIN
00072 0206  
00073 1030          JA      .+10
00074 0103  
00075 1030          JA      COSANG
00076 0152  
00077 1030          JA      SINANG
00100 0155  
00101 1030          JA      YCHRPT  
00102 0144  
00103 0204          FLDA    XPT
00104 6243          FSTA    XREAL           /KEEP TRACK OF PASSED VALUES
00105 0203          FLDA    YPT
00106 6244          FSTA    YREAL
00107 0245          FLDA    CENTSY
00110 1020          JLE     PENOK
00111 0114  
00112 1120          JSA     PNDOWN          /PUT PEN DOWN NOW(CENT ONLY)
00113 0242  
00114 1130  PENOK,  JSR     SIN
00115 0000  
00116 1030          JA      .+4
00117 0122  
00120 1030          JA      XCHRPT
00121 0141  
00122 4247          FMUL    ANGADJ
00123 6240          FSTA    SINANG          /SAVE SIN*HGT. USE FOR ALL VALUES
RALF V50A    8-APR-92    PAGE 19-1

00124 1130          JSR     COS
00125 0000  
00126 1030          JA      .+4
00127 0132  
00130 1030          JA      XCHRPT
00131 0141  
00132 4247          FMUL    ANGADJ
00133 6237          FSTA    COSANG          /COS(ANGLE)*HGT (IN INCREMENTS NOW)
00134 0104          LDX     0,4             /ZERO STEP COUNT
00135 0000  
00136 0236          FLDA    NUMENT
00137 1060          JGT     NUM2            /JUMP IF FROM NUMBER
00140 0503  
00141 1030          JA      FSTLFT
00142 0432  
00143 0226  UPPEN,  FLDA    P3
00144 6245          FSTA    CENTSY          /PUT PEN DOWN AFTER INITIAL MOVE
00145 1030          JA      CPEN            /MOVE WITH PEN UP
00146 0070  
RALF V50A    8-APR-92    PAGE 20

            
00147 1120  PENSET, JSA     PNDOWN
00150 0242  
00151 1030  ONEXY,  JA      .
00152 0151  
00153 1100          SETX    LETCOD
00154 0231  
00155 0032          XTA     2               /GET Y  
00156 6235          FSTA    YCHRPT
00157 0031          XTA     1               /GET X
00160 6234          FSTA    XCHRPT          /GET 1ST  MOVE  
00161 1100          SETX    XRPLOT
00162 0020  
00163 2230          FSUB    PF7             /7,0=PEN UP 7,7=END
00164 1000          JEQ     PENUPM
00165 0214  
00166 0245          FLDA    CENTSY
00167 1000          JEQ     CALALL          /CENTEREDS REQUIRE MODIFIED ORIGIN
00170 0177  
00171 0234          FLDA    XCHRPT
00172 2225          FSUB    PF2
00173 6234          FSTA    XCHRPT
00174 0235          FLDA    YCHRPT
00175 2225          FSUB    PF2
00176 6235          FSTA    YCHRPT
00177 1120  CALALL, JSA     CALANG
00200 0260  
00201 2050          JXN     PENSET,5        /PUT PEN BACK DOWN IF NEC
00202 0147  
00203 1030          JA      ONEXY
00204 0151  
            /
00205 0246  INTEQ,  FLDA    NUMSYM          /CHECK ON PEN
00206 1224          FADD    P1
00207 1050          JLT     PTITDN
00210 0067  
00211 0226  REGSYM, FLDA    P3
00212 1030          JA      CPEN
00213 0070  
            /
00214 1120  PENUPM, JSA     PENUP
00215 0224  
00216 0235          FLDA    YCHRPT          /CHECK FOR 7,7 END
00217 2230          FSUB    PF7
00220 1000          JEQ     NXTCHR          /JUMP IF END OF CHAR
00221 0371  
00222 1030          JA      ONEXY           /ON TO NEXT PAIR
00223 0151  
            /
00224 1030  PENUP,  JA      .
00225 0224  
00226 0105          LDX     1,5             /SET FOR PEN UP
00227 0001  
00230 1100          SETX    PDPXR
00231 0655  
00232 0100          LDX     0,0             /PASS A 0 FOR UP
RALF V50A    8-APR-92    PAGE 20-1

00233 0000  
00234 1100          SETX    XRPLOT
00235 0020  
00236 4000          TRAP4   PENOP
00237 0650  
00240 1030          JA      PENUP   
00241 0224  
            /
00242 1030  PNDOWN, JA      .
00243 0242  
00244 1100          SETX    PDPXR
00245 0655  
00246 0100          LDX     1,0             /PASS A 1 FOR DOWN
00247 0001  
00250 1100          SETX    XRPLOT
00251 0020  
00252 4000          TRAP4   PENOP
00253 0650  
00254 0105          LDX     0,5
00255 0000  
00256 1030          JA      PNDOWN
00257 0242  
RALF V50A    8-APR-92    PAGE 21

            
00260 1030  CALANG, JA      .
00261 0260  
00262 0235          FLDA    YCHRPT
00263 3217          FDIV    INCR
00264 6235          FSTA    YCHRPT          /Y MOVE AS STEPS(UNINTEGERIZED)
00265 4240          FMUL    SINANG
00266 0003          FNEG
00267 6205          FSTA    TERM1           /=-SINA*Y
00270 0234          FLDA    XCHRPT
00271 3217          FDIV    INCR
00272 6234          FSTA    XCHRPT
00273 4237          FMUL    COSANG
00274 1205          FADD    TERM1
00275 1120          JSA     MAKINT
00276 0321  
00277 6221          FSTA    XACT            /FOR AT END OF TEXT
00300 4220          FMUL    FACTC
00301 1120          JSA     MAKINT
00302 0321  
00303 6204          FSTA    XPT             /X*COSA+OLDX-SINA*Y
            /REQUIRES AN OLDX + OLDY TERM,BUT I DO THIS ALL REL TO A 
            /LOGICAL 0,0 FOR EACH CHAR, SO I LEFT THEM OUT.
00304 0235          FLDA    YCHRPT
00305 4237          FMUL    COSANG
00306 6205          FSTA    TERM1           /COSA*Y
00307 0234          FLDA    XCHRPT
00310 4240          FMUL    SINANG
00311 1205          FADD    TERM1
00312 1120          JSA     MAKINT
00313 0321  
00314 6222          FSTA    YACT
00315 4220          FMUL    FACTC
00316 1120          JSA     MAKINT
00317 0321  
00320 6203          FSTA    YPT             /NEWX*SINA+OLDY+COSA*Y
00321 0224          FLDA    P1
00322 6216          FSTA    PENCM           /USE SAME ORIGIN THRUOUT LETTER
00323 0003          FNEG
00324 6232          FSTA    PORS
00325 1120          JSA     PREREL          /PEN MUST BE IN NEC POS BY NOW
00326 0331  
00327 1030          JA      CALANG
00330 0260  
RALF V50A    8-APR-92    PAGE 22

            
00331 0034  LEFTJS, XTA     4               /NUM OF MOVES
00332 1100          SETX    LETCOD
00333 0231  
00334 0020          ATX     0               /PASS NUMBER OF STEPS INTO LETTER
00335 1100          SETX    XRPLOT
00336 0020  
00337 4000          TRAP4   LEFT            /RETURN WITH A X,Y PAIR
00340 0200  
00341 1120          JSA     ONEXY
00342 0151  
00343 0034          XTA     4
00344 1100          SETX    LETCOD
00345 0231  
00346 0020          ATX     0               /STEP COUNT
00347 1100          SETX    XRPLOT
00350 0020  
00351 1040          JNE     NOTFST          /CHANGE IF BEFORE 1ST MOVE OF CHAR
00352 0355  
00353 1120          JSA     PNDOWN          /PUT PEN DOWN NOW
00354 0242  
00355 4000  NOTFST, TRAP4   RIGHT           /GET NEXT XY PAIR
00356 0223  
00357 1120          JSA     ONEXY
00360 0151  
00361 0114          ADDX    1,4             /UPDATE COUNT
00362 0001  
00363 1030          JA      LEFTJS          /77 AT END OF CHAR USED TO DET END
00364 0331  
            /
00365 1120  CENTEX, JSA     PENUP
00366 0224  
00367 1030          JA      CENTOO
00370 0411  
            /
00371 0245  NXTCHR, FLDA    CENTSY
00372 1040          JNE     CENTEX          /LEAVE PEN AT CENTER FOR CENTS ONLY
00373 0365  
00374 6235          FSTA    YCHRPT
00375 0230          FLDA    PF7
00376 6234          FSTA    XCHRPT          /MOVE PEN TO 7,0 FOR REG CHARS
00377 1120          JSA     CALANG          /PLOT IT
00400 0260  
00401 0221          FLDA    XACT            /UPDATED COLLECTIVE ENDING X VALUE
00402 4220          FMUL    FACTC           /WITHOUT FACTOR EFFECT FOR REG ONLY (7,0)
00403 1243          FADD    XREAL
00404 6243          FSTA    XREAL
00405 0222          FLDA    YACT            /AND Y
00406 4220          FMUL    FACTC
00407 1244          FADD    YREAL
00410 6244          FSTA    YREAL
00411 0104  CENTOO, LDX     0,4             /ZERO STEP NUM WITHIN CHAR
00412 0000  
00413 0002          FCLA
00414 6214          FSTA    XOLD
00415 6215          FSTA    YOLD
RALF V50A    8-APR-92    PAGE 22-1

00416 0224          FLDA    P1
00417 0003          FNEG
00420 1246          FADD    NUMSYM          /UPDATE COUNTER
00421 1020          JLE     SYMDON          /NO MORE
00422 0452  
00423 6246          FSTA    NUMSYM          /MORE. SAVE COUNT
00424 0236          FLDA    NUMENT
00425 1060          JGT     NUM3            /EXIT FOR NUMB SUBR
00426 0507  
00427 0002          FCLA
00430 2030          JXN     RTCHAR,3        /1=CHAR  IS RIGHT 6 BITS
00431 0444  
00432 0103  FSTLFT, LDX     1,3             /POINT TO RIGHT 6 WHEN TIME FOR NEXT CHAR
00433 0001  
00434 0246          FLDA    NUMSYM
00435 1050          JLT     NUM5            /JUMP IF CENTERED SYM OR INTEQ
00436 0515  
00437 0002          FCLA
00440 4000          TRAP4   FINDLF
00441 0413  
00442 1030          JA      LEFTJS          /GO PLOT THE ACTUAL CHAR
00443 0331  
            /CENTEREDS + INTEG EQUIV PASSING A 3 WORD VALUE IN NUM5
            /REG SYM USES PDP RTN TO GET 1 WORD OF LIST
            /
00444 0103  RTCHAR, LDX     0,3             /POINT TO LEFT 6 BITS FOR NEXT TIME
00445 0000  
00446 4000          TRAP4   FINDRT
00447 0506  
00450 1030          JA      LEFTJS
00451 0331  
            /
00452 0002  SYMDON, FCLA
00453 6232          FSTA    PORS
00454 6236          FSTA    NUMENT
00455 0243          FLDA    XREAL           /UPDATE ORIG X VALUE
00456 3220          FDIV    FACTC
00457 6214          FSTA    XOLD
00460 0244          FLDA    YREAL           /AND Y TOO
00461 3220          FDIV    FACTC
00462 6215          FSTA    YOLD            /NOW CAN CONT PLOT FROM HERE
00463 1030          JA      PLTRTN
00464 0051  
RALF V50A    8-APR-92    PAGE 23

            
                    ENTRY   SYMB
00465 1120  SYMB,   JSA     #PLSTR          /SPEC ENTRY FOR NUMBER SUB
00466 0002  
00467 0005          STARTF
00470 0224          FLDA    P1
00471 6236          FSTA    NUMENT
00472 0243          FLDA    XREAL
00473 3220          FDIV    FACTC
00474 6243          FSTA    XREAL
00475 0244          FLDA    YREAL
00476 3220          FDIV    FACTC
00477 6244          FSTA    YREAL
00500 0006          STARTD
00501 1030          JA      SYM1
00502 0002  
            /
00503 1100  NUM2,   SETX    NUMENT          /FOR NUMBER SUBRTN ONLY
00504 0147  
00505 0102          LDX -1,2                /HERE ONLY FOR 1ST NUMBER OF STRING
00506 7777  
00507 1120  NUM3,   JSA     GETARG          /FOR 2ND + LATER NUMBERS
00510 0527  
00511 4000          TRAP4   PASNUM
00512 0514  
00513 1030          JA      LEFTJS
00514 0331  
            /
00515 1100  NUM5,   SETX    NUMENT          /FOR INTEQ + CENTEREDS
00516 0147  
00517 0102          LDX     -1,2
00520 7777  
00521 1120          JSA     GETARG
00522 0527  
00523 4000          TRAP4   PASINT
00524 0536  
00525 1030          JA      LEFTJS
00526 0331  
            /
00527 1030  GETARG, JA      .
00530 0527  
00531 1100          SETX    NUMENT          /USED FOR MORE THAN 1 CHAR
00532 0147  
00533 0006          STARTD
00534 0400          FLDA    TXTADR+1        /CENTERED SYMBOLS AND NUM SUBRTN
00535 0405  
00536 6206          FSTA    ARG1            /PASS VALUES AS 3 WORDS
00537 0005          STARTF
00540 0726          FLDA%   ARG1,2+         /PASS A NUMBER
00541 1100          SETX    TXTADR
00542 0404  
00543 1120          JSA     MAKINT
00544 0321  
00545 0020          ATX     0
00546 1100          SETX    XRPLOT
00547 0020  
RALF V50A    8-APR-92    PAGE 23-1

00550 1030          JA      GETARG
00551 0527  
RALF V50A    8-APR-92    PAGE 24

            
                    SECT    SYMBTB
            SYMTBL, 
00000 0005  A,      0005    /1
00001 1636          1636
00002 4540          4540
00003 7043          7043
00004 0377          0377
00005 0006  B,      0006
00006 3645          3645
00007 4433          4433
00010 0333          0333
00011 4241          4241
00012 3000          3000
00013 7777          7777
00014 4130  C,      4130
00015 1001          1001
00016 0516          0516
00017 3645          3645
00020 7777          7777
00021 0006  D,      0006
00022 3645          3645
00023 4130          4130
00024 0077          0077
00025 4000  E,      4000
00026 0646          0646
00027 7033          7033
00030 0377          0377
00031 0006  F,      0006
00032 4670          4670
00033 0333          0333
00034 7777          7777
00035 4616  G,      4616
00036 0501          0501
00037 1030          1030
00040 4143          4143
00041 2377          2377
00042 0006  H,      0006    /10 OCTAL
00043 7003          7003
00044 4370          4370
00045 4640          4640
00046 7777          7777
00047 0646  I,      0646
00050 7026          7026
00051 2070          2070
00052 0040          0040
00053 7777          7777
00054 0100  J,      0100    /10 DEC
00055 3036          3036
00056 7016          7016
00057 4677          4677
00060 0006  K,      0006
00061 7046          7046
00062 1303          1303
00063 1340          1340
00064 7777          7777
RALF V50A    8-APR-92    PAGE 24-1

00065 0600  L,      0600
00066 4077          4077
00067 0006  LM,     0006
00070 2346          2346
00071 4077          4077
00072 0006  LN,     0006
00073 4046          4046
00074 7777          7777
00075 0110  O,      0110
00076 3041          3041
00077 4536          4536
00100 1605          1605
00101 0177          0177
00102 0006  P,      0006    /20 OCT 
00103 4643          4643
00104 0377          0377
00105 0110  Q,      0110
00106 3041          3041
00107 4536          4536
00110 1605          1605
00111 0170          0170
00112 2240          2240
00113 7777          7777
00114 0006  R,      0006
00115 3645          3645
00116 4433          4433
00117 1303          1303
00120 1340          1340
00121 7777          7777
00122 0110  S,      0110
00123 3041          3041
00124 4233          4233
00125 1304          1304
00126 0516          0516
00127 3645          3645
00130 7777          7777
00131 2026  T,      2026    /20 DEC
00132 7006          7006
00133 4677          4677
00134 0601  U,      0601
00135 1030          1030
00136 4146          4146
00137 7777          7777
00140 0620  V,      0620
00141 4677          4677
00142 0600  W,      0600
00143 2240          2240
00144 4677          4677
00145 0046  X,      0046
00146 7006          7006
00147 4077          4077
00150 0624  Y,      0624
00151 2070          2070
00152 2446          2446
00153 7777          7777
00154 0646  Z,      0646    /26
RALF V50A    8-APR-92    PAGE 24-2

00155 0040          0040
00156 7777          7777
00157 3010  LBRACK, 3010
00160 1636          1636
00161 7777          7777
00162 0640  BSLASH, 0640
00163 7777          7777
00164 1030  RBRACK, 1030
00165 3616          3616
00166 7777          7777
00167 2026  UPAROW, 2026
00170 7004          7004
00171 2644          2644
00172 7777          7777
00173 2103  LARROW, 2103
00174 2570          2570
00175 0343          0343
00176 7777          7777
00177 7777  SPAC,   7777    /SPACE - 32 DEC, 40 OCT
00200 2622  EXCLPT, 2622
00201 7021          7021
00202 2077          2077
00203 1416  DBLQOT, 1416
00204 7036          7036
00205 3477          3477
00206 0242  NUMSGN, 0242
00207 7044          7044
00210 0470          0470
00211 1511          1511
00212 7031          7031
00213 3577          3577
00214 1211  DOLSGN, 1211
00215 3133          3133
00216 1315          1315
00217 3534          3534
00220 7026          7026
00221 2077          2077
00222 0405  PRCNT,  0405
00223 1514          1514
00224 0470          0470
00225 4501          4501
00226 7031          7031
00227 3242          3242
00230 4131          4131
00231 7777          7777
00232 1014  PI,     1014
00233 7004          7004
00234 4470          4470
00235 3430          3430
00236 7777          7777
00237 2624  SNGQOT, 2624
00240 7777          7777
00241 3020  LPAR,   3020    /40
00242 1115          1115
00243 2636          2636
00244 7777          7777
RALF V50A    8-APR-92    PAGE 24-3

00245 1626  RPAR,   1626
00246 3531          3531
00247 2010          2010
00250 7777          7777
00251 0145  STAR,   0145    /42
00252 7025          7025
00253 2170          2170
00254 4105          4105
00255 7003          7003
00256 4377          4377
00257 2125  PLUS,   2125
00260 7003          7003
00261 4377          4377
00262 2111  COM,    2111
00263 1222          1222
00264 2110          2110
00265 7777          7777
00266 0343  DASH,   0343
00267 7777          7777
00270 2021  PER,    2021    
00271 1110          1110
00272 2077          2077
00273 0046  SLASH,  0046
00274 7777          7777
00275 0110  ZER,    0110    
00276 2031          2031
00277 3526          3526
00300 1605          1605
00301 0170          0170
00302 3600          3600
00303 7777          7777
00304 1436  ONE,    1436
00305 3070          3070
00306 1040          1040
00307 7777          7777
00310 0516  TWO,    0516
00311 3645          3645
00312 4401          4401
00313 0040          0040
00314 7777          7777
00315 0516  THR,    0516
00316 3645          3645
00317 4433          4433
00320 1333          1333
00321 4241          4241
00322 3010          3010
00323 0177          0177
00324 3036  FOUR,   3036
00325 0343          0343
00326 7777          7777
00327 0110  FIV,    0110
00330 3041          3041
00331 4233          4233
00332 1304          1304
00333 0646          0646
00334 7777          7777
RALF V50A    8-APR-92    PAGE 24-4

00335 0213  SIX,    0213
00336 3342          3342
00337 4130          4130
00340 1001          1001
00341 0516          0516
00342 3645          3645
00343 7777          7777
00344 0506  SEV,    0506
00345 4645          4645
00346 2120          2120
00347 7777          7777
00350 1333  EIG,    1333    
00351 4241          4241
00352 3010          3010
00353 0102          0102
00354 1304          1304
00355 0516          0516
00356 3645          3645
00357 4433          4433
00360 7777          7777
00361 0110  NIN,    0110
00362 3041          3041
00363 4536          4536
00364 1605          1605
00365 0413          0413
00366 3344          3344
00367 7777          7777
00370 1415  COLON,  1415    
00371 2524          2524
00372 1470          1470
00373 1222          1222
00374 2111          2111
00375 1277          1277
00376 1415  SEMI,   1415    
00377 2524          2524
00400 1470          1470
00401 1222          1222
00402 2011          2011
00403 1277          1277
00404 4503  LT,     4503    /LESS THAN 60=74
00405 4177          4177
00406 0444  EQ,     0444    /EQUAL 61
00407 7002          7002
00410 4277          4277
00411 0543  GT,     0543    /GRTR THAN 62=76
00412 0177          0177
00413 0516  QM,     0516    /Q MARK 63=77
00414 3645          3645
00415 4433          4433
00416 3270          3270
00417 3130          3130
00420 7777          7777
            /START OF CENTEREDS-EXPECT TO START AND END IN MIDDLE
            /PLOTTED WITH 2,2 AS MIDDLE. ALL MUSR END AT 2,2.
00421 2224  CBOX,   2224    /BOX 0
00422 0400          0400
RALF V50A    8-APR-92    PAGE 24-5

00423 4044          4044
00424 2422          2422
00425 7777          7777
00426 2224  COCT,   2224    /OCTAGON 1
00427 1403          1403
00430 0110          0110
00431 3041          3041
00432 4334          4334
00433 2422          2422
00434 7777          7777
00435 2223  CTRI,   2223    /TRIANGLE 2
00436 0141          0141
00437 2322          2322
00440 7777          7777
00441 2420  CPL,    2420    /+ 3
00442 7002          7002
00443 4222          4222
00444 7777          7777
00445 0440  CX,     0440    /X 4
00446 7044          7044
00447 0022          0022
00450 7777          7777
00451 2224  CDIM,   2224    /DIAMOND 5
00452 0220          0220
00453 4224          4224
00454 2277          2277
00455 2220  CUP,    2220    /UP ARROW 6
00456 7002          7002
00457 2442          2442
00460 0222          0222
00461 7777          7777
00462 2244  CHAIR,  2244    /CHAIR 7
00463 0440          0440
00464 7000          7000
00465 2277          2277
00466 3270  ZORRO,  3270    /Z 8
00467 4000          4000
00470 4404          4404
00471 7012          7012
00472 2277          2277
00473 2244  YCENT,  2244    /Y 9
00474 7020          7020
00475 2204          2204
00476 2277          2277
00477 2233  CSHIP,  2233    /SHIP 10
00500 1311          1311
00501 3133          3133
00502 7040          7040
00503 3170          3170
00504 1100          1100
00505 7004          7004
00506 1370          1370
00507 4422          4422
00510 7777          7777
00511 0242  CSTAR,  0242    /STAR 11
00512 7044          7044
RALF V50A    8-APR-92    PAGE 24-6

00513 0070          0070
00514 2024          2024
00515 7004          7004
00516 4022          4022
00517 7777          7777
00520 2244  TWOTRI, 2244    /2 TRIANGLES 12
00521 0440          0440
00522 0022          0022
00523 7777          7777
00524 2420  CVERT,  2420    /VERTICAL LINE 13
00525 2277          2277
00526 0242  HDSH,   0242    /HORIZ DASH 14
00527 2277          2277
00530 2242  ABSEQ,  2242    /ABSOLUTELY EQUAL TO 15
00531 7044          7044
00532 0470          0470
00533 4000          4000
00534 7002          7002
00535 2277          2277
00536 2200  NOTEQ,  2200    /NOT EQUAL 16
00537 7001          7001
00540 4170          4170
00541 4303          4303
00542 7044          7044
00543 2277          2277
00544 2224  PLSMNS, 2224    /+ OR - 17
00545 7013          7013
00546 3370          3370
00547 3111          3111
00550 7022          7022
00551 7777          7777
RALF V50A    8-APR-92    PAGE 25

            
            /THIS TABLE COUNTS THE NUMBER OF STEPS (12 BIT) BETWEEN
            /EACH CHARACTER. USED TO DETERMINE LOCATION AT WHICH TO
            /START PICKING UP PLOTTING CODES.
00552 0000  SYMCNT, 0       /TO A
00553 0005          B-A
00554 0007          C-B
00555 0005          D-C
00556 0004          E-D
00557 0004          F-E
00560 0004          G-F
00561 0005          H-G
00562 0005          I-H
00563 0005          J-I
00564 0004          K-J
00565 0005          L-K
00566 0002          LM-L
00567 0003          LN-LM
00570 0003          O-LN
00571 0005          P-O
00572 0003          Q-P
00573 0007          R-Q
00574 0006          S-R
00575 0007          T-S
00576 0003          U-T
00577 0004          V-U
00600 0002          W-V
00601 0003          X-W
00602 0003          Y-X
00603 0004          Z-Y
00604 0003          LBRACK-Z
00605 0003          BSLASH-LBRACK
00606 0002          RBRACK-BSLASH
00607 0003          UPAROW-RBRACK
00610 0004          LARROW-UPAROW
00611 0004          SPAC-LARROW
00612 0001          EXCLPT-SPAC
00613 0003          DBLQOT-EXCLPT
00614 0003          NUMSGN-DBLQOT
00615 0006          DOLSGN-NUMSGN
00616 0006          PRCNT-DOLSGN
00617 0010          PI-PRCNT
00620 0005          SNGQOT-PI
00621 0002          LPAR-SNGQOT
00622 0004          RPAR-LPAR
00623 0004          STAR-RPAR
00624 0006          PLUS-STAR
00625 0003          COM-PLUS
00626 0004          DASH-COM
00627 0002          PER-DASH
00630 0003          SLASH-PER
00631 0002          ZER-SLASH
00632 0007          ONE-ZER
00633 0004          TWO-ONE
00634 0005          THR-TWO
00635 0007          FOUR-THR
RALF V50A    8-APR-92    PAGE 25-1

00636 0003          FIV-FOUR
00637 0006          SIX-FIV
00640 0007          SEV-SIX
00641 0004          EIG-SEV
00642 0011          NIN-EIG
00643 0007          COLON-NIN
00644 0006          SEMI-COLON
00645 0006          LT-SEMI
00646 0002          EQ-LT
00647 0003          GT-EQ
00650 0002          QM-GT
00651 0006          CBOX-QM
00652 0005          COCT-CBOX
00653 0007          CTRI-COCT
00654 0004          CPL-CTRI
00655 0004          CX-CPL
00656 0004          CDIM-CX
00657 0004          CUP-CDIM
00660 0005          CHAIR-CUP
00661 0004          ZORRO-CHAIR
00662 0005          YCENT-ZORRO
00663 0004          CSHIP-YCENT
00664 0012          CSTAR-CSHIP
00665 0007          TWOTRI-CSTAR
00666 0004          CVERT-TWOTRI
00667 0002          HDSH-CVERT
00670 0002          ABSEQ-HDSH
00671 0006          NOTEQ-ABSEQ
00672 0006          PLSMNS-NOTEQ
RALF V50A    8-APR-92    PAGE 25-2

NO ERRORS 
310 SYMBOLS, NO ABS REFS 

 #      C 00000   #DISMS X 00000   #HANG  X 00000   #MAIN  S 00000  
 #PLSTR   00002   #XPLOT   00213   A        00000   ABSDX    00341  
 ABSEQ    00530   ABSFCT   00555   ACHAR    00554   ALEGAL   00307  
 ANGADJ   00202   ANOTHR   00610   ARG1     00037   A22      00565  
 A3       00045   B        00005   BPPLOT   00015   BSLASH   00162  
 BSW      07002   BUFCNT   00671   C        00014   CALALL   00177  
 CALANG   00260   CBOX     00421   CDF      00504   CDFINS   00253  
 CDIM     00451   CENTEX   00365   CENTOO   00411   CENTSY   00174  
 CHAIR    00462   CLRFLG   00715   COCT     00426   COLON    00370  
 COM      00262   COS    X 00000   COSANG   00152   COUNT    00402  
 CPEN     00070   CPL      00441   CSHIP    00477   CSTAR    00511  
 CTRI     00435   CUP      00455   CVERT    00524   CX       00445  
 D        00021   DASH     00266   DBLQOT   00203   DEGRAD   00160  
 DELXY    00350   DISMS    00062   DISPTR   00630   DOCDF    00422  
 DOLSGN   00214   DONE     00606   DONECK   00753   E        00025  
 EIG      00350   EMPTY    00747   EQ       00406   EXCLPT   00200  
 F        00031   FACTC    00075   FACTOR   00544   FIGURE   00300  
 FINDIT   00437   FINDLF   00413   FINDRT   00506   FIV      00327  
 FLDOK    00435   FOUR     00324   FSTLFT   00432   F100     00163  
 G        00035   GETARG   00527   GETXYS   00234   GT       00411  
 H        00042   HDSH     00526   HOLD1    00327   HOLD2    00330  
 I        00047   ICHAR    00052   INCR     00072   INDEX    00530  
 INTEQ    00205   INTFLG   00665   INTPLT   00736   INTST    00000  
 ISROOM   00632   J        00054   K        00060   KNOWOC   00366  
 L        00065   LARROW   00173   LBRACK   00157   LEFT     00200  
 LEFTJS   00331   LETCD1   00232   LETCD2   00233   LETCOD   00231  
 LETTER   00407   LIMOK    00645   LM       00067   LN       00072  
 LOCNFL   00254   LOCNPT   00255   LPAR     00241   LT       00404  
 MAJONL   00322   MAJOR    00053   MAKINT   00321   MBUFLG   00673  
 MINOR    00056   MORE     00602   MORPEN   00271   MULTI8   00066  
 M15      00571   M166     00567   M8EX     00020   M8RET    00075  
 M8SKP    00077   NEGMAJ   00420   NFLD     00247   NIN      00361  
 NINPLT   00600   NOINT    00600   NOPEN    00732   NOTEQ    00536  
 NOTFST   00355   NOTHIN   00450   NOTNEG   00042   NOTNG1   00060  
 NUMENT   00147   NUMSGN   00206   NUMSYM   00177   NUM2     00503  
 NUM3     00507   NUM5     00515   NXTCHR   00371   NXTLCN   00400  
 O        00075   OCHAR    00046   OCT8BL   00256   OKVAL    00562  
 ONCE     00136   ONE      00304   ONEXY    00151   ONQI   X 00000  
 OUTCHK   00722   OUTSUB   00701   P        00102   PASINT   00536  
 PASNUM   00514   PASSXY   00210   PBFCNT   00050   PBMN     00673  
 PBMX     00677   PDISMS   00064   PDPPLT F 00764   PDPXR    00655  
 PENCM    00067   PENOK    00114   PENOP    00650   PENSET   00147  
 PENUP    00224   PENUPM   00214   PER      00270   PFIGUR   00675  
 PF2      00114   PF7      00125   PHANG    00665   PI       00232  
 PICHAR   00667   PLCNM1   00402   PLDBL    00614   PLETPS   00400  
 PLEXIT   00612   PLOTS    00560   PLOTXR   00011   PLSMNS   00544  
 PLTRTN   00051   PLTVCT   00677   PLUS     00257   PMBFLG   00054  
 PNDOWN   00242   POCHAR   00663   POCTBL   00671   PORS     00133  
 POSMIN   00434   PP7      00412   PRCNT    00222   PREREL   00331  
 PRERL1   00330   PSPCAS   00661   PSYMB    00410   PTITDN   00067  
 PTRTBL   00502   PT5      00130   PUBFMN   00056   PUBFMX   00060  
 P1       00111   P10      00505   P100     00564   P3       00117  
 P4       00122   P40      00500   P44      00566   P60      00570  
RALF V50A    8-APR-92    PAGE 25-3

 P7       00230   P77      00501   Q        00105   QM       00413  
 QPLDBL   00043   QTEMP5   00721   R        00114   RATIO    00324  
 RATIO1   00325   RATIO2   00326   RBRACK   00164   REALPT   00333  
 REGPLT   00463   REGSYM   00211   RFUDGE   00336   RIGHT    00223  
 RPAR     00245   RTCHAR   00444   S        00122   SCANTB   00454  
 SEMI     00376   SETUP    00030   SETXR    00046   SEV      00344  
 SIN    X 00000   SINANG   00155   SIX      00335   SLASH    00273  
 SNGQOT   00237   SPAC     00177   SPCAS    00331   STAR     00251  
 STNOW    00231   STP1     00657   STP2     00660   SYMB     00465  
 SYMBOL S 00552   SYMBTB S 00673   SYMCNT   00552   SYMDON   00452  
 SYMENT   00233   SYMSET   00474   SYMST    00506   SYMSTR   00206  
 SYMTBL   00000   SYM1     00002   T        00131   TERM1    00034  
 TERM2    00023   THR      00315   TOTSTP   00656   TRYAGN   00273  
 TWO      00310   TWOTRI   00520   TXTADR   00404   T2       00572  
 U        00134   UPAROW   00167   UPPEN    00143   USBFMN   00103  
 USBFMX   00173   USEIT    00534   USSPAC   00557   USZRO    00527  
 V        00140   VONQI    00026   W        00142   WAIT     00756  
 WHERE    00521   X        00145   XACT     00100   XCHRPT   00141  
 XDIFF    00106   XDISMS   00730   XLIMOK   00100   XMAJ     00362  
 XM8JMP   00102   XOLD     00061   XPT      00031   XREAL    00166  
 XRPLOT   00020   XR1      00021   XR2      00022   XR4      00024  
 XR5      00025   XYPLOT S 00621   Y        00150   YACT     00103  
 YCENT    00473   YCHRPT   00144   YDIFF    00042   YOLD     00064  
 YPT      00026   YREAL    00171   YS       00471   Z        00154  
 ZER      00275   ZEROLD   00502   ZORRO    00466   ZROCAS   00436