399 lines
10 KiB
Plaintext
399 lines
10 KiB
Plaintext
/PARAMETERS VERSION 8.24 (01-JANUARY-75)
|
||
/
|
||
/
|
||
/
|
||
/
|
||
/COPYRIGHT (C) 1975
|
||
/DIGITAL EQUIPMENT CORPORATION, MAYNARD, MASS.
|
||
/
|
||
/
|
||
/THIS SOFTWARE IS FURNISHED UNDER A LICENSE FOR USE ONLY
|
||
/ON A SINGLE COMPUTER SYSTEM AND MAY BE COPIED ONLY WITH
|
||
/THE INCLUSION OF THE ABOVE COPYRIGHT NOTICE. THIS
|
||
/SOFTWARE, OR ANY OTHER COPIES THEREOF, MAY NOT BE PRO-
|
||
/VIDED OR OTHERWISE MADE AVAILABLE TO ANY OTHER PERSON
|
||
/EXCEPT FOR USE ON SUCH SYSTEM AND TO ONE WHO AGREES TO
|
||
/THESE LICENSE TERMS. TITLE TO AND OWNERSHIP OF THE
|
||
/SOFTWARE SHALL REMAIN IN DEC.
|
||
/
|
||
/THE INFORMATION IN THIS DOCUMENT IS SUBJECT TO CHANGE
|
||
/WITHOUT NOTICE AND SHOULD NOT BE CONSTRUED AS A COM-
|
||
/MITMENT BY DIGITAL EQUIPMENT CORPORATION.
|
||
/
|
||
/DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR
|
||
/RELIABILITY OF ITS SOFTWARE ON EQUIPMENT WHICH IS NOT
|
||
/SUPPLIED BY DEC.
|
||
|
||
OCTAL
|
||
PLT=0
|
||
IFNZRO CPU < IFNZRO DC08A <ILLEGAL CONFIGURATION>>
|
||
IFNZRO 24-JOBMAX&4000 <ILLEGAL CONFIGURATION>
|
||
IFNZRO 23-KL8-PT08&4000 <ILLEGAL CONFIGURATION>
|
||
IFNZRO 24-DC08A&4000 <ILLEGAL CONFIGURATION>
|
||
IFZERO DC08A <D689=0>
|
||
IFNZRO DC08A < IFNZRO PHONES <D689=4>
|
||
IFZERO PHONES <D689=0>>
|
||
NULINE=DC08A+PT08+KL8 /EVERY TERMINAL EXCEPT THE CONSOLE
|
||
SWDEX=5 /DISK TRACK OF THE FIRST USER SWAP TRACK
|
||
STOMIN=5 /MINIMUM # FREE STORAGE BLOCK FOR NEWJOB
|
||
IFZERO RF08-40 <
|
||
IFZERO RS08-1 <DSKSIZ=10>
|
||
IFZERO RS08-2 <DSKSIZ=20>
|
||
IFZERO RS08-3 <DSKSIZ=30>
|
||
IFZERO RS08-4 <DSKSIZ=40>
|
||
DSKEXT=DSKSIZ-1>
|
||
IFZERO RF08 <DSKSIZ=RS08^100 /# 4K DISC TRACKS
|
||
DSKEXT=RS08^100+77>
|
||
CLOCKR=144 /MILLISECONDS PER TICK
|
||
TICMIN=1130 /600 TICKS PER MINUTE
|
||
INCLK2=0322 /INITIAL CLOCK
|
||
INCLK1=7400
|
||
TICSPS=12 /NUMBER OF SYSTEM TICKS PER SECOND
|
||
INIDEX=10 /INIT DISC EXTENSION
|
||
TS8DEX=30 /FIELD 0 DISC EXTENSION*2^3
|
||
ERPDEX=0 /ERP DISC EXTENSION*4
|
||
ERPWC=0 /ERP WORD COUNT
|
||
FIPDEX=4 /FIP DISC EXTENSION*4
|
||
FIPWC=0 /FIP WORD COUNT
|
||
SIDEX=ERPDEX /SI DISC EXTENSION*4
|
||
SIWC=ERPWC /SI WORD COUNT
|
||
LIBACT=2 /LIBRARY ACCOUNT #
|
||
BRKINI=4000 /INITIAL USER BREAK MASK
|
||
|
||
|
||
/IOT DEFINITIONS
|
||
|
||
IFNZRO DC08A < /DC08A,DL8I IOTS
|
||
TTIL=6401 /INCREMENT LINE REGISTER
|
||
TTI=6402 /TELETYPE INPUT COMMAND
|
||
TTO=6404 /TELETYPE OUTPUT COMMAND
|
||
TTCL=6411 /CLEAR LINE REGISTER
|
||
TTLL=6412 /LOAD LINE REGISTER, CLEAR AC
|
||
TTRL=6414 /READ LINE REGISTER
|
||
T1SKP=6421 /SKIP ON CLOCK FLAG
|
||
T1OFF=6422 /TURN CLOCK OFF
|
||
T1ON=6424 /TURN CLOCK ON
|
||
TTIR=6461 /INCREMENT THE R REG.
|
||
TTCR=6471 /CLEAR THE R REG.
|
||
TTLR=6472 > /LOAD THE R REG.
|
||
/EXTENDED MEMORY
|
||
|
||
CDF=6201 /CHANGE TO DATA FIELD 0
|
||
CIF=6202 /CHANGE TO INSTRUCTION FIELD 0
|
||
CINT=6204 /CLEAR USER IOT
|
||
|
||
RDF=6214 /READ DATA FIELD
|
||
RIF=6224 /READ INSTRUCTION FIELD
|
||
RIB=6234 /READ INTERRUPT BUFFER
|
||
RMF=6244 /RESTORE MEMORY FIELD
|
||
SINT=6254 /SKIP ON USER IOT
|
||
CUF=6264 /USER FLAG OFF
|
||
SUF=6274 /USER FLAG ON
|
||
|
||
|
||
/EAE
|
||
MUY=7405 /MULTIPLY
|
||
DVI=7407 /DIVIDE
|
||
NMI=7411 /NORMALIZE
|
||
SHL=7413 /SHIFT ARITHMETIC LEFT
|
||
ASR=7415 /ARITHMETIC SHIFT RIGHT
|
||
LSR=7417 /LOGICAL SHIFT RIGHT
|
||
MQL=7421 /LOAD MQ
|
||
SCL=7403 /STEP COUNTER LOAD FROM MEMORY
|
||
SCA=7441 /STEP COUNTER TO AC
|
||
MQA=7501 /MQ TO AC
|
||
|
||
IFZERO CPU-2 <
|
||
|
||
DPSZ=7451 /MODE B ONLY - SKIP IF AC&MQ ARE CLEAR
|
||
SWBA=7447 /CHANGE MODE TO A
|
||
SWAB=7431 /CHANGE MODE TO B (ALSO DOES MQL)
|
||
ACS=7403 /AC(7:11) TO SC; AC CLEARED
|
||
SGT=6006 /SKIP ON GT FLAG
|
||
>
|
||
|
||
|
||
|
||
/LINE PRINTER IOTS
|
||
LSF=6661 /SKIP ON CHAR FLAG SET
|
||
LCF=6662 /CLEAR CHAR FLAG
|
||
LSRP=6663 /SKIP ON NOT READY OR ON ERROR
|
||
LLC=6664 /TRANSMIT CHAR TO PRINTER
|
||
LSP=6665 /SET PROGRAM INTERRUPT; LP08/LE8
|
||
LPC=6666 /TRANSMIT CHAR &CLEAR FLAG
|
||
LCP=6667 /CLEAR PROGRAM INTERRUPT
|
||
LIE=6665 /AC11 TO INTERRUPT ENABLE; LS08/LS8E
|
||
|
||
/CTY
|
||
|
||
TPC=6044 /LOAD TELEPRINTER AND PRINT
|
||
|
||
/DISC (DF32)
|
||
|
||
DCMA=6601 /CLEAR
|
||
DMAR=6603 /READ
|
||
DMAW=6605 /WRITE
|
||
DCEA=6611 /CLEAR DISC EXTENDED ADDRESS
|
||
DEAL=6615 /LOAD EXTENDED ADDRESS
|
||
DFSE=6621 /SKIP ON ERROR
|
||
DFSC=6622 /SKIP ON COMPLETION
|
||
DEAC=6616 /READ EXTENDED ADDRESSES
|
||
|
||
/DISC (RF08)
|
||
|
||
DSAC=6612
|
||
DORS=6614
|
||
DIML=6615
|
||
DIMA=6616
|
||
DCXA=6641
|
||
DXAL=6643
|
||
|
||
/CARD READER IOT'S
|
||
RCSF=6631
|
||
RCRA=6632
|
||
RCRB=6634
|
||
RCNO=6635 /8E ONLY
|
||
RCRC=6636 /8E ONLY
|
||
RCNI=6637 /8E ONLY
|
||
RCSD=6671
|
||
RCSE=6672
|
||
RCRD=6674
|
||
RCSI=6675 /8E ONLY
|
||
RCTF=6677 /8E ONLY
|
||
|
||
/RK05 IOT'S
|
||
|
||
IFZERO PHONES<
|
||
DSKP= 6741
|
||
DCLR= 6742
|
||
DLAG= 6743
|
||
DLCA= 6744
|
||
DRST= 6745
|
||
DLDC= 6746
|
||
DMAINT= 6747 >
|
||
IFNZRO PHONES <
|
||
DSKP= 6751
|
||
DCLR= 6752
|
||
DLAG= 6753
|
||
DLCA= 6754
|
||
DRST= 6755
|
||
DLDC= 6756
|
||
DMAINT= 6757 >
|
||
|
||
/DECTAPE
|
||
|
||
DTRA=6761
|
||
DTCA=6762
|
||
DTXA=6764
|
||
DTSF=6771
|
||
DTRB=6772
|
||
DTLB=6774
|
||
|
||
|
||
IFZERO CPU <
|
||
/KW8I REAL TIME CLOCK
|
||
|
||
CECI=6137 /CLEAR AND ENABLE CLOCK AND INTERRUPT
|
||
CSCF=6133 /SKIP AND CLEAR FLAG IF FLAG
|
||
>
|
||
IFZERO CPU-1 <
|
||
CECI=6315 /CLOCK ENABLE
|
||
CSCF=6301 /SKIP ON CLOCK FLAG
|
||
CCF=6302 /CLEAR CLOCK FLAG, CLEAR ENABLE AND CLEAR BUFFER
|
||
CLB=6304 > /LOAD BUFFER FROM AC
|
||
|
||
IFZERO CPU-2 <
|
||
CECI=6131 /CLOCK ENABLE
|
||
CSCF=6133 /SKIP AND CLEAR FLAG IF FLAG
|
||
|
||
/POWER FAIL IOT
|
||
|
||
SPL=6102 /SKIP IF POWER LOW
|
||
|
||
/ 8/E PROCESSOR IOT
|
||
SRQ=6003 /SKIP ON INTERRUPT REQUEST
|
||
GTF=6004 /LINK TO AC0, GT FLAG TO AC1
|
||
RTF=6005 /AC0 TO LINK, AC1 TO GT FLAG
|
||
CAF=6007 > /CLEAR ALL FLAGS
|
||
|
||
IFZERO CPU-4 <
|
||
CLLE=6135 /AC11 TO INTERRUPT ENABLE FOR CLOCK
|
||
CLCL=6136 /CLEAR CLOCK FLAG
|
||
CLSK=6137 /SKIP ON CLOCK FLAG
|
||
SPL=6102 /SKIP POWER LOW
|
||
CAL=6133 > /CLEAR AC LOW FLAG
|
||
|
||
IFNZRO DC08A <
|
||
|
||
/689AG
|
||
SRF=6701 /SKIP IF RING FLAG
|
||
SCF=6711 /SKIP IF CARRIER FLAG
|
||
DFCRF=6742 /CLEAR RING FLAG
|
||
CTG=6721 /CLEAR GROUP COUNTER
|
||
RRS=6702 /READ RING STATUS
|
||
ITG=6731 /INCREMENT GROUP COUNTER
|
||
STR=6722 /SET TERMINAL READY
|
||
EDF=6704 /ENABLE DATAPHONE FEATURES
|
||
DDF=6714 /DISABLE DATAPHONE FEATURES
|
||
CTR=6724 /CLEAR TERMINAL FLAG
|
||
CCF=6741 /CLEAR CARRIER FLAG
|
||
RCS=6712 /READ CARRIER STATUS
|
||
>
|
||
|
||
|
||
/FIP IOTS (IN ABBREVIATED FORM)
|
||
|
||
SEGS=0006 /RETURN NUMBER OF FREE SEGMENTS ON DISK
|
||
ASD=0040 /ASSIGN
|
||
REL=0042 /RELEASE
|
||
REN=0200 /RENAME
|
||
OPEN=0201 /OPEN
|
||
CLOS=0202 /CLOSE
|
||
RFILE=6603 /READ FILE
|
||
PROT=0204 /PROTECT
|
||
WFILE=6605 /WRITE FILE
|
||
CRF=0210 /CREATE
|
||
EXT=0211 /EXTEND
|
||
RED=0212 /REDUCE
|
||
FINF=6613 /FILE INFORMATION
|
||
LIN=0214 /LOGIN
|
||
LOUT=0215 /LOGOUT
|
||
WHO=6616 /WHO
|
||
/DEVICE DATA BLOCK
|
||
|
||
DDBSTS=0 /WORD 1, STATUS AND UNIT NUMBER
|
||
DXON=2000 /XOFF SENT FLAG
|
||
DSI=1000 /DESTINATION IS S.I. FLAG
|
||
DFULL=400 /KEYBOARD BUFFER IS FULL
|
||
DUPL=200 /CONSOLE IN DUPLEX MODE
|
||
SICOM=100 /COMMAND WAITING
|
||
DECHO=40 /CAUSE SI TO RE-ECHO CURRENT INPUT BUFFER
|
||
|
||
/DEVICE UNIT NUMBER IS IN BITS 6-11
|
||
|
||
DDBJN=1 /WORD 2, JOB NUMBER IN 7-11
|
||
DDBBRK=2 /BREAK MASK
|
||
DDBTIM=3 /TIME THAT DEVICE WAS ASSIGNED
|
||
DDBINP=4 /BUFFER FILL POINTER
|
||
DDBINC=5 /BUFFER TOTAL COUNT
|
||
DDBOUC=6 /BUFFER EMPTY COUNT
|
||
DDBOUP=7 /BUFFER EMPTY POINTER
|
||
|
||
/JOB DATA AREA
|
||
|
||
JOBSTS=0 /STATUS
|
||
/STR0
|
||
JSRUN=4000 /RUN BIT
|
||
JSEREN=2000 /USER ERROR ENABLE
|
||
JCOMBD=1000 /LAST TIME THE JOB RAN AS COMPUTE BOUND
|
||
JSPEEK=400 /ALLOW "PEEK" AND "LOGOUT" IOT'S
|
||
JSACC=200 /JOB LOGGED IN UNDER PRIVILEGED ACCOUNT (1,2 OR 3)
|
||
JSIOT=100 /NON-RESIDENT IOT
|
||
JSIOTC=40 /COPY IOT RESULT TO USER
|
||
JSEXON=20 /EXECUTE ONLY
|
||
JSINER=10 /INHIBIT ERROR REPORT FROM SI. (UNTIL NEXT COMMAND)
|
||
/BITS 9-11 ARE SYSTEM ERROR CODE
|
||
UUOERF=1 /IOT ERROR
|
||
SWPRER=2 /SWAP READ ERROR
|
||
SWPWER=3 /SWAP WRITE ERROR
|
||
DSKERR=5 /DISC ERROR
|
||
HUNGDV=6 /HUNG DEVICE
|
||
|
||
/STR1
|
||
JSTIME=4000 /TIME IS UP
|
||
JSF0=2000 /FILE 0 NOT BUSY
|
||
JSF1=1000 /FILE 1 IS NOT BUSY
|
||
JSF2=400 /FILE 2 IS NOT BUSY
|
||
JSF3=200 /FILE 3 IS NOT BUSY
|
||
JSDEL=100 /KEYBOARD DELIMITER SEEN
|
||
JSLPT=40 /LINE PRINTER BUFFER IN USE BUT NOT FULL
|
||
JSTEL=20 /TELEPRINTER OUTPUT BUFFER IN USE BUT NOT FULL
|
||
JSPTR=10 /CHARACTERS IN READER BUFFER
|
||
JSPTP=4 /PUNCH BUFFER IN USE BUT IS NOT FULL
|
||
JSERR=2 /SYSTEM ERROR DETECTED
|
||
JSWAIT=1 /JOB NOT IN WAIT STATE
|
||
|
||
|
||
JOBSTB=2 /DEVICE STATUS REGISTER (FOR RK05 DECTAPE AND CARD READER)
|
||
JOBWMK=3 /WAIT MASK
|
||
JOBSRA=5 /JOB RESTART ADDRESS
|
||
JOBERR=6 /JOB ERROR RESTART ADDRESS
|
||
JOBLNK=7 /IOT LINKAGE
|
||
JOBSWR=10 /SWITCH REGISTER
|
||
JOBREG=11 /PC LINK AC
|
||
JOBEAE=14 /MQ MODE GT SC
|
||
JOBACC=16 /ACCOUNT NUMBER
|
||
JOBF0=17 /POINTER TO FILE 0 CONTROL
|
||
JOBF1=20 /POINTER TO FILE 1 CONTROL
|
||
JOBF2=21 /POINTER TO FILE 2 CONTROL
|
||
JOBF3=22 /POINTER TO FILE 3 CONTROL
|
||
JOBRTM=23 /LOW ORDER RUN TIME
|
||
JOBRTH=24 /HI ORDER RUN TIME
|
||
|
||
/FILE CONTROL BLOCK - POINTED TO BY JOBFX, X=0,1,2,3
|
||
|
||
FILWPT=0 /POINTER TO FILE RETRIEVAL WINDOW
|
||
FILSCT=1 /SEGMENT NUMBER OF FIRST WINDOW ENTRY
|
||
FILPRO=2 /FILE PROTECTION - BIT 9
|
||
FILPAR=3 /POINTER TO RFILE OR WFILE PARAMETER BLOCK
|
||
FILDA=4 /DISC ADDRESS OF RFILE OR WFILE
|
||
FILWC=6 /-WORD COUNT OF RFILE OR WFILE
|
||
FILRES=7 /POINTER TO FILPIF IN USER AREA
|
||
|
||
/FILE RETRIEVAL WINDOW
|
||
/WORD 0: UFD LINK TO NEXT GROUP OF 7 SEGMENT POINTERS
|
||
/WORDS 1-7: SEVEN SEGMENT ADDRESSES
|
||
|
||
/RFILE OR WFILE PARAMETER BLOCK - POINTED AT BY FILPAR
|
||
|
||
FILPFN=0 /FUNCTION; 0603 OR 0605
|
||
FILPDX=1 /DISC EXTENSION
|
||
FILPIF=2 /INTERNAL FILE # (BITS 10-11) AND FIELD # (BITS 7-9)
|
||
FILPWC=3 /-WORD COUNT FOR THIS TRANSFER
|
||
FILPCA=4 /CORE ADDRESS FOR THIS TRANSFER
|
||
FILPDA=5 /DISC ADDRESS
|
||
FILPRA=6 /EXEC RETURN ADDRESS FOR THIS TRANSFER
|
||
FILPCT=7 /POINTER TO FILE CONTROL BLOCK
|
||
|
||
|
||
/CORE TABLE CONTROL FLAGS
|
||
|
||
SWAP=4000 /SWAP REQUEST
|
||
LOCK=2000 /LOCK IN CORE
|
||
NOTRUN=1000 /HAS NOT BEEN SCHEDULED TO RUN
|
||
FIP=400 /FILE PHANTOM
|
||
SI=200 /SYSTEM INTERPRETER
|
||
NOHOLD=140 /INHIBIT "NOTRUN" STATUS AFTER FOUR CONSECUTIVE FILE TRANSFERS
|
||
CJOB=37 /BITS 7-11 CONTAIN THE JOB #
|
||
|
||
|
||
|
||
/FIP TABLE DEFINITIONS
|
||
|
||
SATSIZ=530
|
||
JTABLE=6000
|
||
ENTABL=JTABLE+JOBMAX+1
|
||
UTABLE=ENTABL+JOBMAX+JOBMAX+JOBMAX+JOBMAX+JOBMAX+JOBMAX+JOBMAX+JOBMAX
|
||
RTABLE=UTABLE+JOBMAX+JOBMAX+JOBMAX+JOBMAX+JOBMAX+JOBMAX+JOBMAX+JOBMAX
|
||
|
||
|
||
/TABLES
|
||
CORTBL=7001 /CORE ASSIGNMENT TABLE
|
||
L2QTB=CORTBL+7
|
||
IFZERO DC08A <DCSIZE=0>
|
||
IFNZRO DC08A <DCSIZE=400> /SIZE OF FIELD 1 DC08A CODE PLUS 689AG CODE
|
||
|
||
OUTREG=200 /ACTIVE OUTPUT REGISTERS (TTY'S, LPT & PTP)
|
||
SKPTBL=OUTREG+NULINE+3 /START OF IOT SKIP TABLE
|
||
SKPTP=SKPTBL+NULINE+NULINE+3 /POSITION OF PUNCH SKIP IN SKIP TABLE
|
||
RINGIN=SKPTP+3 /KEYBOARD INPUT RING BUFFER
|
||
ENDBUF=OUTREG+200 /END OF KEYBOARD INPUT BUFFER
|
||
INPUTS=ENDBUF-RINGIN%2 /NUMBER OF POSSIBLE ENTRIES IN THE KEYBOARD RING BUFFER
|
||
|
||
DATFLD=CDF 10 /MONITOR DATA FIELD SELECT
|
||
|
||
IFZERO EAE-20 <MQREG=1>
|
||
IFZERO EAE <IFNZRO CPU&7776 <MQREG=1>
|
||
IFZERO CPU&7776 <MQREG=0>>
|
||
IFNZRO OUTREG&1 <YOU GOOFED>
|