Added SRCCOM.MAC
[retro-software/dec/tops10/v4.5.git] / src / sysmak.mac
1 TITLE   SYSMAK - MAKE JOB 1 BECOME THE NEW SYSTEM WITH A BLT\r
2 SUBTTL  D. PLUMER/RAP  TS3.19  6 SEP 68  V002\r
3 XP      VSYSMK,002\r
4                 ;PUT VERSION NUMBER IN GLOB LISTING AND LOADER STORAGE MAP\r
5 \r
6 ;ASSUMES THE NEW SYSTEM IS LOADED AS USER JOB 1 (THE ONLY JOB AND IN CORE).\r
7 ;  DISABLES INTERRUPTS THEN MOVES THE ENTIRE JOB (STARTING AT ITS RELATIVE\r
8 ;  LOCATION 30) INTO THE MONITOR AREA STARTING AT ABSOLUTE LOCATION 30.  THEN HALTS.\r
9 ;  CONTINUE WILL START NEW SYSTEM AT 140.\r
10 ;  ALSO SETS DDT SYMBOL TABLE POINTER (ABSOLUTE LOCATION 36).\r
11 \r
12 \r
13 ENTRY   SYSMAK\r
14 \r
15 INTERNAL        MAKEND\r
16 \r
17 EXTERNAL        JBTAD1,JOBSYM,APRRST,DDTSYM\r
18 \r
19 SYSMAK: CONO    APR,APRRST              ;I/O RESET.\r
20         MOVE    JDAT,JBTAD1             ;ADDRESS OF FIRST JOB\r
21         MOVE    TAC,JOBSYM(JDAT)        ;GET S.T. POINTER AS SET BY LOADER.\r
22         MOVEM   TAC,DDTSYM(JDAT)        ;WILL GO IN ABSOLUTE LOCATION 36 WHEN\r
23                                         ; THE JOB IS MOVED DOWN.\r
24         MOVSI   TAC,30(JDAT)            ;CREATE BLT POINTER.\r
25         ADDI    TAC,30                  ;TRANSFER STARTS AT RELATIVE AND\r
26                                         ; ABSOLUTE LOCATIONS 30, RESPECTIVELY.\r
27         HLRZ    TAC1,JDAT               ;END TRANSFER AT JOBREL ABSOLUTE ADDRESS.\r
28         MOVE    AC2,[BLT TAC,(TAC1)]\r
29         MOVE    AC3,[JRST 4,140]        ;EXECUTE BLOCK TRANSFER AND \r
30         JRST    AC2                     ; HALT IN THE ACCUMULATORS.\r
31         LIT\r
32 \r
33 MAKEND:\r
34 \r
35 END:    END\r
36 \f\r