Cleanup of typos.
[retro-software/dec/tops10/v1.19.git] / src / sysmak.mac
1 TITLE SYSMAK - MAKE NEW SYSTEM WITH THE OLD\r
2 SUBTTL 7-21-65\r
3 ,SYSMAK ASSUMES AN EXISTING SYSTEM WITH A LOADER IN CORE FOR JOB 1\r
4 ,AND HIGHEST EMORY ADDRESS IN REAL 37.  TO CREATE A NEW SYSTEM, SET\r
5 ,37 AS DESIRED, LOAD NEW SYSTEM (WITHOUT GOING INTO EXECUTION), AND\r
6 ,START AT REAL 62.  THE COMPUTE WILL HALT AFTER THE NEW SYSTEM\r
7 ,HAS BEEN BLOCKED DOWN.  TO START, PRESS CONTINUE OR START AT REAL\r
8 ,60.  EXEC DDT (IF LOADED WITH THE NEW SYSTEM) STARTS AT REAL 141.\r
9 ;FROM REL. LOC. 30 ON UP IS BLOCKED DOWN\r
10 \r
11 ,WHEN LOADING A NEW SYSTEM, LOAD SYSINI FIRST.\r
12 ;SYSINI CONTAINS A DISPATCH TABLE  DOCUMENTED TO BE AT LOC. 60\r
13 ;ALSO LOAD IOINI LAST SINCE IT CONTAINS SOME ONCE ONLY CODE AT END\r
14 ;THEN LOAD SYSMAK FOLLOWED BY DDT(EXEC)\r
15 ;BE SURE THAT LOC SYSSIZ(SIZ OF SYSTEM) IS GREATER THAN\r
16 ;LAST LOC IN SYSMAK BEFORE STARTING TO LOAD.\r
17 ;LOC SYSSIZ IS IN LOWER CORE AND MAY HAVE TO BE PATCHED\r
18 ;USING CONSOLE SWITCHES.\r
19 \r
20 INTERNAL SYSMAK,MAKEND\r
21 EXTERNAL JBTADR,JBTAD1\r
22 \r
23 SYSMAK:   MOVE 1,JBTAD1         ;LOADER BLOCK ADDRESS FROM JOB ADDRESS\r
24           MOVE 6,2(1)           ;LOADER OFFSET\r
25           ADDI 6,(1)            ;BLOCK ADDRESS+OFFSET\r
26           MOVE 2,6(1);          SYSMBOL TABLE POINTER:  -N,L = LOWEST AD\r
27           ADDI 2(1)\r
28           HLRO 3,2\r
29           MOVNS 3       ;N = SYMBOL TABLE LENGTH\r
30           MOVE 4,DDTMEM         ;MEMORY SIZE(LOC 37)\r
31           MOVEM 4,DDTMEM(6)     ;STORE IN NEW DDTMEM\r
32           SUBI 4,200            ;ROOM FOR DECDUMP\r
33           MOVEM 4,DDTSYM(6)     ;ALSO STORE IN WHAT WILL BECOME DDTSYM\r
34           MOVE 5,2  ;LEAVES ROOM FOR DECDMP\r
35           ADD 5,3\r
36           HRL 5,3   ;C(5):=N,L+N\r
37           SUB 4,5\r
38           HRRZS 4   ;C(4):=0,C(37)-200-(L+N)\r
39           ADD 2,4   ;C(2):=-N,C(37)-200-N\r
40           MOVEM 2,(5)\r
41           HRRM 4,.+1\r
42           POP 5,(5) ;MOVE SYMOBOL TABLE TO TOP OF MEMORY\r
43           JUMPGE 5,.-1\r
44           MOVE 10,[BLT 3,(2)]\r
45           MOVE 11,[JRST 4,]\r
46           HRRI 3,30\r
47           HRLI 3,30(6)          ;C(3):=LOADER OFFSET+LOADER BLOCK ADDRE\r
48           HRRZ 2,6(1)           ;C(2):=LOWEST LOCATION IN SYMBOL TABLE\r
49           HRR 11,(1)            ;C(11):=JRST 4,START ADDRESS\r
50           JRST 10       ;MOVE SYSTEM TO BOTTOM OF MEMORY AND HALT\r
51 \r
52           LIT\r
53 \r
54 MAKEND:   END,\r