home *** CD-ROM | disk | FTP | other *** search
/ ftp.update.uu.se / ftp.update.uu.se.2014.03.zip / ftp.update.uu.se / pub / pdp8 / os278-src.tar.Z / os278-src.tar / cclcdx.ma < prev    next >
Text File  |  1992-09-18  |  2KB  |  150 lines

  1. /CCLCDX  CCLCD EXTENSION FOR NUMBER PROCESSING
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  
  8.  
  9.  
  10.  
  11.  
  12.  
  13.  
  14.  
  15.  
  16. /
  17. /
  18. /
  19. /COPYRIGHT  (C)  1979 BY DIGITAL EQUIPMENT CORPORATION
  20. /
  21. /
  22. /
  23. /THE INFORMATION IN THIS DOCUMENT IS SUBJECT TO CHANGE WITHOUT NOTICE
  24. /AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT
  25. /CORPORATION.  DIGITAL EQUIPMENT CORPORATION ASSUMES NO RESPONSIBILITY
  26. /FOR ANY ERRORS THAT MAY APPEAR IN THIS DOCUMENT.
  27. /
  28. /THE SOFTWARE DESCRIBED IN THIS DOCUMENT IS FURNISHED TO THE PURCHASER
  29. /UNDER A LICENSE FOR USE ON A SINGLE COMPUTER SYSTEM AND CAN BE COPIED
  30. /(WITH INCLUSION OF DIGITAL'S COPYRIGHT NOTICE) ONLY FOR USE IN SUCH
  31. /SYSTEM, EXCEPT AS MAY OTHERWISE BE PROVIDED IN WRITING BY DIGITAL.
  32. /
  33. /DIGITAL EQUIPMENT CORPORATION ASSUMES NO RESPONSIBILITY FOR THE USE
  34. /OR RELIABILITY OF ITS SOFTWARE ON EQUIPMENT THAT IS NOT SUPPLIED BY
  35. /DIGITAL.
  36. /
  37. /
  38. /
  39.  
  40.  
  41. /VERSION=V3A (D.H.)
  42. /1    CCL CD EXTENSION
  43.     .ENTRY POUND,NUMBER,EQLPRM,DNUMB
  44.     .EXTERNAL GCH
  45.     .EXTERNAL LV
  46.     MPARAM=7643
  47.     T=20
  48.     DELIM=32
  49.     NAME1=23
  50.     NAME2=24
  51.     NAME3=25
  52.     NAME4=26
  53.     LXR=34
  54.     .EXTERNAL PRMESG
  55.     .RSECT CCLCDX
  56.     FIELD 1
  57.  
  58. BADNUM,    TEXT    /#BAD NUMBER/
  59.  
  60. EQLPRM,    0
  61.     DCA NUMFUJ
  62.     JMS NUMBER
  63.     DCA I (MPARAM+3
  64.     CLA CLL CML RAR
  65.     AND I (MPARAM-1    /PRESERVE  ALTMODE
  66.     TAD HIORD
  67.     DCA I (MPARAM-1
  68.     JMP I EQLPRM
  69. NUMBER,    0
  70.     SZA CLA
  71.     TAD (<TAD NUM>-SKP
  72.     TAD (SKP
  73.     DCA NUMADD    /SET NUMADD TO EITHER "SKP" OR "TAD NUM"
  74.     DCA HIORD
  75. NUMLP,    DCA NUM
  76.     JMS I (GCH
  77.     ISZ NUMKNT
  78.     SKP
  79.     JMP EONUM2
  80.     CMA
  81.     TAD NUMFUJ
  82.     TAD ("8        /TEST INPUT CHARACTER FOR RANGE
  83.     CLL CMA        /0-7 IF NUMFUJ=0
  84.     TAD (10        /0-9 IF NUMFUJ=2
  85.     TAD NUMFUJ
  86.     SNL
  87.     JMP EONUM
  88.     DCA T
  89.     CLA CLL CMA RTL
  90.     DCA DELIM
  91.     TAD NUM
  92. ROTLP,    CLL RAL
  93.     DCA NUMX
  94.     TAD HIORD
  95.     RAL
  96. NUMSKP,    SPA        /MODIFIED BY #
  97.     JMP CDER5
  98.     DCA HIORD
  99.     TAD NUMX
  100.     ISZ DELIM
  101.     JMP ROTLP
  102. NUMADD,    TAD NUM        /SKP IF OCTAL
  103.     TAD NUM
  104.     TAD T
  105.     JMP NUMLP
  106. EONUM,    TAD ("0
  107. EONUM2,    DCA DELIM
  108.     TAD NUMKNT
  109.     SPA CLA
  110.     JMP CDER5    /FEWER THAN CORRECT NUMBER OF DIGITS
  111.     TAD NUM
  112.     JMP I NUMBER
  113.  
  114. NUM,    0
  115. NUMFUJ,    0
  116. NUMKNT,    0        /SET TO -N-1 TO FORCE N DIGITS
  117. HIORD,    0
  118. NUMX,    0
  119. DNUMB,    0
  120.     CLA CLL CML RTL
  121.     DCA NUMFUJ    /SET "NUMBER" TO ACCEPT
  122.             /DIGITS 8 AND 9
  123.     STA        /ALLOW DECIMAL
  124.     JMS NUMBER
  125.     JMP I DNUMB
  126. CDER5,    JMS I (PRMESG
  127.     BADNUM
  128. POUND,    0        /USED AS FLAG INDICATING SAW #
  129.     TAD (SKP
  130.     DCA NUMSKP
  131.     TAD (-11
  132.     DCA NUMKNT
  133.     JMS NUMBER
  134.     DCA NAME2
  135.     TAD HIORD
  136.     DCA NAME1
  137.     STA
  138.     TAD LXR
  139.     DCA LXR
  140.     TAD (-11
  141.     DCA NUMKNT
  142.     JMS NUMBER
  143.     DCA NAME4
  144.     TAD HIORD
  145.     DCA NAME3
  146.     TAD (SPA
  147.     DCA NUMSKP
  148.     JMP I (LV
  149.     PAGE
  150.