Trailing-Edge
-
PDP-10 Archives
-
bb-bt99e-bb
-
lnkxit.c07
There is 1 other file named lnkxit.c07 in the archive. Click here to see a list.
REP 1/1 ;07C1
TITLE LNKXIT - EXIT MODULE FOR LINK
SUBTTL D.M.NIXON/DMN/JLd/RKH/JBC/JNG/MCHC/DZN/MFB/PAH/PY/HD 6-Jan-83
WIT
TITLE LNKXIT - EXIT MODULE FOR LINK
SUBTTL D.M.NIXON/DMN/JLd/RKH/JBC/JNG/MCHC/DZN/MFB/PAH/PY/HD/JBS 1-Nov-83
REP 39/1 ;07C2
DECEVR==2027 ;DEC EDIT VERSION
WIT
DECEVR==2052 ;DEC EDIT VERSION
INS 91/6 ;07C3
;2032 Allocate space with LC.IN before reading area from .OVL file.
;2034 Remove Edit 1531.
;2035 Don't map in non-existant pages at JBGMV0.
;2040 Be careful of page boundary when mapping out at SYMINI.
;2043 Don't call BLTJDA if JOBPTR is zero at JBEXE1.
;2052 Don't die when making EXE file if directory is protected.
REP 9/9 ;07C4
LNKX0D: MOVN T1,T1
WIT
;**;[2032] Replace at LNKX0D PY 3-Feb-82
LNKX0D: ;[2032]
IFN TOPS20,< ;[2032]
PUSH P,T1 ;[2032] SAVE THE AC
MOVE T1,UW.LC ;[2032] GET THE UPPER BOUND
HRL T1,LW.LC ;[2032] GET THE LOWER BOUND
PUSHJ P,LC.IN## ;[2032] MAP IN THE WINDOW
POP P,T1 ;[2032] RESTORE THE AC
>;[2032] IFN TOPS20
MOVN T1,T1 ;[2032]
INS 19/9 ;07C5
;**;[2032] Insert after LNKX0D+9 Lines PY 3-Feb-82
IFE TOPS20,< ;[2032] DON'T BLT ON THE -20
INS 33/9 ;07C6
;**;[2032] Insert before LNKX0E PY 3-Feb-82
>;[2032] END IFE TOPS20
INS 11/30 ;07C7
;**;[2040] Insert 2 lines after SYMINI+6 lines PY 13-Apr-83
CAMG T1,LW.LS ;[2040] Check for current page never used
ADDI T1,.IPS ;[2040] Must write out one page anyways
INS 31/72 ;07C8
;**;[2043] Add after JBEXE1 HD 12-Jul-83
SKIPN JOBPTR ;[2043] DON'T BLT .JBDA IF ALREADY IN PLACE
CAIA ;[2043] DON'T GO TO BLTJDA IF JOBPTR IS ZERO
;[2043] OR PAGE 0 IS IN CORE
REP 31/75 ;07C9
E$$ECE::
IFE TOPS20,<
PUSH P,[DC] ;[1174] GIVE OFFENDING CHANNEL TO LNKLOG
.ERR. (LRE,0,V%L,L%F,S%F,ECE,<Error creating EXE file>) ;[1174]
> ;[1401] IFE TOPS20
IFN TOPS20,<
MOVE T2,DC.JF ;[1401] PICK UP EXE JFN
HRROI T1,RUNSPC ;[1401] PUT THE STRING ASIDE
SETZM T3 ;[1401] NOTHING FANCY
SETZM T4 ;[1401]
JFNS ;[1401]
.ERR. (MS,.EC,V%L,L%F,S%F,ECE,<Error creating area EXE file >)
.ETC. (STR,,,,,RUNSPC) ;[1401]
> ;[1401] IFN TOPS20
WIT
E$$ECE::PUSH P,IO.CHN ;[2052] GIVE OFFENDING CHANNEL TO LNKLOG
.ERR. (LRE,0,V%L,L%F,S%F,ECE,<Error creating EXE file>) ;[1174]
REP 10/76 ;07C10
CAMGE P3,LW.S0(R) ;[1531] BELOW CURRENT WINDOW?
JRST XCMBK ;[1531] YES - GO BACK A WINDOW
WIT
;**;[2034] Remove 2 Lines at XCMLUP+4 Lines PY 17-Feb-83
REP 35/78 ;07C11
;HERE TO GO BACK A WINDOW.
XCMBK: MOVE T2,UW.S0(R) ;[1531] UPPER WINDOW BOUND
SUB T2,LW.S0(R) ;[1531] MINUS LOWER BOUND - LENGHT OF WINDOW
HRL T1,LW.S0(R) ;[1531] LOWER BOUND OF WINDOW
HRR T1,UW.S0(R) ;[1531] UPPER BOUND OF WINDOW
PUSH P,T2 ;[1531] SAVE SIZE OF WINDOW
PUSHJ P,@TB.OUT(R) ;[1531] OUT WITH CURRENT WINDOW
POP P,T1 ;[1531] GET BACK WINDOW SIZE
HRRZS T1 ;[1531] NEW WINDOW - SAME SIZE STARTING AT 0
SETZM LW.S0(R) ;[1531] LOWER BOUND SET TO 0
MOVEM T1,UW.S0(R) ;[1531] UPPER BOUND SET TO SIZE
PUSHJ P,@TB.IN(R) ;[1531] BRING IN THE NEW WINDOW
JRST XCMLUP ;[1531] GO BACK AND TRY AGAIN
WIT
;**;[2034] Remove 14 Lines at XCMADP+2 Lines PY 17-Feb-83
REP 55/113 ;07C12
HRRZ T2,TAB.LB(R) ;[2021] GET THE LOWER BOUND
LSH T2,-9 ;[2021] AS A PAGE
HRLI T2,.FHSLF ;[2021] MAPPING INTO THIS FORK
HRRZ T3,HC.S0(R) ;[2021] HIGHEST KNOWN ADDR IN SECTION
IORI T3,.IPM ;[1522] SET TO PAGE BOUND
MOVEM T3,UW.S0(R) ;[1522] STORE IT
LSH T3,-9 ;[2021] IN PAGES
ADDI T3,1 ;[2021] ONE MORE FOR COUNT
HRLI T3,(PM%CNT!PM%RD!PM%PLD!PM%CPY) ;GET PAGES COPY ON WRITE
PMAP%
ERJMP @[EXP E$$ILC,E$$IHC]-1(R) ;[2021] ERROR
WIT
;**;[2035] Replace at JBGMV0+27 Lines PY 17-Feb-83
HRRZ W1,TAB.LB(R) ;[2035] GET THE LOWER BOUND
LSH W1,-9 ;[2035] AS A PAGE
HRLI W1,.FHSLF ;[2035] MAPPING INTO THIS FORK
HRRZ T4,HC.S0(R) ;[2035] HIGHEST KNOWN ADDR IN SECTION
IORI T4,.IPM ;[2035] SET TO PAGE BOUND
MOVEM T4,UW.S0(R) ;[2035] STORE IT
LSH T4,-9 ;[2035] IN PAGES
MOVX T3,<PM%RD!PM%PLD!PM%CPY> ;[2035] GET PAGE COPY ON WRITE
JBGMV2: RPACS% ;[2035] FIND OUT ABOUT THE PAGE
ERJMP @[EXP E$$ILC,E$$IHC]-1(R) ;[2035] ERROR
TXNN T2,PA%PEX ;[2035] DOES THE PAGE EXIST?
JRST JBGMV3 ;[2035] NO
MOVE T2,W1 ;[2035] GET THE COPY FROM POINTER
PMAP%
ERJMP @[EXP E$$ILC,E$$IHC]-1(R) ;[2021] ERROR
JBGMV3: ADDI T1,1 ;[2035] SET UP FOR NEXT PAGE
CAIL T4,(T1) ;[2035] DONE?
AOJA W1,JBGMV2 ;[2035] NO, DO ANOTHER
DEL 35/123 ;07C13
SUBTTL THE END
SUM 180891