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 / ccltab.ma < prev    next >
Text File  |  1992-09-18  |  6KB  |  345 lines

  1. /CCLTAB: LEGAL COMMANDS; LOAD CCL LOADER (CCL.MA)
  2.  
  3. /
  4. /
  5. /
  6. /COPYRIGHT  (C)  1979,1982 BY DIGITAL EQUIPMENT CORPORATION
  7. /
  8. /
  9. /
  10. /THE INFORMATION IN THIS DOCUMENT IS SUBJECT TO CHANGE WITHOUT NOTICE
  11. /AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT
  12. /CORPORATION.  DIGITAL EQUIPMENT CORPORATION ASSUMES NO RESPONSIBILITY
  13. /FOR ANY ERRORS THAT MAY APPEAR IN THIS DOCUMENT.
  14. /
  15. /THE SOFTWARE DESCRIBED IN THIS DOCUMENT IS FURNISHED TO THE PURCHASER
  16. /UNDER A LICENSE FOR USE ON A SINGLE COMPUTER SYSTEM AND CAN BE COPIED
  17. /(WITH INCLUSION OF DIGITAL'S COPYRIGHT NOTICE) ONLY FOR USE IN SUCH
  18. /SYSTEM, EXCEPT AS MAY OTHERWISE BE PROVIDED IN WRITING BY DIGITAL.
  19. /
  20. /DIGITAL EQUIPMENT CORPORATION ASSUMES NO RESPONSIBILITY FOR THE USE
  21. /OR RELIABILITY OF ITS SOFTWARE ON EQUIPMENT THAT IS NOT SUPPLIED BY
  22. /DIGITAL.
  23. /
  24. /
  25. /
  26.  
  27.  
  28. /VERSION=V3B (D.H.)
  29. /1    CCL OVERLAY TABLE
  30.  
  31.     .EXTERNAL BEGLN,PRQMRK
  32.     .GLOBAL CCLBLC,NOCCL
  33.     CCLTAB="B&77^100+63    /VERSION = B3
  34.  
  35. /CCL.SV (THE IMPORTANT PART) MUST BE A SINGLE CORE-LOAD
  36. /CONTIGUOUS LOAD, BECAUSE OF THE WAY THE MONITOR LOADS IT.
  37. /FORTUNATELY, FIELD 0 STUFF OCCURS AFTER FIELD 1 STUFF IN THE
  38. /OS/8 CORE-IMAGE FORMAT.
  39. /FOR VERSION OF THE MONITOR BEFORE LEVEL A,
  40. /THE TOTAL LENGTH OF CCL.SV MUST BE LESS THAN14 BLOCKS
  41. /OR IT READS OVER 7600.
  42. /BUT NOW CCL COMES IN AND READS THE REMAINDER OF ITSELF
  43. /INTO FIELD 0.  400-777 IS IGNORED BY SKIPPING A BLOCK,
  44. /THEN THER REST OF CCL (7 PAGES) IS READ IN.
  45.  
  46.     .ASECT TABLE0
  47.     FIELD 0
  48.  
  49.     *400
  50.  
  51. /IT LOADS OVER THE SAVE, DATE OVERLAY
  52. /AND STARTS AT LOCATION 600
  53.  
  54. /KEYWORD TABLE IN 400-
  55.  
  56. /CONSISTS OF COMMANDS 2 CHARS PER LOCATION
  57. /IN 5-BIT ASCII (ONLY LETTERS ARE LEGAL)
  58. /SEPARATED FROM EACH OTHER BY 6-BIT 00'S.
  59. /EACH ENTRY STARTS ON A WORD BOUNDARY, BUT IF YOU
  60. /NEED THE ROOM, THEY NEED NOT WITH A SIMPLE FIX
  61. /BIT 40 ON MEANS THAT THE CHARACTER ISN'T REQUIRED
  62. /BUT IF THE USER DOES TYPE A LETTER, IT MUST MATCH.
  63.  
  64.  
  65. VNO,    CCLTAB
  66. KEYWRD,
  67. 0530    /EX ECUT
  68. 4543
  69. 6564
  70. 0006    /FIX DIR
  71. 1130
  72. 4451
  73. 6200
  74. 0201    /BAS IC
  75. 2351
  76. 4300
  77. 0617    /FORMAT
  78. 2215    /NO SHORT FORM FOR THIS COMMAND
  79. 0124
  80. 0002    /BO OT
  81. 1757
  82. 6400
  83. 0317    /COMPA R
  84. 1520
  85. 0162
  86. 0003    /COM PIL
  87. 1715
  88. 6051
  89. 5400
  90. 0317    /COP Y
  91. 2071
  92. 0015    /MEM ORY
  93. 0515
  94. 5762
  95. 7100
  96. 0504    /ED IT
  97. 5164
  98. 0003    /CREA T(E)
  99. 2205
  100. 0164
  101. 0003    /CREF
  102. 2205
  103. 0600
  104. 0401    /DA TE
  105. 6445
  106. 0004    /DEL ETE
  107. 0514
  108. 4564
  109. 4500
  110. 0405    /DE A
  111. 4100
  112. 0411    /DIR ECT
  113. 2245
  114. 4364
  115. 0023    /SETU(P)
  116. 0524
  117. 2500
  118. 1005    /HE LP
  119. 5460
  120. 0006    /FU TI(L)    ADDED FOR OS78 V4
  121. 2564
  122. 5100
  123. 2224    /RT FL(OP)    WAS MACREL AND LINK IN V3.
  124. 4654
  125. 0014    /LI ST
  126. 1163
  127. 6400
  128. 1417    /LO AD
  129. 4144
  130. 0015    /MAK E
  131. 0113
  132. 4500
  133. 1501    /MAP
  134. 2000
  135. 1525    /MUNG
  136. 1607
  137. 0020    /PAL
  138. 0114
  139. 0020    /PI P        /WAS PUNCH
  140. 1160
  141. 0022    /REN AME
  142. 0516
  143. 4155
  144. 4500
  145. 2720    /WP FLOP     /WAS CA NCEL
  146. 4654
  147. 5760
  148. 0023    /SET
  149. 0524
  150. 0023    /SQ UISH
  151. 2165
  152. 5163
  153. 5000
  154. 2325    /SU BMIT
  155. 4255
  156. 5164
  157. 0024    /TE CO
  158. 0543
  159. 5700
  160. 2431    /TY PE
  161. 6045
  162. 0014    /LINK        WAS REQ U
  163. 1116
  164. 1300
  165. 1501    /MAC RE(L)    WAS QUEUE
  166. 0362
  167. 5400
  168. 2501    /UA
  169. 0025    /UB
  170. 0200
  171. 2503    /UC
  172. 0026    /VE R
  173. 0562
  174. 0032    /ZERO
  175. 0522
  176. 1700
  177. 2205    /RE AD
  178. 4144
  179. 0015    /ME NU
  180. 0556
  181. 6500
  182. 1517    /MO UNT
  183. 6556
  184. 6400
  185. 4000    /@
  186. 0000
  187.     ZBLOCK 600-.
  188.     IFDEF XYZMCR <
  189.  
  190. THIS IS THE TECO MACRO WHICH WAS USED TO CREATE THE ABOVE TABLE:
  191.  
  192.  
  193. HKGYJ2SR0,.KHXAHKMA
  194. TYPE COMMANDS, SPACE SEPARATES MANDATORY PART FROM
  195. OPTIONAL PART, CR TERMINATES COMMANDS, ^Z TERMINATES ALL.
  196. **  NO EDITING **
  197. HKHXYHXN0UO0UB0UN
  198. !CHLP!^TULQL-32"EOBLANK'QL-13"EOCR'QL-26"EOEND'
  199. !CHLP0!QL&63+QBUT QT/8UXQX+48IQT-(8*QX)+48I
  200. QL"NZJ.UZGNQLIQZJXNK%N'
  201. %O&1"NOCHLP' QN-3"LZUH'I
  202. OCHLP
  203. !BLANK! 32UBZJ.UZGNQLIQZJXNK%NOCHLP
  204. !CR! QHJ    /GNZJXN0UN0UB0ULOCHLP0
  205. !END!I00
  206.  
  207.  
  208.     >
  209.     *600
  210.  
  211.     JSBITS=7746
  212.     SYSTEM=22
  213.     PRMES=330
  214.     ERRET=33    /THESE ARE LOCATIONS FROM OS/8 MONITOR
  215.  
  216. /RUNS IN FIELD 0 ONLY.
  217.  
  218. ENTRY,    0        /INITIALLY 0 MEANS 'EX' COMMAND
  219. LINPTR,    JMP ENTREE    /OS/8 JUMPS HERE (ACTUALLY TO 600)
  220. TEMM,
  221. TEKLDG,    ISZ CCLNHR    /TECO 'EG' JUMPS HERE
  222.     DCA I (BEGLN    /ZERO COMMAND LINE
  223.     JMP TEGO    /FIRST WE DISABLE CALLS TO MONITOR
  224. ENTREE,    TAD (7605
  225.     DCA ERRET
  226.     TAD SYSTEM
  227.     DCA MYSYS
  228.     JMS FINDIT    
  229.     SPA CLA        /WAS IT A LEGAL COMMAND?
  230.     JMP I (PRQMRK    /NO
  231. TEGO,    TAD (6003    /YES
  232.     DCA I (JSBITS
  233.     CIF 10
  234.     JMS I MYSYS    /CALL USR AND LOCK IN CORE
  235.     10
  236.     CLA IAC
  237.     CIF 10
  238.     JMS I (200
  239.     2
  240. CCLBLC,    CCLSV
  241. CCLEN,    0
  242. CCLNHR,    JMP NOCCL    /ISZ'ED IF KBM NOT IN MEMORY
  243.     CLA IAC
  244.     TAD CCLBLC
  245.     DCA CCLRDB
  246.     JMS I (7607
  247. CCLCCW,    2711        /READ 27 PAGES OF CCL.SV
  248. CCLSTR,    2000
  249. MYSYS,
  250. CCLRDB,    7700        /INITIALLY POINTS TO USR
  251.     JMP NOCCL
  252.     CIF CDF 10
  253.     JMP I CCLSTR
  254. CCLSV,    FILENAME CCL.SV
  255.  
  256. NOCCL,    CLA SKP
  257.     JMP I (7605    /GO BACK TO MON IF CCL NOT FOUND ON TECO EG COMMAND
  258.     JMS I (PRMES    /PRINT ERROR MESSAGE OTHERWISE
  259.     TEXT    /NO CCL!/
  260.     0
  261.  
  262. /FINDS IF INPUT LINE STARTS WITH A COMMAND
  263. /LEAVES ENTRY # IN AC, -1 IF NOT FOUND
  264. /ENTRIES START AT ENTRY 0.
  265. /CALLABLE FROM ANY FIELD
  266.  
  267. FINDIT,    0
  268. MORE,    TAD (BEGLN-1
  269.     DCA LINPTR
  270.     ISZ LINPTR
  271.     TAD I LINPTR
  272.     TAD (-240
  273.     SNA CLA
  274.     JMP .-4
  275.     JMS GETKAR
  276.     JMP ENDOFT    /NO MATCH
  277.     JMP INTO
  278. FNLUP,    TAD I LINPTR
  279.     TAD (-301
  280.     STL
  281.     TAD (-32
  282.     SNL CLA
  283.     JMP NOLET    /NOT A LETTER
  284.     JMS GETKAR
  285.     JMP MATCH
  286. INTO,    CIA
  287.     TAD I LINPTR
  288.     AND (37        /5-BIT ASCII
  289.     ISZ LINPTR
  290.     SNA CLA        /DO THEY MATCH?
  291.     JMP FNLUP    /YES
  292. NOMT,    JMS GETKAR
  293.     SKP
  294.     JMP .-2        /SCAN TO NEXT ENTRY
  295.     ISZ ENTRY
  296.     JMP MORE
  297.  
  298. NOLET,    JMS GETKAR
  299.     JMP MATCH
  300.     CLA
  301.     ISZ SIGNIF
  302.     JMP NOMT
  303. MATCH,    TAD ENTRY
  304.     SKP
  305. ENDOFT,    STA
  306. RETCIF,    CDF 0        /RETURN TO CALLING FIELD (MAY BE OVERLAID)
  307.     JMP I FINDIT
  308. KPTR,    KEYWRD
  309.  
  310. HALF,    -1        /0 MEANS LEFT HALF
  311. SIGNIF,    0        /1 MEANS 40 BIT ON WHICH MEANS CHAR IS SIGNIF ONLY IF PRESENT
  312.  
  313. /GETKAR GETS NEXT 5-BIT CHAR, LEAVES IT IN AC
  314. /SETS SIGNIF TO -1 IF 40 BIT WAS PRESENT
  315. /TAKES RETURN 1 IF CHAR IS 0
  316. /TAKES RETURN 2 OTHERWISE
  317.  
  318. GETKAR,    0
  319.     ISZ HALF
  320.     JMP RTHALF
  321.     TAD I KPTR
  322.     RTR
  323.     RTR
  324.     RTR
  325.     JMP INSIDE
  326. RTHALF,    STA
  327.     DCA HALF
  328.     TAD I KPTR
  329.     ISZ KPTR
  330. INSIDE,    AND (77
  331.     DCA TEMM
  332.     TAD TEMM
  333.     AND X40
  334. X40,    SZA CLA
  335.     STA
  336.     DCA SIGNIF
  337.     TAD TEMM
  338.     SZA
  339.     ISZ GETKAR
  340.     AND (37
  341.     JMP I GETKAR
  342.     PAGE
  343.  
  344.