Trailing-Edge
-
PDP-10 Archives
-
BB-H138A-BM
-
3a-sources/rq1n.bli
There are 18 other files named rq1n.bli in the archive. Click here to see a list.
!THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
! OR COPIED IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE.
!
!COPYRIGHT (C) 1972,1973,1974,1977,1978 DIGITAL EQUIPMENT CORPORATION, MAYNARD, MASS. 01754
!FILENAME: RQ1N.BLI
!DATE: 2 JANUARY 1974
!AUTHOR: CMU/FLD/KR
GLOBAL BIND H1REV=5; !MODULE VERSION NUMBER
!THIS MODULE HANDLES THE "REQUIRE" DECLARATION
! REVISION HISTORY
!
! 6-20-77 ROUTINE SREQUIRE AND RELREQ ARE MODIFIED SO THAT
! REQUIRE FILE NAME CAN BE IN SINGLE QUOTES.
! REQUIRE FILE CAN BE IN SINGLE QUOTES OR NO QUOTES
! AT ALL . NOW, THERE ARE TWO OPTIONS.
!
! 1/26/77 ADDED GARBAGE TO HANDLE LOAD& AND LIBRARY& COMMANDS
! THIS INCLUDES THE FOLLOWING ROUTINES: GET6,GET8,GETLS,
! LOOKFOR,RELREQ,SLOAD AND SLIBRARY.
!
FORWARD RELREQ; !6-16-77
EXTERNAL ?.JBFF,BXA;
MACRO
ELIF=ELSE IF$;
BIND
TRUE=1,
FALSE=0;
STRUCTURE STVEC1[I]=(TABLE+TIMXMF*(@.STVEC1 AND #77777)+.I)<0,36>;
MAP STVEC1 SYM:FUTSYM;
MACHOP CALLI=#47,XCT=#256;
GLOBAL REQDATA[#20],REQCHN;
MACRO
ABORT(NUM)=RETURN (REQRELEASE(); RECOVER(.NDEL,NUM))$,
SKIP(OP)=(VREG_1; (OP); VREG_0; .VREG)$,
EXECUTE(OP,AC,Y)=(N_(OP)^27 OR (AC)^23 OR (Y); XCT(0,N))$,
CMUDEC=-2$,
FILE=LOOKUPBLOCK[0]$,
EXT=LOOKUPBLOCK[1]$,
PPN=LOOKUPBLOCK[3]$,
JUNK=LOOKUPBLOCK[2]$,
DEVCHR=4$,
OUTPUTF=18,1$,
ASCIIMF=0,1$,
STATUS=OPENBLOCK[0]$,
ODEV=OPENBLOCK[1]$,
BUFW=OPENBLOCK[2]$;
BIND
OPEN=#50,
INBUF=#64,
LOOKUP=#76,
RELEASE=#71,
BUFFSIZE=#203,
HDRSIZE=2,
VREG=3<0,36>;
GLOBAL ROUTINE REQRELEASE=
(RELEASESPACE(.REQDATA[.REQCHN+1]<RIGHTHALF>,BUFFSIZE+HDRSIZE));
ROUTINE REQINIT(DEVICE)=
BEGIN
LOCAL OPENBLOCK[3],SAVFF;
REGISTER N;
ODEV_N_.DEVICE;
CALLI(N,DEVCHR);
IF .N EQL 0 THEN RETURN 0;
IF NOT .N<OUTPUTF> THEN RETURN 0;
IF NOT .N<ASCIIMF> THEN RETURN 0;
IF (.REQCHN+1) GTR #17 THEN (RECOVER(.NDEL,#505); RETURN 0);
REQDATA[.REQCHN+1]_GETSPACE(BUFFSIZE+HDRSIZE);
REQDATA[.REQCHN+1]<LEFTHALF>_BUFW_ST[.REQDATA[.REQCHN+1]<RIGHTHALF>,0]<0,0>;
STATUS_0;
IF NOT SKIP(EXECUTE(OPEN,.REQCHN+1,OPENBLOCK<0,0>))
THEN ( REQRELEASE();
RETURN 0 );
!GET BUFFERS
SAVFF_.?.JBFF;
?.JBFF_.REQDATA[.REQCHN+1]<LEFTHALF>+3;
EXECUTE(INBUF,.REQCHN+1,2);
?.JBFF_.SAVFF;
(@(BXA+#16))<0,36>_' '; !BLANKS TO SEQNUM
1
END; !OF REQINIT
ROUTINE CVSIX(POINTR)=
BEGIN LOCAL SYMPTR,SIXPTR,SIXSYM; REGISTER R; MACHOP ILDB=#134,IDPB=#136;
SIXSYM_0;
SYMPTR_(@POINTR)<36,7>;
SIXPTR_SIXSYM<36,6>;
DECR I FROM 5 TO 0 DO
(ILDB(R,SYMPTR)