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 >
Wrap
Text File
|
1992-09-18
|
6KB
|
345 lines
/CCLTAB: LEGAL COMMANDS; LOAD CCL LOADER (CCL.MA)
/
/
/
/COPYRIGHT (C) 1979,1982 BY DIGITAL EQUIPMENT CORPORATION
/
/
/
/THE INFORMATION IN THIS DOCUMENT IS SUBJECT TO CHANGE WITHOUT NOTICE
/AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT
/CORPORATION. DIGITAL EQUIPMENT CORPORATION ASSUMES NO RESPONSIBILITY
/FOR ANY ERRORS THAT MAY APPEAR IN THIS DOCUMENT.
/
/THE SOFTWARE DESCRIBED IN THIS DOCUMENT IS FURNISHED TO THE PURCHASER
/UNDER A LICENSE FOR USE ON A SINGLE COMPUTER SYSTEM AND CAN BE COPIED
/(WITH INCLUSION OF DIGITAL'S COPYRIGHT NOTICE) ONLY FOR USE IN SUCH
/SYSTEM, EXCEPT AS MAY OTHERWISE BE PROVIDED IN WRITING BY DIGITAL.
/
/DIGITAL EQUIPMENT CORPORATION ASSUMES NO RESPONSIBILITY FOR THE USE
/OR RELIABILITY OF ITS SOFTWARE ON EQUIPMENT THAT IS NOT SUPPLIED BY
/DIGITAL.
/
/
/
/VERSION=V3B (D.H.)
/1 CCL OVERLAY TABLE
.EXTERNAL BEGLN,PRQMRK
.GLOBAL CCLBLC,NOCCL
CCLTAB="B&77^100+63 /VERSION = B3
/CCL.SV (THE IMPORTANT PART) MUST BE A SINGLE CORE-LOAD
/CONTIGUOUS LOAD, BECAUSE OF THE WAY THE MONITOR LOADS IT.
/FORTUNATELY, FIELD 0 STUFF OCCURS AFTER FIELD 1 STUFF IN THE
/OS/8 CORE-IMAGE FORMAT.
/FOR VERSION OF THE MONITOR BEFORE LEVEL A,
/THE TOTAL LENGTH OF CCL.SV MUST BE LESS THAN14 BLOCKS
/OR IT READS OVER 7600.
/BUT NOW CCL COMES IN AND READS THE REMAINDER OF ITSELF
/INTO FIELD 0. 400-777 IS IGNORED BY SKIPPING A BLOCK,
/THEN THER REST OF CCL (7 PAGES) IS READ IN.
.ASECT TABLE0
FIELD 0
*400
/IT LOADS OVER THE SAVE, DATE OVERLAY
/AND STARTS AT LOCATION 600
/KEYWORD TABLE IN 400-
/CONSISTS OF COMMANDS 2 CHARS PER LOCATION
/IN 5-BIT ASCII (ONLY LETTERS ARE LEGAL)
/SEPARATED FROM EACH OTHER BY 6-BIT 00'S.
/EACH ENTRY STARTS ON A WORD BOUNDARY, BUT IF YOU
/NEED THE ROOM, THEY NEED NOT WITH A SIMPLE FIX
/BIT 40 ON MEANS THAT THE CHARACTER ISN'T REQUIRED
/BUT IF THE USER DOES TYPE A LETTER, IT MUST MATCH.
VNO, CCLTAB
KEYWRD,
0530 /EX ECUT
4543
6564
0006 /FIX DIR
1130
4451
6200
0201 /BAS IC
2351
4300
0617 /FORMAT
2215 /NO SHORT FORM FOR THIS COMMAND
0124
0002 /BO OT
1757
6400
0317 /COMPA R
1520
0162
0003 /COM PIL
1715
6051
5400
0317 /COP Y
2071
0015 /MEM ORY
0515
5762
7100
0504 /ED IT
5164
0003 /CREA T(E)
2205
0164
0003 /CREF
2205
0600
0401 /DA TE
6445
0004 /DEL ETE
0514
4564
4500
0405 /DE A
4100
0411 /DIR ECT
2245
4364
0023 /SETU(P)
0524
2500
1005 /HE LP
5460
0006 /FU TI(L) ADDED FOR OS78 V4
2564
5100
2224 /RT FL(OP) WAS MACREL AND LINK IN V3.
4654
0014 /LI ST
1163
6400
1417 /LO AD
4144
0015 /MAK E
0113
4500
1501 /MAP
2000
1525 /MUNG
1607
0020 /PAL
0114
0020 /PI P /WAS PUNCH
1160
0022 /REN AME
0516
4155
4500
2720 /WP FLOP /WAS CA NCEL
4654
5760
0023 /SET
0524
0023 /SQ UISH
2165
5163
5000
2325 /SU BMIT
4255
5164
0024 /TE CO
0543
5700
2431 /TY PE
6045
0014 /LINK WAS REQ U
1116
1300
1501 /MAC RE(L) WAS QUEUE
0362
5400
2501 /UA
0025 /UB
0200
2503 /UC
0026 /VE R
0562
0032 /ZERO
0522
1700
2205 /RE AD
4144
0015 /ME NU
0556
6500
1517 /MO UNT
6556
6400
4000 /@
0000
ZBLOCK 600-.
IFDEF XYZMCR <
THIS IS THE TECO MACRO WHICH WAS USED TO CREATE THE ABOVE TABLE:
HKGYJ2SR0,.KHXAHKMA
TYPE COMMANDS, SPACE SEPARATES MANDATORY PART FROM
OPTIONAL PART, CR TERMINATES COMMANDS, ^Z TERMINATES ALL.
** NO EDITING **
HKHXYHXN0UO0UB0UN
!CHLP!^TULQL-32"EOBLANK'QL-13"EOCR'QL-26"EOEND'
!CHLP0!QL&63+QBUT QT/8UXQX+48IQT-(8*QX)+48I
QL"NZJ.UZGNQLIQZJXNK%N'
%O&1"NOCHLP' QN-3"LZUH'I
OCHLP
!BLANK! 32UBZJ.UZGNQLIQZJXNK%NOCHLP
!CR! QHJ /GNZJXN0UN0UB0ULOCHLP0
!END!I00
>
*600
JSBITS=7746
SYSTEM=22
PRMES=330
ERRET=33 /THESE ARE LOCATIONS FROM OS/8 MONITOR
/RUNS IN FIELD 0 ONLY.
ENTRY, 0 /INITIALLY 0 MEANS 'EX' COMMAND
LINPTR, JMP ENTREE /OS/8 JUMPS HERE (ACTUALLY TO 600)
TEMM,
TEKLDG, ISZ CCLNHR /TECO 'EG' JUMPS HERE
DCA I (BEGLN /ZERO COMMAND LINE
JMP TEGO /FIRST WE DISABLE CALLS TO MONITOR
ENTREE, TAD (7605
DCA ERRET
TAD SYSTEM
DCA MYSYS
JMS FINDIT
SPA CLA /WAS IT A LEGAL COMMAND?
JMP I (PRQMRK /NO
TEGO, TAD (6003 /YES
DCA I (JSBITS
CIF 10
JMS I MYSYS /CALL USR AND LOCK IN CORE
10
CLA IAC
CIF 10
JMS I (200
2
CCLBLC, CCLSV
CCLEN, 0
CCLNHR, JMP NOCCL /ISZ'ED IF KBM NOT IN MEMORY
CLA IAC
TAD CCLBLC
DCA CCLRDB
JMS I (7607
CCLCCW, 2711 /READ 27 PAGES OF CCL.SV
CCLSTR, 2000
MYSYS,
CCLRDB, 7700 /INITIALLY POINTS TO USR
JMP NOCCL
CIF CDF 10
JMP I CCLSTR
CCLSV, FILENAME CCL.SV
NOCCL, CLA SKP
JMP I (7605 /GO BACK TO MON IF CCL NOT FOUND ON TECO EG COMMAND
JMS I (PRMES /PRINT ERROR MESSAGE OTHERWISE
TEXT /NO CCL!/
0
/FINDS IF INPUT LINE STARTS WITH A COMMAND
/LEAVES ENTRY # IN AC, -1 IF NOT FOUND
/ENTRIES START AT ENTRY 0.
/CALLABLE FROM ANY FIELD
FINDIT, 0
MORE, TAD (BEGLN-1
DCA LINPTR
ISZ LINPTR
TAD I LINPTR
TAD (-240
SNA CLA
JMP .-4
JMS GETKAR
JMP ENDOFT /NO MATCH
JMP INTO
FNLUP, TAD I LINPTR
TAD (-301
STL
TAD (-32
SNL CLA
JMP NOLET /NOT A LETTER
JMS GETKAR
JMP MATCH
INTO, CIA
TAD I LINPTR
AND (37 /5-BIT ASCII
ISZ LINPTR
SNA CLA /DO THEY MATCH?
JMP FNLUP /YES
NOMT, JMS GETKAR
SKP
JMP .-2 /SCAN TO NEXT ENTRY
ISZ ENTRY
JMP MORE
NOLET, JMS GETKAR
JMP MATCH
CLA
ISZ SIGNIF
JMP NOMT
MATCH, TAD ENTRY
SKP
ENDOFT, STA
RETCIF, CDF 0 /RETURN TO CALLING FIELD (MAY BE OVERLAID)
JMP I FINDIT
KPTR, KEYWRD
HALF, -1 /0 MEANS LEFT HALF
SIGNIF, 0 /1 MEANS 40 BIT ON WHICH MEANS CHAR IS SIGNIF ONLY IF PRESENT
/GETKAR GETS NEXT 5-BIT CHAR, LEAVES IT IN AC
/SETS SIGNIF TO -1 IF 40 BIT WAS PRESENT
/TAKES RETURN 1 IF CHAR IS 0
/TAKES RETURN 2 OTHERWISE
GETKAR, 0
ISZ HALF
JMP RTHALF
TAD I KPTR
RTR
RTR
RTR
JMP INSIDE
RTHALF, STA
DCA HALF
TAD I KPTR
ISZ KPTR
INSIDE, AND (77
DCA TEMM
TAD TEMM
AND X40
X40, SZA CLA
STA
DCA SIGNIF
TAD TEMM
SZA
ISZ GETKAR
AND (37
JMP I GETKAR
PAGE