TITLE SYSMAK - MAKE NEW SYSTEM WITH THE OLD SUBTTL 7-21-65 ,SYSMAK ASSUMES AN EXISTING SYSTEM WITH A LOADER IN CORE FOR JOB 1 ,AND HIGHEST EMORY ADDRESS IN REAL 37. TO CREATE A NEW SYSTEM, SET ,37 AS DESIRED, LOAD NEW SYSTEM (WITHOUT GOING INTO EXECUTION), AND ,START AT REAL 62. THE COMPUTE WILL HALT AFTER THE NEW SYSTEM ,HAS BEEN BLOCKED DOWN. TO START, PRESS CONTINUE OR START AT REAL ,60. EXEC DDT (IF LOADED WITH THE NEW SYSTEM) STARTS AT REAL 141. ;FROM REL. LOC. 30 ON UP IS BLOCKED DOWN ,WHEN LOADING A NEW SYSTEM, LOAD SYSINI FIRST. ;SYSINI CONTAINS A DISPATCH TABLE DOCUMENTED TO BE AT LOC. 60 ;ALSO LOAD IOINI LAST SINCE IT CONTAINS SOME ONCE ONLY CODE AT END ;THEN LOAD SYSMAK FOLLOWED BY DDT(EXEC) ;BE SURE THAT LOC SYSSIZ(SIZ OF SYSTEM) IS GREATER THAN ;LAST LOC IN SYSMAK BEFORE STARTING TO LOAD. ;LOC SYSSIZ IS IN LOWER CORE AND MAY HAVE TO BE PATCHED ;USING CONSOLE SWITCHES. INTERNAL SYSMAK,MAKEND EXTERNAL JBTADR,JBTAD1 SYSMAK: MOVE 1,JBTAD1 ;LOADER BLOCK ADDRESS FROM JOB ADDRESS MOVE 6,2(1) ;LOADER OFFSET ADDI 6,(1) ;BLOCK ADDRESS+OFFSET MOVE 2,6(1); SYSMBOL TABLE POINTER: -N,L = LOWEST AD ADDI 2(1) HLRO 3,2 MOVNS 3 ;N = SYMBOL TABLE LENGTH MOVE 4,DDTMEM ;MEMORY SIZE(LOC 37) MOVEM 4,DDTMEM(6) ;STORE IN NEW DDTMEM SUBI 4,200 ;ROOM FOR DECDUMP MOVEM 4,DDTSYM(6) ;ALSO STORE IN WHAT WILL BECOME DDTSYM MOVE 5,2 ;LEAVES ROOM FOR DECDMP ADD 5,3 HRL 5,3 ;C(5):=N,L+N SUB 4,5 HRRZS 4 ;C(4):=0,C(37)-200-(L+N) ADD 2,4 ;C(2):=-N,C(37)-200-N MOVEM 2,(5) HRRM 4,.+1 POP 5,(5) ;MOVE SYMOBOL TABLE TO TOP OF MEMORY JUMPGE 5,.-1 MOVE 10,[BLT 3,(2)] MOVE 11,[JRST 4,] HRRI 3,30 HRLI 3,30(6) ;C(3):=LOADER OFFSET+LOADER BLOCK ADDRE HRRZ 2,6(1) ;C(2):=LOWEST LOCATION IN SYMBOL TABLE HRR 11,(1) ;C(11):=JRST 4,START ADDRESS JRST 10 ;MOVE SYSTEM TO BOTTOM OF MEMORY AND HALT LIT MAKEND: END,