TITLE NULSEG - DUMMY HIGH SEGMENT ROUTINES FOR MACHINE WITH JUST ONE REG - V406 SUBTTL T.HASTINGS/TH TS 2 JUNE 69 XP VNULSG,406 ;PUT VERSION NUMBER IN LOADER STORAGE MAP AND GLOB LISTING ENTRY NULSEG NULSEG: ;ENTRY POINT SYMBOL TO CAUSE LOAD OF NULSEG IF REQUIRED ;(IE INSTEAD OF SEGCON OR NEITHER) ;INITIALIZE LOC TWOREG TO 0(FLAG SOFTWARE OR HARDWARE ONLY 1 REG CAPABILITY) ;AND1 AND2RG EXECUTED FROM ONCE AFTER HARDWARE EXAMINED FOR 2 REG CAPABILITY. INTERN AND2RG AND2RG=0 ;FLAG SYSTEM DOES NOT HAVE 2 REG. CAPABILITY ;SINCE AT LEAST SOFTWARE DOES NOT BECAUSE THIS DUMMY ;ROUTINE LOADD ;CLOCK1 INTERN SETHGH SETHGH: TLZ PROG,1777 ;CLEAR OUT PROTECTION FOR HIGH SEG IN CASE THIS POPJ PDP, ;IS A 2 REG MACHINE XP CHGHGH,R0 ;CHARGE CURRENT USER FOR HIGH SEG ;COMCSS XP PRTHGH,R0 ;PRINT HIGH SEG CORE XP ASGHGH,R0 ;CLEAR HIGH SEG NAMES ON ASSIGN COMMAND XP CHKMED,R0 ;CHECK FOR MEDDLING XP ANYSAV,R1 ;NAY JOB DOING A SAVE INVOLVING HIGH SEG? ;CORE1 XP HGHDEP,R0 ;DEPOSIT HIGH SEG(ERROR) XP KILHGH,R0 ;REMOVE HIGH SEG FROM LOGICAL ADR SPACE XP UREMAP,R0 ;REMAPO UUO XP CURHGH,R0 ;CHANGE RELOC HARD IF CURRENT USER AFFECTED XP FRECOR,R0 ;FREE CORE IN NON-SWAP SYSTEMS XP FRECR1,R1 ;FREE CORE IN SWAPPING SYSTEMS INTERN UCORHI,SUMSEG EXTERN CORMAX,USRREL UCORHI: CAMLE TAC,USRREL ;TRYING TO ASSIGN CORE TO HIGH SEG? POPJ PDP, ;YES, ERROR RETURN ; NO, GIVE OK RETURN SUMSEG: CAMGE TAC,CORMAX ;ARG GE MAX LENGTH (HIGHEST+1)? R1: AOS (PDP) ;NO, GIVE OK RETURN R0: POPJ PDP, ;YES, GIVE ERROR RETURN ;ERRCON XP SEGILM,R1 ;WILD TRANSFER RETURN ;SAVGET XP SETEXT,R0 XP SETEX1,R0 XP SAVDDL,R0 ;DIDDLE RELOC, DURING DUMP MODE O/P FOR HISEG INTERN UGETHI EXTERN UGTERR UGETHI: JRST UGTERR ;ERROR RETURN TO USER UNLESS HALT IN LH OF UUO+1 INTERN SAVHGH,GETHGH EXTERN SGERRA,SGAMOD,SG3 SAVHGH: GETHGH: OPEN 0,SGAMOD ;TRY TO INIT DEVICE JRST SGERRA ;ERROR AOS (PDP) ;SKIP RETURN JRST SG3 ;AND GO SETUP LOWER CORE ;SWAP INTERN FTSWAP IFN FTSWAP,< XP FININ,R1 ;FINFISH SWAPPING IN XP FINOT,R1 ;FINISH LOW SEG OUTPUT - NOTHING MORE TO DO XP FORSIZ,R0 ;SIZE OF JOB FREED UP XP FRESWP,R1 ;FREE DISK SPACE - NO DORMANT SEG FOUTND RETURN XP FITHGH,R0 ;CHECK IF HISEG BEING SWAPPED IN INTERN FITSIZ EXTERN CORTAL FITSIZ: CAMG AC1,CORTAL ;WILL LOW SET FIT IN CORE? AOS (PDP) ;YES, SWAP HIM IN POPJ PDP, ;NO, MUST SWAP SOMEONE ELSE OUT FIRST INTERN FORHGH EXTERN JBTSTS FORHGH: MOVSI TAC,SHF ;STOP IO AFTER NEXT BUFFERFUL IF ACTIVE IORM TAC,JBTSTS(ITEM) ;CHECKED BY ADVBFF,ADVBFE ROUTINES POPJ PDP, > ;SYSINI XP SEGINI,R0 ;INITIALIZE HIGH SEGS ;UUOCON XP RELSEG,R0 ;SUPERCEDE HIGH SEGS ON RECREATE XP RELSG1,R1 ;RENAME UUO XP HGHWRD,R0 ;GET WORD FROM HIGH SEG - ERROR RETURN XP HRESET,R0 INTERN USTUWP EXTERN RTZER USTUWP: JRST RTZER XP HGHWRD,R0 ;GET WORD FROM HIGH SEG -ERROR XP USPY,R0 ;SPY UUO - ERROR END