Fixed typos.
[retro-software/dec/tops10/v4.5.git] / src / nulseg.mac
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
3 XP VNULSG,406\r
4                 ;PUT VERSION NUMBER IN LOADER STORAGE MAP AND GLOB LISTING\r
5 \r
6         ENTRY NULSEG\r
7 NULSEG:                 ;ENTRY POINT SYMBOL TO CAUSE LOAD OF NULSEG IF REQUIRED\r
8                         ;(IE INSTEAD OF SEGCON OR NEITHER)\r
9 \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
12 \r
13         INTERN AND2RG\r
14 \r
15 AND2RG=0        ;FLAG SYSTEM DOES NOT HAVE 2 REG. CAPABILITY\r
16                 ;SINCE AT LEAST SOFTWARE DOES NOT BECAUSE THIS DUMMY\r
17                 ;ROUTINE LOADD\r
18 \r
19 ;CLOCK1\r
20 \r
21         INTERN SETHGH\r
22 \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
25 \r
26 XP CHGHGH,R0            ;CHARGE CURRENT USER FOR HIGH SEG\r
27 \r
28 ;COMCSS\r
29 \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
34 \f;CORE1\r
35 \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
42 \r
43         INTERN UCORHI,SUMSEG\r
44         EXTERN CORMAX,USRREL\r
45 \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
52 \r
53 ;ERRCON\r
54 \r
55 XP SEGILM,R1            ;WILD TRANSFER RETURN\r
56 \r
57 ;SAVGET\r
58 \r
59 XP SETEXT,R0\r
60 XP SETEX1,R0\r
61 XP SAVDDL,R0            ;DIDDLE RELOC, DURING DUMP MODE O/P FOR HISEG\r
62 \r
63         INTERN UGETHI\r
64         EXTERN UGTERR\r
65 \r
66 UGETHI: JRST UGTERR             ;ERROR RETURN TO USER UNLESS HALT IN LH OF UUO+1\r
67 \r
68         INTERN SAVHGH,GETHGH\r
69         EXTERN SGERRA,SGAMOD,SG3\r
70 \r
71 SAVHGH:\r
72 GETHGH: OPEN 0,SGAMOD           ;TRY TO INIT DEVICE\r
73         JRST SGERRA             ;ERROR\r
74         AOS (PDP)               ;SKIP RETURN\r
75         JRST SG3                ;AND GO SETUP LOWER CORE\r
76 \f;SWAP\r
77 \r
78         INTERN FTSWAP\r
79 \r
80 IFN FTSWAP,<\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
86 \r
87         INTERN FITSIZ\r
88         EXTERN CORTAL\r
89 \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
93 \r
94         INTERN FORHGH\r
95         EXTERN JBTSTS\r
96 \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
99         POPJ PDP,\r
100 >\r
101 \r
102 ;SYSINI\r
103 \r
104 XP SEGINI,R0            ;INITIALIZE HIGH SEGS\r
105 \r
106 ;UUOCON\r
107 XP RELSEG,R0            ;SUPERCEDE HIGH SEGS ON RECREATE\r
108 XP RELSG1,R1            ;RENAME UUO\r
109 XP HGHWRD,R0            ;GET WORD FROM HIGH SEG - ERROR RETURN\r
110 XP HRESET,R0\r
111 \r
112         INTERN USTUWP\r
113         EXTERN RTZER\r
114 \r
115 USTUWP: JRST RTZER\r
116 \r
117 XP HGHWRD,R0            ;GET WORD FROM HIGH SEG -ERROR\r
118 XP USPY,R0              ;SPY UUO - ERROR\r
119         END\r
120 \0\0