Trailing-Edge
-
PDP-10 Archives
-
BB-L014E-BM
-
autopatch/forsrt.c05
There are no other files named forsrt.c05 in the archive.
REP 2/1 ;05C1
TV SORT - FORTRAN interface to stand-alone SORT, 6(2031)
WIT
TV SORT - FORTRAN interface to stand-alone SORT, 6(2121)
INS 36/1 ;05C2
2121 RJD 28-Oct-82 20-18131
Before the GET or MERGE of SORT, call a FUNCT. routine
to mark the pages as being in use in FOROTS memory
management table. Also, move the defintion for SRTADR
to FORINI so that SRTADR+1 can be zeroed when a START
command is used to reenter the program.
INS 3/3 ;05C3
IF20,< EXTERN SRTADR > ;[2121]
INS 39/3 ;05C4
;[2121] FUNCT. BLOCK ARGS
FTCODE: BLOCK 1 ;[2121] FUNCTION CODE
FTSTAT: BLOCK 1 ;[2121] STATUS
FTARG1: 600 ;[2121] ARGUMENT 1
FTARG2: 100 ;[2121] ARGUMENT 2
;[2121] FUNCT. ARGUMENTS
F.MPG==21 ;[2121]
F.UPG==22 ;[2121]
-5,,0 ;[2121]
%FTBLK: IFIW TP%INT,FTCODE ;[2121] FUNCT. CODE
IFIW TP%LIT,[ASCIZ /SRT/] ;[2121]
IFIW TP%INT,FTSTAT ;[2121] STATUS
IFIW TP%INT,FTARG1 ;[2121] ARG 1
IFIW TP%INT,FTARG2 ;[2121] ARG 2
DEL 11/4 ;05C5
SRTADR: BLOCK 1 ;[5] SORTS XJRSTF PC
Z ;[5] MUST BE ZERO FIRST TIME
REP 19/7 ;05C6
SORTG: HRLI T1,.FHSLF ;[5] DO A GET% ON SORT.EXE
HRR T1,P4 ;[5] GET JFN
TXO T1,GT%ADR!GT%NOV ;[6] CHECK ADDRESS LIMITS, DON'T OVERLAY
WIT
SORTG: MOVEI T1,F.MPG ;[2121] SET UP FOR FUNCT. CALL
MOVEM T1,FTCODE ;[2121] TO MARK THE PAGES
PUSH P,L ;[2121] SAVE SORT'S ARGBLK
MOVEI L,%FTBLK ;[2121] SORT WILL USE
PUSHJ P,FUNCT. ;[2121]
POP P,L ;[2121] RESTORE SORT'S ARGBLK
SKIPE FTSTAT ;[2121] SUCCESSFUL RETURN ?
JRST E$GET ;[2121] PAGES 600 TO 677 ALREADY IN USE
HRLI T1,.FHSLF ;[5] DO A GET% ON SORT.EXE
HRR T1,P4 ;[5] GET JFN
TXO T1,GT%ADR ;[2121] [6] CHECK ADDRESS LIMITS
INS 3/8 ;05C7
E$GET: $ERROR (?,CMS,<GET% failed for pages 600 to 677 for >,+) ;[2121]
JRST E$CFS2 ;[2121]
INS 5/10 ;05C8
MOVEI T1,F.MPG ;[2121] SET UP FOR FUNCT. CALL
MOVEM T1,FTCODE ;[2121] TO MARK THE PAGES
MOVEI L,%FTBLK ;[2121] SORT WILL USE
PUSHJ P,FUNCT. ;[2121]
SKIPE FTSTAT ;[2121] SUCCESSFUL RETURN ?
JRST [$ERROR (?,CMS,<UNABLE TO MERGE SORT.EXE >,+) ;[2121]
PUSHJ P,EXIT.##] ;[2121]
INS 18/10 ;05C9
MOVEI T1,F.UPG ;[2121] SET UP FOR FUNCT. CALL
MOVEM T1,FTCODE ;[2121] TO UNMARK THE PAGES
MOVEI L,%FTBLK ;[2121] THAT WERE USED BY SORT
PUSHJ P,FUNCT. ;[2121]
SUM 219253