XLIST DEFINE XP(A,B) ;SYSTEM PARAMETER ,ACCUMULATORS XP IOS,0; IO STATUS WORD XP TAC,1; TEMPORARY XP TAC1,2; TEMPORARY XP PDP,3; C(LH)=NUMBER OF LOCATIONS LEFT IN PD LIST , C(RH)=PUSHDOWN POINTER REPEAT 0,< XP SUB,10 RETURN (PC) FOR ONE LEVEL SUBROUTINES > XP TEM,10 XP ITEM,4; BYTE OR WORD POINTER. ITEM COUNT XP DAT,5; DATA OR TEMPORARY XP DEVDAT,6; C(LH)=UNUSED. , C(RH)=ADDRESS OF DEVICE DATA BLOCK XP JBUF,DAT; ADDRESS OF JOB BUFFER AREA=JBFADR XP PROG,7; C(LH)=UNUSED , C(RH)=ADDRES OF USER'S PROGRAM AREA XP JDAT,11; C(RH)=ADDRESS OF JOB DATA ,ONLY 0 TO 10 NORMALLY REQUIRED ,FOR INTERRUPT SERVICE XP BUFPNT,12; C(JBFADR 18-35) XP BUFWRD,13; BIT 0=IOUSE , BITS 1-17=BUFFER SIZE , BITS 18-35=NEXT BUFFER ADDRESS XP UUO,14; LAST UUO PROCESSED XP AC1,15 ;TEMPORARY ACS(MORE TEMPORARY XP AC2,16 ;THEN TAC,TAC1) XP AC3,17 ; , DEVICE DATA BLOCK NAMES XP DEVNAM,0; NAME IN SIX BIT ASCII , C(LH)=DEVICE MNEMONIC , C(RH)=DEVICE NUMBER, LEFT JUSTIFIED XP DEVCHR,1; CHARACTERISTIC , BITS 0-8=JOB NUMBER , ZERO VALUE IMPLIES NOT ASSIGNED , BITS 9-11=PRIORITY CHANNEL FOR DEVICE XP PICHN,100 ;RIGHTMOST BIT OF PI CHAN. FIELD , BIT 12=UNUSED , BIT 13=IORET. 0 IF DEVICE HAS A SHORT , DISPATCH TABLE. 1 IF LONG XP IORET,20 ;FOR RETRIEVABLE DEVICES. ;SHORT DISPATCH TABLE =0. LONG = 1 , BITS 14-17=JOB DEVICE CHANNEL NUMBER , BITS 18-23=DEVICE NUMBER, BINARY , BITS 24-35=BUFFER SIZE XP DEVIOS,2; STATUS WORD. SEE BELOW XP DEVSER,3; C(LH)=NEXT DEVICE DATA BLOCK , C(RH)=DEVICE SERVICE DISPATCH TABLE , DEVICE SERVICE DISPATCH TABLE ASSIGNMENTS XP DRL,0; XXXDSP : RELEASE XP DCL,1; XXXDSP +1: CLOSE ;IMMEDIATE ADDRESS PART OF CLOSE UUO XP CLSOUT,1 ;INHIBIT CLOSING OUTPUT XP CLSIN,2 ;INHIBIT CLOSING INPUT XP DOU,2; XXDSP +2: OUTPUT XP DIN,3; XXXDSP +3: INPUT;SHORT DISPATCH TABLE XP DEN,4; XXXDSP +4: ENTER XP DLK,5; XXXDSP +5: LOOKUP XP DDO,6; XXXDSP +6: DMPO XP DDI,7; XXXDSP +7: DMPI XP DSO,10; XXXDSP+10: SETO XP DSI,11; XXXDSP+11: SETI XP DGF,12; XXXDSP+12: GETF;LOGN DISPATCH TABLE XP DEVMOD,4 ;BITS 6-11=LEFT HALF OF IMAGE MODE BYTE POINTER ;BIT 35-J=1 IF MODE J IS LEGAL FOR THIS DEVICE ;BIT 18 DEVICE ASSIGNED BY CONSOLE COMMAND ;BIT 19 DEVICE ASSGINED BY PROGRAM (INIT) ;IRGHT HALT OF DEVICE MODE WORD XP ASSCON,400000 ;ASSIGNED BY CONSOLE COMMAND ASSIGN XP ASSPRG,200000 ;ASSIGNED BY PROGRAM(INIT UUO) ;LEFT HALF DEVICE CHARACTERISTICS(DEVCHR UUO) XP DVOUT,1 ;OUTPUT DEVICE XP DVIN,2 ;INPUT DEVICE XP DVDIR,4 ;HAS A DIRECTORY XP DVTTY,10 ;IS A TTY XP DVMTA,20 ;IS A MAG TAPE(REWIND) XP DVAVAL,40 ;1 IF DEVICE IS AVAILABLE TO THIS JOB ;SET BY DEVCHR UUO XP TTYUSE,10000 ;TTY DDB IN USE FLAG XP TTYATC,20000 ;TTY ATTACHED TO JOB IF 1 XP DVLPT,40000 ;IS A LPT (CARRIAGE CONTROL IN FORTRAN) XP DVCDR,100000 ;IS A CARD READER(TRAILING SPACES FOR MACRO) XP DVDIRIN,400000 ;DIRECTORY IN CORE IF 1 XP DEVLOG,5; LOGICAL NAME FOR JOB DEVICE XP DEVBUF,6; C(LH)=OUTPUT BUFFER AREA DDRESS , C(RH)=INPUT BUFFER AREA ADDRESS (JBFADR) XP DEVIAD,7; C(LH)=PROG IN INDEX FIELD XP DEVADR,DEVIAD , C(RH)=CURRENT INPUT BUFFER ADDRESS XP DEVOAD,10; C(LH)=PROG IN INDEX FIELD XP DEVPTR,DEVOAD , C(RH)=CURRENT OUTPUT BUFFER ADDRESS XP DEVCTR,11; , I/O STATUS WORD ASSIGNMENTS ,DATA MODES; BITS 32-35 XP A,0; ASCII XP AL,1; ASCII LINE XP I,10; IMAGE XP IB,13; IMAGE BINARY XP B,14; BINARY XP DR,16 ;DUMP BY RECORDS XP D,17 ;DUMP ACROSS RECORDS , STATUS BITS ,RIGHT HALF (USER) XP IOWC,20; DON'T COMPUTE WORD COUNT XP IOCON,40; CONTINUOUS (CONT=0) XP IORDEL,100; READ AND DELETE XP IONRCK,100; READ WITH NO. REREAD CHECK XP IODEND,20000; DATA END ENCOUNTERED XP IODERR,200000; DEVICE ERROR XP IODTER,100000; DATA ERROR XP IOIMPM,400000; IMPROPER MODE REQUESTED XP IOBKTL,40000; BLOCK TOO LARGE XP IOACT,10000; DEVICE ACTIVE , LEFT HALFF (SYSTEM) XP IOW,1; I/O WAIT XP IOBEG,2; VIRGIN DEVICE XP IODISC,400000; DISCONNECT REQUEST XP IOFST,4; NEXT ITEM WILL BE THE FIRST ITEM OF A BUFFER XP IOSTRT,10; IO READY TO START XP IO,20; OUT=1, IN=0 XP IOEND,40; SERVICE ROUTINE HAS TRANSMITTED LAST DATA ;LEFT HALF USRJDA (JOB DEVICE ASSIGNMENTS) UUO'S FOR THIS CHANNEL SINCE LAST INIT XP INITB,400000; INIT XP IBUFB,200000; INIT WITH INPUT BUFFER SPECIFIED XP OBUFB,100000; INIT WITH OUTPUT BUFFER SPECIFIED XP LOOKB,40000; LOOKUP XP ENTRB,20000; ENTER XP INPB,10000; INPUT XP OUTPB,4000; OUTPUT XP CLOSB,2000; CLOSE ;RELEASE CLEARS THEM ALL ;CLOSE UUO BITS XP CLSOUT,1 ;INHIBIT CLOSING OUTPUT XP CLSIN,2 ;INHIBIT CLOSING INPUT , JOB BUFFER AREA HEADER XP JBFADR,0; BIT 0=1 IF THIS BUFFER RING HAS NEVER BEEN , REFERENCED FROM THE USER'S PROGRAM BY , AN INPUT OR OUTPUT COMMAND. , BITS 1-17=UNUSED , BITS 18-35=CURENT BUFFER ADDRESS XP JBFPTR,1; BYTE POINTER TO NEXT BYTE -1 XP JBFCTR,2; POSITIVE ITEM COUNT , JOB BUFFER HEADER BIT 0=IOUSE XP IOUSE,400000; 1 IF BUFFER IS FULL (OR BEING EMPTIED) , BITS 1-17=BUFFER SIZE , BITS 18-35=NEXT BUFFER ADDRESS ,SYSTEM PARAMETERS XP USRMOD,10000; USER MODE BIT IN APR FLAGS, PC WORD XP IODONE,400000; ,JOB STATUS WORD (JBTSTS) XP IOWS,400000; IO WAIT SATISFIED XP RUN,200000; READY TO RUN OR IS RUNNING XP JIOW,100000; JOB IN IO-WAIT STATE XP DTW,40000; DECTAPE CONTROL WAIT XP DCW,20000; DATA CONTROL WAIT XP MTW,10000; MAG TAPE CONTROL WIAT XP JNA,4000; JOB NUMBER ASSIGNED XP JERR,2000; JOB ERROR(ILLEGAL MEM. ETC.) XP RUNABLE,RUN+JNA; STATUS BIT PATTERN FOR A JOB TO STAY RUNABLE ;SPECIAL ABSOLUTE LOCATIONS IN LOWER MEMORY ;THESE ARE INTENDED TO BE EXAMINED AND CHANGED BY ;USING THE DATA SWITCHES BEFORE SYSTEM IS STARTED AFTER BEING LOADED ;ONLY TODAY AND BOOTIM NEED BE SET ;ALL OTHERS ARE ASSEMBLED IN AND SHOULD BE SET ONLY IF A CHANGE IS DESIRED XP DDTMEM,37 ;MEMORY SIZE FOR SYSTEM DDT AND SYSMAK ONLY XP DDTSYM,36 ;SYSTEM DDT SYMBOL TABLE POINTER (USED TO BE 77) , SYSTEM MACROS DEFINE ADRCHK (A) < EXTERNAL ADRCK DEFINE ADRCHK (B) PUSHJ PDP,ADRCK HRRZ TAC,A> LIST