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