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