perm filename NWORLD.DIF[S,AIL] blob
sn#202942 filedate 1976-02-22 generic text, type T, neo UTF8
1) NWORLD vs. 2) NWORLD.NEW SRCCOM 02-22-76 16:34 PAGES 1,1
******** NWORLD **** PAGE 1 LINE 2
1) RECORD PAGE DESCRIPTION
1) 00001 00001
1) 00009 00002 HISTORY
1) 00014 00003 MANY DECLARATIONS
1) 00020 00004 PROCESS VARIABLE NUMBERS
1) 00023 00005 COMMENT event variables
1) 00024 00006 COMMENT procedure descriptors & null process skeleton
1) 00026 00007 DSCR SPROUT -- THE PROCESS SPROUTER
1) 00033 00008
1) 00040 00009
1) 00041 00010 COMMENT routines for inserting & deleting set elements
1) 00045 00011 USER REQUESTED SCHEDULING
1) 00050 00012 HERE(RESUME)
1) 00054 00013 COMMENT SUSPEND and TERMINATE runtime routines
1) 00057 00014 COMMENT The JOIN runtime routine
1) 00059 00015 COMMENT THE MAIN PROCESS INITIALIZER
1) 00061 00016 COMMENT CALLER , MYPROC, AND PSTATUS
1) 00063 00017 COMMENT PRISET -- ROUTINE USER CALLS TO CHANGE PRIORITY
1) 00064 00018 COMMENT SPECIAL GC ROUTINE FOR PROCESSES
1) 00065 00019 COMMENT INTERRUPT ROUTINES
1) 00069 00020 COMMENT THE INTERRUPT PROCESS
1) 00072 00021
1) 00073 00022 COMMENT CAUSE
1) 00075 00023 COMMENT CAUSE1 -- ROUTINE TO DO ACTUAL WORK
1) 00078 00024 COMMENT ANSWER -- subroutine used by CAUSE
1) 00080 00025 COMMENT DELWRQ -- delete all wait requests
1) 00082 00026 COMMENT INTERROGATE
1) 00084 00027 COMMENT ASK -- used by INTERROGATE
1) 00087 00028 COMMENT MKEVTT,SETCP,& SETIP
1) 00089 00029 SPARE HERE TABLE ENTRIES
1) 00090 00030 COMPIL(IRP,,,,,,DUMMYFORGDSCISS)
1) 00092 00031 HERE(INTTBL)
1) 00095 00032 PROCEDURES TO ENABLE FOR INTERRUPTS
1) 00097 00033
1) 00098 00034 HERE(INTTBL)
1) 00101 00035 DSCR
1) 00106 00036 HERE(PSIDISMS)
1) 00108 00037 HERE(PSIRUNTM)
1) 00112 00038 HERE(KPSITIME)
1) 00113 00039
1) 00114 00040
1) 00115 ENDMK
1) ⊗;
1) COMMENT ⊗HISTORY
*** NWORLD.NEW *** PAGE 1 LINE 2
2) C REC PAGE DESCRIPTION
2) C00001 00001
1) NWORLD vs. 2) NWORLD.NEW SRCCOM 02-22-76 16:34 PAGES 1,1
2) C00004 00002 HISTORY
2) C00009 00003 MANY DECLARATIONS
2) C00015 00004 PROCESS VARIABLE NUMBERS
2) C00018 00005 COMMENT event variables
2) C00019 00006 COMMENT procedure descriptors & null process skeleton
2) C00021 00007 DSCR SPROUT -- THE PROCESS SPROUTER
2) C00028 00008
2) C00035 00009
2) C00036 00010 COMMENT routines for inserting & deleting set elements
2) C00040 00011 USER REQUESTED SCHEDULING
2) C00045 00012 HERE(RESUME)
2) C00050 00013 COMMENT SUSPEND and TERMINATE runtime routines
2) C00053 00014 COMMENT The JOIN runtime routine
2) C00055 00015 COMMENT THE MAIN PROCESS INITIALIZER
2) C00057 00016 COMMENT CALLER , MYPROC, AND PSTATUS
2) C00059 00017 COMMENT PRISET -- ROUTINE USER CALLS TO CHANGE PRIORITY
2) C00060 00018 COMMENT SPECIAL GC ROUTINE FOR PROCESSES
2) C00061 00019 COMMENT INTERRUPT ROUTINES
2) C00065 00020 COMMENT THE INTERRUPT PROCESS
2) C00068 00021
2) C00069 00022 COMMENT CAUSE
2) C00071 00023 COMMENT CAUSE1 -- ROUTINE TO DO ACTUAL WORK
2) C00074 00024 COMMENT ANSWER -- subroutine used by CAUSE
2) C00076 00025 COMMENT DELWRQ -- delete all wait requests
2) C00078 00026 COMMENT INTERROGATE
2) C00080 00027 COMMENT ASK -- used by INTERROGATE
2) C00083 00028 COMMENT MKEVTT,SETCP,& SETIP
2) C00085 00029 SPARE HERE TABLE ENTRIES
2) C00086 00030 COMPIL(IRP,,,,,,DUMMYFORGDSCISS)
2) C00088 00031 HERE(INTTBL)
2) C00091 00032 PROCEDURES TO ENABLE FOR INTERRUPTS
2) C00093 00033
2) C00094 00034 HERE(INTTBL)
2) C00097 00035 DSCR
2) C00102 00036 HERE(PSIDISMS)
2) C00104 00037 HERE(PSIRUNTM)
2) C00108 00038 HERE(KPSITIME)
2) C00109 00039
2) C00110 00040
2) C00111 ENDMK
2) C⊗;
2) COMMENT ⊗HISTORY
******** NWORLD **** PAGE 6 LINE 34
1) FPDE (PD.DSW,STKBAS)
*** NWORLD.NEW *** PAGE 6 LINE 34
2) FPDE (PD.ID1,6)
1) NWORLD vs. 2) NWORLD.NEW SRCCOM 02-22-76 16:34 PAGES 6,6
2) FPDE (PD.ID2,<<POINT 7,[ASCII/SPROUT/]>>)
2) FPDE (PD.DSW,STKBAS)
******** NWORLD **** PAGE 7 LINE 55
1) ERR <NOT ENOUGH CORE -- SPROUT >
1) MOVN C,C ;MAKE PDP
*** NWORLD.NEW *** PAGE 7 LINE 55
2) ERR <SPROUT: No core>
2) MOVN C,C ;MAKE PDP
******** NWORLD **** PAGE 7 LINE 66
1) ERR <NOT ENOUGH CORE -- SPROUT >
1) MOVE PB,B ;PROCESS BASE
*** NWORLD.NEW *** PAGE 7 LINE 66
2) ERR <SPROUT: No core>
2) MOVE PB,B ;PROCESS BASE
******** NWORLD **** PAGE 7 LINE 135
1) ADD NSP,TMP ;BUMP OLD STACK
1) SUB SP,TMP ;DECREMENT OLD STACK
*** NWORLD.NEW *** PAGE 7 LINE 135
2) ADD NSP,TMP ;BUMP NEW STACK
2) JUMPL NSP,.+2
2) ERR <SPROUT: SP PDLOV>
2) SUB SP,TMP ;DECREMENT OLD STACK
******** NWORLD **** PAGE 7 LINE 144
1) SUB P,TMP
*** NWORLD.NEW *** PAGE 7 LINE 146
2) JUMPL NP,.+2
2) ERR <SPROUT: P PDLOV>
2) SUB P,TMP
******** NWORLD **** PAGE 8 LINE 22
1) MOVEM C,PRCITM(PB) ;REMEMBER IT
*** NWORLD.NEW *** PAGE 8 LINE 22
2) JUMPN C,.+2
2) ERR <SPROUT: Illegal process item >,7
2) MOVEM C,PRCITM(PB) ;REMEMBER IT
******** NWORLD **** PAGE 11 LINE 59
1) SKIPN A,PLISTE(PB) ;ONLY ONE ON THE LIST?
1) NWORLD vs. 2) NWORLD.NEW SRCCOM 02-22-76 16:34 PAGES 11,11
1) JRST RDYTHS ;YES
1) TRNN A,-1 ;ALREADY AT END?
*** NWORLD.NEW *** PAGE 11 LINE 59
2) SKIPE A,PLISTE(PB) ;ONLY ONE ON THE LIST?
2) TRNN A,-1 ;ALREADY AT END?
******** NWORLD **** PAGE 12 LINE 10
1) ERR <ATTEMPT TO RESUME SOMETHING NOT A PROCESS>
1) MOVE PB,@DATAB(TEMP) ;GET THE DATUM
1) TLNE PB,TERM ;WAS IT TERMINATED?
1) ERR <ATTEMPT TO RESUME A TERMINATED PROCESS>
1) MOVE B,PRCITM(USER) ;MY NAME
*** NWORLD.NEW *** PAGE 12 LINE 10
2) JRST [ MOVEI LPSA,ER.NPI
2) RESERR: MOVSI TEMP,[ASCIZ/RESUME/]
2) PUSH P,PCW(USER) ;ENTRY CONVENTION OF ER.ITN
2) JRST (LPSA)]
2) MOVE PB,@DATAB(TEMP) ;GET THE DATUM
2) TLNE PB,TERM ;WAS IT TERMINATED?
2) JRST [MOVEI LPSA,ER.TRP
2) JRST RESERR]
2) MOVE B,PRCITM(USER) ;MY NAME
******** NWORLD **** PAGE 12 LINE 18
1) ERR <ATTEMPT TO RESUME NON-SUSPENDED PROCESS>,1,<@PCW(USER)>
1) JUMPN OPTS,NS.RSM ;NONSTANDARD IF JUMP
*** NWORLD.NEW *** PAGE 12 LINE 21
2) JRST [MOVEI LPSA,ER.SUS
2) JRST RESERR]
2) JUMPN OPTS,NS.RSM ;NONSTANDARD IF JUMP
******** NWORLD **** PAGE 13 LINE 1
1) COMMENT ⊗SUSPEND and TERMINATE runtime routines⊗
*** NWORLD.NEW *** PAGE 12 LINE 98
2) ER.SUS: HRRI TEMP,[ASCIZ/Non-suspended process/]
2) JRST ER.ITN
2) ER.TRP: TROA TEMP,[ASCIZ/Terminated process/]
2) ER.NPI: HRRI TEMP,[ASCIZ/Non-process item/]
2) ER.ITN:
2) ;ENTER WITH (P)=RETURN WORD, TEMP=[ASCIZ/routine/],,[ASCIZ/msg/]
2) ;C=ITEM NUMBER
2) MOVE LPSA,RUNNER ;STORE STATE
2) POP P,PCW(LPSA) ;RETURN WORD
2) MOVEM P,ACP(LPSA)
2) MOVEM SP,ACSP(LPSA)
1) NWORLD vs. 2) NWORLD.NEW SRCCOM 02-22-76 16:34 PAGES 13,12
2) MOVEM RF,ACF(LPSA)
2) MOVEI LPSA,(C) ;ITEM NUMBER (ERRSPL USES FF THRU D)
2) ERRSPL 1,[[ASCIZ/
2) @A: @A #@D/]
2) PLEFT TEMP ;routine
2) PRIGHT TEMP ;msg
2) PRIGHT LPSA] ;item number
2) MOVE PB,RUNNER ;TRY TO IGNORE THE CALL THAT GAVE THE ERROR
2) SETZ A, ;RETURN 0 (=ANY) IF IT MATTERS
2) JRST RPSPF ;RESTORE P, SP, F AND CONTINUE
2) COMMENT ⊗SUSPEND and TERMINATE runtime routines⊗
******** NWORLD **** PAGE 13 LINE 23
1) MOVE TABL,GOGTAB ;
*** NWORLD.NEW *** PAGE 13 LINE 5
2) MOVSI TEMP,[ASCIZ/SUSPEND/]
2) MOVE TABL,GOGTAB ;
******** NWORLD **** PAGE 13 LINE 23
1) ERR <ATTEMPT TO SUSPEND A NON PROCESS ITEM>
1) MOVE PB,@DATAB(TABL)
1) TLNE PB,TERM ;IF TERMINATED ,
1) ERR <SUSPENDING A TERMINATED ITEM>
1) CAME PB,RUNNER ;IS IT THE RUNNER
*** NWORLD.NEW *** PAGE 13 LINE 9
2) JRST ER.NPI
2) MOVE PB,@DATAB(TABL)
2) TLNE PB,TERM ;IF TERMINATED ,
2) JRST ER.TRP
2) CAME PB,RUNNER ;IS IT THE RUNNER
******** NWORLD **** PAGE 13 LINE 28
1) ERR <TERMINATING A NON-PROCESS>
1) MOVE PB,@DATAB(TABL) ;POINT AT PROCESS
*** NWORLD.NEW *** PAGE 13 LINE 29
2) JRST [ MOVSI TEMP,[ASCIZ/TERMINATE/]
2) NPIPOP: POP P,-1(P) ;MOVE RETURN WORD BACK
2) JRST ER.NPI]
2) MOVE PB,@DATAB(TABL) ;POINT AT PROCESS
******** NWORLD **** PAGE 14 LINE 24
1) ERR <ATTEMPT TO DO JOIN ON NON-PROCESS>
1) MOVE B,@DATAB(TABL) ;GET DATUM
*** NWORLD.NEW *** PAGE 14 LINE 24
1) NWORLD vs. 2) NWORLD.NEW SRCCOM 02-22-76 16:34 PAGES 14,14
2) JRST [MOVSI TEMP,[ASCIZ/JOIN/]
2) JRST ER.NPI]
2) MOVE B,@DATAB(TABL) ;GET DATUM
******** NWORLD **** PAGE 16 LINE 5
1) ERR <NOT A PROCESS ITEM>
1) TLNE A,TERM
1) ERR <PROCESS IS TERMINATED>
1) MOVE A,RSMR(A)
*** NWORLD.NEW *** PAGE 16 LINE 5
2) JRST [MOVSI TEMP,[ASCIZ/CALLER/]
2) JRST NPIPOP]
2) TLNE A,TERM
2) JRST [ MOVSI TEMP,[ASCIZ/CALLER/]
2) TRPPOP: POP P,-1(P) ;BACK UP RETURN WORD
2) JRST ER.TRP]
2) MOVE A,RSMR(A)
******** NWORLD **** PAGE 16 LINE 20
1) ERR <NOT A PROCESS ITEM>
1) TLNN A,TERM
*** NWORLD.NEW *** PAGE 16 LINE 23
2) JRST [MOVSI TEMP,[ASCIZ/PSTATUS/]
2) JRST NPIPOP]
2) TLNN A,TERM
******** NWORLD **** PAGE 17 LINE 8
1) ERR <ATTEMPT TO SET PRIORITY OF NON PROCESS ITEM>
1) MOVE PB,@DATAB(TABL) ;GET DATUM
1) TLNE PB,TERM
1) ERR <ATTEMPT TO SET PRIORITY OF TERMINATED PROCESS>
1) PUSHJ P,REMPRI ;TAKE OFF MY LIST
*** NWORLD.NEW *** PAGE 17 LINE 8
2) JRST [ MOVEI LPSA,NPIPOP
2) PRIERR: MOVSI TEMP,[ASCIZ/PRISET/]
2) POP P,-1(P)
2) JRST (LPSA)]
2) MOVE PB,@DATAB(TABL) ;GET DATUM
2) TLNE PB,TERM
2) JRST [MOVEI LPSA,TRPPOP
2) JRST PRIERR]
2) PUSHJ P,REMPRI ;TAKE OFF MY LIST
******** NWORLD **** PAGE 17 LINE 16
1) NWORLD vs. 2) NWORLD.NEW SRCCOM 02-22-76 16:34 PAGES 17,17
1) ERR <ERR ATTEMPT TO GIVE A PROCESS AN ILLEGAL PRIORITY>
1) PUSHJ P,SETPRI
1) SUB P,X33
1) JRST @3(P)
1) COMMENT ⊗SPECIAL GC ROUTINE FOR PROCESSES⊗
*** NWORLD.NEW *** PAGE 17 LINE 20
2) JRST [MOVEI LPSA,ER.IPR
2) JRST PRIERR]
2) PUSHJ P,SETPRI
2) RET.3: SUB P,X33
2) JRST @3(P)
2) ER.IPR: HRRI TEMP,[ASCIZ/Illegal priority/]
2) POP P,-1(P)
2) POP P,-1(P)
2) JRST ER.ITN
2) COMMENT ⊗SPECIAL GC ROUTINE FOR PROCESSES⊗
******** NWORLD **** PAGE 24 LINE 16
1) ERR <NOT A PROCESS ITEM>
1) ;THE REST OF THIS IS CALLED INTERNALLY
*** NWORLD.NEW *** PAGE 24 LINE 16
2) JRST [MOVSI TEMP,[ASCIZ/ANSWER/]
2) JRST ER.NPI]
2) ;THE REST OF THIS IS CALLED INTERNALLY
******** NWORLD **** PAGE 28 LINE 31
1) ERR <NO CORE LEFT -- MKEVT>
1) MOVE C,-1(P)
*** NWORLD.NEW *** PAGE 28 LINE 31
2) ERR <MKEVT: No core>
2) MOVE C,-1(P)
******** NWORLD **** PAGE 31 LINE 9
1) ERR <NOT ENOUGH SPACE FOR INTSET>
1) SKIPN D,DISPAT(USER) ;ALREADY HABE ONE?
*** NWORLD.NEW *** PAGE 31 LINE 9
2) ERR <INTSET: No core>
2) SKIPN D,DISPAT(USER) ;ALREADY HABE ONE?
******** NWORLD **** PAGE 34 LINE 9
1) ERR <NOT ENOUGH SPACE FOR INTSET>
1) SKIPN D,DISPAT(USER) ;ALREADY HABE ONE?
*** NWORLD.NEW *** PAGE 34 LINE 9
2) ERR <INTSET: No core>
1) NWORLD vs. 2) NWORLD.NEW SRCCOM 02-22-76 16:34 PAGES 34,34
2) SKIPN D,DISPAT(USER) ;ALREADY HABE ONE?