Google
 

Trailing-Edge - PDP-10 Archives - tops20tools_v6_9-jan-86_dumper - tools/recog3/strlnk.req
There are 2 other files named strlnk.req in the archive. Click here to see a list.
!+
!	Require file STRLNK.REQ		Edit: RKR1011
!
! This file, STRLNK.REQ, defines the linkages to the STR facility.
! and to the routines LIB$SCOPY_R_DX6, LIB$SCOPY_DXDX6, LIB$SFREE1_DD6
! and LIB$ANALYZE_SDESC_R2.
!
!-
!			  COPYRIGHT (c) 1979, 1981 BY
!	      DIGITAL EQUIPMENT CORPORATION, MAYNARD, MASS.
!
! THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE USED AND  COPIED
! ONLY  IN  ACCORDANCE  WITH  THE  TERMS  OF  SUCH  LICENSE AND WITH THE
! INCLUSION OF THE ABOVE COPYRIGHT NOTICE.  THIS SOFTWARE OR  ANY  OTHER
! COPIES  THEREOF MAY NOT BE PROVIDED OR OTHERWISE MADE AVAILABLE TO ANY
! OTHER PERSON.  NO TITLE TO AND OWNERSHIP OF  THE  SOFTWARE  IS  HEREBY
! TRANSFERRED.
!
! THE INFORMATION IN THIS SOFTWARE IS SUBJECT TO CHANGE  WITHOUT  NOTICE
! AND  SHOULD  NOT  BE  CONSTRUED  AS  A COMMITMENT BY DIGITAL EQUIPMENT
! CORPORATION.
!
! DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR  RELIABILITY  OF  ITS
! SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPLIED BY DIGITAL.
!

!++
! AUTHOR: R. Will,	 CREATION DATE: 20-FEB-79
!
! MODIFIED BY:
!
! 1-001 - Original.	RW 20-FEB-79
! 1-002 - Add linkages for by ref entry points.	RW 15-Mar-79
! 1-003	- Add linkages for GET and FREE JSB entry points.  
!	  JBS 04-JUN-1979
! 1-004	- Remove PRINT statement, for new BLISS compiler.  
!	  JBS 02-OCT-1979
! 1-005 - Make $$MOVQ, add LEFT, RIGHT, LEN_EXTR, POS_EXTR.  
!	  RW  1-Nov-79
! 1-006 - Add POSIT.  RW  1-NOV-79
! 1-007 - Add DUPL_CHAR.  RW  7-Nov-79
! 1-008 - Add REPLACE.  RW  3-Dec-79
! 1-009 - Add linkages to LIB$SCOPY_R_DX6, LIB$SCOPY_DXDX6, 
!	  LIB$SFREE1_DD6, LIB$ANALYZE_SDESC_R3, and 
!	  STR$$CHECK_STATUS_R2.
!	  RKR 3-MAY-1981.
! 1-010 - Add linkage to STR$ANALYZE_SDESC_R2.  RKR 19-OCT-1981.
! 1-011 - Revised linkage to LIB$ANALYZE_SDESC_R2 to not use R3.
!	  Revised linkage to STR$ANALYZE_SDESC_R1 to not use R2.
!	  RKR 18-NOV-1981.
!--
!-
! Public linkages.  These begin with STR$.  Private linkages (only used
! within the STR facility) begin with STR$$.
!-

LINKAGE 

!+
! JSB interface for routine written in MACRO to do a MOVQ
! arguments are passed in R0 and R1, no other registers are used
!-

    STR$$JSB_MOVQ = JSB (REGISTER = 0, REGISTER = 1) : 
		     NOTUSED (2, 3, 4, 5, 6, 7, 8, 9, 10, 11),

!+
! JSB interface for STR$COPY routines.  User is responsible for R2-R8,
! they will be destroyed.  R9, R10 and R11 are not used.
! _DX linkage is for routines called with 2 descriptors.  _R linkage
! is used for routines called with source length and address and
! the destination descriptor.
!-

    STR$JSB_COPY_DX = JSB (REGISTER = 0, REGISTER = 1) :
			NOPRESERVE (2, 3, 4, 5, 6, 7, 8)
			NOTUSED (9, 10, 11),

    STR$JSB_COPY_R = JSB (REGISTER = 0, REGISTER = 1, REGISTER = 2) :
		      NOPRESERVE (2, 3, 4, 5, 6, 7, 8)
		      NOTUSED (9, 10, 11),

!+
! JSB interface for STR$LEFT
!-

    STR$JSB_LEFT = JSB (REGISTER  = 0, REGISTER = 1, REGISTER = 2) :
			NOPRESERVE (2, 3, 4, 5, 6, 7, 8)
			NOTUSED (9, 10, 11),

!+
! JSB interface for STR$RIGHT
!-

    STR$JSB_RIGHT = JSB (REGISTER  = 0, REGISTER = 1, REGISTER = 2) :
			NOPRESERVE (2, 3, 4, 5, 6, 7, 8)
			NOTUSED (9, 10, 11),

!+
! JSB interface for STR$LEN_EXTR_R8
!-

    STR$JSB_LEN_EXT = JSB 
	(REGISTER  = 0, REGISTER = 1, REGISTER = 2, REGISTER = 3) :
			NOPRESERVE (2, 3, 4, 5, 6, 7, 8)
			NOTUSED (9, 10, 11),
!+
! JSB interface for STR$POS_EXTR_R8
!-

    STR$JSB_POS_EXT = JSB 
	(REGISTER  = 0, REGISTER = 1, REGISTER = 2, REGISTER = 3) :
			NOPRESERVE (2, 3, 4, 5, 6, 7, 8)
			NOTUSED (9, 10, 11),
!+
! JSB interface for STR$DUPL_CHAR_R8
!-

    STR$JSB_DUPL_CH = JSB (REGISTER = 0, REGISTER = 1, REGISTER = 2):
			NOPRESERVE (2, 3, 4, 5, 6, 7, 8)
			NOTUSED (9, 10, 11), 
!+
! JSB interface for STR$REPLACE
!-

    STR$JSB_REPLACE = JSB
(REGISTER = 0, REGISTER = 1, REGISTER = 2, REGISTER = 3, REGISTER = 4):
	NOPRESERVE (2, 3, 4, 5, 6, 7, 8)
	NOTUSED (9, 10, 11), 
!+
! JSB interface for STR$POSITION_R6
!-

    STR$JSB_POSIT = JSB (REGISTER = 0, REGISTER = 1, REGISTER = 2):
			NOPRESERVE (2, 3, 4, 5, 6)
			NOTUSED (7, 8, 9, 10, 11),

!+
! JSB interface for STR$GET1_DX and STR$FREE1_DX routines.
!-

    STR$JSB_GETFRE = JSB (REGISTER = 0, REGISTER = 1) : 
		 	NOPRESERVE (4, 3, 2, 1, 0)
			NOTUSED (11, 10, 9, 8, 7, 6, 5),


!+
! JSB interface for LIB$SCOPY_R_DX6, LIB$SCOPY_DXDX6 and 
! LIB$SFREE1_DD6 routines.
!-

    STRING_JSB = JSB (REGISTER = 0, REGISTER = 1, REGISTER = 2) :
		    NOPRESERVE (2, 3, 4, 5, 6)
		    NOTUSED (7, 8, 9, 10, 11),
!+
! JSB interface for LIB$ANALYZE_SDESC_R2 routine.
!-

    LIB$ANALYZE_SDESC_JSB_LINK = JSB ( REGISTER = 0 ;
				      REGISTER = 1, REGISTER = 2) :
				NOTUSED (3,4,5,6,7,8,9,10,11),
!+
! JSB interface for STR$ANALYZE_SDESC_R1 routine.
!-

    STR$ANALYZE_SDESC_JSB_LINK = JSB ( REGISTER = 0 ;
				      REGISTER = 0, REGISTER = 1) :
				NOTUSED (2,3,4,5,6,7,8,9,10,11),
!+
! JSB interface for STR$$CHECK_STATUS_R2 routine.
!-

    STR$$CHECK_STATUS_LINKAGE = JSB ( REGISTER = 0 ) :
				NOPRESERVE (1, 2)
				NOTUSED (3, 4, 5, 6, 7, 8 ,9, 10, 11) ;

!	End of file STRLNK.REQ