Trailing-Edge
-
PDP-10 Archives
-
BB-L014E-BM
-
autopatch/srtuuo.c05
There are 2 other files named srtuuo.c05 in the archive. Click here to see a list.
REP 2/1 ;05C1
SUBTTL D.M.NIXON/DMN/DZN/BRF/GCS 18-Feb-82
WIT
SUBTTL D.M.NIXON/DMN/DZN/BRF/GCS 20-Aug-82
REP 31/5 ;05C2
HRRZ P1,.JBFF## ;[C20] [C13] CURRENT SIZE OF LOW SEGMENT
HRRZ P2,.JBHRL## ;[C23] [C20] [C13] CALCULATE SIZE OF HIGH SEGMENT
JUMPE P2,$1 ;[C23] NONE
TRZ P2,400000 ;[C23] ASSUME IT STARTS AT 400000
MOVE T1,[XWD -2,.GTUPM] ;[C23] IN CASE GETTAB FAILS
GETTAB T1, ;[C23] ..
JRST $1 ;[C23] ..
HLRZS T1 ;[C23] ..
TRZ T1,PGMSK ;[C23] ..
HRRZ T2,T1 ;MUST GUARD AGAINST EXECUTE-ONLY HIGH SEG
LSH T2,-<POW2(PGSIZ)> ; SUCH AS FOROTS
HRLI T2,.PAGCA ;SO USE PAGE. UUO TO FIND OUT
PAGE. T2, ; IF WE CAN READ THAT PAGE
TXO T2,PA.GRD ;IF PAGE. UUO FAILED ASSUME WE CAN
TXNN T2,PA.GRD ;CAN WE READ IT?
JRST $2 ;NO, USE .JBHRL
HLRZ P2,.JBHRN(T1) ;[C23] ..
IFN FTFORTRAN,<
JUMPN P2,$2 ;[N08] BUG IN FOROTS V6 MAKES THIS ZERO
HRRZ P2,.JBHRL ;[N08] USE WHATS IN JOBDAT INSTEAD
SUBI P2,(T1) ;[N08] REMOVE BASE TO GET LENGTH
$2%>
TRZE P2,PGMSK ;[C20] [C13] ..
ADDI P2,PGSIZ ;[C20] [C13] ..
IFE FTKL10!FTKI10,< ;ROUND UP TO K BOUNDARY ON KA10
TRNE P2,PGSIZ ;[C20] [C13] ..
SKIPE CPU ;[C13] ..
SKIPA ;[C13] ..
ADDI P2,PGSIZ ;[C20] [C13] ..
>
$1% ;[C23]
IFN FTKI10!FTKL10,< ;[N08] CHECK FOR VMDDT ALSO
IF VMDDT IS LOADED
HRRZ T1,.JBDDT## ;[N08] GET START OF DDT
JUMPE T1,$F ;[N08] NOT LOADED
CAMG T1,.JBREL ;[N08] IS IT IN LOW SEGMENT
JRST $F ;[N08] YES, ALREADY COUNTED
HRRZ T2,.JBHRL ;[N08] GET TOP OF HIGH SEG
CAMG T1,T2 ;[NO8] IS DDT IN HIGH SEG?
JRST $F ;[N08] YES, ALREADY COUNTED
THEN COUNT ITS SIZE AS PART OF THE MEMORY ALREADY OCCUPIED
HLRZ T2,.JBDDT ;[N08] GET TOP OF VMDDT
SUB T2,T1 ;[N08] GET LENGTH -1
ADDI T2,1 ;[N08] LENGTH
ADD P2,T2 ;[N08] MAKE IT PART OF HIGH SEG FOR CALCULATIONS
FI;
>;END IFN FTKI10!FTKL10
IFN LOWORG,<
ADDI P1,<<LOWEND/PGSIZ>-<LOWORG/PGSIZ>+1>*PGSIZ ;[C29]
>
IFN FTVM,<
SKIPE FORRET ;CALLED BY FORTRAN?
ADDI P1,FSORTSZ ;YES, ADD IN SIZE OF FSORT
>
WIT
;**;[503] @DEFCOR) + 27L Replace 54 lines with 14. GCS 24-Jun-82
SETZB P1,P2 ;[503] CLEAR COUNTERS.
MOVEI T2,777 ;[503]
DEFCR1: HRLZI T1,.PAGCA ;[503] T1/ FUNCT #,,0
HRR T1,T2 ;[503] T1/ FUNCT #,,PAGE #
PAGE. T1, ;[503] CHECK PAGE.
AOJA P1,DEFCR2 ;[503] ASSUME IT EXISTS.
TLNE T1,PA.GNE/1000000 ;[503] DOES THIS PAGE EXIST?
SOJGE T2,DEFCR1 ;[503] NO.
TLNN T1,PA.GHI/1000000 ;[503] PAGE IN HIGH SEGMENT?
AOJA P1,DEFCR2 ;[503] NO - COUNT AS NON-H.S.
AOJ P2, ;[503] YES - COUNT IT AS H.S.
DEFCR2: SOJGE T2,DEFCR1 ;[503] ARE WE FINISHED?
IMULI P1,PGSIZ ;[503] CONVERT PAGES TO WORDS.
IMULI P2,PGSIZ ;[503] DITTO.
SUM 40163