2 TITLE SAVGET- SAVE AND GET COMMANDS
\r
3 SUBTTL T.HASTINGS 8-4-64
\r
4 ;ROUTINE TO SET UP SAVE-GET DEVICE FILE-NAME TABLE
\r
5 ;CALLED BY COMMAND SETUP ROUTINES AND SAVE GET
\r
8 EXTERNAL CTEXT1,SETUSR,HOLD,MONJOB
\r
9 EXTERNAL CONMES,NOTENF,CPOPJ1
\r
11 SGSET: PUSH PDP, TAC1 ;SAVE STARTTING ADDRESS(SAVJOB OR GETJOB)
\r
12 PUSHJ PDP, CTEXT1 ;GET DEVICE NAME FROM COMMAND STRING
\r
14 MOVEM TAC1, 17(PROG) ;SAVE IN UUO AC AREA
\r
15 PUSHJ PDP, CTEXT1 ;GET FILE NAME FROM COMMAND STRING
\r
17 MOVEM TAC1, 14(PROG)
\r
18 POP PDP, TAC1 ;SCHEDULE MONITOR JOB
\r
20 JRST CPOPJ1 ;SUPPRESS CR-LF PRINTED BY COMINI
\r
22 SGSET1: POP PDP,TAC1
\r
26 ;THIS JOB SAVES A JOB AREA ON RETRIEVABLE STORAGE
\r
27 ;THIS JOB RUNS IN EXEC. MODE AND CALLS IO ROUTINES DIRECTLY
\r
28 ;NO ATTTEMPT IS MADE TO SAVE STATUS OF IO DEVICES, JOBPDP, OR ACS
\r
29 ;IN FACT THE ONLY USEFUL THING WHICH MAY BE DONE WITH A JOB AREA
\r
30 ;AFTER IT HAS BEEN SAVED IS TO START EXECUTION OVER AT THE STARTING
\r
34 EXTERNAL USRPDP, OUT, USRREL,JOBPFI,JOB41,JOBS41,THSDAT
\r
36 T=BUFPNT ;TEMPORARY ACS
\r
39 SAVJOB: JSP TAC, SG1 ;SET UP ACS AND ASSIGN DEVICE
\r
40 MOVE T1,JOB41(JDAT) ;SAVE USR UUOI HANDLING JSR
\r
41 MOVEM T1,JOBS41(JDAT)
\r
42 MOVE T1,THSDAT ;SET DATE IN THIRD WORD
\r
44 PUSHJ PDP, DEN(T) ;ENTER FILE NAME IN DIRECTORY
\r
45 JRST SAV4 ;DIRECTORY FULL
\r
46 PUSHJ PDP, SETLST ;SET DUMP COMMAND LIST IN USER ARE
\r
47 PUSHJ PDP, OUT ;DO AN OUTPUT
\r
54 ASCIZ /DIRECTORY FULL
\r
59 ;THIS JOB GETS A JOB AREA FROM RETRIEVABLE DEVICE
\r
60 ;THIS JOB RUNS IN EXEC. MODE AND CALLS IO ROUTINES DIRECTLY
\r
61 ;NO ATTEMPT IS MADE TO RESTORE STATUS OF IO DEVICES, PC, OR ACS
\r
62 ;JOBPC IS SET TO STARTING ADDRESS OF JOB
\r
63 ;CORE MUST ALREADY HAVE BEEN ASSIGNED AND THE FOLLOWING LOC. SETUP IN
\r
70 GETJOB: JSP TAC, SG1 ;SETUP ACS AND ASSIGN DEVICE
\r
71 PUSHJ PDP, DLK(T) ;LOOKUP FILE NAME IN DIRECTORY
\r
72 JRST GET2 ;NOT FOUND
\r
73 PUSHJ PDP, SETLST ;SET DUMP COMMAND LIST IN USER ARE
\r
74 PUSHJ PDP, IN ;DO AN INPUT
\r
82 ASCIZ /FILE NOT FOUND
\r
86 ;ROUTINE TERMINATES SAVJOB AND GETJOB
\r
87 ;CLOSE, RELEASE, CHECK FOR ERRORS AND PRINT MESSAGE AND STOP JOB
\r
88 ;ADDRESS OF MESSAGE IN AC TAC
\r
90 EXTERNAL RELEA2, SETUSR, TTYFNU, WAIT1,JOBS41,JOB41
\r
92 ERRORS=1B18+1B19+1B20+1B21 ;ERRORS CHECKED FOR IN IO TRANSMISSION
\r
94 SG2: PUSHJ PDP, WAIT1
\r
95 TRNE IOS, ERRORS ;ANY ERRORS?
\r
97 PUSH PDP,TAC ;SAVE PRINT ADDRESS
\r
98 PUSHJ PDP,RELEA2 ;RELEASE DEVICE
\r
99 PUSHJ PDP,SETUSR ;SETUP COPY OF JOB AREA STORED IN SYSTE
\r
100 MOVE TAC,JOBS41(JDAT)
\r
101 ;RESTORE USER LOCATION 41
\r
102 MOVEM TAC,JOB41(JDAT)
\r
103 SG4: PUSHJ PDP,TTYFNU ;FIND TELETYPE
\r
104 POP PDP,TAC ;RESTORE PRINT MESSAGE ADDRESS
\r
105 SG5: PUSHJ PDP,CONMES
\r
110 ASCIZ /TRANSMISSION ERROR
\r
114 ;ROUTINE CALED BY SAVJOB AND GETJOBTO SETUP ACS
\r
118 EXTERNAL JOBDAT, JOB, UINIT1, WAIT1, JOBADR, RESET
\r
120 SG1: HRLI PDP, -15 ;SET UP PD LIST IN UUO ACS
\r
122 PUSH PDP, TAC ;SAVE RETURN ADDRESS
\r
123 PUSHJ PDP, RESET ;DO RESET UUO
\r
124 MOVEI UUO, D ;DUMP MODE
\r
125 MOVE TAC, 17(PROG) ;DEVICE NAME
\r
126 MOVEI PROG, 0 ;PRETEND RELOC. IS 0
\r
127 PUSHJ PDP, UINIT1 ;ASSIGN DEVICE
\r
129 JRST SGERRA ;NOT AVAILABLE
\r
130 MOVE IOS, DEVIOS(DEVDAT) ;SETUP IOS
\r
131 MOVEI UUO,14 ;REL.ADDRESS OF 4 WORD DIRECTORY ENTRY
\r
132 MOVE PROG, JOBADR ;RESTORE PROG
\r
133 MOVSI T,445560 ;SET FILE EXTENSION TO DMP
\r
136 MOVN T1,USRREL ;SET NEG. WORD COUNT FROM JOBREL
\r
137 ADDI T1,JOBPFI ;DONT DUMP LOC. 0-JOBPFI
\r
139 MOVSM T1,17(PROG) ;STORE IN 4TH WORD OF DICECTORY
\r
140 MOVE T, DEVSER(DEVDAT) ;SETUP FOR DOING ENTRY OF LOO
\r
143 SGERRA: MOVEI TAC,SGNAVL
\r
147 SGNAVL: ASCIZ /DEVICE NOT AVAILABLE
\r
152 ;ROUTINE TO SET DUMP MODE COMMAND LIST IN USER AREA
\r
154 EXTERNAL ANYRDX,RELEA2,TTYFNU
\r
156 SETLST: MOVE T, 17(PROG) ;4TH WORD FROM DIRECTORY
\r
162 MOVEI UUO,16 ;DUMP MODE
\r
165 NOROOM: PUSHJ PDP,RELEA2
\r
168 HLRE TAC, 16(PROG) ;PRINT NO. OF BLOCKS NEEDED
\r
176 ASCIZ / 1K BLOCKS OF CORE NEEDED
\r