1 TITLE NULSEG - DUMMY HIGH SEGMENT ROUTINES FOR MACHINE WITH JUST ONE REG - V406
\r
2 SUBTTL T.HASTINGS/TH TS 2 JUNE 69
\r
4 ;PUT VERSION NUMBER IN LOADER STORAGE MAP AND GLOB LISTING
\r
7 NULSEG: ;ENTRY POINT SYMBOL TO CAUSE LOAD OF NULSEG IF REQUIRED
\r
8 ;(IE INSTEAD OF SEGCON OR NEITHER)
\r
10 ;INITIALIZE LOC TWOREG TO 0(FLAG SOFTWARE OR HARDWARE ONLY 1 REG CAPABILITY)
\r
11 ;AND1 AND2RG EXECUTED FROM ONCE AFTER HARDWARE EXAMINED FOR 2 REG CAPABILITY.
\r
15 AND2RG=0 ;FLAG SYSTEM DOES NOT HAVE 2 REG. CAPABILITY
\r
16 ;SINCE AT LEAST SOFTWARE DOES NOT BECAUSE THIS DUMMY
\r
23 SETHGH: TLZ PROG,1777 ;CLEAR OUT PROTECTION FOR HIGH SEG IN CASE THIS
\r
24 POPJ PDP, ;IS A 2 REG MACHINE
\r
26 XP CHGHGH,R0 ;CHARGE CURRENT USER FOR HIGH SEG
\r
30 XP PRTHGH,R0 ;PRINT HIGH SEG CORE
\r
31 XP ASGHGH,R0 ;CLEAR HIGH SEG NAMES ON ASSIGN COMMAND
\r
32 XP CHKMED,R0 ;CHECK FOR MEDDLING
\r
33 XP ANYSAV,R1 ;NAY JOB DOING A SAVE INVOLVING HIGH SEG?
\r
36 XP HGHDEP,R0 ;DEPOSIT HIGH SEG(ERROR)
\r
37 XP KILHGH,R0 ;REMOVE HIGH SEG FROM LOGICAL ADR SPACE
\r
38 XP UREMAP,R0 ;REMAPO UUO
\r
39 XP CURHGH,R0 ;CHANGE RELOC HARD IF CURRENT USER AFFECTED
\r
40 XP FRECOR,R0 ;FREE CORE IN NON-SWAP SYSTEMS
\r
41 XP FRECR1,R1 ;FREE CORE IN SWAPPING SYSTEMS
\r
43 INTERN UCORHI,SUMSEG
\r
44 EXTERN CORMAX,USRREL
\r
46 UCORHI: CAMLE TAC,USRREL ;TRYING TO ASSIGN CORE TO HIGH SEG?
\r
47 POPJ PDP, ;YES, ERROR RETURN
\r
48 ; NO, GIVE OK RETURN
\r
49 SUMSEG: CAMGE TAC,CORMAX ;ARG GE MAX LENGTH (HIGHEST+1)?
\r
50 R1: AOS (PDP) ;NO, GIVE OK RETURN
\r
51 R0: POPJ PDP, ;YES, GIVE ERROR RETURN
\r
55 XP SEGILM,R1 ;WILD TRANSFER RETURN
\r
61 XP SAVDDL,R0 ;DIDDLE RELOC, DURING DUMP MODE O/P FOR HISEG
\r
66 UGETHI: JRST UGTERR ;ERROR RETURN TO USER UNLESS HALT IN LH OF UUO+1
\r
68 INTERN SAVHGH,GETHGH
\r
69 EXTERN SGERRA,SGAMOD,SG3
\r
72 GETHGH: OPEN 0,SGAMOD ;TRY TO INIT DEVICE
\r
74 AOS (PDP) ;SKIP RETURN
\r
75 JRST SG3 ;AND GO SETUP LOWER CORE
\r
81 XP FININ,R1 ;FINFISH SWAPPING IN
\r
82 XP FINOT,R1 ;FINISH LOW SEG OUTPUT - NOTHING MORE TO DO
\r
83 XP FORSIZ,R0 ;SIZE OF JOB FREED UP
\r
84 XP FRESWP,R1 ;FREE DISK SPACE - NO DORMANT SEG FOUTND RETURN
\r
85 XP FITHGH,R0 ;CHECK IF HISEG BEING SWAPPED IN
\r
90 FITSIZ: CAMG AC1,CORTAL ;WILL LOW SET FIT IN CORE?
\r
91 AOS (PDP) ;YES, SWAP HIM IN
\r
92 POPJ PDP, ;NO, MUST SWAP SOMEONE ELSE OUT FIRST
\r
97 FORHGH: MOVSI TAC,SHF ;STOP IO AFTER NEXT BUFFERFUL IF ACTIVE
\r
98 IORM TAC,JBTSTS(ITEM) ;CHECKED BY ADVBFF,ADVBFE ROUTINES
\r
104 XP SEGINI,R0 ;INITIALIZE HIGH SEGS
\r
108 XP RELSEG,R0 ;SUPERCEDE HIGH SEGS ON RECREATE
\r
109 XP RELSG1,R1 ;RENAME UUO
\r
110 XP HGHWRD,R0 ;GET WORD FROM HIGH SEG - ERROR RETURN
\r
118 XP HGHWRD,R0 ;GET WORD FROM HIGH SEG -ERROR
\r
119 XP USPY,R0 ;SPY UUO - ERROR
\r