; WHICH IS ON DISK OR ON ITS WAY IN OR OUT.\r
; JOB WILL BE SWAPPED IN (SEE DLYCOM)\r
; AND IS NOT SITTING QUIETLY IN CORE(IE NO SWAPPING TRANSFER)\r
-PLSXPN=4 ;CORE MUST BE EXPANED IF STILL COMPRESSED BY SAVE NOT GOING\r
+PLSXPN==4 ;CORE MUST BE EXPANED IF STILL COMPRESSED BY SAVE NOT GOING\r
; TO COMPLETION(CONTROL C OR DEVICE OK?)\r
; MUST BE USED IN CONJUNCTION WITH COMMANDS WHICH\r
; NEED CORE AND NEED IT IN CORE\r
>\r
PUSHJ PDP,RADX10 ;PRINT NO. OF 1K BLOCKS AVAILABLE\r
IFE FTSWAP,<\r
- JSP TAC,CONMAS\r
+ JSP TAC,CONMES\r
ASCIZ /K CORE\r
/\r
>\r
IFN FTLOGIN,< EXTERNAL HELPPP\r
HELP1:\r
MOVE TAC,HELPPP\r
- TLN T,JLOG\r
+ TLNN T,JLOG\r
JRST ALOGIN\r
POPJ PDP,\r
>\r
\r
REASS:\r
PUSHJ PDP,CTEXT1 ;GET DEVICE NAME\r
- JUMPE TAC,NOTENF ;NULL NAME?\r
+ JUMPE TAC1,NOTENF ;NULL NAME?\r
MOVE UUO,TAC1 ;SAVE IT IN UUO\r
PUSHJ PDP,DECIN1 ;GET NEW JOB NUMBER\r
JRST NOTENF ;NONE SPECIFIED, DOESN'T RETURN IF ERROR\r
AOS JOBEXM(JDAT) ;NO, IT WAS AN E. INCREMENT IN CASE HE TYPES NO ARG\r
HRROS JOBEXM(JDAT) ;YES, FLAG THAT E HAPPENED LAST(LH=-1)\r
PUSHJ PDP,OCTIN ;GET OCTAL LOCATION\r
- SKIPA TAC,JOBEXM(JDAT) ;NONE SPECIFIED, USE LAST LOC OF D OR NEXT OF E\r
+ SKIPA TAC1,JOBEXM(JDAT) ;NONE SPECIFIED, USE LAST LOC OF D OR NEXT OF E\r
JRST COMERA ;ILLEGAL CHARACTER\r
PUSHJ PDP,DEAT ;CHECK FOR AC REFERENCE AND STORE JOBEXM\r
HRRZ UUO,TAC1 ;IGNORE LH\r
HRRZ TAC,(PDP) ;PRINT RIGHT HALF\r
PUSHJ PDP,OCTPNT\r
PUSHJ PDP,INLMES ;PRINT FINAL TAB\r
- ASCIZ / /\r
+ ASCIZ / /\r
JRST TPOPJ ;POP PDP,TAC,POPJ PDP,\r
\f\r
;"DEPOSIT LH RH LOC" - DEPOSITS XWD LH,RH IN LOCATION LOC\r
ASCIZ /. BLKS/\r
>\r
\r
- HRLZ T,DEVLST ;GET DDB POINTER\r
+ HLRZ T,DEVLST ;GET DDB POINTER\r
MOVEI AC2,0 ;SET DEVICE NAME 0 FOR FIRST COMPARE\r
LOP01: MOVE T1,DEVMOD(T) ;DEVICE CHARACTERISTICS\r
TRNN T1,ASSCON!ASSPRG ;DEVICE ASSIGNED BY CONSOLE OR PROGRAM?\r
IDPB TEM,DAT\r
POPJ PDP,\r
>\r
-PRSPC: MOVEI TAC,[ASCIZ / /]\r
+PRSPC: MOVEI TAC,[ASCIZ / /]\r
JRST CONMES\r
\f\r
\r
PUSHJ PDP,DECIN1 ;AMOUNT OF CORE (OPTIONAL THIRD ARG.)\r
JRST SGSET1 ;DOES NOT RETURN IF ERROR. RETURN HERE IF NO ARG.\r
JRST COMERA ;ILLEGAL CHARACTER\r
- LSH TAC,12 ;CONVERT TO HIGHEST REL. LOC.\r
- SUBI TAC,1\r
+ LSH TAC1,12 ;CONVERT TO HIGHEST REL. LOC.\r
+ SUBI TAC1,1\r
SGSET1: MOVEM TAC1,SGANEW(PROG) ;STORE FOR RUN AND SAVE\r
HRRZ TAC1,IOS ;SCHEDULE MONITOR JOB \r
; GUARRANTEE LH OF PC WORD IS 0, SINCE IT WILL\r
MOVE TAC1,DEVMOD(DEVDAT) ;RETURN DEVICE CHARACTERISTICS(IF DISK SYS)\r
TLNE TAC1,DVDSK ;IS THIS DEVICE A DISK?\r
\r
- MOVS TAC1,SGAPPN(PROG) ;YES. MAKE SURE FORTH WORD IS PROJ,PROG NO.\r
+ MOVS TAC,SGAPPN(PROG) ;YES. MAKE SURE FORTH WORD IS PROJ,PROG NO.\r
>\r
MOVSM TAC,SGALEN(PROG) ;NO. MAKE SURE FORTH WORD IS IOWD FOR DECTAPE\r
; SINCE DECTAPE USES RH TO COMPUTE LENGTH IN K\r
MOVEM TAC,JOB41(JDAT) ;SAVED BY SAVE\r
LOWFIN: HRRZ TAC,JOBCOR(JDAT) ;CORE ARG FROM PREVIOUS SAVE(THIS MONITOR\r
; ALWAYS STORES SOMETHING)\r
- SKIP TAC ;IS THIS AN OLD FORMAT FILE WITH NO CORE ARG TO SAVE?\r
+ SKIPN TAC ;IS THIS AN OLD FORMAT FILE WITH NO CORE ARG TO SAVE?\r
MOVE TAC,USRREL ;YES, USE ASSIGNMENT MADE WEN LOW FILE READ IN\r
PUSHJ PDP,CKSARG ;RETURN ONLY IF USER'S SUPLLIED ARG IS 0 OR NOT\r
; SMALLER THAN SAVE CORE ARG. RETURN LARGER\r
\f\r
;ROUTINE TO RELEASE DEVICE AND FIND TTY\r
INTERN SGREL\r
+EXTERN TTYFUW\r
\r
-SGREL: SKIPN DEVDAT,USRJDA ;HAS CHANNEL BEEN RELEASED ALREADY?\r
- JRST SGREL2 ;YES, FIND TTY AND WAIT FOR OUTPUT TO FINISH\r
- PUSH PDP,T4 ;NO,\r
- MOVE TAC1,DEVMOD(DEVDAT)\r
- TLNE TAC1,DVMTA ;MAGTAPE?\r
- TLNN DEVDAT,INPB ;YES, WAS AN INPUT DONE?\r
- JRST SGREL1 ;NO\r
- CLOSE 0,CLSOUT ;YES, CLOSE MTA INPUT\r
- STATO 0,IOTEND+IODEND ;AT END OF APTE?\r
- MTAPE 0,16 ;NO SKIP TO EOF\r
-SGREL1: RELEASE 0, ;NO RELEASE DEVICE\r
- POP PDP,T4\r
+SGREL: SKIPN DEVDAT,USRJDA ;HAS CHANNEL BEEN RELEASED ALREADY?\r
+ JRST TTYFUW ;YES, FIND TTY AND WAIT FOR OUTPUT TO FINISH\r
+ PUSH PDP,IOS ;NO,\r
+ MOVE TAC,DEVMOD(DEVDAT)\r
+ TLNE TAC,DVMTA ;MAGTAPE?\r
+ TLNN DEVDAT,INPB ;YES, WAS AN INPUT DONE?\r
+ JRST SGREL1 ;NO\r
+ CLOSE 0,CLSOUT ;YES, CLOSE MTA INPUT\r
+ STATO 0,IOTEND+IODEND ;AT END OF APTE?\r
+ MTAPE 0,6 ;NO SKIP TO EOF\r
+SGREL1: RELEAS ;NO RELEASE DEVICE\r
+ POP PDP,IOS\r
SGREL2:\r
- JRST TTYFNU ;FIND TTY FOR CURRENT USER\r
+ JRST TTYFUW ;FIND TTY FOR CURRENT USER\r
\r
;ROUTINE TO EXECUTE DUMP MODE COMMAND LIST SETUP IN SGALEN(R)\r
;AND CHECK FOR ERRORS. USED ONLY TO READ LOW FILE.\r
;SGDOA CALLED FROM SAVE, IT HAS ALREADY SET LH OF USRHCU=-2\r
;TO INDICATE CORE IS COMPRESSED\r
\r
- EXTERN USRHCU,USRJDA,JOBSA,JOBDDT,JOBSDD,JOBSD1,JOBSAV,JOBCOR\r
- EXTERN JOBSV,JOBSV3,JOBSVD,JOBSDP\r
+ EXTERN USRHCU,USRJDA,JOBSA,JOBDDT,JOBSDD,JOBSD1,JOBSAV,JOBCOR\r
+ EXTERN JOBSV,JOBSV3,JOBSVD,JOBSDP\r
\r
-SGDO: HRROS USRHCU ;SET LH OF USRCHU-1 AS A FLAG TO INDICATE SAVE GET\r
+SGDO: HRROS USRHCU ;SET LH OF USRCHU-1 AS A FLAG TO INDICATE SAVE GET\r
; LOW FILE IO IN PROGRESS, SO MONITOR WILL\r
; NOT STORE HIGH SEG PROTECTION IN JOBHRL WHICH\r
; HAS IOWD FOR ZERO COMPRESSION\r
-SGDOA: XCT @(PDP) ;EXECUTE INPUT OR OUTPUT UUO\r
- MOVE ITEM,JOB ;READ INTO PROTECTED PART OF JOB DATA AREA\r
- PUSHJ PDP,EXPAND ;EXPAND CORE IMAGE\r
- JRST ADRERR ;ADDRESS CHECK, PRINT MESSAGE AND STOP JOB\r
- MOVE TAC1,JOBDDT(PROG) ;COPY DDT STARTING ADR\r
- MOVEM TAC1,USRDDT ;INTO MONITOR PROTECTED AREA(IN CASE THIS IS GET)\r
- SETZM USRHCU ;FLAG THAT SAVE-GET IO FINISHED AND CORE EXPANDED\r
+SGDOA: XCT @(PDP) ;EXECUTE INPUT OR OUTPUT UUO\r
+ MOVE ITEM,JOB ;READ INTO PROTECTED PART OF JOB DATA AREA\r
+ PUSHJ PDP,EXPAND ;EXPAND CORE IMAGE\r
+ JRST ADRERR ;ADDRESS CHECK, PRINT MESSAGE AND STOP JOB\r
+ MOVE TAC,JOBDDT(PROG) ;COPY DDT STARTING ADR\r
+ MOVEM TAC,USRDDT ;INTO MONITOR PROTECTED AREA(IN CASE THIS IS GET)\r
+ SETZM USRHCU ;FLAG THAT SAVE-GET IO FINISHED AND CORE EXPANDED\r
AOS (PDP) ;SKIP OVER UUO IN CALLING SEQUENCE\r
\r
;ROUTINE TO CHECK FOR IO ERRORS(CALLED FROM SEGCON)\r
\r
INTERN SGIOCK\r
\r
-SGIOCK: MOVE T4,DEVIOS(DEVDAT) ;IO STATUS WORD FOR THIS DEVICE\r
- TRNN T4,IOBKTL!IODTER!IODERR!IOIMPM ;ANY ERRORS ON SAVE-GET DEVICE?\r
+SGIOCK: MOVE IOS,DEVIOS(DEVDAT) ;IO STATUS WORD FOR THIS DEVICE\r
+ TRNN IOS,IOBKTL!IODTER!IODERR!IOIMPM ;ANY ERRORS ON SAVE-GET DEVICE?\r
POPJ PDP, ;NO, GIVE OK RETURN\r
MOVEI TAC,TRNERR ;YES, ERROR CODE IN CASE THIS IS RUN UUO\r
; (TRANSMISSION ERROR)\r
HLLM TAC,JOBSV(PROG)\r
\f;COME HERE TO DO THE ACTUAL EXPANSION OF A FILE\r
EXPND1: MOVE TAC,[XWD PROG,JOBSV] ;IT WAS READ INTO JOBSV\r
- MOVE TAC,@TAC ;FIRST IOWD\r
+ MOVE TAC1,@TAC ;FIRST IOWD\r
EXPLP1: HRRZ AC1,TAC1 ;ADDRESS OF IOWD\r
CAIGE AC1,JOBSAV ;LEGAL?\r
AOJA AC1,TOOLOW ;NO. DELETE DATA WHICH IS TO LOW\r
HRRZ AC1,@TAC ;GET ADDRESS\r
CAIGE AC1,JOBSD1 ;LEGAL?\r
AOJA AC1,TOOLOW ;NO, AT LEAST PART OF THE DATA IS LOW\r
-IOWBLT: MOVSI TAC,@TAC ;YES, KEEP THE ENTIRE IOWD DATA\r
+IOWBLT: MOVSI TAC1,@TAC ;YES, KEEP THE ENTIRE IOWD DATA\r
HRRI TAC1,JOBSV(PROG) ;TAC1 IS A BLT POINTER\r
SUBI TAC,JOBSV ;RH OF TAC IS AMOUNT BEING DELETED\r
SUBI AC3,(TAC) ;AC3 POINTS TO TOP OF DATA READ IN-(N)\r