WHILE ITS IS RUNNING, IT USUALLY DISPLAYS, ON THE BOTTOM BAY OF LIGHTS ON THE PDP-10, WHICH JOB IS BEING RUN. THE NUMBER OF THE LIT UP BIT IS WHICH JOB IS CURRENTLY RUNNING. ALL IMPLEMENTED SYMBOLIC SYSTEM CALLS (SUCH AS OPEN AND DELETE) ARE LISTED AS SIXBIT NAMES IN ITS AT THE TABLE CALLED SYSCTB:. THE APPROPRIATE LOCATIONS WHERE EACH OF THESE CALLS ARE EXECUTED ARE LISTED IN THE TABLE CALLED SYSCTD:. MOST OF THE CALLS HAVE SOME DOCUMENTATION IN THE ITS LISTING VERY CLOSE TO THE ROUTINE THAT EXECUTES THE CALL. THE ITS CODE THAT EXECUTES USER UUOS USUALLY STARTS WITH A TAG BEGINNING WITH THE LETTER "A" AND AUGMENTED WITH THE NAME OF THE UUO. FOR EXAMPLE, TO LOOK AT THE CODE THAT HANDLES A .IOT, LOOK UP THE SYMBOL "AIOT". OCCASIONALLY THE SYMBOL STARTS WITH "N" RATHER THAN "A". DISK ROUTINE PROCEDURES ALMOST ALWAYS BEGIN WITH "Q", AND TELETYPE CODE WITH "TT". USER VARIABLES ARE STORED SUCH THAT ALL THE VARIABLES FOR A SINGLE JOB ARE TOGETHER. THE SYMBOL "L" IS DEFINED EQUAL TO THE TOTAL SIZE OF THE VARIABLE BLOCK. HENCE, FOR EXAMPLE, THE UNAME OF THE JOB WITH INDEX 30 IS STORED IN LOCATION UNAME+30*L. WHILE ITS IS RUNNING THE JOB WITH INDEX N, ACCUMULATOR U CONTAINS N*L. WHEN ITS WANTS TO SCHEDULE(RUN) A CERTAIN JOB, FIRST THAT JOB'S USTP MUST BE 0. THEN, THAT JOBS FLSINS(FLUSH INSTRUCTION) IS EXECUTED, AND THE JOB DOES NOT RUN UNLESS THE INSTRUCTION SKIPS. THE FORMAT FOR EXECUTING A NEW SYSTEM CALL IS: CALL: .CALL CALBLK ;THE CALL ITSELF ;ERROR RETURN IS TO CALL+1 ;SUCCESSFUL RETURN IS TO CALL+2 ... CALBLK: SETZ ;ALWAYS SIXBIT /NAME/ ;WHERE "NAME" IS ANY IMPLEMENTED CALL ARG1 ;ARGUMENTS START HERE ARG2 ... SETZ ARGN ;BIT 4.9 ON MEANS THIS ARG IS THE LAST ONE A LIST OF ALL IMPLEMENTED SYSTEM CALLS MAY BE SEEN IN DSK:SYSENG;ITS > STARTING AT SYSCTB:. THE ACTUAL ADDRESSES WITHIN ITS WHERE EACH CALL IS EXECUTED MAY BE FOUND FROM THE TABLE STARTING AT SYSCTD:. TYPES OF ARGS: THERE ARE THREE MAIN TYPES OF ARGS: INPUT, RESULT AND CONTROL BIT. THEY ARE DISTINGUISHED BY BITS 4.2 AND 4.3 OF THE ARGUMENT WORD: 4.3, 4.2 = 0 -- INPUT =1 -- RESULT =2 -- CONTROL BIT. THE ORDER OF THE INPUT ARGS MATTERS; SO DOES THE ORDER OF THE RESULT ARGS. OTHER THAN THAT, THE ORDER IS IRRELEVANT. INPUT ARGS: MAY OR MAY NOT BE IMMEDIATE, ACCORDING TO BIT 4.1 . IN EITHER CASE, AN EFFECTIVE ADDRESS IS CALCULATED FROM THE R.H., INDEX AND INDIRECT FIELDS. IF THE ARG IS IMMEDIATE, THAT ADDRESS IS ACTUALLY PASSED TO THE SYSTEM CALL; OTHERWISE, THE WORD AT THAT ADDRESS IS PASSED. (EXCEPTION: SOME SYSTEM CALLS UPDATE THEIR INPUT ARGS. THOSE ARGS USUALLY MAY NOT BE IMMEDIATE.) THE VALUES OF THE INPUT ARGS GIVEN ARE PASSED IN ORDER TO THE SYSTEM CALL, WHICH MAY NOT USE ALL OF THEM. IF MORE THAN 8 INPUT ARGS ARE GIVEN, AN ERROR WITH STATUS CODE 15 IS INDICATED. FEWER ARGS THAN THE PARTICULAR CALL REQUIRES RESULTS IN AN ERROR WITH CODE 30 . RESULT ARGS: CANNOT BE IMMEDIATE. THE EFFECTIVE ADDRESS IS CALCULATED AS USUAL, AND THE VALUE RETURNED BY THE SYSTEM CALL IS STORED IN THE WORD AT THAT ADDRESS. IF THERE ARE SEVERAL RESULT ARGS, EACH WILL GET THE NEXT SUCCESSIVE VALUE RETURNED BY THE SYSTEM CALL. IF THERE ARE MORE RESULT ARGS THAN THE SYSTEM CALL RETURNS VALUES, JUNK WILL BE STORED IN THE EXCESS RESULT ARGS. IF MORE VALUES ARE RETURNED THAN THERE ARE RESULT ARGS, THE EXTRA VALUES WILL BE IGNORED. MORE THAN 8 RESULT ARGS CAUSES AN ERROR RETURN. CONTROL BIT ARGS: MAY OR MAY NOT BE IMMEDIATE. THE VALUES OF ALL CONTROL BIT ARGS GIVEN ARE XOR'ED TOGETHER, AND THE RESULT MAY OR MAY NOT BE USED BY THE SYSTEM CALL. ONLY THE RIGHT HALF OF A NON-IMMEDIATE CONTROL BUT ARG IS SIGNIFICANT. FAILURE-CODES RETURNED BY NEW SYSTEM CALLS (AND .OPEN'S, ETC.) THE FAILURE CODE FROM A NEW SYSTEM CALL THAT DOESN'T SKIP CAN BE OBTAINED BY READING THE .BCH USET VARIABLE TO FIND THE NUMBER OF THE CHANNEL ON WHICH THE CODE WAS RETURNED, AND THEN READING THAT CHANNEL'S .IOC VARIABLE TO GET A WORD WITH THE ERROR CODE IN BITS 3.1 - 3.6 . CODE MESSAGE 1 NO SUCH DEVICE 2 WRONG DIRECTION 3 TOO MANY TRANSLATIONS 4 FILE NOT FOUND 5 DIRECTORY FULL 6 DEVICE FULL 7 DEVICE NOT IN READY STATUS 10 DEVICE NOT AVAILABLE 11 ILLEGAL FILE NAME 12 MODE NOT AVAILABLE 13 FILE ALREADY EXISTS (RENAME) 14 BAD CHANNEL NUMBER 15 TOO MANY ARGUMENTS (CALL) 16 PACK NOT MOUNTED 17 DIRECTORY NOT AVAIL NOW (ALL DIREC CHNLS IN USE) 20 USER DOESN'T EXIST 21 LOCAL DEVICE ONLY 22 SELF CONTRADICTORY OPEN COMMAND 23 ATT MODIFY WRITE ON FILE OPEN FOR READ 24 MFD FULL 25 DEVICE NOT ASSIGNABLE TO THIS PROCESSOR 26 DEVICE WRITE-LOCKED 27 LINK DEPTH EXCEEDED 30 TOO FEW ARGUMENTS (CALL) 31 CAN'T MODIFY JOB. 32 CAN'T GET ACCESS TO PAGE. 33 SELF-CONTRADICTORY ARGS (CALL) 34 WRONG TYPE DEVICE. 35 NO JOB WITH THAT NUMBER. 36 VALID CLEAR OR STORED SET (JOBRET, JOBGET) 37 NO CORE AVAILABLE. 40 NOT TOP LEVEL. THIS FILE LISTS ALL SYSTEM CALLS AND UUO'S. EACH CALL IS LABELED WITH ITS NAME. THE LABELS IN PARENTHESIS ARE THE LOCATIONS OF THE ACTUAL ROUTINES. THE NUMBERS FOLLOWING THE SYSTEM LABELS ARE THE PAGE AND LINE NUMBERS OF THE LABEL IN SYSENG;. A PAGE NUMBER WITH NO SPECIAL CHARACTER IN FRONT OF IT MEANS THAT IT IS IN ITS > (CURRENTLY 819); AN '!' IN FRONT OF THE PAGE NUMBER MEANS THAT THE LABEL IS IN TS2TTY > (CURRENTLY 45); AND A '"' IN FRONT OF THE PAGE NUMBER MEANS THAT THE LABEL IS IN MTAPE > (CURRENTLY 51). REFERENCES TO 'ITS REF MAN' ARE TO THE ITS 1.5 REFERENCE MANUAL (MEM0 NO. 161A). SECTION NUMBERS ARE INCLUDED. RANGET: (ARANGT:!001 049) .CALL ADR RETURN ADR: SETZ SIXBIT /RANGET/ 402000,,FOO FOO: 0 RETURNS 4.9=1 => DOES NOT HAVE TTY NOW 1.1-1.6 CONSOLE TTY # 1.7-2.3 USER # ATTY: (AATTY:!006 004) .OPER 11 .ATTY USR, SEE ITS REF MAN 3.2.1.1 DTTY: (ADTTY:!008 002) .OPER 12 SEE ITS REF MAN 3.2.1.1 TTYGET: (ATTYGT:!009 036) GETS TTYST1, TTYST2 AND TTYSTS WHEN THE USER HAS THE TTY HANGS UNTIL HE GETS IT ALSO RETURNS HIS TTYTYP, TCTYP AND TCECL. THE RH OF TTYSTS AS RETURNED IS PRE-DIVIDED BY LUBLK TTYSET: (ATTYST:!009 004) SETS TTYST1, TTYST2 TTYSTS AND SCNBTM WHEN THE USER HAS THE TTY HANGS UNTIL HE GETS IT RCPOS: (ARCPOS:!010 036) RCPOS SYSTEM CALL. (READ CURSOR POSITION) 1 ARG - TTY OR STY CHNL. 1ST VALUE ,, 2ND VALUE
,,
1ST VALUE IRRELEVANT IF NO ECHO LINES. SCML: (ASCML:!010 049) SCML SYSTEM CALL. SET # COMMAND LINES 1ST ARG TTY OR STY CHNL, 2ND ARG IS DESIRED # COMMAND LINES (FOR ECHOING AT BOTTOM OF SCREEN) 2ND ARG 0 => NO ECHO REGION. CNSSET: (NCNSSET:!011 018) CNSSET SYSTEM CALL. 1ST ARG TTY OR STY CHNL. NEXT ARGS SET VERT SIZE, HORIZ SIZE, TCTYP, TTYCOM, TTYTYP VARS RESPECTIVELY. TCTYP CAN'T BE SET TO A NONSENSE VALUE, SOME TTYCOM VARS CAN'T BE SET. IF 2ND (3RD) ARG NEGATIVE, VERT SIZE (HORIZ SIZE) NOT CHANGED. RSSIZE: CNSGET: (ARSSIZ:!011 005) (NCNSGET:!011 004) CNSGET OR RSSIZE SYSTEM CALL. READ SCREEN SIZE 1 ARG - TTY OR STY CHNL. RETURNS THE SAME VARS THAT CNSSET SETS, IN THE SAME ORDER. RETURN PERMANENT AND SEMIPERMANENT TTY INFO. UNMORE: (NUNMORE:!012 007) UNMORE SYSTEM CALL. LEAVE **MORE** STATE, ECT. 1ST ARG IS TTY OR STY CHNL, 2ND (OPTIONAL) USED TO SET SCNBTM VAR. CTL BIT 1.1 => FLUSH NEXT INPUT CHAR (WITHOUT ECHOING IT) CTL BIT 1.2 => REENTER MORE STATE, LOOKING AGAIN FOR AN INPUT CHAR. RETURNS SCNBTM VAR AS IT IS AFTER ACTIONS. LISTEN: (ALISTEN:!021 021) (NLISTE:!021 040) .OPER 2 SEE ITS REF MAN 3.2.1.2 ITYIC: (AITYIC:!021 002) .OPER 60 SEE ITS REF MAN 2.7.3 ITYI: (AITYI:021 007) .OPER 1 READ INTERRUPT LEVEL CHARACTERS FROM OPEN TTY DEVICE, IF ANY. BEING REPLACED BY ITYIC MTAPE: (AMTAPE:"017 006) .OPER 107 .MTAPE AC, AC/ CHNM,COMMAND COMMAND/ COUNT,,FUNCTION SWAP: (ASWAP:032 137) .OPER 106 AC/ 4.9 =>1 SWAP OUT USER 4.8 => 1 ALL PAGES 4.7=1 => LOOP FOR A WHILE 3.6-3.1 USER # SELF IF 0 RH => USER VIRTUAL PG # OR 4.9=0, 4.8=0, 4.7=0 SWAP OUT RH # OF PAGES IF 4.9=0, 4.8=1 AND 4.7=0, HACK PCLSR TEST FEATURE ON CURRENT USER RH =0 LEAVE PCLSR TEST MODE =1 ENTER IN ADVANCE MODE =-1 ENTER IN HOLD MODE =2 ENTER IN ADVANCE BUT DON'T ^Z UTRAP: (AUTRAP:062 035) UUO 51 GET UUO TRAP INT BIT ILUUO: (AILUUO:062 034) UUO 50 ILLEGAL SYSTEM UUO ACCESS: (NACCES:063 055) (AACCES:063 048) UUO 47 SET ACCESS POINTER SEE ITS REF MAN 2.7.4 IOT: (NIOT:063 027) (AIOT:063 035) UUO 40 SEE ITS REF MAN 5.3.2 BREAK: (ABREAK:063 021) UUO 45 INTERRUPT TO SUPERIOR SEE ITS REF MAN 5.3.2 UIOT: (AUIOT:064 004) UUO 52 ROUTINES TO SIMULATE SOME USER EXECUTED I/O INSTRUCTIONS USET: (AUSET:065 016) UUO 44 .USET CH,[N,,LOC] IF N&200000=1, BLOCK MODE IF N&400000=0, READS USER VAR SPECIFIED BY REST OF N FOR INFERIOR OR FOREIGN USER OPEN ON CHANNEL CH INTO USER LOCATION LOC IF N&400000.NE.0, SETS USER VAR SPECIFIED BY REST OF N FOR DIRECTLY INFERIOR USER OPEN ON CHANNEL CH FROM USER LOCATION LOC SEE ITS REF MAN 5.2.3 SUSET: (ASUSET:065 004) .CALL 13, .SUSET [N,,LOC] SAME AS .USET, BUT REFERS TO SELF SEE ITS REF MAN 4.5 HANG: (AHANG:073 006) .OPER 47 .HANG USER INSTRUCTION HANG ROUTINE DOESN'T WORK FOR SWAPPED OUT USER MEMORY,BUT LEAVE IN FOR DEMON TO HANG ON EXEC CORE NEVER SWAPPED OUT GET USER'S FLUSH INSTRUCTION (PREVIOUS INSTRUCTION) CHECK FOR CAMX,TDNX,TSNX,SKIPX,XCT,OR CONSX INSTRUCTIONS AOS & SOS ARE ILLEGAL SO ARE SKIP INSTRUCTIONS WITH NON-ZERO AC FIELD MAKE IT THE JOB FLUSH INSTRUCTION (IE. RUN JOB ONLY IF SKIPS) THIS OPER HAS DELETED THE .RD710 OPER OPEN: (AOPEN:075 024) (NOPEN:078 001) UUO 41 .OPEN CH,ADR ERROR RETURN NORMAL RETURN ARGS 1 RH HAS CHANNEL NUMBER, LH IS XOR'ED TOGETHER WITH CONTROL-BIT ARGS TO DETERMINE THE MODE TO OPEN IN 2 LEFT-JUSTIFIED DEVICE NAME 3 FN1 4 FN2 5 SNAME, IF LESS THAN 5 ARGS, IT DEFAULTS TO JOB'S SNAME NO VALUES RETURNED (RESULT ARGS WILL BE IGNORED) J ADR: MODE,,(SIXBIT /DSK/) FN1 FN2 ADR: MODE,,(SIXBIT /JOB/) FN1 FN2 ADR: MODE,,(SIXBIT /USR/) UNAM JNAME ADR: MODE,,(SIXBIT /NET/) LOCAL SOCKET NUMBER (1.1-4.5) FOREIGN SOCKET NUMBER (1.1-4.5) FOREIGN HOST NUMBER (1.1-1.8) SPECIAL MODE BITS FOR NET 3.4 = 1 => GENERATE UNIQUE LOCAL RECEIVE (SEND) SOCKET NUMBER 3.4 = 0 => USE LOCAL SOCKET NUMBER SPECIFIED IN BLK+1 3.5 => OPEN SOCKET IN LISTEN MODE 3.6 => IF IMAGE MODE, USE BYTE SIZE IN 4.1-4.6 IF ASCII MODE, USE 8 BIT BYTES RATHER THAN 7 4.1-4.6 = BYTE SIZE IN IMAGE MODE GENERAL MODE BITS 3.1=0 => INPUT =1 OUTPUT 3.2=0 => UNITS =1 BLOCK 3.3=0 => ASCII =1 IMAGE 4.9-4.7 OPERATION FIELD 0=> NORMAL READ OR WRITE 1=> WRITE OVER MODE 2=> MAKE LINK 3=> "COPY OVER" MODE 4=> DELETE OR RENAME (INTERNAL) SEE ITS REF MAN 2.2 FDELETE: (AFDELE:075 004) .CALL 11, .FDELE FILBLK DELETE OR RENAME FILE SPECIFIED AT FILBLK SEE DELETE RENAME: (NRNAM:078 055) RENAMES THE FILE WITH THE "OLD" NAMES ON SPECIFIED DEVICE AND DIRECTORY TO HAVE THE "NEW" NAMES ARGS 1 LEFT-JUSTIFIED DEVICE NAME 2 OLD FN1 3 OLD FN2 4 SNAME 5 NEW FN1 6 NEW FN2 NO RESULT ARGS MLINK: (NMLINK:078 044) MAKE LINK ARGS 1 LEFT-JUSTIFIED FROM-DEVICE 2 FROM-FN1 3 FROM-FN2 4 FROM-SNAME 5 TO-SNAME 6 TO-FN1 7 TO-FN2 NO VALUES RETURNED RENMWO: (NRNWO:078 061) CHANGES THE NAME UNDER WHICH A FILE IS BEING WRITTEN TO THE "NEW" NAMES. THE PREVIOUS NAMES ARE IRRELEVANT. ARGS 1 CHANNEL NUMBER OF FILE BEING WRITTEN 2 NEW FN1 3 NEW FN2 NO RETURNED VALUES DELETE: (NDEL:078 052) DELETES A FILE (LIKE .FDELE) ARGS 1 LEFT JUSTIFIED DEVICE NAME 2 1ST FILE NAME 3 2ND FILE NAME 4 SNAME, DEFAULTS TO JOB'S SNAME NO VALUES RETURNED MAY FAIL IF FILE DOESN'T EXIST, ECT. RCHST: (ARCHST:080 002) .OPER 103 ? CHNL IN LH OF AC+ IF UTAPE THEN TAPE NAME IN LH ? SUPPLY SYM DEVICE IN AC(RH) ? AC+1 GETS 0 IF NOT A FILE DEVICE ? ELSE AC+1 GETS FILE NAME 1 ? AC+2 GETS FNM 2 ? AC+3 GETS SYS NAME OR 0 IF NOT APPLICABLE ? AC+4(RH) GETS WORD ADR (ACCES POINTER) IN FILE ? OR -1=> NOT RANDOMLY ADDRESSABLE ? AC+4 (LH) GETS CHR BYTE PNTR IF IN CHR MODE ABOVE INFO PERHAPS WRONG...FOLLOWING DOES WORK: MOVE AC,[CHNL,,ADDR] .RCHST AC, . . ADDR: 0 ;DEVICE OPEN ON 0 ;FNAM1 0 ;FNAM2 0 ;SNAME 0 ;'AC+4' AS EXPLAINED ABOVE STATUS: (ASTATUS:085 005) UUO 46 .STATUS CH,LOC STORE IN LOC THE STATUS OF CHANNEL CH AND OF THE DEV OPEN ON IT IF ANY SEE ITS REF MAN 2.5 RESET: (ARESET:086 006) .OPER 37 .RESET CH, RESET BUFFERED INFO ON CHANNEL CH NOT IMPLEMENTED FOR MANY DEVICES HAS SPECIAL EFFECTS ON "USR" DEVICE SEE ITS REF MAN 2.7.3 OPER: (AOPER:088 004) UUO 42 OPER DISPATCH SEE ITS REF MAN 1.2.1 CALL: (ACALL:088 016) (NCALL:091 019) UUO 43 CALL DISPATCH SEE ITS REF MAN 1.2.1 SSTATU: (ASSTATUS:085 052) GET VARIOUS SYS STATUS SHUTDN: (ASHUTDN:089 003) .OPER 67 SHUT DOWN SYSTEM ILLEGAL FOR DISOWNED PROCEDURE SEE ITS REF MAN 6.5.2.1 DIETIME: (ADIETIM:089 025) .OPER 66 READ TIME TILL SYSTEM DOWN SEE ITS REF MAN 6.5.2.2 REVIVE: (AREVIVE:089 032) .OPER 65 REVIVE SYS THIS OPER HAS DELETED THE .HANGU OPER, WHICH WOULD HANG UP A PHONE LINE SYSCALL: (ASYSC:091 013) .CALL 0, .CALL ADR ERROR RETURN NORMAL RETURN ADR: SETZ SIXBIT // REPEAT #ARGS,BITS,,
BITS 4.9 => LAST ARG 4.3 - 4.1 0 = NORMAL ARG 1 = IMMEDIATE 2 = OUTPUT ARG 4 = WORD OF CONTROL BITS 5 = IMMEDIATE CONTROL BITS PDUMP: (PDUMP:094 012) .PDUMP ADR ERROR RETURN NORMAL RETURN ADR: SETZ SIXBIT /PDUMP/ POINTER TO INFERIOR CHANNEL POINTER TO DISK CHANNEL POINTER TO STATE WORD STATE WORD: 0 (INITIALLY) 4.9 + N => READY TO DUMP PAGE N JOB SPEC'D MUST BE OUR INFERIOR LOAD: (NLOAD:097 028) PURE LOAD .CALL ADR ADR: SETZ SIXBIT /LOAD/ [] SETZ [DSKCHN] PAGE WORD 4.9=1 ABSOLUTE 4.8=1 SHARED WITH OTHER PAGES AT LEAST ONE OF WHICH IS WRITE 4.7=1 LINK WITH VIRT PG IN RH 1.8-1.1 2.7=1 WORD ALREADY PROCESSED PAGEID: (APGID:105 022) .CALL ADR ADR: SETZ SIXBIT /PAGEID/ ARG1 ARG2 402000,,ARG3 ARG1/ N ;VIRTUAL PAGE NUMBER (MUST NOT BE ZERO) ARG2/ ID ;SIX BITS OF IDENTIFIER (1.1-1.6) ARG3/ ;SET TO -1 IF NEW PAGE CREATED, ;0 IF LINKED TO EXISTING PAGE INSERTS A PUBLIC PAGE WITH IDENTIFIER -ID- IN USERS MAP AS PAGE SPECIFIED BY FIRST ARGUMENT. IF A PUBLIC PAGE WITH IDENTIFIER -ID- ALREADY EXISTS, THAT PAGE WIL BE INSERTED IN THE USERS MAP. IN THE FIRST CASE ARG3 WILL BE SET TO -1, IN THE SECOND CASE IT WILL BE SET TO 0. SKIPS UNLESS BAD ARGUMENTS OR RANDOMNESS. SUPSET: (ASUPSET:107 002) .OPER 53 SEE ITS REF MAN 6.5.1 GUN: (AGUN:107 011) .OPER 21 DESTROY PROCEDURE TREE WHOSE TOP INDEX SUPPLIED BY USER ILLEGAL FOR DISOWNED PROCEDURE SEE ITS REF MAN 5.4 REALTIME: (AREALT:108 021) .OPER 34 REAL TIME USER FEATURE .REALT AC, SKIPS ONLY IF REAL TIME FACILITY REQUESTED AND SEIZED AC= 4.9=>TURN OFF OLD CLOCK RATE FLUSHING REAL TIME FACILITY AND REMAINDER OF CURRENT TICK AND ZEROING TICK COUNT 4.8=>TURN ON NEW CLOCK RATE 4.7=>TRY TO SEIZE REAL TIME USER FACILITY 4.6=>DON'T SETTLE FOR PSEUDO-REAL TIME STATUS 4.5 =>ONLY WANT PSEUDO 4.4=>PROGRAM TO BE BLOCKED EXCEPT FOR HIGH PRIORITY PHASE OR INT. LEVEL 4.3=>READ INTO WD3+4 AS DESCRIBED BELOW (BEFORE ANY OTHER BITS INTERPRETED) 3.1-4.2=RESERVED FOR EXPANSION, SHOULD BE ZERO 1.1-2.9 (RH) POINTER TO 4 WORD BLOCK WD1 FRAME TIME IN 60'THS (MUST BE <2**18.) WD2 PRIORITY TIME IN 60'THS (MUST BE <7 AND C(TIME) SEE ITS REF MAN 6.8.1 DISMIS: (NDISMIS:111 008) (ADISMIS:111 033) .CALL 1, DISMIS SYSTEM CALL. 1ST ARG INT PDL PTR (WILL BE DECREMENTED IF NOT AN IMMEDIATE ARG) 2ND ARG OPTIONAL PC TO DISMIS TO (OVERRIDES THAT IN INT PDL) 3RD ARG OPTIONAL NEW .DF1 VALUE " " " " 4TH ARG OPTIONAL NEW .DF2 VALUE ... IF 4 ARGS GIVEN, 1ST IGNORED EXCEPT FOR POSSIBLY DECREMENTING SEE ITS REF MAN 4.2.2 LOGIN: (NLOGIN:112 002) .OPER 6 SKIP IF ALREADY LOGGED IN OR BAD NAME SEE ITS REF MAN 6.1 RSYSI: (ARSYSI:112 034) .OPER 52 SEE ITS REF MAN 6.6.3 RDSW: (ARDSW:112 052) .OPER 20 BEING REPLACED BY DATAI SEE ITS REF MAN 6.2.1 RDTIME: (ARDTIME:112 051) .OPER 17 SEE ITS REF MAN 6.3.1 SETMSK: (ASETMSK:112 039) .OPER 4 SET OPWN USER VARIABLE MSKST BEING REPLACED BY A SUSET SETM2: (ASETM2:112 037) .OPER 5 SEE ITS REF MAN 4.2.1 DETACH: (NDETAC:113 014) .CALL ADR ERROR RETURN NORMAL RETURN ADR: SETZ SIXBIT /DETACH/ SETZ [] DISOWN JOB'S ENTIRE TREE AND FREE CONSOLE. IF TREE HAS NO CONSOLE, JUST MAKES IT DISOWNED. NO ARG => THIS JOB'S TREE ALWAYS SKIPS IF THE JOB SPEC IS REASONABLE. ATTACH: (NATTAC:114 009) .CALL ADR ERR RET NORMAL RET ADR: SETZ SIXBIT /ATTACH/ 400000,[] DISOWN: (ADISOWN:115 004) .OPER 27 .DISOWN CH, MAKES DIRECTLY INFERIOR PROCEDURE OPEN ON CHANNEL CH, THE TOP LEVEL JOB OF A DISOWNED JOB SEE ITS REF MAN 5.2.2 LOGOUT: (ALOGOUT:117 006) .OPER 33 ROUTINE TO LOG OUT USER WITH TOP PROCEDURE INDEX IN U SEE ITS REF MAN 6.1 ASSIGN: (AASSIGN:118 024) .OPER 43 ASSIGN UTAPE SEE ITS REF MAN 3.1.2.2 EOFC: (AEOFC:118 049) .OPER 50 READ END OF FILE CHARACTER OBSOLETE SEE ITS REF MAN 2.3.1 DESIGN: (ADESIGN:118 038) .OPER 44 DEASSIGN UTAPE SEE ITS REF MAN 3.1.2.2 RTIME: (ARTIME:119 026) .OPER17 .RTIME AC, RETURNS SIXBIT HHMMSS (24 HOUR TIME) IN AC SEE ITS REF MAN 6.3.2 RYEAR: (ARYEAR:119 046) .OPER 100 .RYEAR AC, PUSHJ'S TO RYEAR AND MOVEM'S E TO AC RDATE: (ARDATE:119 018) .OPER 46 .RDATE AC, RETURNS SIXBIT YYMMDD IN AC SEE ITS REF MAN 6.3.3 PDTIME: (APDTIME:119 007) .OPER 54 .OPERS RELEVANT TO REAL TIME .PDTIME AC, RETURNS 60.*<# SECS SINCE BEGINNING OF YEAR> RDATIME: (ARDATI:119 034) .OPER 102 .RDATIM AC, DOES .RTIME TO AC, .RDATE TO AC+1 RLPDT: (ARLPDT:119 052) .OPER 101 .RLPDT AC, DOES .RYEAR AC+1, AND ALSO MOVEM'S A TO AC IOTLSR: (AIOTLS:125 035) .OPER 51 OPER TO REQUEST OR FLUSH RUNNING IN IOT USER MODE SEE ITS REF MAN 6.8.3 TRANS: (NTRNS:128 002) .CALL 2, TRANS SYSTEM CALL. DEFAULT 5 ARGS TO 0. FAIL IF TOO MANY TRANSL SEE ITS REF MAN 2.2.2.1 TRANEX: (NTRNEX:129 008) TRANEX CALL -- READ IN A JOB'S TRANSL LIST. 1ST ARG RH - JOB SPEC. BIT 4.8 - IF SET, TRNLS1 NOT TRNLST. 2ND ARG AOBJN -> PLACE TO STORE LIST INTO. UPDATED AOBJN PTR IS OUTPUT ARG. SKIPS IF ENTIRE LIST FIT IN BUFFER. EACH ENTRY TAKES 9 WDS OF SPACE: MODE,, IN 1ST, INPUT DEV, FN1, FN2, SNAME; THEN OUTPUT DEV, FN1, FN2, SNAME. TRANDL: (NTRNDL:130 007) (ATRNDL:133 006) .CALL 7, TRANDL CALL -- DELETE ENTRY FROM TRANSL LIST. 1ST ARG RH JOB SPEC. OF JOB WHICH IS OK TO MODIFY. 1ST ARG LH MODE BITS AS FOR .TRANAD, ALSO 4.8 BIT SAYS TRNLS1 (SPEC'D JOB AND INFS, RATHER THAN JUST SPEC'D JOB) 2ND ARG AOBJN -> INPUT DEV, FN1, FN2, SNAME. (ONLY DEV NEC.). SKIPS IF SOMETHING WAS DELETED. SEE ITS REF MAN 2.2.2.3 TRANAD: (NTRNAD:131 005) (ATRANA:133 002) .CALL 3, TRANAD CALL. -- ADD AN ENTRY TO A TRANSL LIST. 1ST 2 ARGS AS FOR TRANDL. 3RD ARG LIKE 2ND BUT GIVES OUTPUT NAMES. SKIPS UNLESS ALL ENTRIES WERE IN USE. SEE ITS REF MAN 2.2.2.2 TRANCL: (NTRNCL:132 006) TRANCL CALL -- RESET A ONE OR BOTH TRANSL LISTS FOR A JOB. 1ST ARG RH HAS JOB SPEC OF MODIFYABLE JOB. BIT 4.8 CLEAR TRNLS1 VAR. (TRANSL FOR THIS JOB & INFS). BIT 4.7 CLEAR TRNLST VAR. (TRANSL FOR THIS JOB ONLY). ALWAYS SKIPS IF VALID. JOBGET: (NJBGT:152 036) .CALL ADR ERROR RETURN NORMAL RETURN ADR: SETZ SIXBIT /JOBGET/ [BOJCHNL] 2000,,WD1 2000,,WD2 UP TO SIX WDS RETURNED WD1 BITS: 4.9-4.7 => IMAGE/ASCII, BLOCK/UNIT, OUTPUT/INPUT 4.6 => INPUT CLOSE 4.5 => OUTPUT CLOSE 1.4-1.1 => TYPE OF SYSTEM CALL 0 OPEN 1 IOT 2 STATUS 3 RESET 4 RCHST 5 ACCESS 6 FDELE (DELETE OR RENAME) 7 FDELE (RENAME WHILE OPEN) WD2 SET ONLY FOR BLOCK IOT POINTER, ACCESS POINTER, NEW FN1 FOR FDELE WD3 FN1 WD4 FN2 WD5 SYS NAME WD6 LEFT ADJUSTED DEVICE NAME WD7 NEW FN2 FOR FDELE. IGNORE ALL RETURNED INFO ON AN ERROR RETURN IF 4.5 OR 4.6 IS SET THEN ALL ELSE IS MEANINGLESS JOBRET: (NJBRT:153 011) .CALL ADR ERROR RETURN NORMAL RETURN ADR: SETZ SIXBIT /JOBRET/ [BOJCHNL] SETZ [OPEN LOSS #(IF RH = 0),,# TIMES FOR CREATING JOB TO SKIP] SETIOC: (NSTIOC:156 015) .CALL ADR WON'T SKIP ADR: SETZ SIXBIT /SETIOC/ ARG1 SETZ ARG2 ARG1: CHANNEL JOB OR BOJ DEVICE IS OPEN ON ARG2: TYPE OF IOCER TO CAUSE THIS CALL CAUSES THE NEXT IOT EXECUTED BY THE PROCEDURE ON THE OTHER END OF THE CHANNEL TO GET THE SPECIFIED IO CHANNEL ERROR JOBINT: (NJBINT:157 010) .CALL ADR SKIPS UNLESS JOB END OF CHNL NOT THERE ADR: SETZ SIXBIT /JOBINT/ 401000,,BOJCH GIVE CREATOR A SECOND WORD INT ON CHANNEL CORRESP TO BOJCH DEMON; (ADEMON:163 035) DEMSIG: (ADEMSIG:163 052) IOPUSH: (AIOPUSH:166 006) .OPER 13 IO CHANNEL PUSH DOWN LIST ROUTINES LOOK AT LH OF RESET TABLE TO SEE IF DEVICES HAVE ROUTINES (FOR INTERRUPTS ETC) C(I) =0 AT DSP => IOPUSH =1 => IOPOP SEE ITS REF MAN 2.6.1 IOPDL: (AIOPDL:166 040) .OPER 57 LIKE IOPOP SEE ITS REF MANJ 2.6.2 IOPOP: (AIOPOP:166 025) .OPER 14 CLOSE WHATEVER MAY BE OPEN ON CHANNEL POPPING INTO SEE ITS REF MAN 6.2.1 GETSYS: (AGETSYS:167 005) .OPER 23 .GETSYS AC, TRANSFERS SYSTEM AREA SPECIFIED BY C(AC+1) TO USER AREA STARTING AT R.H. C(AC) OF LENGTH MINUS L.H. C(AC) SEE ITS REF MAN 6.6.1 GETLOC: (AGETLOC:169 004) .OPER 25 GET AN ABSOLUTE LOCATION .GETSYS AC, C(A)=FROM(ABS),,TO(RELATIVE) SEE ITS REF MAN 6.6.2 SETLOC: (ASETLOC:169 014) .OPER 26 SET AN ABSOLUTE LOCATION .SETLOC AC, C(AC)=FROM(RELATIVE),,TO(ABS) SEE REF MAN 6.8.4 IFSET: (AIFSET:169 020) .OPER 75 SET AN ABSOLUTE LOCATION ONLY IF C(ABS)=C(TEST) SKIP IF SUCCESSFUL .IFSET AC, C(AC)=,,TO ADR(ABS) WORD 1=TEST WORD 2=NEW C(ABS) SEE ITS REF MAN 6.8.4 REDEF: (AREDEF:170 021) .OPER 74 REDEFINE ITS SYMBOL .REDEF AC, C(AC)=POINTER TO 2 WORD BLOCK WORD 1 = SYMBOL WORD 2 = VALUE DELETE SYM IF ALL 4 FLAG BITS SET ADD SYM IF NOT FOUND SKIPS IF SUCCESSFUL FAIL ONLY IF NOT ENOUGH ROOM ILLEGAL IF DISOWNED SEE ITS REF MAN 6.8.6 EVAL: (AEVAL:170 005) .OPER 73 LOOK UP ITS SYMBOL .EVAL AC, C(AC)=SQUOZE SYMBOL REPLACES SYMBOL BY VALUE & SKIPS IF SUCCESSFUL SEE ITS REF MAN 6.6.4 UPISET: (AUPISET:171 025) .OPER 36 SET OWN USER VARIABLE PICLR BEING REPLACED BY A SUSET WSNAME: (AWSNAME:171 021) .OPER 35 SET OWN USER VARIABLE USYSNM BEING REPLACED BY A SUSET GENSYM: (AGENSYM:172 004) .OPER 32 GENERATE A UNIQUE SYM .GENSYM AC, LOADS AC WITH SYM SEE ITS REF MAN 6.8.2 CORE: (ACORE:173 006) (UACORE:173 005) .CALL 6, CORE ALLOCATOR SEE ITS REF MAN 4.3.1 CORTYP: (NCORTY:174 019) CORTYP SYSTEM CALL. IF 2 ARGS,1ST ARG IS JOB SPEC, LIKE CORBLK'S 2ND AND 4TH ARGS. 2ND ARG IS PAGE NUMBER IN THAT JOB. IF ONLY 1 ARG, IT IS THE PAGE NUMBER IN THE EXECUTING JOB. RETURNED VALUES: 1ST VALUE BIT 4.9 => PAGE IS WRITEABLE, 4.8 => PAGE EXISTS. FOR NON EX PAGE, ALL THE REST ARE 0. 2ND IS 0 => PAGE IS ABSOLUTE, -1 => UNSHARED, ELSE IS JOB NUMBER OF NEXT JOB IN CIRCULAR LIST. 3RD IF ABSOLUTE PAGE, HAS PAGE NUMBER. IF PAGE IS SHARED, HAS PAGE NUMBER IN THE JOB WHOSE NUMBER IS THE 2ND VALUE. ELSE, 0. 4TH BIT 4.9 => PAGE IS IN CORE. BIT 4.8 => PAGE IS PUBLIC. RH IS NUMBER OF TIMES PAGE IS SHARED (WILL BE 0 FOR ABS PAGE OR IF NO PAGE, OTHERWISE WILL BE >= 1) DON'T LET PAGE MAPS CHANGE. CORBLK: (NCORBL:175 033) CORBLK CALL 1ST ARG FLAG BITS (RH XOR'D INTO LH BEFORE DECODING) 4.9 GET WRITE ACCESS IF OK, DON'T FAIL IF NOT. 4.8 GET READ ACCESS 4.7 GET WRITE ACCESS, FAIL IF CAN'T 4.6 MAKE PAGE PUBLIC 4.5 MAKE IT PRIVATE (BOTH FAIL IF COULDN'T GET WRITE ACCESS) 4.4 FAIL IF CAN'T GET READ ACCESS.(COPYING NONEXISTANT PAGE) 4.3 COPY ON WRITE(CURRENTLY ONLY IMPLEMENTED FOR PAGE OF FILE) IF ALL 0, DELETE. 2ND ARG SPECIFIES JOB TO PUT PAGE IN IS EITHER CHNL NUM, -1 FOR SELF, OR 400000+USRNUM JOB SPECIFIED MUST BE CURRENT JOB OR INFERIOR. 3RD ARG RH. IS PAGE NUM. IN IT. LH. IF NEGATIVE, BLOCK MODE, REPEAT THAT MANY TIMES, INCREMENTING BOTH PAGE NUMS EACH TIME. IN BLOCK MODE, REWRITES 3RD AND 5TH ARGS EACH TIME. 4TH ARG IS SOURCE OF PAGE, EITHER 0,,-1 OR -1 FOR SELF, CHNL NUM, 400000+USRNUM 400000 FOR ABS PAGE (SYS JOB), 400377 FOR SUPERIOR, OR 400001 FOR FRESH PAGE (CORE JOB). OR DSK CHNL GET NTH PG IN FILE IF NO 4TH ARG, SAME AS 2ND 5TH ARG IS PAGE NUM IN SOURCE (IGNORED FOR FRESH PAGE) IF NO 5TH ARG, SAME AS 3RD IF 4TH ARG SPECIFIES JOB. IF 4TH ARG SPECS FILE, USE CURRENT ACCESS PNTR IF INSERTING DISK PAGES, THE ACCESS PTR WILL BE POSITIONED AT THE BEGINNING OF THE PAGE AFTER THE LAST PAGE INSERTED. CBLK: (ACBLK:183 026) .OPER 42 .CBLK AC, AC 4.9 MUST BE ZERO 4.7 USED INTERNALLY IN CODE (W RQ ON PDP6) 4.3-4.1 = 0 GET PAGE FROM SELF = 1 GET ABSOLUTE PAGE = 2 GET PAGE FROM USER OPEN ON CH # 3.1-3.8 = 3 GET PAGE FROM USER NUMBER 3.1-3.8 = 4 GET PAGE = 5 GET PAGE (PUBLIC) = 6 MAKE PAGE PRIVATE = 7 MAKE PAGE PUBLIC 3.9=1 REQUEST WRITE PERMISSION (IGNORED ON FRESH PAGE, OTHERWISE VALID ONLY FOR SELF OR DIRECT INFERIOR OPEN ON CH OR PUBLIC PAGE) 3.1-3.8 USER NUMBER OR CH # (377 => CREATOR IF JOB DEVICE) 2.9=1 INSERT PAGE, 0 DELETE (IGNORES 4.3-4.1 EXCEPT FOR 6 OR 7 WHEN IT IS IGNORED) 2.1-2.8 VIRTUAL PAGE TO BE AFFECTED 1.1-1.9 BLOCK # IN ABSOLUTE OR OTHER USER (OR SELF IF 4.3-4.1 = 0) NEW .CBLK CODE, PASSES THE BUCK TO CORBLK. SAME AS FAR AS CALLER IS CONCERNED. THIS OPER HAS DELETED THE .RRTIM OPER, WHICH HAS BEEN REPLACED BY A SUSET TO READ OWN USER VARIABLE UTRNTM ARMOVE: (AARMOV:206 004) .OPER 40 DONT ALLOW ARM TO RUN WITHOUT TIPBRK SEE ITS REF MAN 3.3.2.1 ARMOFF: (AARMOFF:209 012) .OPER 70 SEE ITS REF MAN 3.3.2.1 ARMRS: (AARMRS:209 020) .OPER 55 RESET ARM LOCK FLAGS POTSET: (APOTSE:211 002) .CALL 16, SEE ITS REF MAN 3.3.3.1 DSTART: (ADSTART:219 021) .CALL 10, ROUTINES TO START 340 DISPLAY WITH DIS BUFF IN USERS CORE DSTRT: DSTL: (ADSTL:219 022) .CALL 12, SEE ITS REF MAN 3.4.1.1 NDIS: (ANDIS:219 037) .OPER 71 DISPLAY N TIMES AND THEN STOP SEE ITS REF MAN 3.4.1.5 DCLOSE: (ADCLOSE:220 037) .OPER 15 SEE ITS REF MAN 3.4.1.3 LTPEN: (ALTPEN:220 054) .CALL 14, SEE ITS REF MAN 3.4.1.2 DSTOP: (ADSTOP:220 002) .OPER 16 SEE ITS REF MAN 3.4.1.4 VSTST: (AVSTST:241 001) .OPER 62 READ CURRENT DISPLAY STATE SEE ITS REF MAN 3.3.1.1 VSCAN: (AVSCAN:242 001) .CALL 15, SEE ITS REF MAN 3.3.1.1 NETBLK: (ANETBLK:255 073) JRST ILUUO ;FOR NOW NETINT: (ANETINT:255 054) .NETINT CH, SEND NETWORK INTERRUPT "INR" OR "INS" INR FROM RECEIVER TO SENDER (LOCAL SOCKET EVEN, FOREIGN ODD) INS FROM SND TO RCV ( -", -") NETS: (ANETS:255 037) .OPER 64 SEND BUFFER NOW .NETS CH, RETURN THIS OPER HAS DELETED THE .DIALW OPER NETAC: (ANETAC:255 006) .OPER 63 ACCEPT CONNECTION .NETAC CH, ERROR RETURN NORMAL RETURN THIS OPER HAS DELETED THE .DIAL OPER, WHICH WAS USED TO REQUEST DIALING ON A DATAPHONE LINE RBTC: (ARBTC:305 004) .OPER 104 ROBOT CONSOLE READ SWITCHES FEED: (AFEED:318 044) .OPER 72 SEE ITS REF MAN 3.2.4.1 UBLAT: (AUBLAT:338 038) .OPER 56 UTAPE CONTINUOUS NON-FILE IO GET TAPE NUM, C(AC), SKIP IF NEG OR ZERO SEE ITS REF MAN 3.1.2.3 UINIT: (AUINIT:339 032) .OPER 77 INITIALIZE UTAPE DIRECTORY .UINIT AC, C(AC)=TAPE # TAPE MUST BE ASSIGNED SEE ITS REF MAN 3.1.2.5 UTNAM: (AUTNAM:339 004) .OPER 76 SET UTAPE NAME .UTNAM AC, LH(AC)=6BIT NAME, RH(AC)=TAPE # SEE ITS REF MAN 3.1.2.4 UDISMT: (AUDISM:340 004) .OPER 22 UTAPE DISMOUNT SEE ITS REF MAN 3.1.2.1 FLAP: (NFLAP:340 005) SAME AS UDISMT SRDATE: (ASRDAT:394 024) SET REFERENCE DATE SFDATE: (ASFDAT:394 032) SET FILE CREATION DATE WORD FILLEN: (NFILLEN:394 068) GETS FILE LENGTH FILBLK: (AFILBL:394 061) READ ALL 5 PARAMETERS OF NAME AREA RDMPBT: (ARDMPB:394 038) READ FILE DUMPED BIT DMPCH: (ADMPCH:394 002) .OPER 105 SET OR READ STATUS OF DUMP BIT OF FILE OPEN ON CHNL IN AC(RH) RFDATE: (ARFDAT:394 016) READ FILE CREATION DATE WORD RESRDT: (ARESRD:394 028) RESTORE REFERENCE DATE SDMPBT: (ASDMPB:394 042) SET FILE DUMPED BIT IPDP: (AIPDP:442 006) .OPER 24 .IPDP CH, INTERRUPT THE PDP6, I/O CH SHOULD HAVE PDP6 OPEN AS INFERIOR THIS CALL DOESNT SKIP OR INTERRUPT TO THE USER THIS OPER HAS DELETED THE .RD500 OPER, WHICH READ A CLOCK 5/29/73 PROGRAMMING THE PDP-10 TO PDP-11 INTERFACE THE INTERFACE LETS THE PDP-10 PROGRAMMER DIRECTLY ACCESS THE MEMORIES OF UP TO EIGHT PDP-11'S. PDP-10 PAGES ARE MAPPED INTO SEGMENTS OF VARIABLE SIZE IN THE PDP-11'S MEMORY. THE PDP-10 PAGE MAP IS ALSO DIRECTLY ADDRESSABLE IN MEMORY (IT CURRENTLY LIVES IN LOCATIONS 776000-776777)**. THERE IS ONE ENTRY IN THE MAP FOR EACH PDP-10 PAGE. ** SEE ALSO BELOW PAGE TABLE ENTRY: 4.9 VALID 4.8 WRITE ENABLE 4.3-4.7 (5 BITS) NOT USED (0) 3.9-4.2 (3 BITS) PDP-11 NUMBER 2.2-3.8 (16 BITS) RELOCATION ORIGIN OF SEGMENT OF IN PDP-11 ADDRESS SPACE PDP-11 ADDRESS=4*RELOCATION 1.1-2.1 (10 BITS) PROTECTION (PDP-11 PROTECTION=4*PROTECTION IF PROTECTION=0 THEN ONLY ONE 16 BIT WORD IS ACCESSIBLE) WRITE REFERENCE FORMAT 3.3-4.9 (16 BITS) WORD 0, LOW ORDER WORD 1.5-3.2 (16 BITS) WORD 1, HIGH ORDER WORD 1.4 DON'T WRITE WORD 0 1.3 DON'T WRITE WORD 1 1.1-1.2 (2 BITS) NOT USED READ REFERENCE FORMAT 3.3-4.9 (16 BITS) WORD 0, LOW ORDER WORD 1.5-3.2 (16 BITS) WORD 1, HIGH ORDER WORD 1.1-1.4 (4 BITS) 0 NOTE -- SPLIT CYCLES WILL DO THE RIGHT THING; HENCE, ILDB AND IDPB WORK. CAUTION -- WHEN USING BYTE INSTRUCTIONS, A 16 BIT BYTE SIZE IS RECCOMMENDED. SUCCESSIVE INCREMENTS OF BYTE POINTERS WITH AN 8 BIT BYTE SIZE DO NOT ADDRESS CONSECUTIVE BYTES IN THE PDP-11! ITS SYSTEM CALL TO PUT 11 MAP ENTRY IN YOUR 10 MAP .CALL [SETZ SIXBIT /T11MP/ 10PGNO ;PTR TO 10 PG NO SETZ PGENT] ;PTR TO ENTRY (FORMAT ABOVE) 10PGNO: 3 PGENT: <_34.>+<_26.>+<_10.>+ </4> FOR ABOVE 10 ADDRESSES 6000-7777 ARE MAPPED INTO 11 ADDRESSES 10000-17776. BOTH READ AND WRITE ARE ENABLED.