; ******************************************************* ; * * ; * THIS SOFTWARE WAS DEVELOPED WITH SUPPORT * ; * FROM THE NATIONAL INSTITUTES OF HEALTH: * ; * NIH CA06927 * ; * NIH CA22780 * ; * * ; * DIRECT INQUIRIES TO: * ; * COMPUTER CENTER * ; * THE INSTITUTE FOR CANCER RESEARCH * ; * 7701 BURHOLME AVENUE * ; * PHILADELPHIA, PENNSYLVANIA 19111 * ; * * ; * NO WARRANTY OR REPRESENTATION, EXPRESS OR * ; * IMPLIED, IS MADE WITH RESPECT TO THE * ; * CORRECTNESS, COMPLETENESS, OR USEFULNESS * ; * OF THIS SOFTWARE, NOR THAT USE OF THIS * ; * SOFTWARE MIGHT NOT INFRINGE PRIVATELY * ; * OWNED RIGHTS. * ; * * ; * NO LIABILITY IS ASSUMED WITH RESPECT TO * ; * THE USE OF, OR FOR DAMAGES RESULTING FROM * ; * THE USE OF THIS SOFTWARE * ; * * ; ******************************************************* ; * * ; * THIS SOFTWARE WAS DESIGNED FOR USE ON A * ; * PDP-11/70 OPERATING UNDER IAS V3.0 USING * ; * THE IAS PDP-11 MACRO ASSEMBLER. * ; * * ; ******************************************************* .TITLE MRKPNT .SBTTL MARKR MARK ENTRY POINT .IDENT /ICR001/ D.FDB=12. ; OFFSET OF FDB IN FFDB ; ; SUBROUTINE MARKR(LUN,ADDR) ; INTEGER LUN,ADDR(3) ; ; RETURNS ADDRESS OF NEXT RECORD IN FILE WITH LOGICAL UNIT "LUN". ; ; LUN - LOGICAL UNIT NUMBER OF FILE ; ; ADDR - INTEGER*2 VECTOR OF LENGTH THREE GETS THE ADDRESS OF THE ; CURRENT RECORD FOR LATER REPOSITIONING BY SUBROUTINE POINTR. ; .PSECT $MACOD,RW,I,LCL,CON .GLOBL .MARK MARKR:: ; ENTRY POINT TST (R5)+ ; BUMP POINTER MOV @(R5)+,R2 ; FDB ADDRESS IN R0 CALL $FCHNL ADD #D.FDB,R0 ; NOW HAVE FDB ADDRESS IN R0 MOV R5,-(SP) ; SAVE R5 ON STACK CALL .MARK MOV @(SP)+,R5 ; GET MARK VECTOR ADDRESS IN R5 MOV R1,(R5)+ ; STORE LBLOCK MOV R2,(R5)+ ; STORE HBLOCK MOV R3,(R5) ; STORE BYTE OFFSET RETURN .PAGE .SBTTL POINTR POINT ENTRY POINT ; ; SUBROUTINE POINTR(LUN,ADDR) ; INTEGER LUN,ADDR(3) ; ; USED WITH SUBROUTINE MARKR TO REPOSITION TO A RECORD IN A SEQUENTIAL FILE. ; ; LUN - LUN OF FILE ; ; ADDR - INTEGER*2 VECTOR OF LENGTH THREE CONTAINING THE ADDRESS ; OF A RECORD TO BE POSITIONED TO IN THE FILE; A RECORD'S ; ADDRESS MAY BE SAVED WITH THE MARKR SUBROUTINE. ; .GLOBL .POINT POINTR:: ; ENTRY POINTR TST (R5)+ ; BUMP POINTER MOV @(R5)+,R2 ; FDB ADDRESS IN R0 CALL $FCHNL ADD #D.FDB,R0 ; NOW HAVE FDB ADDRESS IN R0 MOV (R5),R5 ; GET POINT VECTOR ADDRESS IN R5 MOV (R5)+,R1 ; LOW ORDER BLOCK NUMBER IN R1 MOV (R5)+,R2 ; HIGH ORDER BLOCK NUMBR IN R2 MOV (R5),R3 ; BYTE OFFSET IN R3 CALL .POINT RETURN .END